Вірус для монітора

Недавню розмову про атаці на 3D-принтер наочно продемонстрував, наскільки важко більшості користувачів усвідомити сенс терміна «принципово нова уразливість». Таку можна передбачити, тим більше виявити автоматично - на те вона і «принципово нова», щоб не витікати з попередніх досліджень!

Щоб її відкрити, необхідно зробити свого роду геніальний розумовий стрибок - «раптом» зрозуміти, що те, що раніше вважалося нешкідливим і марним, може бути звернено проти користувача: 3D-принтер, «Розумний» телевізор , жорсткий диск , BIOS , навіть антивірус . Відкриття такі робляться вкрай рідко - і тим приємніше, що за нинішнє літо тему вдається піднімати вже вдруге. Минулого разу йшлося про 3D-друку. Сьогодні поговоримо про атаку на комп'ютерний монітор.

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

На жаль, з дійсністю це має мало спільного

Ризикну стверджувати, що оману це виникає не тільки з «начебто очевидного» принципу дії (ось же він, варто, показує і більше нічого!), А й модулювати історичними обставинами. Всього-то чверть століття назад, в епоху 8-бітних машин, так воно насправді і було. Схема роботи монітора / дисплея в світі 8 біт була дуже простою. Прямо в оперативній пам'яті виділявся певний шматок, вміст якого, через мікросхему-контролер ( «графічну карту», ​​висловлюючись сучасною мовою), транслювалося на побутовий телевізор. Що, до речі, дозволяло користуватися екраном не за призначенням. Пам'яті вічно не вистачало і траплялося, частина екрану вживалася під зберігання даних або навіть виконуваного коду - таке, зокрема, практикувалося на ZX Spectrum.

З тих пір, однак, багато чого змінилося. Монітор став самостійним пристроєм, сам саме нагадує окремий комп'ютер. Тут і власний мікропроцесор, і своя оперативна пам'ять, і флеш-ПЗУ, де зберігається firmware - керуюча програма, яка приймає дані ззовні по стандартному протоколу, обробна їх і власне відображає. Так що хоч зовні робота монітора не змінилася, внутрішньо вона зазнала радикальні зміни. А це - принаймні теоретично - означає, що його можна змусити зробити щось, чого користувач від нього не чекає.

Такою метою і задалися хлопці з американської контори Red Balloon Security. Не стану стверджувати, що вони були першими, хто спробував, але вони точно стали першими, хто домігся значних результатів і віддав їх розголосу. Їх презентація щойно відбулася на DEFCON. Ось вона в повному обсязі (Слайди з неї ілюструють сьогоднішню колонку), а я перекажу найважливіші моменти.

Ось вона в повному обсязі   (Слайди з неї ілюструють сьогоднішню колонку), а я перекажу найважливіші моменти

піддослідним став Dell U2410 - звичайна робоча конячка дисплейного племені. Виробники складної техніки нині не шанують бажаючих в ній покопатися, тому інструкцій або документації в публічному доступі немає, і вивчення нутрощів монітора нагадує більш дослідження чужої планети, ніж освоєння нової архітектури. Озброївшись викруткою, дизассемблером, здоровим глуздом і терпінням (кажуть, на все про все пішло два роки), автори встановили, що управляє ним серійно випускається мікроконтролер. Його firmware була препарована і методом тику намацати ключові процедури і ділянки пам'яті, модифікація яких дозволила отримати контроль над монітором.

Хлопці підкреслюють, що домогтися цього можна з будь-якої персоналки навіть без привілейованого доступу до неї, тобто, наприклад, за допомогою шкідливої ​​програми, що потрапила на комп'ютер через вразливість в браузері. Фірмваре модифікують (якщо потрібно, то і перепрошівая), після чого вона, паралельно з основними обов'язками, починає робити щось ще. Ось три трюку, продемонстрованих авторами (исходники, до речі, опубліковані ).

По-перше, можна «на льоту» підміняти відображається картинку. Скажімо, намалювати невірну суму грошей в електронному гаманці: виявити число і модифікувати його попиксельно. По-друге, можна повністю або частково зайняти екран який-небудь постійної написом. Скажімо, вимогою про переведення суми X на банківський рахунок Y. Нарешті, по-третє, можна змусити частину електронної схеми монітора працювати як радіопередавач - транслюючи в ефір якісь важливі дані (цю функцію назвали Funtenna). Зловмисник, озброєний хорошим приймачем, може сховатися в сусідньому приміщенні.

Funtenna.

Чому це стало можливим? Тому що виробник не подбав захистити керуючу програму монітора від модифікації - як це часто буває з технологіями, які ніколи раніше не намагалися використовувати проти людей, чи то пак не за призначенням. Але автори говорять, що мова не тільки про одну серії моніторів Dell: виконана ними оцінка дозволяє стверджувати, що точно так само йдуть справи з моніторами Samsung, Acer, HP і, ймовірно, інших марок. Чого, загалом, і слід очікувати: так завжди і буває, поки проблема не виявиться. І звідси наступне питання: наскільки велика проблема?

Потенційно - дуже велика. Подібним чином можна атакувати мало не кожен десктоп на планеті (а може бути і ноутбуки). Захист же з'явиться в кращому випадку в наступних моделях пристроїв, а тим, що вже стоять на столах, доведеться доживати свій вік незахищеними (ніхто не буде працювати над новою прошивкою для застарілих пристроїв). Антивіруси про таку заразу не мають поняття, та й лізти всередину моніторів не вміють. На щастя, практично побоюватися в найближчому майбутньому епідемії вірусу для моніторів не варто. Зробити таку програму універсальної надзвичайно складно. Принаймні поки писати «шкідливий» код доводиться під конкретну модель: навіть невеликі відмінності в апаратній частині (інша модифікація мікроконтролера, наприклад) роблять «вірус» непрацездатним.

Але не поспішайте списувати «чорний хак» монітора з рахунків. Непрактичний в якості зброї масового ураження, він уже готовий показати себе в якості зброї високоточного. Варто побоюватися спрямованих одиничних атак, організованих спецслужбами або терористичними організаціями проти промислових об'єктів і важливих об'єктів цивільної інфраструктури. Тут завдання сильно спрощується, по-перше, тим, що можна точно дізнатися, яке обладнання використовується на атакується об'єкті. І по-друге, монітори тут часто відображають стаціонарну картинку (набір регуляторів SCADA-системи тощо), підмінити яку порівняно легше. Залишається тільки придумати спосіб заподіяти системі збиток, ввівши оператора в оману невірними даними на екрані ...

PS У статті використана графічна робота Andrew Magill .

Чому це стало можливим?
І звідси наступне питання: наскільки велика проблема?