26 апреля, 2024
ASLR security- ASLR защита

Взлом ASLR-защиты: Атака процессора с помощью JavaScript

Профессиональная команда исследователей из Амстердамского свободного университета представила миру JavaScript-код, который способен «пробить» ASLR-защиту и представляет опасность для разных микропроцессоров, в том числе таких «монстров» производителей, как Intel, AMD, ARM, Allwinner и Nvidia. Атака, как теперь принято, получила собственное имя: ASLR⊕Cache или кратко AnC.

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

aslr защита
Испытание ASLR- защиты

Методика, созданная специалистами Амстердамского свободного университета, концентрируется вокруг блока управления памятью (memory management unit, MMU) который отвечает за управление доступом к памяти, запрашиваемым ЦП. По сути, задачи MMU заключаются в управлении виртуальной памятью (трансляции адресов виртуальной памяти в адреса физической памяти), защите памяти, управлении кеш-памятью, арбитражем шины, а также переключением блоков памяти в ряде архитектур.

Исследователи обнаружили, что компонент MMU, отвечающий за управление кешем, делит кеш с рядом недоверенных приложений, в том числе, с браузерами. Это означает, что нацелить на пространство совместно используемой памяти можно даже JavaScript-код, размещенный на специально подготовленной веб-странице, и при этом добиться успеха. В результате атакующий сможет определить, где в виртуальной памяти расположены нужные ему данные, а потом, вооружившись этим знанием, продолжить атаку.

«Мы разработали side-channel атаку, кеш-атаку на EVICT+TIME, которая может определить, какие страницы в таблице страниц была задействованы в ходе обращения MMU», — пишут специалисты.

Исследователи утверждают, что AnC-атака достаточно универсальна, в частности, она будет работать как с Chrome, так и с Firefox. Более того, AnC-атаки могут быть использованы для «возвращения к жизни» других кеш-атак, хотя уязвимости, лежащие в их основе, казалось бы, давно устранены. Исследователи полагают, что защититься от подобных неприятностей могут лишь сами пользователи. Для этого достаточно установить специальное расширение, вроде NoScript, которое запретит выполнение не доверенного JavaScript-кода в браузере.

Читать также:  Опубликована 49 редакция списка самых высокопроизводительных суперкомпьютеров

Также был представлен список процессоров и архитектур, которые были протестированы исследователями и признаны уязвимыми для AnC-атак.

Более подробно о ASLR Cache, можно ниже  увидеть демонстрацию атаки на видео.

Первое видео показывает атаку, реализованную из-под Firefox на 64-битой Linux-машине.             Второе видео демонстрирует более быстрый вариант AnC.

                                   AnC or ASLR^Cache demonstration in Firefox


Fast version of AnC

Добавить комментарий