Обнаружение атак на механизмы спекулятивного исполнения команд

Студент: Матвеев А. С. ФО-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

Архитектура

  1. Отслеживаем состояния счетчиков для всей системы

  2. При нахождении «аномалии» – анализируем конкретные процессы

  3. Находим процесс с подозрительной активностью

  4. Классифицируем, используя события из дополнительной группы*

  5. Принимаем меры

Демо

Итоги

  • Работает
  • Стабильно
  • Еще до начала атаки*
  • Накладные расходы

Спасибо за внимание

Студент: Матвеев А. С. ФО-450002
Руководитель: Гейн А. А.

UrFU