Опубликован легкий способ взлома современных процессоров за 90 секунд

Безопасность Стратегия безопасности Пользователю Интернет Веб-сервисы
мобильная версия
, Текст: Роман Георгиев
Эксперты Свободного университета Амстердама продемонстрировали способ обхода защитной технологии ASLR - рандомизации размещении адресного пространства процессоров. Для успешной атаки достаточно скрипта на JavaScript, опубликованного на произвольном веб-сайте.

Особенность или слабое место

Группа голландских экспертов продемонстрировала способ вредоносной эксплуатации особенности современных процессоров, которая позволяет обходить систему рандомизации размещения адресного пространства (ASLR).

Они написали код, который отслеживает работу блока управления памятью современных процессоров (MMU): точно измеряя временные интервалы между обращениями к памяти, код способен определять, где именно в ней располагаются ключевые структуры данных. Это, по сути, делает систему ASLR бесполезной. Подробное описание методики атаки опубликовано на сайте экспертов.

Рандомизация адресного пространства

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

ASLR случайным образом изменяет расположение в адресном пространстве процесса ключевых структур - образа файла, стека, кучи, подгружаемых библиотек. Атакующему становится сложнее определить, где располагаются структуры данных, в которые он мог бы поместить шелл-код; эксплойт, ожидающий присутствия кода и данных в определённых областях памяти, в результате рандомизации адресного пространства не сработает, а атакуемое приложение с высокой степенью «рухнет», лишив хакера возможности произвести повторную атаку.

Чтобы «обнулить» защиту ASLR на 64-разрядных процессорах за 90 секунд,
достаточно скрипта на JavaScript, опубликованного на произвольном сайте

Однако если вредоносный код оказывается способен определить каким-либо косвенным образом реальное расположение структур данных в среде выполнения, полученные данные можно использовать для успешного запуска всевозможных эксплойтов (например, для уязвимостей браузеров) и других атак, вплоть до повышения привилегий и захвата контроля над системой.

Именно такой код исследователи и написали.

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

Без особых условий

Пробный эксплойт написанный исследователями на JavaScript, позволяет «обнулить» всю защиту ASLR на 64-разрядных машинах примерно за 90 секунд. Поскольку никаких специальных условий доступа и уязвимостей приложений тут не нужно, эксплойт работает на большинстве современных браузеров под любыми операционными системами, оснащёнными ASLR.

Эксперты говорят, что полагаться на одну только технологию ASLR не стоит (тем более, что и другие исследователи демонстрировали возможность обхода этой защиты), и что наиболее действенный способ защититься — это использовать расширения для браузеров, блокирующих посторонние скрипты JavaScript.

Для полного устранения уязвимости, однако, потребуется пересмотр архитектуры процессоров и переработка кода браузеров, чтобы не допускать эксплуатацию уязвимости.

«Проблема очень серьезная, но в то же время подобная ситуация не уникальна. ASLR, как и любая другая технология защиты, сама по себе не является «волшебной палочкой», способной решить разом все проблемы с защищенностью, - говорит Дмитрий Гвоздев, генеральный директор компании «Монитор безопасности». - Наиболее эффективной будет многоуровневая защита, использующая комбинацию из нескольких технологий, компенсирующих недостатки друг друга».