Tuesday, February 9, 2021

Бен Б'юкенен. Хакер і держава


Світ бачить Україну як театр кібервоєнних дій. Навряд чи знайдеться видана в останні три-чотири роки книжка з кібербезпеки, де подіям в українському кіберпросторі не було б присвячено бодай кілька сторінок. Але читають їх лише нечисленні фахівці; тим часом державні установи, на влучну думку одного з цих фахівців, прикидаються мертвими — в марному сподіванні схилити супротивника як не відомитися від зазіхань, то бодай бити не так боляче. Відповідно, не знає нічого про кібервійну, що котрий рік поспіль точиться на нашій території, й широкий загал. Втім, одну популярну книжку на цю тему таки переклали українською, але так неоковирно, що краще б того перекладу й не було.
Щодо однієї з таких книжок я зацитую гарвардського оглядача, бо однаково не напишу краще.

1983 року вийшов фільм «Воєнні ігри». Відтоді ми передчували, що кібервійна ось-ось почнеться, й малювали в уяві картини вибухів на електростанціях і повсюдного сум'яття. Нині кібератаки — насторожливо поширене явище, що, втім, на має нічого спільного з передбаченим.

Книга «Хакер і держава» насичена відомостями «до внутрішнього вжитку», видобутими з особистих бесід, розсекречених досьє, кримінологічного аналізу корпоративних звітів. Тут немає нафантазованих сцен взаємного кіберзнищення, натомість описані справжні геополітичні перегони електронно-цифрової доби. Бен Б’юкенен простежує зіткнення волі й інтересів сучасних держав і висвітлює мало кому відомі подробиці хакерських сутичок Китаю, Росії, Північної Кореї, Британії та Сполучених Штатів у неослабній боротьбі за зверхність. Розгляд поступує від прослуховування підводних кабелів до підпільних диверсій на атомних підприємствах, від вимкнення електрики до багатомільярдних крадіжок і втручання у вибори.

Б’юкенен розгортає перед читачем невпинне колування шпигунства й ошуканства, нападу й відсічі, розхитування й порахунку. Він пояснює, чому кібератаки не такі руйнівні, як гадалося, зате куди завзятіші й важко попереджувані. Без зайвого галасу й без усякого огляду вони занапащають наші банки, інженерні системи, охорону здоров’я, демократію — кожен складник нашого життя. Нишком, по-зрадницьки вони спотворили шкалу цінностей нашої державної безпеки й перебудували шпигунське ремесло й державницьке мистецтво. Змагання за геополітичною вищістю перебралися у кіберпростір. Сполученим Штатам та їхнім споборникам час забути про колишню перевагу. Звитягу державі несуть тепер хакери. 

_______________________________________

Далі — розділ з книжки

«Ку» і «Пе» не тримаються купи

З останнього розділу ви дізналися, як «П’ятеро очей» удаються до грубої сили, крадіжки ключів і обходу шифрування, щоб створити систему розкодування «NOBUS» (від Nobody But Us, «Лише про наше око»). Та є ще один багатообіцяльний варіант: розвідслужби потай впроваджують «лаз» у програму до шифрування. Лаз — то здебільшого питома слабина, настільки непомітна, щоб її не виявили, при цьому зручна для визискування в масових масштабах.

У разі успіху лазу геополітичний виграш велетенський. Адже «об’єкти» стало шифрують повсякденне листування. Військові стратеги — плани надзвичайних заходів, що ведуть до конфліктів. Дипломати — узгодження позицій перед переговорами на вищому рівні. Корпорації — комерційні таємниці й стратегічні пріоритети. Врешті, самі розвідоргани — матеріали, що передають довіреним особам. І всі певні, що їхнє листування боронить від небажаної цікавості математичний апарат шифрування.

От тільки прихований лаз зводить математичну оборону нанівець. Коли в системі шифрування, якій повсюдно довіряють, є вбудована слабина стійкості, обізнана про нього розвідувальна установа вивідає все те, що «об’єкти» силуються приховати. Через лаз довірений засіб перетворюється на складник, що його вихід з ладу призводить до загальної відмови, а все те, що комплекс мав би обороняти, витікає. Доки ніхто більше лазом не користується, діє система «NOBUS» — потужна й непомітна. Подібно до того, як США, завдяки специфіці географії та історії, мають «перевагу гравця на своєму полі» стосовно пасивного збирання інформації, мають вони й природну перевагу щодо впровадження закладок у системи шифрування. Більшість тих систем «зроблено в США». В документах АНБ зазначається, що агентство прагне «використовувати таємні робочі стосунки з певними галузевими партнерами». Так воно нагромаджує знання про «криптографічні особливості комерційних систем криптографічного вбезпечення інформації» та вносить до цих систем корисні для себе зміни. Зокрема, зумисне впроваджує слабину до виробів компаній, щоб «уможливити її визискування» криптографам АНБ.

