Новости и события » Hi-Tech » Google открыл код ClusterFuzz, платформы для выявления ошибок и уязвимостей

Google открыл код ClusterFuzz, платформы для выявления ошибок и уязвимостей

Google открыл код ClusterFuzz, платформы для выявления ошибок и уязвимостей

Компания Google открыла исходные тексты платформы ClusterFuzz, предназаначенной для проведения fuzzing-тестирования кода с использованием кластера серверов. Кроме координации выполнения проверок ClusterFuzz также автоматизирует выполнение таких задач, как отправка уведомления разработчикам, создание заявки на исправление (issue), отслеживание исправления ошибки и закрытие отчетов после исправления. Код написан на языках Python и Go, и распространяется под лицензией Apache 2.0. Экземпляры ClusterFuzz могут запускаться на системах под управлением Linux, macOS и Windows, а также в различных облачных окружениях.

ClusterFuzz с 2011 года используется в недрах Google для выявления ошибок в кодовой базе Chrome и для обеспечения работы проекта OSS-Fuzz, в рамках которого было организовано непрерывное fuzzing-тестирование открытого ПО. Всего за время работы ClusterFuzz было выявлено более 16 тысяч ошибок в Chrome и более 11 тысяч ошибок в 160 открытых проектах, принимающих участие в программе OSS-Fuzz. Благодаря непрерывному процессу проверки актуальной кодовой базы ошибки обычно вылавливаются в течение нескольких частов после внесения в код, вызывающих их изменений.

Система изначально рассчитана на организацию распределенного тестирование на большом числе узлов - например, внутренний кластер ClusterFuzz в Google включает более 25 тысяч машин (!). ClusterFuzz поддерживает различные режимы fuzzing-тестирования на базе инструментов AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL, в том числе тестирование в режиме "черного ящика". В процессе тестирования автоматически отсеиваются дубликаты крахов, выявляются регрессии в коде (bisection, определение изменения в коде, после которого стал проявляться крах), анализируется статистика о производительности тестирования и интенсивности выявляемых крахов. Для управления и анализа результатов работы используется web-интерфейс.

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


Доставка завтраков в Одессе от ресторана Рис : начните день...

Доставка завтраков в Одессе от ресторана "Рис": начните день правильно

Почему завтрак так важен и как ресторан "Рис" помогает его улучшить Завтрак считается одним из самых важных приемов пищи, так как он запускает метаболизм, восполняет запасы энергии и улучшает концентрацию и продуктивность на весь день. Ресторан...

сегодня 12:38

Свежие новости Украины на сегодня и последние события в мире экономики и политики, культуры и спорта, технологий, здоровья, происшествий, авто и мото

Вверх