Код JavaScript взламывает ASLR на 22 процессорных архитектурах

17 февраль, 2017 - 09:52

Пятеро исследователей из Свободного университета Амстердама (Нидерланды) опубликовали две статьи, в которых продемонстрировали метод взлома с помощью кода JavaScript защиты ASLR для микропроцессорных архитектур от Intel, AMD, ARM, Allwinner, Nvidia и многих других. ASLR — это механизм, реализованный во всех основных операционных системах, который защищает исполняемый код, размещая его в памяти случайным образом.

Эта атака получила название ASLR⊕Cache или AnC, она нацелена на блок MMU (Memory Management Unit), малоизвестный компонент многих процессоров, оптимизирующий работу кэш-памяти. Авторы обнаружили, что часть кэша MMU используется ненадёжными приложениями, в том числе браузерами. Это означает, что можно написать скрипт для чтения этого общего участка памяти. Извлеченная информация может использоваться хакером для запуска более сложных эксплойтов и получения доступа ко всей операционной системе.

С помощью браузеров Chrome и Firefox голландские эксперты провели успешные атаки AnC на 22 разные микроархитектуры CPU. Дальнейшие испытания могут расширить перечень уязвимых процессоров. Встроенные в эти браузеры средства защиты, такие как нарушенные счётчики JavaScript оказались неэффективны.

Авторы утверждают, что метод AnC опасен ещё и тем, что может возродить давно заблокированные атаки на кэш, сделав актуальными многие уязвимости, которые долгие годы считались ликвидированными.

Единственный рекомендуемый способ защиты от AnC это установка расширения, такого как NoScript, запрещающего выполнение в браузере ненадёжного кода JavaScript.