ClusterFuzzLite, система для организации тестов фаззинга кода

Недавно Google представил через сообщение в блоге проект ClusterFuzzLite, позволяющий организовывать тесты фаззинга кода для раннего обнаружения потенциальных уязвимостей на этапе эксплуатации систем непрерывной интеграции.

В настоящее время ClusterFuzz может использоваться для автоматизации нечеткого тестирования запросов на вытягивание в действиях GitHub., Google Cloud Build and Prow, но ожидается, что в будущем он будет совместим с другими системами IC. Проект основан на платформе ClusterFuzz, созданной для координации работы тестовых кластеров фаззинга, распространяется по лицензии Apache 2.0.

Стоит отметить, что после внедрения сервиса OSS-Fuzz компанией Google в 2016 году более 500 крупных проектов с открытым исходным кодом были приняты в программу непрерывного тестирования фаззинга. В результате проведенных проверок было устранено более 6.500 21.000 подтвержденных уязвимостей и исправлено более XNUMX XNUMX ошибок.

О ClusterFuzzLite

ClusterFuzzLite продолжает разрабатывать механизмы тестирования фаззинга с возможностью выявлять проблемы на более раннем этапе на этапе экспертной оценки предлагаемых изменений. ClusterFuzzLite уже включен в процессы проверки изменений в проектах systemd и curl., и это позволило выявить ошибки, которые не были обнаружены в статических анализаторах и линтерах, которые использовались на начальном этапе проверки нового кода.

Сегодня мы рады анонсировать ClusterFuzzLite, решение для непрерывного фаззинга, которое работает как часть рабочих процессов CI / CD и позволяет быстрее, чем когда-либо, находить уязвимости. С помощью всего нескольких строк кода пользователи GitHub могут интегрировать ClusterFuzzLite в свой рабочий процесс и нечеткие запросы на вытягивание, чтобы выявлять ошибки до их появления, повышая общую безопасность цепочки поставок программного обеспечения.
С момента запуска в 2016 году более 500 критически важных проектов с открытым исходным кодом были интегрированы в программу Google OSS-Fuzz, в результате чего было исправлено более 6.500 уязвимостей и 21.000 функциональных ошибок. ClusterFuzzLite идет рука об руку с OSS-Fuzz, обнаруживая ошибки регрессии намного раньше в процессе разработки.

ClusterFuzzLite поддерживает проверку проекта на C, C ++, Java. (и другие языки на основе JVM), Go, Python, Rust и Swift. Тесты фаззинга проводятся с использованием движка LibFuzzer. Инструменты AddressSanitizer, MemorySanitizer и UBSan (UndefinedBehaviorSanitizer) также могут быть вызваны для обнаружения ошибок и аномалий памяти.

Из ключевых особенностей ClusterFuzzLite выделяет, например, быстрая проверка предлагаемых изменений найти ошибки на этапе до принятия кода, а также загрузка отчетов об условиях возникновения аварий, возможность переехать в более продвинутые тесты фаззинга для выявления более глубоких ошибок, которые не возникли после проверки изменения кода, а также создание отчетов о покрытии для оценки покрытия кода во время тестов и модульная архитектура, позволяющая выбрать необходимую функциональность.

Крупные проекты, включая systemd и curlya, используют ClusterFuzzLite во время проверки кода, и это дает положительные результаты. По словам Дэниела Стенберга, автора curl: «Когда рецензенты соглашаются и одобряют код, а их статические анализаторы кода и линтеры больше не могут обнаружить никаких проблем, фаззинг - это то, что выводит вас на новый уровень зрелости и надежности кода. OSS-Fuzz и ClusterFuzzLite помогают нам поддерживать curl как качественный проект в течение всего дня, каждый день и при каждом взаимодействии.

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

Если какая-либо последовательность не выполняется или не соответствует ожидаемому ответу, такое поведение, скорее всего, указывает на ошибку или уязвимость.

В конце концов если вам интересно узнать об этом больше, вы можете проверить подробности По следующей ссылке.


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.