Google Chrome внедрил дополнительные механизмы безопасности для Flash Player

Разработчики веб-браузера Google Chrome для Windows добавляли в него дополнительные функции противодействия эксплойтам.  20 Июль 2015, 17:02
Речь идет о механизмах 64-битных вкладок, High Entropy ASLR, а также об отключении использования драйвера win32k.sys в sandboxed-процессах. Эти механизмы существенно усложняют для атакующих разработку рабочих RCE-эксплойтов, через которые можно получить полный доступ к системе через браузер.
В последней версии Chrome была добавлена новая функция для противодействия эксплойтам, которая прилагается к выпускаемому Adobe проигрывателю Flash Player. Недавно опубликованные данные об эксплойтах Flash Player показывают, что атакующие используют уязвимости buffer overflow, которые позволяют выполнять перезапись или порчу части широко используемого Flash vector объекта или буфера, за счет чего размещать в памяти данные шеллкода.
Для предотвращения таких ситуаций перезаписи смежных структур и буферов в памяти, Chrome использует разделение кучи (Mitigation: Vector.uint buffer heap partitioning). При этом память для критичного по безопасности буфера vector выделяется не из общей кучи Flash, что предотвращает ситуацию ее нелегитимного использования. Структура vector является одной из наиболее часто используемых во Flash для удобного хранения смежного массива различных структур в памяти. Механизм безопасности включается для вектора челочисленного UINT типа.
Еще один механизм безопасности контролирует целостность структуры буфера vector, которая начинается в памяти с поля размера этого буфера (Mitigation: Vector.<*> length validation). Это поле существенно важно для атакующих, поскольку позволяет частично легитимизировать порчу буфера в памяти и позволяет задавать новый размер структуры. Для этого код браузера выполняет специальную проверку, сравнивая текущее значение этого поля с заданным изначально. (If the attacker corrupts a length, they do not know what value to set the secret to, and the resulting mismatch results in a runtime abort.)
Chrome также использует для Flash рандомизацию адресов выделений участков памяти в куче Flash, в дополнении к механизму ASLR, который Windows использует по умолчанию для процессов с поддержкой ASLR (Mitigation: stronger randomization for the Flash heap). Механизм существенно предотвращает возможность использования механизмов heap spray, а также use-after-free.

Вышеуказанные функции безопасности веб-браузера (64-битные вкладки, HEASLR, запрещение использование win32k.sys, Flash exploit mitigations) существенно усиливают его безопасность. Новые функции безопасности Flash exploit mitigations доступны для Flash Player начиная с версии 18.0.0.209.

Используемую браузером версию Flash можно проверить через выполнение команды about:version в строке браузера, либо на веб-странице Adobe Flash Player здесь:
Adobe Flash Player is the standard for delivering high-impact, rich Web content. Designs, animation, and application user interfaces are deployed immediately across all browsers and platforms,..