Вокруг нас есть устройства, которые выполняют важную работу, но их безопасностью зачастую пренебрегают. Эти устройства — сетевые принтеры и МФУ. Докладчик рассмотрит варианты расширения стандартных возможностей этих устройств с помощью модификации прошивки. Будут показаны реальные боевые нагрузки для атак на корпоративные и промышленные сети.
Докладчик: Антон Дорфман, авторы: Владимир Назаров и Иван Бойко.
2. Кто мы и с чего все началось
• Отдел безопасности промышленных систем управления
• Отдела анализа приложений
• Проект с принтером в технологической сети
• В этой сети находятся контроллеры, управляющие техпроцессом
• Была показана опасность такого соседства – с принтера атаковали
контроллер
3. Строение прошивки
• Загрузчик
• Проверяет чексуммы
• Распаковывает ядро и передает ему
управление
• Обфусцированное ядро
• Хитрый XOR по генерируемым таблицам
• Сжатые исполняемые модули
• Обычный zlib со стандартным сжатием
• Чексуммы
• Волшебное число минус сумма всех слов
(word) в прошивке
Формат разобран ===>
можем собирать свои
прошивки!
4. Создание модифицированных прошивок для Phaser 3320
Реверс прошивок:
• ОС VxWorks
• Архитектура ARM LE
• 11 модулей, среди них сетевой и ядро
Фреймворк для генерации нагрузок:
• Освобождение места из-под строк и коррекция Xref на них
• Использование блоков кода оригинальной программы как строительных кирпичиков для своего кода
• Размещение своего кода и данных в освобожденных блоках
• Настройка вызовов и переходов для своего кода
• Быстрая перенастройка размещения кода и данных
• Вся работа по генерации нагрузки – не выходя из IDA Pro ;-)
5. Как залить модифицированную прошивку в принтер
Удаленно
• Старые модели
• Новые через уязвимости в процессе обновления
Локально
• Через USB
• Запись во флеш-память программатором
6. Стенд для демо
• Принтер с Wi-Fi, доступным из-
за забора
• Завод, производящий
позитивный дым
• Процесс управляется ПЛК
• ПЛК отдает данные в SCADA
• Ноутбук, подключенный только
к Wi-Fi принтера
1
2
3
4
1 Принтер
2 ПЛК
3
4
SCADA
Ноутбук
7. Прокси из беспроводной сети в проводную
• Принтер - устройство с проводным и Wi-Fi
интерфейсами
• Почему бы не сделать полноценный шлюз
в проводную сеть?
• Демо: «чат» между ноутбуком
подключенном по Wi-Fi и SCADA в LAN SOFTWARE
PROXY
9. Управляем технологическим процессом
Функции нагрузки в прошивке принтера:
• FULL POWER – увеличение выбросов
дыма
• NORMAL POWER – включение
штатного режима
• SWITCH FACTORY OFF - Остановка
завода (ransomware )
• SWITCH FACTORY ON - Запуск
завода
Все действия вызываются командами с
ноутбука по Wi-Fi «из-за забора»
EVIL
PRINTER
11. Перехват печатаемых документов
• Отчет отправляется на печать из
SCADA через LAN
• Для их кражи достаточно пересылать
все печатаемые документы байт-в-
байт через Wi-Fi за забор
• Злоумышленник принимает и
распечатывает копию задания на
своем принтере
CRITICAL
DATA
EVIL
PRINTER
ATTACKERS
PRINTER
STOLEN
CRITICAL
DATA
12. Перехват документов - стенд
• Принтер (1) получает
данные от SCADA (2)
• Данные дублируются по
Wi-Fi на ноутбук (3)
• Ноутбук отправляет
данные на свой локальный
принтер (4)
1
2
3
4
1 Принтер
2 SCADA
3
4
Ноутбук
Принтер 2
14. Контроллер LPEC1 (Engine Controller)
управляет следующими устройствами:
• ADC
• HVPS (High Voltage Power Supply)
• LSU (Laser Scanning Unit)
• Clutch
• Fan
• Fuser («печка») – Toner fix
(Pressure and Heating
with Lamp)
• Motor
• OptionTray
• Power
• Sensor
• UART
Управление элементами принтера на примере термоузла
15. Управление термоузлом
• Основа печи - галогеновая лампа на
850 Ватт
• Печь управляется программно
• Контроль над прошивкой дает
возможность управления узлами
принтера
16. Управление элементами принтера на примере термоузла
Найдены области памяти отвечающие за регистры аппаратуры
Выявлен код, отвечающий за активацию режимов работы:
• FUSER_ON (включение нагрева)
• FUSER_OFF (выключение нагрева)
• STANDBY (ожидание)
• SLEEP (приостановка)
Выявлен код для получения текущей температуры «печки»
• Демо: Управление печью - включение режима постоянного нагрева
18. Последствия длительного нагрева
Испытания (на лампе в 600 ватт):
• до потемнения бумаги - 30 сек
• до появления дыма из принтера - 40 секунд
• до появления открытого огня - 120 секунд
20. Благодарности
• Всему дружному отделу безопасности промышленных систем управления
• Сереже, Дмитрию Склярову и Михаилу Цветкову
• Компании Positive Technologies за возможность заниматься исследованием
безопасности принтеров