Специалисты Google протестировали компонент ядра Windows и обнаружили в нём 16 опасных уязвимостей, которые скрывались в подсистеме, отвечающей за визуализацию шрифтов. В большинстве версий Windows она по историческим причинам включена в состав ядра. Это делает её изъяны особенно опасными.

В растеризаторах шрифтов всегда полно уязвимостей. Во-первых, чаще всего они написаны на Си или Си++, а сложные программы на этих языках почти всегда подвержены ошибкам из-за переполнения буфера или нарушения безопасности памяти. Во-вторых, шрифты в форматах TrueType и OpenType могут содержать код, исполняемый в специальных виртуальных машинах, что делает их настоящим кладом для хакеров.

Специалисты Google занимались поиском уязвимостей в растеризаторе Windows с начала 2015 года. Он оказался непростым объектом для изучения: его исходники, в отличие от исходников FreeType, недоступны, и даже отладочной информации во многих случаях нет. Задача усложняется тем, что код растеризатора исполняется на уровне ядра операционной системы.
В мае 2015 года специалисты попробовали подвергнуть этот компонент фаззингу, то есть автоматизированному поиску уязвимостей, при котором тестируемой программе скармливают неверные, неожиданные или случайные данные, а потом смотрят на её реакцию. Идея оказалась продуктивной. 21 мая в течение одного дня Google выявил одиннадцать уязвимостей в растеризаторе шрифтов Windows. 18 августа тесты указали пару новых уязвимостей, а 22 декабря их список пополнился ещё тремя пунктами.

Десять из шестнадцати уязвимостей объяснялись ошибками, которые ведут к переполнению буфера. Одна уязвимость была связана с переполнением области, занимаемой стеком, а остальные оказались вызваны попытками растеризатора обратиться к неинициализированной или уже освобождённой памяти.

Подавляющее большинство уязвимостей, которые обнаружили специалисты Google, подходило для расширения прав, с которыми исполняется вредоносный код. В некоторых случаях они допускали даже удалённое исполнение кода. Правда, не везде, а лишь в приложениях, которые позволяют графической подсистеме Windows (GDI) работать с непроверенными файлами пользователя. Пара уязвимостей, которые фаззинг выявил в самом начале тестирования, срабатывала от самых мизерных изменений в файлах с шрифтами.

Позже в Google узнали, что их уже отыскали другие хакеры. Одну из уязвимостей обнаружили во время соревнования pwn2own в марте 2015 года, то есть за два месяца до Google. Другая упоминалась в архивах Hacking Team, похищенных в июле 2015 года. Обо всех найденных дырах компания сообщала в Microsoft, и та не очень быстро, но всё же реагировала на жалобы. Первой была побеждена уязвимость, известная Hacking Team. Это произошло в прошлом июле. А последний пункт из списка Google был закрыт относительно недавно — 12 апреля 2016 года.

Анна Воробьева
4 июля, 2016

Подписаться на новости BIS Journal / Медиа группы Авангард

Подписаться
Введите ваш E-mail

Отправляя данную форму вы соглашаетесь с политикой конфиденциальности персональных данных

15.08.2025
VK: Безопасники Max бросают социнжнеров в пожизненный бан
15.08.2025
Расходы на ИИ-инфраструктуру превысят 7 трлн долларов на горизонте десяти лет
15.08.2025
Около тысячи ИТ-компаний исключили из реестра Минцифры
15.08.2025
Современные инфостилеры не «сидят в засаде»
15.08.2025
F6 — о необходимости построения защиты от экзотических угроз
14.08.2025
Безопасники и операторы связи — о шатдаунах, белых списках и капче
14.08.2025
Банкиры и «связисты» спорят, скамеры — жуют попкорн
14.08.2025
Плюс 3,9 млрд рублей в кубышку импортозамещения
14.08.2025
Кто остался после «частичного ограничения»
14.08.2025
Локомотив импортозамещения станет банкротом?

Стать автором BIS Journal

Поля, обозначенные звездочкой, обязательные для заполнения!

Отправляя данную форму вы соглашаетесь с политикой конфиденциальности персональных данных