
Набор инструментов для фаззинга шрифтов TrueType и OpenType
BrokenType — это набор инструментов, предназначенных для проверки устойчивости и безопасности программного обеспечения для растеризации шрифтов, особенно кодовых баз, подверженных ошибкам повреждения памяти (написанных на C/C++ и подобных языках). Он состоит из следующих компонентов:
Описание и инструкции по использованию утилит можно найти в соответствующих README-файлах.
Программы и скрипты успешно использовались в 2015-2019 годах для обнаружения и сообщения о 20 уязвимостях в коде растеризации шрифтов, присутствующем в ядре Windows (драйверы win32k.sys и atmfd.dll), 19 проблемах безопасности в пользовательской библиотеке Microsoft Uniscribe, а также о 9 ошибках в библиотеке FontSub.dll и нескольких проблемах в DirectWrite. О проведённом фаззинге рассказывалось в следующих статьях блога Google Project Zero:
и доклад «Обратный инжиниринг и эксплуатация растеризаторов шрифтов», прочитанный в сентябре 2015 года на конференции 44CON в Лондоне. Двумя наиболее значимыми проблемами, найденными с помощью инструмента, стали CVE-2015-2426 и CVE-2015-2455 — совпадение ошибки OTF с эксплойтом, обнаруженным в утечке Hacking Team, и совпадение ошибки TTF с эксплойтом KeenTeam для pwn2own 2015.
Это не официальный продукт Google.