Google нашёл 16 уязвимостей в ядре Windows при помощи фаззинга

Google нашёл 16 уязвимостей в ядре Windows при помощи фаззинга

Google нашёл 16 уязвимостей в ядре Windows при помощи фаззинга

Специалисты Google протестировали компонент ядра Windows и обнаружили в нём шестнадцать опасных уязвимостей. Впоследствии оказалось, что таким образом они, сами того не зная, перебежали дорогу Hacking Team. Хакеры знали об одной из этих уязвимостей и хотели выпустить эксплойт, но не успели.

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

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

Специалисты Google занимались поиском уязвимостей в растеризаторе Windows с начала 2015 года. Он оказался непростым объектом для изучения. Его исходники, в отличие от исходников FreeType, недоступны, и даже отладочной информации во многих случаях нет. Задача усложняется тем, что код растеризатора исполняется на уровне ядра операционной системы.

В мае 2015 года в Google попробовали подвергнуть этот компонент фаззингу. Так называется метод автоматизированного поиска уязвимостей, при котором тестируемой программе скармливают неверные, неожиданные или случайные данные, а потом смотрят на её реакцию.

Идея оказалась продуктивной. 21 мая в течение одного дня Google выявил одиннадцать уязвимостей в растеризаторе шрифтов Windows. 18 августа тесты указали пару новых уязвимостй, а 22 декабря их список пополнился ещё тремя пунктами.

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

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

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

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

Chrome сообщит Google, какой антивирус стоит на вашем Windows-компьютере

Google тестирует новую функцию в Chrome, которая может добавить еще один пункт в список отправляемых данных. На этот раз речь идет об антивирусе, установленном на компьютере пользователя. Если функция доберётся до релизных версий браузера, Chrome сможет передавать Google информацию об установленном антивирусном продукте во время проверки скачиваемых файлов.

Как обнаружили в Windows Report, в тестовой версии Chrome Canary появился механизм Antivirus Telemetry for Downloads.

Важно: нововведение касается не всех пользователей. Речь идет только о тех, кто включил режим Enhanced Safe Browsing («Улучшенная защита»). Обычный Safe Browsing, который активирован по умолчанию, под действие новой функции пока не подпадает.

Сейчас при скачивании файла Chrome может отправлять данные для проверки его безопасности. В будущем к этой информации может добавиться и название антивируса на устройстве — будь то Microsoft Defender, McAfee, Malwarebytes или другой продукт.

На существование функции указывают сразу несколько находок в исходном коде браузера. В частности, Google уже добавила новое поле для передачи данных об антивирусном продукте в запросах проверки загрузок. Кроме того, в Chrome Canary появился отдельный флаг с говорящим названием Antivirus telemetry for downloads и описанием: «Включает передачу информации об антивирусном продукте в запросах проверки загрузок».

 

Чтобы получить эти данные, браузеру придется сначала запросить информацию у Windows, а затем передать ее на серверы Google. Судя по коду, разработчики даже замеряют, насколько такая операция влияет на скорость скачивания файлов.

Новость уже вызвала вопросы о конфиденциальности. Пользователи включают Enhanced Safe Browsing ради дополнительной защиты от фишинга и вредоносных файлов, однако вместе с этим могут начать делиться с Google еще большим объемом информации, включая историю посещений, данные о загрузках и теперь сведения об используемом антивирусе.

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