- Регистрация
- Сообщения
- 1 253
- Реакции
- 112
Google с помощью искусственного интеллекта выявила 26 новых уязвимостей в проектах с открытым исходным кодом (Open Source), включая баг в OpenSSL, который оставался незамеченным в течение двух десятилетий.
Этот баг, получивший название CVE-2024-9143, связан с «выходом за границы памяти», вызывал сбои программы, а в редких случаях запускал вредоносный код.
Для поиска уязвимостей и автоматизации процесса разработчики Google применили метод «фаззинг-тестирование» (fuzz testing), при котором в код загружаются случайные данные для выявления возможных сбоев. В блоге компании отмечается, что подход заключался в использовании возможностей больших языковых моделей (LLM) для генерации большего количества целей фаззинга.
Как выяснилось, LLM оказались «высокоэффективными в эмуляции всего рабочего процесса типичного разработчика по написанию, тестированию и сортировке обнаруженных сбоев». В результате искусственный интеллект был применён для тестирования 272 программных проектов, где и были обнаружены 26 уязвимостей, включая «древний» баг в OpenSSL.
По словам исследователей, причина, по которой баг оставался незамеченным 20 лет, заключается в сложности тестирования отдельных сценариев кода, а также из-за того, что данный код считался уже тщательно протестированным и, соответственно не привлекал к себе большого внимания.
К счастью, ошибка имеет низкий уровень опасности из-за минимального риска эксплуатации процесса.
Этот баг, получивший название CVE-2024-9143, связан с «выходом за границы памяти», вызывал сбои программы, а в редких случаях запускал вредоносный код.
Для поиска уязвимостей и автоматизации процесса разработчики Google применили метод «фаззинг-тестирование» (fuzz testing), при котором в код загружаются случайные данные для выявления возможных сбоев. В блоге компании отмечается, что подход заключался в использовании возможностей больших языковых моделей (LLM) для генерации большего количества целей фаззинга.
Как выяснилось, LLM оказались «высокоэффективными в эмуляции всего рабочего процесса типичного разработчика по написанию, тестированию и сортировке обнаруженных сбоев». В результате искусственный интеллект был применён для тестирования 272 программных проектов, где и были обнаружены 26 уязвимостей, включая «древний» баг в OpenSSL.
По словам исследователей, причина, по которой баг оставался незамеченным 20 лет, заключается в сложности тестирования отдельных сценариев кода, а также из-за того, что данный код считался уже тщательно протестированным и, соответственно не привлекал к себе большого внимания.
«Тесты не способны измерять все возможные пути выполнения программы. Разные настройки, флаги и конфигурации могут активировать и разное поведение, которое выявляют новые уязвимости», — пояснили специалисты.
К счастью, ошибка имеет низкий уровень опасности из-за минимального риска эксплуатации процесса.