События

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

Команда 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, компиляция «на лету») или динамическая компиляция – технология увеличения производительности программных систем, использующий байт-код, путем компиляции байт-кода в машинный код или в другой формат непосредственно во время работы программы.

Источник

Автор: Сергей Куприянов
17.02.2018 (13:08)
Пройди тест и узнай об этом!
Информер новостей
Расширение для Google Chrome
Пишите нам

Редакция: info@alterprogs.ru

Реклама: adv@alterprogs.ru

Все права защищены © 2010-2018

"Alterprogs.ru" - технологии будущего

Контакты  | Карта сайта

Использование любых материалов, размещенных на сайте, разрешается при условии ссылки на alterprogs.ru. Для интернет-изданий - обязательна прямая открытая для поисковых систем гиперссылка. Ссылка должна быть размещена в независимости от полного либо частичного использования материалов. Материалы в рубрике "Новости партнеров" публикуются на правах рекламы.