Якщо ж на партнера агентство покластися не може, то пробує впровадити хиби потайки. Належна слабина в потрібному місці дарує надзвичайні геополітичні переваги; через один-єдиний зіпсований компонент, що має відомий лише розробникам лаз, уся система шифрування стає нестійка. Розібратися, як діє лаз, можна й без глибоких знань математики — принаймні, на спрощеному рівні.

Найголовніше в шифруванні — випадковість, бодай позірна. У примітивному цезаревому шифрі, описаному в розділі 2, відправник і отримувач мають наперед узгодити ключ, у цьому разі, на скільки позицій зсувати абетку. Якщо цей ключ можна передбачити, вирахувати на основі перехоплених шифротекстів, урешті, вгадати, то й код зламати можна. Тож криптографи вдаються до випадковості у виборі ключів шифрування й численних інших процесах. Простіше кажучи, перехоплювачі використовують типові структури, щоб ламати шифри, а шифрувальники — випадкові числа, щоб ламати типовість. Досить пробитися крізь випадковість, на якій ґрунтується механізм шифрування, й уся математика, закладена в основу того механізму, буде ні до чого.

Але звідки беруться випадкові числа? Створити досконалу випадковість важко, криптографи віддавна полюють на джерела інформації, що містить якнайменше типових структур. У ході Другої Світової війни британські розробники шифрів вивішували мікрофон за вікно на гамірливій Оксфорд-стріт, де розташувався їхній відділ. Вічний шарварок видавався взірцем випадковості. Розмаїття вуличних звуків — автомобільних клаксонів, розмов, сирен і так далі, було задосить випадкове: ніхто не вгадав би, що почується наступної миті. Звукозаписи перетворювали на математичні вирази й використовували як джерело випадкових чисел у шифрах. У наш час певна компанія, що працює з Інтернетом, генерує випадкові числа до механізмів шифрування за допомогою панелі з сотнею гелевих світильників.

Проте істинна випадковість потрібна не завжди. Частіше криптографи використовують так звані псевдовипадкові числа; строго кажучи, вони не цілком випадкові, але дають майже той самий ефект. Існують генератори псевдовипадкових чисел — програми до їх обчислення. Генератор бере випадковий відправний пункт і далі розраховує послідовність чисел, що здаються випадковими, хоч насправді походять із цього відправного пункту. Таємність у досить складних процесах шифрування запевняють саме такі послідовності псевдовипадкових чисел. Отут і чигає небезпека: коли перехоплювач спроможеться систематично передбачати числа, що їх видає генератор псевдовипадкових чисел, то, ймовірно, зламає шифр, який на них ґрунтується.

У розроблянні нормативних документів, що їх приймають державні органи США та інших країн, визначальну роль відіграє Інститут стандартизації й техніки США (NIST). Чималий авторитет має він і в царині криптографії. У 2004–2005 рр. інститут визнав за необхідне створити нові генератори псевдовипадкових чисел, що відповідали б вимоги державних установ. Залучивши до сприяння фахівців із криптографії АНБ, NIST розробив чотири генератори. Найперший у серії дістав назву Dual_EC_DRBG, скорочено Dual_EC.

Назва «Dual_EC» відображає родину кривих, конкретніше, еліптичних. На кривій задаються дві точки, звані криптографами P і Q. Генератор бере ці точки й задане користувачем число, так зване породжувальне значення, й розпочинає обрахунок послідовності псевдовипадкових чисел. Вибрані точки — константи, тобто сталі. Така математична структура не зовсім типова для генератора псевдовипадкових чисел, але не конче нестійка. Коли якась організація впроваджує Dual_EC, вона може вибрати власні P і Q. Поки P і Q вибирають випадково, передбачити послідовність псевдовипадкових чисел, що їх генеруватиме Dual_EC, практично неможливо, навіть як перехопити вибрані значення P і Q. Власне, так і має бути.

От тільки криптографи, які досліджували проект Dual_EC на початкових етапах, виявили дещо химерне. На відміну він більшості генераторів псевдовипадкових чисел, Dual_EC діє так, що за певних умов втрачає псевдовипадковість і стає небезпечно передбачуваним. Ця вада ставить під загрозу таємність усієї шифрованої кореспонденції, автори якої довірять Dual_EC генерування псевдовипадкових чисел.

Щоб можна було впровадити дієвий лаз, мають виконуватися три умови. Найперше, початкові константи P і Q мають бути навмисне вибрані так, щоб порушувалася випадковість. По-друге, перехоплювач має знати математичну залежність між двома точками. Втім, знайти її неважко, коли знаєш, що ці дві точки не випадкові. По-третє, треба перехопити невелику кількість псевдовипадкових чисел, згенерованих Dual_EC, і обчислити відповідні типові структури.

