Специалисты 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 года.
C 12 ноября ряд пользователей Windows 10 столкнулись с проблемой обновления и деинсталляции пакетных приложений вроде Microsoft Teams. Microsoft подтвердила наличие бага и отозвала обновление WinAppSDK.
Судя по всему, проблема вызвана пакетом WinAppSDK версии 1.6.2, которая автоматом установилась в системы пользователей после инсталляции приложения, разработанного с использованием Win App SDK.
На затронутых устройствах, работающих под управлением Windows 10 22H2, выводилась ошибка «Something happened on our end» в разделе «Загрузки» Microsoft Store.
«Если вы системный администратор и пытаетесь управлять приложениями через PowerShell с помощью команды “Get-AppxPackage“, система может выдать вам ошибку “Deployment failed with HRESULT: 0x80073CFA“», — объясняет Microsoft.
«Вы также можете столкнуться с проблемами обновления или переустановки Microsoft Teams и других сторонних приложений».
Корпорация пока отозвала проблемную версию WinAppSDK 1.6.2. Один из разработчиков Майк Кридер уточнил, что фикс стоит ждать с выходом WinAppSDK 1.6.3.
Подписывайтесь на канал "Anti-Malware" в Telegram, чтобы первыми узнавать о новостях и наших эксклюзивных материалах по информационной безопасности.
Свидетельство о регистрации СМИ ЭЛ № ФС 77 - 68398, выдано федеральной службой по надзору в сфере связи, информационных технологий и массовых коммуникаций (Роскомнадзор) 27.01.2017 Разрешается частичное использование материалов на других сайтах при наличии ссылки на источник. Использование материалов сайта с полной копией оригинала допускается только с письменного разрешения администрации.