
В Microsoft прямо говорят, что использования Security Copilot самого по себе недостаточно для эффективного обнаружения уязвимостей, сервис лишь способен ускорить процесс поиска проблем в исходном коде. Помимо ИИ, в проекте также были задействованы традиционные инструменты, такие как статический анализ кода, фаззинг и ручной анализ. Тем не менее была показана эффективность языковой модели для обнаружения потенциально опасных участков кода, которые затем можно проверить и вручную.
Один из фрагментов диалога с ИИ показан на скриншоте выше. Copilot нацелили на поиск ошибок в коде, которые реально могут быть эксплуатированы, например — в модулях, ответственных за работу с сетью, файловыми системами и за криптографию. Использование ИИ для анализа функций, предназначенных для подключения файловых систем, выявило пять «кандидатов в уязвимости». Из них три оказались ложноположительными. Последующий анализ еще одной выявил, что ошибку невозможно эксплуатировать. Только одна проблема из пяти была квалифицирована как серьезная уязвимость.
Впрочем, успешным оказалось дальнейшее использование Copilot для поиска уязвимостей, похожих на обнаруженную ранее и подтвержденную вручную проблему. Результатом стал список из однотипных уязвимостей в коде, отвечающих за работу с различными файловыми системами: UFS, Squash4, ReiserFS, JFS, RomFS, UDF и HFS. Детально в публикации разобран пример с ошибкой в обработчике для системы JFS. Если исходить из того, что параметры файловой системы контролируются потенциальным атакующим, уязвимость в коде приводит к переполнению буфера и выполнению произвольного кода. Отдельно в отчете говорится о том, что в ряде случаев разработчики GRUB2 применили дополнительные проверки, исключающие опасную ситуацию. Но такие методы защиты были реализованы далеко не везде, где это необходимо.
Помимо уязвимостей в обработчиках файловых систем, проблемы также были обнаружены в криптографическом модуле, а также в коде встроенных в GRUB2 команд, отвечающих за чтение данных и вывод содержимого оперативной памяти. Поиск «похожих проблем» также позволил выявить четыре новые уязвимости в загрузчике U-Boot и пять — в загрузчике Barebox. В GRUB2 все уязвимости были закрыты в феврале этого года. Максимальный рейтинг по шкале CVSS имеет уязвимость в коде, ответственном за работу с файловой системой Squash4, — 7,8 балла из 10.
Что еще произошло
Эксперты «Лаборатории Касперского»
В других публикациях исследователей «Лаборатории Касперского» подробно
Разработчики корпоративных сетевых решений Ivanti
Критическая уязвимость с рейтингом CVSS 9,4 балла из 10 была
Уязвимость в архиваторе WinRAR