Pull to refresh

Comments 3

Офигеть. Надо же так непонятно описать идею.
Для фазинга надо что бы программа предоставила интерфейс для ввода входных данных в виде бинарной строки (файла). Затем генерируется набор таких строк (случайно или на основе образцов) и выполняется запуск программы с этими данными и анализируется результат, где ветвилась, упала ли, выполнилась ли за отведённое время и т.п. На основе анализа поведения бинарные данные изменяются что бы получить новые ветвления или комбинируются генетическим алгоритмом что бы получить падения и покрыть большее количество путей исполнения. И это повторяется постоянно милионы раз на сотне серверов, неделями.

Отличный способ бестолково утилизировать вычислительные ресурсы. В нём больше всех, естественно, заинтересованы те кто эти самые ресурсы продаёт в аренду. Они же усиленно его и продвигают, давя на жалость безопасность.

Здравствуйте! Вы упоминаете только часть типов фаззинга, в статье мы затронули и black-box фаззинг (подробнее в разделе «Подходы к тестированию»). Конечно, любое тестирование требует вычислительных мощностей, но фаззинг имеет ряд преимуществ перед другими методами: большое покрытие кода, возможность полной автоматизации тестирования (более подробно описано в этом материале), а также применимость даже тогда, когда сведений о тестируемой системе практически нет (об это можно прочитать здесь). На наш взгляд, они чаще окупают возможные издержки, чем наоборот.

Как один из методов проверки он хорош, но результат не гарантирован. И он позволяет утилизировать любое неограниченное количество ресурсов, без гарантии результата.

фаззинг имеет ряд преимуществ перед другими методами

В коммерческом плане несомненно.

ps: видео о том как это работает https://youtu.be/n6kP-CWO_0Q?t=68

Sign up to leave a comment.