Итоги пяти месяцев изучения безопасности СПО проектом OSS-Fuzz

2 месяца ago admin 0

Компания Google подвела первые итоги работы проекта OSS-Fuzz, созданного для организации непрерывного fuzzing-тестирования открытого ПО с целью выявления возможных проблем с безопасностью. За пять месяцев существования проекта было организовано тестирование 47 открытых проектов, в результате которого было выявлено более тысячи ошибок, из которых 264 являются потенциальными уязвимостями.

Из подтверждённых уязвимостей отмечается 10 проблем во FreeType2, 17 в FFmpeg, 33 в LibreOffice, 8 в SQLite, 10 в GnuTLS, 25 в PCRE2, 9 в gRPC и 7 в Wireshark. Благодаря организации непрерывного тестирования некоторые из ошибок удалось обнаружить спустя лишь несколько часов после внесения регрессивных изменений в кодовую базу. Кроме ошибок, которые непосредственно могут привести к уязвимостям, в ходе применения OSS-Fuzz также выявлено более 300 проблем, приводящих к прекращению обработки из-за истечения таймаута или исчерпания доступной памяти, которые не всегда рассматриваются как ошибки, но могут служить как отправная точка для поиска более серьёзных проблем.

Итоги пяти месяцев изучения безопасности СПО проектом OSS-Fuzz

Для стимулирования разработки сценариев проверки в OSS-Fuzz новых открытых проектов, компания Google объявила о введении в строй программы выплаты вознаграждений за интеграцию значимых и популярных открытых проектов. Компания Google готова заплатить $1000 за начальную интеграцию и до $20,000 за расширенную интеграцию, подразумевающую организацию автоматизированную проверку кода из репозиториев с охватом (code coverage) проверкой более 80% кода и интеграцией с основной инфраструктурой тестирования и обработки ошибок.

Напомним, что при fuzzing-тестировании осуществляется генерация потока всевозможных случайных комбинаций входных данных, приближенных к реальным данным (например, html-страницы с случайными параметрами тегов или изображения с аномальными заголовками), и фиксация возможных сбоев в процессе их обработки. Если какая-то последовательность приводит к краху или не соответствует ожидаемой реакции, то такое поведение с высокой вероятностью свидетельствует об ошибке или уязвимости.


Source: pirates.in.ua