WINGFUZZ SaaS — это интеллектуальный нечеткий онлайн-сервис, запущенный Шуйму Юлином, который может использовать облачные ресурсы для предоставления нечетких услуг с учетом покрытия, не требуя от пользователей загрузки исходного кода. Бета-версия первой сервисной платформы нечеткого тестированияSaaS в Китае в настоящее время открыта бесплатно. чтобы использовать, поддерживает автоматизированный тест уязвимостей безопасности, таких как проблемы с памятью программ C/C++.
Адрес регистрации платформы: https://wingfuzz.com/.
После регистрации вы можете войти на платформу для просмотра демо-проекта и сопутствующих функций. Дождавшись проверки и активации, вы можете запустить тест.
Серверная часть платформы реализует нечеткое тестирование на основе рекомендаций по покрытию и внедряет такие технологии, как интеграция нескольких механизмов, разработанная командой, которая позволяет достичь лучших результатов анализа уязвимостей, чем инструменты с открытым исходным кодом. Интерфейсная часть реализует управление и отслеживание. процесс тестирования на основе контейнеров.
Нечеткое тестирование на основе покрытия, или нечеткое тестирование серого ящика, интеллектуальное нечеткое тестирование, представляет собой технологию динамического тестирования. Инструмент автоматически генерирует большое количество случайных тестовых случаев, вызывает аномалии программного обеспечения и, в конечном итоге, обнаруживает дефекты программного обеспечения. В то же время, благодаря инструментам «серого ящика», рекомендациям по покрытию, Sanitizer и другим технологиям, он может обеспечить более широкий охват тестированием, поддерживать больше типов дефектов и обеспечивать обнаружение дефектов на линейном уровне.
В настоящее время фазз-тестирование широко используется такими организациями, как Google, Microsoft и Linux Foundation, которые обнаружили большое количество ошибок в таком программном обеспечении, как OpenSSL, Chromium, Linux и Office. Существуют также платформенные проекты, такие как OSS-Fuzz. и One-Fuzz. Однако службы тестирования, такие как OSS-Fuzz, открыты только для программного обеспечения с открытым исходным кодом и требуют от пользователей загрузки собственного исходного кода. Также сложно создать такую платформу, как ClusterFuzz, WINGFUZZ предоставляет новую опцию.
Платформа WINGFUZZ SaaS в целом использует архитектуру «платформа + SDK», и SDK можно загрузить через платформу.
SDK предоставляет инструменты командной строки для поддержки компиляции и инструментирования проекта, локального проверочного тестирования, удаленной отправки тестовых заданий и других функций.
Платформа реализует управление тестированием, планирование ресурсов, выставление счетов пользователям и другие функции, а также обеспечивает изоляцию пользователей и тестовых проектов через контейнерную среду. На уровне взаимодействия с пользователем он предоставляет такие функции, как управление проектами, отчеты о процессе тестирования, подробный анализ дефектов и т. д. Он также предоставляет экспортируемые отчеты о тестировании.
Процесс добычи уязвимостей
WINGFUZZ SaaS предоставляет относительно подробное онлайн-руководство. Вы можете следовать этому руководству, чтобы управлять всем процессом и понимать соответствующие технические детали тестовой операции.
Адрес онлайн-учебника:
https://doc.wingfuzz.com/
Есть также различные короткие видеоролики, которые помогут вам начать работу.
Используйте демонстрационную программу напрямую и сохраните ее как firstst-fuzz.cpp:
e <stdio.h>#include <string.h>#include <string>#include <wfuzz.h>
void echo(std::string content) { char buf[10]; strncpy(buf, content.c_str(), 10); printf("%s\n", buf);}
WFUZZ_TEST_ENTRYPOINT(echo);
Драйвер — это вход для тестирования фазз-тестера. WINGFUZZ предоставляет макросы, которые проще использовать, чем AFL/LibFuzzer, для определения драйвера, а также совместим с методом написания драйверов AFL/LibFuzzer. В этой демонстрационной программе представлена ошибка переполнения буфера стека, вызванная функциями strncpy и printf.
Используйте эту команду для компиляции:
wfuzz-c++ -o first-fuzz first-fuzz.cpp
После завершения вы получите бинарный файл для тестирования. Соответствующие параметры будут автоматически добавлены во время компиляции, а необходимые библиотеки времени выполнения будут добавлены во время компоновки.
Есть два способа сказать Начать тестирование.,Непосредственная загрузка двоичных файлов в Интернет.,и запуск командной строки. При использовании командной строки,Также поддерживает два режима,Это локальная проверка для отладки.,и удаленное облачное тестирование. Мы используем эту команду для запуска удаленного теста:
wfuzz fuzz -R -t 600 first-fuzz
Вывод после запуска команды следующий:
Затем вы можете увидеть новый тест, запущенный на веб-стороне:
Ошибки в демо-программе можно обнаружить мгновенно. Подробности можно просмотреть:
Это основной процесс демонстрационной программы. В руководстве также представлен фактический процесс обнаружения уязвимости OpenSSL Heartbleed, а также более подробные технические сведения.
Заключение
Качество базового программного обеспечения очень важно. Технология фазз-тестирования постепенно вошла в поле зрения каждого для решения таких проблем, как надежность, безопасность и производительность в процессе разработки программного обеспечения. Однако порог ее использования также более строгий для разработчиков, чем традиционный. методы анализа программного обеспечения, WINGFUZZ SaaS, как первая отечественная попытка в этом направлении, надеется снизить стоимость и порог нечеткого тестирования и предоставить больше возможностей для базового тестирования программного обеспечения.
Замечательная рекомендация