Обнаружение атак на механизмы спекулятивного исполнения команд
Студент: Матвеев А. С. ФО-450002
Руководитель: Гейн А. А.
Екатеринбург, 2019
Проблема
-
2 Января, 2018.
Spectre variant 1
Spectre variant 2
Meltdown (variant 3)
-
21 Февраля, 2018
Retpoline
-
21 Мая, 2018
Rogue System Register Read (variant 3a)
Speculative Store Bypass (variant 4)
-
...
Решение?
-
4 Марта, 2019
Windows 10 (19H1) (Retpoline)
-
2 Апреля, 2019.
Intel Cascade Lake
-
14 Мая, 2019.
MDS
CVE-2018-12126
CVE-2018-12127
CVE-2018-12130
CVE-2019-11091
-
...
Важность
- Читать всю оперативную память
- Через браузер
Важность
- Intel
- AMD
- Apple
- ARM
- ...
- Motorola
Цели и задачи
- Исследовать существующие атаки
- Проанализировать механизмы защиты
- Предложить решение
- Проверить работоспособность/эффективность
Абстрактный сервис
- Задержки
- Капча
Абстрактный сервис
Журнал событий
Аппаратные счетчики производительности
Основная группа
- Попадания в кэш
- Предсказатель ветвлений
Дополнительная группа
- Кэши данных первого/последнего уровней
- Буфер ассоциативной трансляции
- Косвенные переходы
- Предсказания адресов возврата
- Ошибки сегментации/TSX
Аппаратные счетчики производительности
| Активность | Система | Процесс | ||
|---|---|---|---|---|
| Отношение промахов в кэш к общему числу обращений | Отношение числа неправильных предсказаний к общему числу предсказаний | Отношение промахов в кэш к общему числу обращений | Отношение числа неправильных предсказаний к общему числу предсказаний | |
| Нормальная | 0.1 - 0.3 | 0.04 - 0.07 | 0.02 (усредненное) | 0.05 (усредненное) |
| Meltdown | 0.5 - 0.7 | 0.001 | > 0.9 | 0.0004 |
| Spectre v1 | * | 0.0001 | * | < 0.000001 |
Архитектура
- Отслеживаем состояния счетчиков для всей системы
- При нахождении «аномалии» – анализируем конкретные процессы
- Находим процесс с подозрительной активностью
- Классифицируем, используя события из дополнительной группы*
- Принимаем меры
Демо
Итоги
- Работает
- Стабильно
- Еще до начала атаки*
- Накладные расходы
Спасибо за внимание
Студент: Матвеев А. С. ФО-450002
Руководитель: Гейн А. А.
