Краткий обзор Crusher
Crusher — это комплекс для динамического анализа ПО, сочетающий фаззинг-тестирование и автоматическую генерацию тестов для повышения безопасности и качества программных систем. Программный продукт Crusher (рус. Крашер) от компании-разработчика Институт системного программирования им. В.П. Иванникова предназначен для динамического анализа программного обеспечения и повышения его безопасности. Он объединяет инструменты ИСП Fuzzer для фаззинг-тестирования и Sydr для автоматической генерации тестов, позволяя выявлять уязвимости, недекларированные возможности и ошибки в сложных программных системах, а также строить процесс разработки в соответствии с ГОСТ и методиками ФСТЭК России.
Система Crusher ориентирована на специалистов по обеспечению информационной безопасности, разработчиков и тестировщиков программного обеспечения, а также аналитиков, занимающихся выявлением уязвимостей и недекларированных возможностей в ПО. Продукт будет полезен компаниям, работающим в сферах кибербезопасности, разработки высоконадёжного ПО, государственного и корпоративного сектора, где предъявляются повышенные требования к качеству и безопасности программных продуктов.
Функциональные возможности Crusher:
-
Фаззинг-тестирование. ИСП Fuzzer осуществляет фаззинг-тестирование через различные источники внешних данных: файлы, аргументы командной строки, стандартный поток ввода, переменные окружения, сеть. Позволяет добавлять пользовательские мутационные преобразования для генерации новых входных данных и повышения эффективности тестирования.
-
Многопоточный анализ. ИСП Fuzzer поддерживает многопоточный анализ как на одной машине, так и на нескольких, что способствует повышению производительности и скорости выявления уязвимостей в программном обеспечении.
-
Генерация тестов. Sydr автоматически генерирует тесты для сложных программных систем, увеличивая покрытие кода и помогая обнаруживать ошибки. Строит математическую модель программы, что позволяет открывать новые пути выполнения, которые сложно выявить классическими методами.
-
Инвертирование условных переходов. Sydr инвертирует условные переходы, зависящие от входных данных, включая параллельное инвертирование. Это помогает в анализе поведения программы и выявлении потенциальных уязвимостей.
-
Решение задач обратной разработки. Sydr помогает аналитику достичь интересующей точки в программе, предоставляя трассу инструкций, которые зависят от входных данных, что упрощает процесс анализа и отладки.
-
Работа с многопоточными программами. Sydr поддерживает символьное выполнение многопоточных программ, что позволяет эффективно анализировать их поведение и выявлять ошибки, связанные с многопоточностью.
-
Обработка косвенных переходов. Sydr инвертирует косвенные переходы (switch statement), используя алгоритм определения таблиц и переходов по вычисляемым адресам, что улучшает анализ сложных структур кода.








