Специалисты 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

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

01.11.2025
OpenAI пытается нивелировать правовые риски
01.11.2025
«Максу» банки предпочитают собственные каналы связи
01.11.2025
Фрод в Великобритании увеличился на 17%. Ущерб близится к миллиарду
01.11.2025
40% жертв кибербуллинга встречаются с ним в чатах с незнакомцами
01.11.2025
Банк России: Дропперам счёт не открывай, а не-дропперам — открывай
01.11.2025
Связанная с Пакистаном хак-группа атакует правительство Индии
31.10.2025
Европол призывает объединиться в борьбе со спуфингом
31.10.2025
Взлом JLR может привести к краху экономики Британии (?)
31.10.2025
Банк ДОМ.РФ зафиксировал рост случаев мошеннических действий против миллениалов
31.10.2025
Роскомнадзор хочет демонтировать институт согласий

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

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

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