Коли всі три умови виконані, перехоплювач може в не надто громіздкий спосіб вирахувати подальші числа, що їх генеруватиме Dual_EC — і розшифрувати кореспонденцію «об’єкта».  Інакше кажучи, щоб читати чужі листи, треба вбудувати лаз у генератор псевдовипадкових чисел, а потім його визискувати.

Наприкінці 2005 р. NIST опублікував детальніший проектний документ із технічними умовами на Dual_EC. Університетські криптографи не забарилися знайти питомі хиби. Найперше, в послідовностях нібито випадкових чисел простежувалися ледь помітні тенденції, тобто щось було негаразд. Фахівці припустили також існування лазу з використанням точок P і Q. Двоє криптографів знайшли схожі риси й навіть подали заявку на патент, що мав захистити знахідку. Це не завадило NIST випустити остаточну редакцію технічних умов на Dual_EC у 2006 році. Застереження не взяли до уваги, виявлені помилки не усунули.

В остаточному документі NIST містилася пара типових значень P і Q. Чимало установ, де впровадили Dual_EC, не завдали собі труду вибрати значення самотужки, а вдовольнилися типовими. Вони розумували так: як уже державні фахівці навели ці значення, мабуть, процес вибору забезпечував належну випадковість. Але ж у технічних умовах NIST нічого не говорилося про те, як саме розробники вибирали подані значення P і Q. Не наводилися й підтвердження, що ці значення були результатом випадкового процесу. Розробники просто написали, що P і Q мають бути «доказово випадкові», й порадили організаціям користуватися P і Q, люб’язно наданими NIST.

У 2007 році в кулуарах конференції з криптографії двоє дослідників попередили, що в Dual_EC є лаз. Проте обговорення було коротке, неофіційне, складне, сказати б навіть, мудроване, тож мало кого зацікавило. А цікаві силувалися визначити, чи то таки лаз, чи, як дехто гадав, «кумедно слабкий» криптографічний механізм. Тим часом уряд США і Міжнародна організація зі стандартизації, до якої входили 163 країни, впровадили недосконалий варіант Dual_EC до державних стандартів, чим забезпечили його повсюдне поширення в світі.

І лише через кілька років матеріали Сноудена пролили трохи світла на те, які Dual_EC має хиби та звідки вони там. Аналіз минулих подій і внутрішні документи показали: з процесів розробляння й стандартизації Dual_EC стирчать ослячі вуха АНБ.  Спершу агентство натиснуло на проектувальників. У доповідній записці для службового користування сказано: «АНБ було єдиним редактором» технічних умов на Dual_EC і, певно, залюбки пристосовувало їх до власних шпигунських цілей. Ймовірно, що АНБ вдалося впровадити лаз і вибрати неналежні типові значення P і Q. Коли справді так, то агентство виконало перші дві умови визискування лазу: невипадковий вибір точок і знання їхньої математичної залежності.

Проте суто технічних вихваток замало. АНБ протиснуло офіційне прийняття технічних умов із недоліками урядом США та іноземними установами. У документах агентства сказано, що то була «складна задача на точність маневру». Ще важливіше було спонукати використовувати Dual_EC у виробах приватні компанії, бо лише так лаз міг дати зиск. Як ні, то всі зусилля звелися б до розв’язання університетської задачі з математики. АНБ поталанило: чимало компаній таки взяли за основу стандарт. Мало хто замінив типові значення P і Q на доказово випадкові константи. Ба більше, в деяких організаціях діяли регламенти, що в наказовий спосіб змушували брати точки, надані державою, й у жоднім разі не вибирати власні. Характерний приклад — OpenSSL, чи не наймасштабніша в світі реалізація криптографічного засобу, що захищає обмін даними в Інтернеті.

До того ж, АНБ потай схиляла американські корпорації до використання Dual_EC. Утім, про це майже не повідомлялося, хіба що в публікації «Рейтерс»: АНБ сплатило десять мільйонів доларів кібербезпековій фірмі «Ар-ес-ей». Отримавши цю суму офіційно, «Ар-ес-ей» почала використовувати Dual_EC як типовий генератор псевдовипадкових чисел і прийняла низку дивних технічних рішень, через які деякі вироби фірми, в тому числі, призначені для захисту відповідальних комплексів і мереж, зробилися менш стійкі для розшифрування АНБ. І хоч спершу фірма заперечувала співпрацю з АНБ, потім один із вищих керівників «Ар-ес-ей» досить різко скартав агентство за те, що воно нібито «зловживало довірою» — щоправда, без жодних подробиць.



No comments:

Post a Comment

Note: Only a member of this blog may post a comment.