Plug & Pray: прихована атака через USB

Спеціаліст по криптографії та директор німецької компанії Security Research Labs Карстен Нол (Karsten Nohl) підготував доповідь про нетривіальних методах використання вразливостей знімних носіїв та інших пристроїв з інтерфейсом USB. У виконану дослідній роботі мова не йде про банальні файлових вірусах, що запускаються через autorun.inf. Нол описує ряд нових методик автоматичного інфікування комп'ютерів з метою отримання несанкціонованого доступу або непомітного збору даних. До більшості з них не готові ні користувачі, ні виробники антивірусного програмного забезпечення.

Карстен Нол закінчив факультет електротехніки Університету прикладних наук Хайдельберга. У студентські роки його знали як хакера групи Chaos, а сьогодні він - відомий криптоаналитик і любитель ефектних демонстрацій.

У студентські роки його знали як хакера групи Chaos, а сьогодні він - відомий криптоаналитик і любитель ефектних демонстрацій

Карстен Нол (фото: zdf.de).

У 2007 році Нол розкрив алгоритм перевірки смарт-карт з чіпом радіочастотної ідентифікації Mifare Classic, а рік по тому отримав докторський ступінь в університеті Вірджинії, захистивши роботу про оцінку системи RFID і запропонувавши ряд способів підвищення її надійності. Тоді ж він увійшов до складу проектної групи deDECTed.org і вказав на безліч істотних недоліків в представленому робочій групі протоколі DECT. Сьогодні допрацьована версія цього стандарту бездротового зв'язку використовується в усіх сучасних радіотелефонах.

П'ять років тому Нол описав спосіб злому системи шифрування A5-1, яка до цього роками використовувалася для захисту переговорів в мережах GSM і вважалася надійною. Потім він став легальним аналітиком і розширив сферу інтересів. Зараз він приділяє основну увагу вивченню протоколів обміну даними і пошуку помилок в них, що призводять до проблем з безпекою.

Коли Нол переключився на автомобільні сигналізації і протиугонні засоби, то досить швидко виявив проблеми з надійністю у трьох найпопулярніших схем для електронних иммобилайзеров: DST40 (Texas Instruments), Hitag 2 (NXP Semiconductors) і Megamos (EM Micro).

Карстен Нол на конференції Black Hat 2013 (фото: threatpost.com).

Стикаючись всюди з недоробками одного і того ж типу, Нол зробив важливе припущення: чим популярніше система, тим менше в ній шукають помилки, оманливо вважаючи надійною вже в силу поширеності і досвіду її тривалої експлуатації. Для перевірки він взяв протокол USB і практично відразу потрапив в точку.

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

Як зазначає Нол, у випадку з USB-Flash або зовнішніми жорсткими дисками таку особливість можна використовувати для виконання прихованих атак і впровадження на чужий комп'ютер будь-якого шкідливого коду. У всіх сценаріях використовується той факт, що змінити прошивку змінного носія можна прямо в середовищі основної операційної системи, і на таку дію антивірусні програми зазвичай не реагують.

Перепрограмований контролер USB-Flash випадає з поля зору захисних програм. Він може емулювати клавіатуру і віддавати команди від імені увійшов в систему користувача (зазвичай - адміністратора) або підвищити привілеї до необхідного рівня через інші уразливості.

Він може емулювати клавіатуру і віддавати команди від імені увійшов в систему користувача (зазвичай - адміністратора) або підвищити привілеї до необхідного рівня через інші уразливості

Мікрокод USB-Flash ніяк не захищений від перезапису (фото: Reuters).

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

Інший варіант атаки полягає в тому, що контролер USB-Flash з модифікованою прошивкою імітує мережеву карту для зміни налаштувань DNS і перенаправлення трафіку користувача на підконтрольні зловмисникові або заражені веб-ресурси.

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

Резюмуючи своє дослідження Карстен Нол пояснює, що виявити будь-яке з перерахованих заражень буде виключно важко. Для початку потрібно допустити навіть думку про знаходження шкідливого коду за межами ОЗУ, файлової системи і завантажувальних секторів. Сучасні антивіруси не мають доступу до прошивці пристроїв і BIOS / UEFI материнської плати, а ручний аналіз їх коду під силу одиницям.

Демонстрація різних варіантів атаки з використання перепрошитого USB-пристроїв буде представлена ​​на конференції BlackHat, яка пройде в Лас-Вегасі з другого по сьоме серпня. Нол пояснює, що поки підготовлені приклади рівня докази концепції, що проводяться в ідеальних умовах з комп'ютерами відомої конфігурації. Створити універсальний механізм зараження, що працює «в дикому середовищі» і на різному обладнанні набагато складніше, але це не повинно обнадіювати.