Комп’ютерна безпека тріщить по швах: Чому все можна хакнути?
Протягом кількох днів у лютому сотні тисяч принтерів у ресторанах по всьому світу поводилися дивно. Одні видруковували якісь зображення комп’ютерів та велетенських роботів із написом «З любов’ю від самого бога хакерів». Деякі поінформували своїх господарів про те, що «У ВАШОГО ПРИНТЕРА НОВИЙ ВЛАСНИК». Деякі видавали на папері меседж «Заради Бога, закрийте цей порт».
Коли «бог хакерів» дав інтерв’ю тематичному сайту Motherboard, він назвався учнем британської старшої школи під ніком Stackoverflowin. Його дратував жахливий стан комп’ютерної безпеки, тому, за словами юнака, він вирішив зробити людям послугу й показати, наскільки просто здобути контроль над їхньою технікою.
Та є ще й інші хакери, не настільки патріотично настроєні. І для таких 2016 рік став золотим дном. У лютому 2016-го кіберзлодії вкрали $81 млн безпосередньо в центробанку Бангладеш і могли б поцупити ще більше, якби не ключова описка. У серпні в Агентстві національної безпеки США помітили, як його ж таки хакерські інструменти були злиті в інтернет групою, що називає себе «Тіньовими брокерами» (Shadow Brokers).
ЦРУ, до речі, зазнало схожого приниження в березні цього року. У жовтні провайдера інтернет-інфраструктури Dyn через програму Mirai атакували таким потоком беззмістовного трафіку, що сайти на кшталт Twitter і Reddit стали недоступні багатьом користувачам. А злам поштових серверів Національного комітету Демократичної партії та злив компрометуючого листування звідти, схоже, були спробою вплинути на результати виборів у США.
Якщо абстрагуватися від масштабних інцидентів і «великих стратегій», то випадки хакерства — це здебільшого показний вандалізм чи банальне шахрайство. Займатися ним стає дедалі простіше. Незрозумілі форуми сприяють торгівлі інформацією із кредитних карток людей, іноді вона продається багатотисячними пачками. Торгівці даними вишукують слабкі місця в кодуванні, через які зловмисники вламуються в системи.
Окрім того, можна купити програми-вимагачі: ті зашифровують фото й документи на комп’ютерах жертв, а за розшифровку вимагається викуп. Такі посередницькі ринки розвинулися настільки, що для участі в них не обов’язково навіть уміти писати коди. Погодинно можна орендувати ботнети — мережі комп’ютерів, де встановився вірус (будуються вони за допомогою ПЗ на кшталт Mirai), із них можна закидати трафіком сайти, аж поки ті впадуть, а потім вимагати компенсацію, щоб атаки припинилися. «Загоничі» ботів, як звичайний собі законний бізнес, за доплату в кілька доларів забезпечать технічну підтримку, коли станеться щось непередбачене.
ПОСЕРЕДНИЦЬКІ РИНКИ ДЛЯ ХАКЕРІВ, ДЕ МОЖНА КУПИТИ ДАНІ КРЕДИТОК АБО ПРОГРАМИ ДЛЯ ВИМАГАННЯ ГРОШЕЙ ЧИ ОРЕНДУВАТИ БОТНЕТ, РОЗВИНУЛИСЯ НАСТІЛЬКИ, ЩО ДЛЯ УЧАСТІ В НИХ НЕ ОБОВ’ЯЗКОВО НАВІТЬ УМІТИ ПИСАТИ КОДИ
Якими сумами вимірюється все це хакерство, невідомо (про більшість малих атак і багато масштабних ніхто не повідомляє). Але всі погоджуються, що кількість їх зростатиме, бо ж активно розширюється простір для злодіянь. «Ми будуємо робота завбільшки зі світ», — каже аналітик Брюс Шнайєр, що займається безпекою. Він говорить про інтернет речей. Це словосполучення означає комп’ютеризацію всього: від авто й лічильників світла до дитячих іграшок, медичних приладів та лампочок у світильнику. У 2015 році група дослідників комп’ютерної безпеки продемонструвала, що на відстані можна захопити керування деякими автівками Jeep. Будуючи ботнети, вірус Mirai вишукує пристрої на кшталт відеорекордерів або веб-камер. Але невдовзі ботнети будуватимуться і з холодильників.
Комп’ютер, не можна!
«Побутує думка, що вразливим є абсолютно все», — каже Роберт Вотсон, комп’ютерний науковець із Кембриджського університету. Це пояснюється глибинними причинами. Вразливість комп’ютерів зумовлена засадничими аспектами інформаційних технологій, культурою розробки ПЗ, шаленим ритмом розростання цього бізнесу, економічними стимулами, які керують комп’ютерними компаніями, та конфліктними інтересами урядів. Однак що більше шкоди від небезпечних комп’ютерів, то серйозніше бізнес, науковці й політики беруться до роботи.
Сучасні комп’ютерні чипи зазвичай розробляє одна фірма, виготовляє друга, а установлює на схемні плати третя, і тоді вони опиняються в сусідстві з чипами від інших виробників. Відтак іще одна компанія пише ПЗ найнижчого рівня, необхідне для того, щоб комп’ютер міг бодай працювати. Операційна система, за допомогою якої машина сприймає певні програми, створена ще іншим розробником. Самі програми — ще кимось. Помилка на будь-якій стадії або у зв’язку між ними може зберегти дефект у цілій системі або ж зробити її вразливою перед хакерами.
Виявити різницю не завжди легко. Науковий співробітник аналітичного центру New America Пітер Зінґер розповідає про виробничий дефект, виявлений у 2011 році в якихось транзисторах, із котрих складався чип, що його використовували на гелікоптерах американських ВМС. Якби ваду не помітили, вона блокувала б запуск ракет із гелікоптерів. Як і більшість, той чип був виготовлений у Китаї. Врешті у ВМС дійшли висновку, що дефект — випадковість. Але серйозно розглядали й варіант навмисної шкоди.
У більшості хакерів замало ресурсів, щоб гратися з дизайном та виробництвом чипів. Та їм і не потрібні останні. Вдосталь інструментів для диверсій можна знайти у програмному забезпеченні. У 2015 році Рейчел Потвін, інженер Google, розповіла, що загалом компанія в різних своїх продуктах керує близько 2 млрд рядків програмування. Ті програмні продукти, своєю чергою, мають працювати на операційних системах, які є ще складнішими. Популярна система Linux у 2015 році реєструвала 20,3 млн рядків. Вважається, що остання версія Windows від Microsoft написана з 50 млн рядків, а найпопулярніша операційна система для смартфонів Android — 12 млн.
Зробити так, щоб кожен із рядків адекватно взаємодіяв із рештою в програмі, а також з усіма іншими компонентами ПЗ та пристроями, з якими вона має комунікувати, — це завдання, з яким ніхто не впорається з першого разу. У цьому контексті часто цитують слова гуру програмування Стіва Макконнелла про те, що люди, які пишуть вихідні коди (інструкції, що всередині машини компонуються в готову до виконання програму), роблять від 10 до 50 помилок на кожну тисячу рядків. Уважна перевірка у великих компаніях — розробниках ПЗ, як каже він, може знизити цю цифру приблизно до 0,5%, на 1 тис.
Але навіть така густота помилок означає, що в сучасному ПЗ будуть тисячі багів і будь-який із них може стати лазівкою для хакера. «Тим, хто атакує, потрібне одне-єдине слабке місце, — пояснює комп’ютерний науковець Кетлін Фішер з Університету Тафтса в Массачусетсі. — Тому захисникам доводиться закривати кожнісіньку пробоїну, зокрема й ті, про які вони не здогадуються».
Усе, що потрібно зловмиснику, — аби комп’ютер прийняв набір команд, які не мав би приймати. Якщо в архітектурі його є помилка, то він здатен реагувати на певну команду або їх набір непередбачувано. Комп’ютер можна змусити інтерпретувати дані як інструкції, адже й ті, й ті в машині представлені в однаковій формі — послідовностями чисел. Нік Stackoverflowin, вибраний хакером, що зламував принтери в ресторані (він перекладається як «переповнення стека») власне й описує цю технологію.
Коли дані «перетікають» із частини системи, призначеної для пам’яті, в частину, де машина виконує інструкції, вона зчитує їх як набір нових інструкцій. (Процес можна також розвернути у зворотному напрямку й перетворити інструкції на несподіваний потік даних. У лютому дослідники з Університету Бен-Ґуріона в Ізраїлі показали, що можуть видобути дані зі зламаного комп’ютера через лампочку, яка показує, чи працює жорсткий диск, і передати ці дані на дрон-спостерігач).
Повністю виключити будь-який ризик зловживань у мільйонах рядків кодів до того, як ним почнуть користуватися, практично неможливо. Департамент оборони США, як каже Зінґер, виявив серйозні недоліки в кожній збройній системі, яку перевіряв. У цивільному секторі ситуація не краща. За даними компанії Trustwave, що займається аналізом безпеки, у 2015 році додаток для смартфона мав у середньому 14 вразливих точок.
Закони Карми
Усі ці програми надбудовуються на старіших технологіях, часто створених за логікою часів, коли кібербезпека взагалі мало кого хвилювала. Особливо це стосується інтернету, бо на початку він був інструментом, за допомогою якого науковці ділилися своєю інформацією. Перші версії мережі були регульовані здебільшого консенсусом та етикетом, зокрема серйозним упередженням проти використання наявної там інформації для комерційного заробітку.
Коли науковець зі США й один із піонерів інтернету Вінт Серф заговорив про вбудовування в мережу функції шифрування в 1970-х, то його зусилля, як він стверджував, заблокували американські шпигуни, що вважали криптографію зброєю держави. Отже, замість мати вбудовану безпеку від самого початку інтернет натомість використовує шар додаткового ПЗ на мільйон рядків, аби гарантувати безпеку інформації, наприклад, про кредитні картки. Щороку з’являються повідомлення про нові й нові дефекти та слабкі місця в цьому шарі.
Фундамент багатьох комп’ютерних систем, який вибудовували за принципом довіри, залишається джерелом занепокоєння. Як і довірливість багатьох користувачів. Якщо надіслати достатній кількості людей безпечний із вигляду лист, у якому попросити їхні паролі чи написати нібито якісь дані (а насправді інструкції для машини), то є чималий шанс, що хтось клікне на щось, на що клікати не варто.
Висока культура безпеки (як серед розробників ПЗ, так і серед компаній та їхніх клієнтів) вибудовується не відразу. Це одна із причин, що змушує тривожитися через інтернет речей. «Деякі компанії, що виробляють розумні лампочки або лічильники електроенергії, не працюють у комп’ютерній сфері», — каже Ґрегем Стіл, який керує фірмою Cryptosense, що займається аналізом автоматизованого криптозахисту інформації. База даних Spiral Toys (компанія продає підключених до інтернету ведмедиків, через яких малюки можуть надсилати повідомлення батькам) лежала онлайн без захисту кілька днів наприкінці 2016 року. Відтак із неї можна було викрадати особисті дані й повідомлення дітей.
Навіть бізнесу, що свідомий цих небезпек, як-от автовиробники, гарантувати безпеку непросто. «Великі компанії, чиї логотипи на машинах, які ви купуєте, насправді не виробляють автомобілів, — підкреслює Фішер. — Вони збирають багато комплектуючих від менших постачальників. І дедалі більша частина цих комплектуючих містить програмні продукти. Автовиробникові справді складно простежити абсолютно за всім».
Окрім впливу технологій та культури є ще третє фундаментальне джерело небезпеки: економічні стимули в комп’ютерному бізнесі. Інтернет-компанії практично понад усе цінують зростання своєї вартості. Час, витрачений на написання безпечних кодів і на залучення нових клієнтів, — це не те саме. «Надсилайте продукт у вівторок, проблеми з безпекою вирішите колись там наступного тижня… напевне», — так можна описати їхнє ставлення до питання, каже Росс Андерсон, іще один експерт із комп’ютерної безпеки з Кембриджського університету.
Довгі ліцензійні угоди, на які мають погоджуватися користувачі ПЗ (майже ніколи не читаючи) зазвичай знімають будь-яку відповідальність із розробника програм на випадок, коли щось піде не так, навіть якщо це програмне забезпечення створене саме для захисту комп’ютерів від вірусів і т. ін. Такі дисклеймери не завжди й не всюди мають юридичну силу. Але суди у США (американський ринок ПЗ є найбільшим) зазвичай ставляться до розробників із симпатією. Їхня безкарність частково пояснює, чому комп’ютерна індустрія настільки інноваційна й динамічна. Але відсутність правових наслідків навіть тоді, коли продукт виявляється вразливим, обертається значними збитками для користувача.
Якщо споживачам складно тиснути на компанії через суди, то логічно сподіватися, що втрутиться держава. Але Андерсон наголошує, що комп’ютерні фірми потерпають від суперечливих стимулів уряду. Іноді той хоче потужного захисту комп’ютерів, бо хакери ставлять під загрозу і громадян, і саме функціонування держави. Водночас комп’ютери — це інструменти стеження та шпигування, і користуватися ними простіше, коли вони не цілком захищені. Стосовно цього побутує думка, що Агентство національної безпеки США навмисне вбудувало дефекти в деякі технології шифрування, якими воно послуговується найбільше.
Параноя у роботів
Але ризик у тому, що будь-хто, виявивши ці вади, може зробити те саме, що й спецслужби. У 2004 році хтось (жодна офіційна установа не заявила, хто конкретно) багато місяців прослуховував дзвінки на мобільні телефони грецьких високопосадовців, зокрема прем’єра Костаса Караманліса. Це робилося за допомогою хакнутих інструментів спостереження, вбудованих у систему, розроблену компанією Ericsson для оператора Vodafone.
Деякі великі компанії, а також деякі уряди зараз намагаються систематично вирішувати проблеми з безпекою. Мисливці за баґами часто вимагають у компаній гроші за те, що знаходять у їхньому ПЗ дефекти. Microsoft наполегливо просить споживачів переходити із застарілих менш безпечних версій Windows на новіші, хоч і з обмеженим доступом. Google та Amazon намагаються виловити якомога більше баґів у себе, тож розробляють власні версії стандартних протоколів шифрування, переписуючи від А до Я програму, яка зберігає інформацію стосовно кредитних карток та інші дані, до котрих ласі хакери. Amazon зробив свою версію відкритою, тож усі споживачі можуть подивитися вихідний код і запропонувати покращення. Так відкриті проекти в принципі створюють широку базу для критики та вдосконалення. Але підхід працює достатньо добре тоді, коли вдається залучити й утримати активну спільноту програмувальників.
Фундаментальнішу роботу фінансує Агентство передових оборонних дослідних проектів США. Це структура Департаменту оборони, що доклалася до розвитку інтернету. У Кембриджському університеті Вотсон за гроші Агентства розробив новий вид чипа CHERI, який намагається вбудувати безпеку в залізо, а не в програмне забезпечення комп’ютера. Він пояснює одну із властивостей чипа: той керує своєю пам’яттю таким чином, щоб гарантувати, що машина не потрактує помилково дані як інструкції. Таким чином він знешкоджує цілу когорту недоліків. Завдяки CHERI окремі програми або навіть їх фрагменти можуть працювати в безпечних «пісочницях» — ізольованому програмному середовищі, що зменшує її вплив на інші частини системи. Тож навіть якщо зловмисники дістануть доступ до однієї її частини, в інші не вламаються.
Операційні системи, веб-браузери тощо вже використовують такі «пісочниці». Але коли їх вписують у ПЗ, то вони з’їдають ресурс. Якщо ж натомість вбудувати чип у залізо, цей недолік можна обійти. «Можна мати веб-браузер, де кожен елемент сторінки — картинка, реклама, текст тощо — працюватиме в окремому маленькому безпечному анклаві», — каже доктор Вотсон. Він вважає, що інноваційну розробку його команди можна доволі безпроблемно додати до створених ARM чи Intel чипів, на яких працюють телефони й ноутбуки.
Інший проект Агентства зосереджується на технології «формальних методів». Вона стискає комп’ютерні програми до велетенських специфікацій, вибудуваних за принципом формальної логіки. Тут на математичних способах доведення теорем можна показати, що програма діє саме так, як запланував розробник. «Комп’ютерні науковці досліджують такі підходи багато років», — каже Фішер. Але тільки нещодавно доступні обчислювальні потужності й інструменти дали змогу застосувати результати до фрагментів ПЗ, достатньо масштабних, аби бути цікавими з погляду практичного застосування. У 2013 році команда Фішер розробила формально перевірену програму контролювання польоту любительського дрона. Команда хакерів, хоч їй дали повний доступ до вихідного коду безпілотника, не змогла в нього вламатися.
«Доки цю розробку можна буде використати на чомусь, що матиме рівень складності повноцінної операційної системи, мине ще багато часу», — каже Фішер. Але вона підкреслює, що чимало найризикованіших комп’ютеризованих девайсів працюють на одній простій програмці. «Речі на кшталт інсулінових помп, комплектуючих до авто або найрізноманітніші девайси з інтернету речей — цю розробку можна застосувати до них усіх».
Але головне — якість зміни ринків. Повсюдність кібератак і враження, що запобігти їм неможливо, спонукають великі компанії звертатися до старих, перевірених методів на випадок неминучих ризиків — страхування. «Обсяг ринку кіберстрахування — це нині близько $3–4 млрд за рік, — каже Джеремайя Ґроссман із компанії Sentinel One, яка продає захист від хакерів (і, що нетипово, пропонує гарантію на дієвість свого продукту). — І він зростає на 60% щороку».
Що дорожчим стає страхування, то вимогливішими компанії можуть бути до ПЗ, яким себе захищають. А що більше зростатимуть страхові виплати, то активніше страховики вимагатимуть, аби програмним забезпеченням користувались адекватно. Це може вилитись у благородний союз інтересів. За даними звіту консалтингової компанії PwC за 2015 рік, третина американського бізнесу має якесь кіберстрахове покриття, хоча воно часто пропонує лиш обмежений захист.
Але найпроблемнішим може виявитися питання відповідальності розробників ПЗ за свій продукт. Прецеденти, які є в цій царині сьогодні, належать до доби, коли програмне забезпечення було новинкою в бізнесі, а комп’ютери працювали здебільшого з абстрактними речами на кшталт динамічних таблиць. У ті дні це питання було не таким нагальним. Але у світі, де ПЗ — все, а комп’ютеризовані машини чи медичні прилади можуть безпосередньо вбити людину, тікати від нього вічно не вийде.
«Індустрія не на життя, а на смерть воюватиме з кожною спробою накласти на неї відповідальність», — каже Ґроссман. Окрім звичного опору регулюванню, що збільшує для них витрати, компаніям Кремнієвої долини часто притаманний лібертаріанський дух, який корінням сягає контркультури 1960-х і підсилюється зручним для себе переконанням, ніби будь-що, що сповільнює інновації, — це атака проти загального блага. Вашингтонський дослідник криптографії Кеннет Вайт застерігає: якщо держава візьметься за бізнес програмувальників надто активно, він почне нагадувати фармацевтичний: там суворе й повсюдне регулювання частково пояснює, чому вартість розробки нових ліків нині сягає мільярда доларів. Тож у комп’ютерної індустрії є потужний стимул очиститися ще до того, як за неї візьметься держава. Адже якщо буде більше років на кшталт 2016-го, то ця можливість випарується, мов гроші з хакнутого рахунку в банку.
Джерело: The Economist / Переклад: Тиждень
Tweet