Рандомизация адресного пространства (Address Space Layout Randomization, сокращенно ASLR) — это механизм обеспечения безопасности, встроенный в популярные операционные системы. Его суть сводится к рандомизации виртуальных адресов памяти различных структур данных — угадать расположение в памяти целевой структуры сложно предугадать, поэтому шансы на успешную атаку значительно снижаются. Ранее в нашем блоге мы рассказывали об устройстве ASLR на примере ОС Windows 8.
В середине октября 2016 года группа американских исследователей информационной безопасности из Калифорнийского (Риверсайд) и Нью-Йоркского (Бинхемптон) университетов опубликовала описание техники атаки, которая использует для обхода ASLR ошибку в процессорах Intel.
Исследователям удалось обнаружить ошибку в работе части процессора Haswell, которая называется предиктор — используя ее разработанное ими приложение смогло предсказывать расположения в памяти, в которые другие программы будут загружать данные.
Предиктор содержит таблицу «буфер целевой ветви» (branch target buffer), в которой хранятся расположение в памяти (так называемые адреса) ветвей. Современные процессоры используют предиктор ветвей для ускорения операций с помощью — это достигается за счет того, что система может «предсказывать» адреса, где находятся инструкции, которые скоро будут исполнены. Для облегчения процесса «предсказания» в буферах также хранятся адреса ранее использованных ветвей. Техника атаки использует коллизию в таблице целевых буферов — с ее помощью можно узнать участки памяти, где находятся конкретные куски кода.
Таким образом, если атакующий создаст простое приложение, использующее этот механизм обхода ASLR, которое будет работать в связке с эксплоитом какой-либо уязвимости самой операционной системы, то это откроет возможность к удаленному выполнению вредоносного кода.
По мнению исследователей, их метод позволяет одинаково успешно обходить механизмы ASLR, реализованные как в Microsoft Windows так и в OS X от Apple. В настоящий момент продолжаются эксперименты с целью выяснить, работает ли новая техника обхода ASLR на процессорах других архитектур.
Исследователи представили разработанную ими технику обхода ASLR на конференции IEEE/ACM International Symposium on Microarchitecture, прошедшей в городе Тайбэй (Тайвань) — они продемонстрировали ее на компьютере c процессором Haswell, работающем под управлением последней версии Linux.
Представители Intel заявили, что они изучают факты, представленные в исследовании.
Автор: Positive Technologies