The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Google представил систему fuzzing-тестирования ClusterFuzzLite

14.11.2021 12:36

Компания Google представила проект ClusterFuzzLite, позволяющий организовать fuzzing-тестирование кода для раннего выявления потенциальных уязвимостей на этапе работы систем непрерывной интеграции. В настоящее время ClusterFuzz может использоваться для автоматизации fuzzing-тестирования pull-запросов в GitHub Actions, в Google Cloud Build и в Prow, но в дальнейшем ожидается появление поддержки и других CI-систем. Проект базируется на платформе ClusterFuzz, созданной для координации работы кластеров fuzzing-тестирования, и распространяются под лицензией Apache 2.0.

Отмечается, что после внедрения в 2016 году компанией Google сервиса OSS-Fuzz в программу непрерывного fuzzing-тестирования было принято более 500 важных открытых проектов. На основе проведённых проверок было устранено более 6500 подтверждённых уязвимостей и исправлено более 21 тысячи ошибок. ClusterFuzzLite продолжает развитие механизмов fuzzing-тестирования возможностью более раннего выявления проблем на стадии рецензирования предлагаемых изменений. ClusterFuzzLite уже внедрён в процессы рецензирования изменений в проектах systemd и curl, и позволил выявлять ошибки, пропущенные статическими анализаторами и linter-ами, применявшимися на начальном этапе проверки нового кода.

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

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

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

  1. Главная ссылка к новости (https://security.googleblog.co...)
  2. OpenNews: Google открыл код ClusterFuzz, платформы для выявления ошибок и уязвимостей
  3. OpenNews: Google открыл Atheris, инструментарий для fuzzing-тестирования кода на языке Python
  4. OpenNews: Google представил OSS-Fuzz, сервис для анализа безопасности открытого ПО
  5. OpenNews: Разработчики Chromium представили кластер для автоматизации выявления уязвимостей
  6. OpenNews: Итоги пяти месяцев изучения безопасности СПО проектом OSS-Fuzz
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/56153-clusterfuzzlite
Ключевые слова: clusterfuzzlite, fuzzing
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (19) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.6, Аноним (6), 17:01, 14/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Уже было - https://github.com/google/AFL
     
     
  • 2.27, Аноним (27), 21:18, 17/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    AFL это совсем другое.
     

  • 1.7, Аноним (7), 17:50, 14/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Какие ошибки он может выявить для Rust  ?
     
     
  • 2.8, ResultCode (ok), 17:55, 14/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    unwrap()
     
  • 2.10, Michael Shigorin (ok), 21:20, 14/11/2021 [^] [^^] [^^^] [ответить]  
  • –7 +/
    Там другой инструмент нужен, поди -- s/zz/ck/
     

  • 1.9, pashev.me (?), 19:56, 14/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > генерация потока всевозможных случайных комбинаций входных данных
    > не соответствует ожидаемой реакции.

    🧐

     
     
  • 2.13, Аноним (13), 02:40, 15/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Что-то не так? Помнится в ffmpeg так и искали уязвимости
     
     
  • 3.17, ip1982 (ok), 13:00, 15/11/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ну и искали... Нашли? Какая реакция ожидается, когда на входе мусор?
     
     
  • 4.19, Жорш (?), 15:43, 15/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Не дать мусору проползти дальше и развалить логику?
     
     
  • 5.24, Аноним (24), 04:44, 16/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ты же понимаешь, что нужен не просто рандом, а определённые данные в определённых местах, чтобы все нужные участки кода отработали.
     
  • 4.21, qux (ok), 18:52, 15/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Сказать об этом и корректно завершиться. Не крешиться, и тем более не давать организовать code execution.
     
     
  • 5.22, pashev.me (?), 20:41, 15/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Как организовать code execution на случайных данных? Вот ты, да ты, сможешь определить, что вот этот мусор на входе открывает возможность code execution?
     
     
  • 6.23, qux (ok), 21:27, 15/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Как организовать code execution на случайных данных? Вот ты, да ты, сможешь
    > определить, что вот этот мусор на входе открывает возможность code execution?

    Смогу, а что? google://Wireshark CVE injection capture file, там таких багов море.

     

  • 1.14, Аноним (14), 08:40, 15/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Надеюсь и при разработке браузера Chrome внедрят эту систему поиска уязвимостей.
     
  • 1.15, Аноним (-), 10:49, 15/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    тупое тестирование, помнится они так адресное пространство серверов хотели тестировать, сожгли пару и перехотели
     
  • 1.18, Аноним 80_уровня (ok), 14:42, 15/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Удивительно, но факт: кто-то всё ещё даёт продуктам классные имена, вероятно, отражающие их суть.
    Им нужен логотип, определённо. Хотя бы цветом выделить буквы.
     
     
  • 2.20, Аноним (20), 17:56, 15/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Тут и без логотипа юмор в названии прекрасно считывается.
     
  • 2.26, mos87 (ok), 07:23, 16/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    самоирония ещё не совсем умерла

    хайлГугль борется с этим товарищ! Все в Очистку!

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру