Эксперты Google рассказали, как нарушить работу браузера Microsoft Edge

Эксперты Google рассказали, как нарушить работу браузера Microsoft Edge

Эксперты Google рассказали, как нарушить работу браузера Microsoft Edge

В феврале этого года Google Project Zero опубликовал сообщение о наличии бага в Microsoft Edge. Корпорация Microsoft не смогла устранить эту брешь, что побудило эксперта Google Ивана Фратрика опубликовать технические подробности этой уязвимости.

Специалист сообщает, что проблема кроется во взаимодействии JavaScript-движка Chakra, используемого Edge, с защитным механизмом Arbitrary Code Guard (ACG). ACG предназначен для предотвращения динамического модифицирования кода.

«Когда ACG получает доступ к процессу Microsoft Edge, выделение новой памяти внутри процесса, а также изменение текущей памяти, становится невозможным. Это своего рода защитная функция, направленная на предотвращение выполнения произвольного кода злоумышленником, который уже получил некоторые привилегии», — объяснил эксперт.

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

Таким образом, если JavaScript-движок Chakra встречает функцию, которая требует JIT-компиляции, он передает байт-код на JIT-сервер, который «компилирует его и записывает полученный исполняемый код обратно в процесс, используя общую память».

Другой метод атаки использует Guard Flow Guard (CFG), предназначенный для защиты от уязвимостей повреждения памяти. Здесь, как отмечает эксперт, вектор заключается в том, чтобы перезаписать обратный адрес, так как он незащищен, это поможет обойти систему защиты.

Эксперт описывает следующий алгоритм действий:

  • Атакующий получает адрес распределения JIT и прогнозирует следующий адрес;
  • Злоумышленник анмапит соответствующий раздел JIT — UnmapViewOfFile();
  • Затем вызывает VirtualAlloc()для восстановления памяти, но на этот раз с разрешениями PAGE_READWRITE;
  • Атакующий записывает свою полезную нагрузку во вновь распределенную локацию;
  • Атакующий ждет, пока сервер JIT области памяти исполняемой;
  • Теперь злоумышленник может просто передать поток управления в код, записанный на 4-ом шаге.

Устранение этой бреши не требует каких-то специфических решений, достаточно просто удалить вызов VirtualAllocEx().

Специалист опубликовал proof-of-concept код здесь.

AM LiveПодписывайтесь на канал "AM Live" в Telegram, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

Microsoft окончательно уберёт VBScript из Windows 11 к 2027 году

Microsoft решила окончательно попрощаться с VBScript — скриптовым языком, который компания создала ещё в 1996 году. Формально его развитие свернули в 2008-м, но поддержка в Windows оставалась, и многие организации продолжали использовать его для автоматизации.

Теперь же корпорация объявила: к 2027 году VBScript будет полностью удалён из Windows 11.

Для большинства пользователей это событие пройдёт незаметно. Но в корпоративной среде могут возникнуть сложности: многие решения до сих пор завязаны на VBA-макросы, которые подключают внешние *.vbs-файлы или библиотеки с функциями VBScript. После «пенсии» языка такие сценарии перестанут работать.

Чтобы не обрушить инфраструктуру в один момент, Microsoft пошла по пути постепенного отказа. Сейчас VBScript уже отключён по умолчанию, но при желании его можно установить вручную через системные настройки.

Однако после 2027 года опция исчезнет полностью, и вернуть поддержку будет невозможно.

Иными словами, компании, которые ещё зависят от VBScript, получили несколько лет на то, чтобы переписать свои решения и перейти на другие средства автоматизации.

AM LiveПодписывайтесь на канал "AM Live" в Telegram, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

RSS: Новости на портале Anti-Malware.ru