В последнее время участились случаи, когда RAT’теры сообщают о слежке за пользователями ноутбуков через встроенные веб-камеры с отключением LED-индикатора камеры. Раньше считалось, что отключить индикатор можно только на аппаратном уровне. Но сейчас хакеры Мэтью Брокер и Стефен Чекоуэй из университета Джона Хопкинса опубликовали работу (pdf) с описанием программы iSeeYou, которая при запуске в непривилегированном режиме (user space) способна модифицировать прошивку веб-камеры iSight на компьютерах MacBook. Эта же техника позволяет эмулировать устройство USB Human Interface Device (HID) и запустить код с выходом из виртуальной машины. Описанная уязвимость присутствует только в камерах iSight.
Программа загружает новую прошивку в микроконтроллер Cypress CY7C68013A EZ-USB FX2LP, который используется в камерах iSight. Архитектура iSight показана на диаграмме.
Изменение в прошивке потребовалось незначительное. Первый байт в 16-байтном управляющем блоке флэш-памяти EEPROM означает, откуда следует загружать прошивку: из самой EEPROM или из USB. Достаточно изменить этот байт и эмулировать USB-устройство с новой прошивкой. Соответственно, в новой прошивке тоже нужно изменить управление сигналом STANDBY, который подает питание на контакт PD3 GPIO, соответствующий состоянию LED-индикатора On/Off. Поскольку CMOS-сенсор напрямую подключен к этому контакту, то отключение питания дезактивирует его тоже, так что сенсор нужно из прошивки сконфигурировать так, чтобы он игнорировал сигнал STANDBY.
Чтобы сделать новую версию прошивки, хакеры извлекли оригинальную версию прошивки из драйвера AppleUSBVideoSupport с помощью свободного программного обеспечения iSight Firmware Tools. Прошивка соответствует стандартному образцу, который поставляется с комплектом разработчика CY3684 EZ-USB FX2LP Development Kit. В новой прошивке нужно добавить два бита состояния и четыре новые функции, указанные в научной работе. Впоследствии RAT-программа cможет включать и выключать индикатор по мере надобности. Данная функциональность реализована в простенькой концептуальной программе iSeeYou под OS X, которая показана на скриншоте. Можно заметить настройку LED Disable и то, что индикатор камеры не горит при включенной функции съемки.
Отдел безопасности компании Apple был уведомлен об уязвимости 16 июля 2013 года и получил исходный код программы iSeeYou (ответ до сих пор не получен). Хакеры выждали пять месяцев — и опубликовали в открытом доступе инструкцию по перепрошивке камеры в удаленном режиме. Шесть дней назад опубликована также программа iSightDefender для защиты прошивки камеры iSight от несанкционированной модификации.
P.S. Возможность удаленно отключать LED-индикатор веб-камер разных моделей уже несколько лет имеется у ФБР.