Компания Google подвела (https://opensource.googleblog.com/2017/05/oss-fuzz-five-mont...) первые итоги работы проекта OSS-Fuzz (https://github.com/google/oss-fuzz/), созданного (https://www.opennet.ru/opennews/art.shtml?num=45602) для организации непрерывного fuzzing-тестирования открытого ПО с целью выявления возможных проблем с безопасностью. За пять месяцев существования проекта было организовано тестирование 47 открытых проектов (https://github.com/google/oss-fuzz/tree/master/projects), в результате которого было выявлено более тысячи (https://bugs.chromium.org/p/oss-fuzz/issues/list?can=1&q=-co...) ошибок, из которых 264 (https://bugs.chromium.org/p/oss-fuzz/issues/list?can=1&q=-co...) являются потенциальными уязвимостями.
Из подтверждённых уязвимостей отмечается 10 (https://bugs.chromium.org/p/oss-fuzz/issues/list?can=1&q=Pro...) проблем во FreeType2, 17 (https://bugs.chromium.org/p/oss-fuzz/issues/list?can=1&q=Pro...) в FFmpeg, 33 (https://bugs.chromium.org/p/oss-fuzz/issues/list?can=1&q=Pro...) в LibreOffice, 8 (https://bugs.chromium.org/p/oss-fuzz/issues/list?can=1&q=Pro...) в SQLite, 10 (https://bugs.chromium.org/p/oss-fuzz/issues/list?can=1&q=Pro...) в GnuTLS, 25 (https://bugs.chromium.org/p/oss-fuzz/issues/list?can=1&q=Pro...) в PCRE2, 9 (https://bugs.chromium.org/p/oss-fuzz/issues/list?can=1&q=Pro...) в gRPC и 7 (https://bugs.chromium.org/p/oss-fuzz/issues/list?can=1&q=Pro...) в Wireshark. Благодаря организации непрерывного тестирования некоторые из ошибок удалось обнаружить спустя лишь несколько часов после внесения регрессивных изменений в кодовую базу. Кроме ошибок, которые непосредственно могут привести к уязвимостям, в ходе применения OSS-Fuzz также выявлено более 300 проблем, приводящих к прекращению обработки из-за истечения таймаута или исчерпания доступной памяти, которые не всегда рассматриваются как ошибки, но могут служить как отправная точка для поиска более серьёзных проблем.
Для стимулирования разработки сценариев (http://llvm.org/docs/LibFuzzer.html#fuzz-target) проверки в OSS-Fuzz новых открытых проектов, компания Google объявила о введении в строй программы выплаты вознаграждений за интеграцию значимых и популярных открытых проектов. Компания Google готова заплатить $1000 за начальную интеграцию и до $20,000 за расширенную интеграцию, подразумевающую организацию автоматизированную проверку кода из репозиториев с охватом (code coverage) проверкой более 80% кода и интеграцией с основной инфраструктурой тестирования и обработки ошибок.
Напомним, что при fuzzing-тестировании осуществляется генерация потока всевозможных случайных комбинаций входных данных, приближенных к реальным данным (например, html-страницы с случайными параметрами тегов или изображения с аномальными заголовками), и фиксация возможных сбоев в процессе их обработки. Если какая-то последовательность приводит к краху или не соответствует ожидаемой реакции, то такое поведение с высокой вероятностью свидетельствует об ошибке или уязвимости.
URL: https://opensource.googleblog.com/2017/05/oss-fuzz-five-mont...
Новость: https://www.opennet.ru/opennews/art.shtml?num=46516