Контакты
Подписка
МЕНЮ
Контакты
Подписка

Google раскрыла метод, позволяющий вредоносным сайтам использовать Edge

Google раскрыла метод, позволяющий вредоносным сайтам использовать Edge

Google раскрыла метод, позволяющий вредоносным сайтам использовать Edge


19.02.2018



Команда Google Project Zero опубликовала подробности о методе обхода важного механизма в браузере Edge, защищающего от эксплоитов.

Речь идет о технологии Arbitrary Code Guard (ACG), реализованной в Windows 10 Creators Update для защиты от web-атак, предполагающих загрузку вредоносного кода в память. ACG позволяет отображать в память только код с соответствующей подписью. Тем не менее, JIT-компиляторы в современных браузерах создают проблемы для ACG. JIT-компиляторы трансформируют JavaScript в "родной" код, который может быть не подписан и запускаться в процессе контента. Для того чтобы JIT-компиляторы могли работать при включенной функции ACG, Microsoft выделила JIT-компиляцию в Edge в отдельный процесс, запускаемый в собственной изолированной песочнице.

Процесс JIT отвечает за компиляцию JavaScript в "родной" код и его отображение в запрашиваемый процесс контента, поясняет Microsoft. Таким образом, сам по себе процесс контента не может отображать в память или модифицировать свои собственные страницы JIT-кода. Однако команда Google Project Zero обнаружила уязвимость в том, как исполняемые данные записываются в процесс контента во время JIT-компиляции.

Представленный исследователями метод позволяет скомпрометированному процессу контента спрогнозировать, какой адрес JIT-процесс вызовет VirtualAllocEx() следующим, распределить участок памяти для записи по тому же адресу, который собирается использовать JIT-сервер, и записать туда полезную нагрузку для скорейшего выполнения.

Исследователи уведомили Microsoft о проблеме в середине ноября прошлого года, и по истечении 90 дней, отведенных на ее исправление, опубликовали подробности об атаке. Производитель намеревался исправить уязвимость к февралю, однако она оказалась намного сложнее, чем предполагалось ранее. Предположительный выход патча назначен на март 2018 года.

JIT-компиляция (Just-in-time compilation, компиляция "на лету") или динамическая компиляция – технология увеличения производительности программных систем, использующий байт-код, путем компиляции байт-кода в машинный код или в другой формат непосредственно во время работы программы.

 

Securitylab