Современные методы организации компьютерных атак
TRANSCRIPT
Современные методы
организации компьютерных атак
Матвейчиков Илья
НИЯУ-МИФИ
a0dbc49
Содержание
1. Введение
2. Уязвимости информационных систем
3. Уязвимости программного обеспечения
4. Уязвимости аппаратного обеспечения
5. Заключение
Предмет обсуждения
Компьютерна атака – преднамеренное действие, использующее
уязвимости информационной системы и приводящее к нарушению
доступности, целостности и конфиденциальности информации.
Этапы реализации атак
Подготовка
Cбор информации об атакуемой системе
Релизация
Проникновение, установление контроля
Завершение
Устранение следов присутствия
Этапы реализации атак
Подготовка
Cбор информации об атакуемой системе
Релизация
Проникновение, установление контроля
Завершение
Устранение следов присутствия
Этапы реализации атак
Подготовка
Cбор информации об атакуемой системе
Релизация
Проникновение, установление контроля
Завершение
Устранение следов присутствия
Тестирование на проникновение
Жизненный цикл уязвимости
Связанные риски
Риск pre-disclosure (обнаружение ⇒ раскрытие)
Риск post-disclosure (раскрытие ⇒ исправление)
Риск post-patch (исправление ⇒ обновление)
Экосистема безопасности
Основные типы уязвимостей
stack/buffer/heap overflow
arithmetic overflow (integer, off-by-one)
use-after-free
heap overflow
heap overflow
use-after-free
Основные типы воздействий
Выполнение произвольного кода (ACE, RCE)
Отказ в обслуживании (DoS)
Раскрытие информации
Уязвимости по вендорам
Table: Статистика CVE за период 1999 – 2015
Vendor (#) ACE (%) DoS (%) Overflow Memory
Adobe (1323) 71.8% 39.8% 46.6% 34.5%
Apple (2682) 51.0% 47.2% 33.4% 23.7%
Microsoft (3930) 49.0% 30.4% 25.5% 21.7%
Mozilla (1467) 45.1% 35.4% 15.2% 20.7%
Redhat (954) 19.2% 30.8% 15.0% 1.2%
Debian (377) 24.9% 26.5% 23.3% 0.8%
Google (1297) 9.1% 62.4% 21.7% 6.8%
Распространённые техники
ret2lib(c) / ROP
Heap-spray
JIT-spray
egg-hunting
Уязвимости ядра ОС Linux
Table: Статистика CVE за период 1999 – 2015
# ACE DoS Overflow Memory
1278 4.9 60.6 17.3 5.5
Уязвимости Java
http://java-0day.com/
Days since last known Java 0-day exploit . . .
Известные разновидности
Уязвимости CPU
Уязвимости DRAM
Уязвимости EFI/UEFI (ближе к программным)
Уязвимости USB-контроллеров
Особенности
Высокая сложность устранения
Уязвимости CPU
BadUSB — On Accessories that Turn Evil
BadUSB — класс хакерских атак, основанный на уязвимости USB
устройств. Вредоносный код, записанный в модифицированную
прошивку usb-драйва, полностью скрыт, не детектируется
антивирусами и не может быть удалён при форматировании
устройства.
DRAM и rowhammer
Rowhammer x86 snipper
Метод повышение привелегий
Модификация элементов PTE ядра с дальнейшей модификацией
директории страниц процесса
Rowhammer-JS
JavaScript + rowhammer ⇒The End
Проблемы
ПО уязвимо
Железо уязвимо
Пути решения
Методы устранения уязвимостей (долго)
Методы управление уязвимостями и рисками (vulnerability
management)
Эшелонирование защиты (МЭ, IDS/IPS, антивирусы и тд)
Вопросы