Исследователи Дмитрий Евтушкин и Дмитрий Пономарев из университета штата Нью-Йорк в Бингемтоне, а также Наэль Абу-Гхазалех (Nael Abu-Ghazaleh) из калифорнийского университета в Риверсайде, представили интересный доклад, в котором описали методику обхода ASLR, занимающую всего 60 миллисекунд.

ASLR (Address Space Layout Randomization или рандомизация размещения адресного пространства) – это защитный механизм, поддерживаемый  практически всеми современными операционными системами, включая Windows, Linux, macOS, iOS и Android. По сути, ASLR случайным образом изменяет расположение в адресном пространстве различных важных структур данных: образов исполняемых файлов, подгружаемых библиотек, хипа и так далее. Зачастую, для успешной реализации атаки, злоумышленнику необходимо знать, где именно в адресном пространстве происходит выполнение кода того или иного приложения, а ASLR призван защитить систему от таких атак.

В опубликованном докладе исследователи пишут, что им удалось обнаружить слабое место в BTB (Branch Target Buffer) – системе кеширования, которая отслеживает адресное пространство и те его части, где недавно выполнялись данные. CPU используют BTB для ускорения работы, похожим образом работает кеш в браузерах, когда недавно посещенные страницы подгружаются быстрее. Исследователи выяснили, что BTB уязвим перед атаками через выявление коллизий. Данная техника позволяет извлечь данные из ядра CPU, в том числе индексные таблицы ASRL. Это может помочь атакующим сориентироваться в адресном пространстве и направить эксплоит с ювелирной точностью.

«Описанная атака занимает совсем мало времени: для сбора необходимого числа образцов нужно всего 60 миллисекунд», — пишут исследователи.

Для реализации атаки понадобится специальное ПО. Исследователи написали собственную программу, которую тестировали на Linux-машине с Intel Haswell CPU на борту. Хотя практические опыты проводились только с этой конфигурацией, специалисты отмечают, что атака должна срабатывать и на других операционных системах и архитектурах CPU, а также на KVM (Kernel Virtual Machines).

С полной версией доклада можно ознакомиться здесь (PDF).

Фото: Intel



Оставить мнение