Разработка эксплойтов для АСУ ТП: двойная игра
Transcript of Разработка эксплойтов для АСУ ТП: двойная игра
Разработка эксплойтов для АСУ ТП:
двойная игра
Дмитрий Евдокимов,
Директор исследовательского центра Digital Security
#whoami
© 2003—2015, Digital Security
Разработка эксплойтов для АСУ ТП: двойная игра
– Директор исследовательского центра Digital Security
– Редактор рубрики в журнале Xakep – Соорганизатор DEFCON Russia и
ZeroNights – Автор проекта Python Arsenal for RE
– Специализируюсь на поиске
уязвимостей в бинарных приложениях без исходного кода
2
Концепция
© 2003—2015, Digital Security
– С какими проблемами связана разработка эксплойта для АСУ ТП?
– Как злоумышленник может решить эти проблемы?
– Как еще можно осложнить задачу злоумышленника?
3
Разработка эксплойтов для АСУ ТП: двойная игра
Жесткие условия
© 2003—2015, Digital Security
(но честные)
– Удаленная атака из недоверенной зоны – Без USB-носителей, без GSM-модемов, без
Интернета…
– Уязвимости в ПО АСУ ТП – Не в Adobe Reader, не в веб-браузере, не в Java…
– Уязвимость повреждения памяти – Не веб-уязвимость, не бэкдор, не архитектурный баг…
– Цель атакующего – нарушить технологический процесс – Не выключить компьютер оператора, не запустить
калькулятор…
4 4
Ата
ка
Датчик
SCADA/PAS/DCS
Разработка эксплойтов для АСУ ТП: двойная игра
Сценарий
© 2003—2015, Digital Security 5
Разработка эксплойтов для АСУ ТП: двойная игра
Проблемы писателя эксплойтов
© 2003—2015, Digital Security 6
Доставка боевой нагрузки Боевая нагрузка
Обход механизмов противодействия
эксплойтам Тестовая среда
*Часть для SCADA
*Часть для датчика
Разработка эксплойтов для АСУ ТП: двойная игра
Проблема № 1
© 2003—2015, Digital Security
Тестовая среда
– Минусы – Импорт оборудования – Дорого
– Плюсы – Для целенаправленных атак
(APT) это не проблема вовсе
7
Разработка эксплойтов для АСУ ТП: двойная игра
Проблема № 2
© 2003—2015, Digital Security
– Веб-браузеры: – Stack cookie, SafeSEH, DEP, ASLR – Защитные механизмы ОС
(ForceASLR,…) – Защитные механизмы
конкретного приложения: – Internet Explorer: Vtguard, Protected
Free, Isolated Heap, Sandbox… – Chrome: Oilpan, PartitionAlloc, Binding
Integrity, Blocking Outdated Plugins, Sandbox…
– Firefox: Frame Poisoning, Sandbox…
– ПО АСУ ТП: – Stack cookie, SafeSEH, DEP, ASLR
– Иногда…
– Защитные механизмы ОС (ForceASLR…)
– Сильно зависит от ОС, где установлено ПО
8
Обход механизмов противодействия эксплойтам, или Веб-браузеры против ПО АСУ ТП
Разработка эксплойтов для АСУ ТП: двойная игра
Пример из жизни
© 2003—2015, Digital Security
Насчет «иногда»…
9
Количество DTM-
компонентов
Стековые cookie
включены
DEP включен ASLR включен
66 o o o
35 x o o
5 o x o
1 o x x
7 x x x
Разработка эксплойтов для АСУ ТП: двойная игра
Как повысить защищенность?
© 2003—2015, Digital Security
4 уровня обороны
– Аппаратные особенности – Intel MPX (Memory Protection Extensions) – Intel SGX (Software Guard Extensions)
– Механизмы безопасности ОС – Возможности компилятора/линковщика
– Stack cookie, SafeSEH, DEP, ASLR,… – CFG (Control Flow Guard), CFI (Control Flow Integrity)…
– Защита конкретного приложения от эксплойтов – Зависит от приложения… – Внедрите SDL ;)
10
Разработка эксплойтов для АСУ ТП: двойная игра
Проблема № 3
© 2003—2015, Digital Security
Доставка боевой нагрузки
11
HRTShield ICSCorsair
HackRF
BladeRF
Токовая петля WirelessHART GSM-R …
Разработка эксплойтов для АСУ ТП: двойная игра
Проблема № 4
© 2003—2015, Digital Security
Боевая нагрузка
– Проблемы – Мало памяти (!?) – Повреждение памяти аварийное
завершение работы – Списки контроля доступа ОС, системы
доверительного мониторинга – Физические контроли
– Решения – Использовать имеющийся код – Egghunter-шеллкод – Восстанавливать поврежденную
память
12
Разработка эксплойтов для АСУ ТП: двойная игра
Пример из жизни
© 2003—2015, Digital Security
Размер не имеет значения: избыточность
13
Разработка эксплойтов для АСУ ТП: двойная игра
Обход систем доверительного мониторинга
© 2003—2015, Digital Security
Целенаправленная боевая нагрузка
– Защищают ОС и сеть, но не приложения – Полезная нагрузка не влияет на среду
ОС – только на целевой датчик и т. п.
– Не понимают технологический процесс – Нагревание?! Резка?! Замешивание?!
Давление?!
– Не умеют отличать легитимные действия оператора от нелегитимных
14
Разработка эксплойтов для АСУ ТП: двойная игра
«Умная» боевая нагрузка
© 2003—2015, Digital Security
Обход механизмов безопасности
– Боевая нагрузка должна быть «умной» – Понимать технологический процесс
– Предусматривать возможность подгрузки вредоносного кода, либо расширения атаки вплоть до конечной цели – Система плагинов
– Техники анти-форензики (тест треугольников и т. д.) – Математика
15
Разработка эксплойтов для АСУ ТП: двойная игра
Рекомендации
© 2003—2015, Digital Security
– Целостный подход – SDL – IPS (для сети и для хостов) – Доверенная зона – Сегментация – Диод данных
16
«Единственная настоящая ошибка – не исправлять своих прошлых ошибок».
– Конфуций
Разработка эксплойтов для АСУ ТП: двойная игра
Выводы
© 2003—2015, Digital Security
– Даже в таких жестких условиях злоумышленник может захватить контроль
– Условия могут быть и значительно проще: – Некорректная сегментация сети, доступ через Интернет,
физический доступ… – Отсутствие патчей… – Вшитые в код аутентификационные данные… – И не забудьте об архитектурных уязвимостях!
– Риски необходимо минимизировать на всех уровнях
17
Разработка эксплойтов для АСУ ТП: двойная игра
Дополнительные материалы
© 2003—2015, Digital Security
– "Miniaturization", Jason Larsen, BlackHat Las Vegas, 2014 – “Damn Vulnerable Chemical Process", Marina Krotofil & Co, 31C3 – "The Pragmatic Pwn of ICS", Bryan Singer and Lily Glick, S4x15 – "HART (IN)SECURITY: How one Transmitter can Compromise the
Whole Plant", Александр Большев и Александр Малиновский, ZeroNights 2013
– "DTM Components: Shadow Keys to the ICS Kingdom", Александр Большев и Глеб Чербов, BlackHat Europe 2014
18
Разработка эксплойтов для АСУ ТП: двойная игра
[email protected] @evdokimovds
www.dsec.ru
Digital Security в Москве: (495) 223-07-86
Digital Security в Санкт-Петербурге: (812) 703-15-47
© 2002—2015, Digital Security 19
Спасибо за внимание! Вопросы?