Подтвердить что ты не робот

Как работает программное обеспечение Fortify?

Fortify - это SCA, используемый для обнаружения уязвимостей безопасности в программном коде. Мне было просто интересно, как это программное обеспечение работает внутри. Я знаю, что вам нужно настроить набор правил, по которым будет выполняться код. Но как именно он может найти уязвимости в коде.

Есть ли у кого-нибудь мысли об этом?

Спасибо заранее.

4b9b3361

Ответ 1

HP Fortify SCA имеет 6 анализаторов: поток данных, поток управления, семантический, структурный, конфигурационный и буферный. Каждый анализатор обнаруживает различные типы уязвимостей.

Поток данных Этот анализатор обнаруживает потенциальные уязвимости, которые связаны с испорченными данными (управляемый пользователем вход), потенциально опасным использованием. Анализатор потока данных использует глобальный, межпроцедурный анализ распространения пятен для обнаружения потока данных между источником (сайт пользовательского ввода) и приемником (вызов или операция опасной функции). Например, анализатор потока данных определяет, скопирована ли управляемая пользователем входная строка неограниченной длины в буфер статического размера и определяет, используется ли пользовательская строка для построения текста запроса SQL.

Управляющий поток Этот анализатор обнаруживает потенциально опасные последовательности операций. Анализируя пути управления потоком в программе, анализатор потока управления определяет, выполняется ли набор операций в определенном порядке. Например, анализатор потока управления обнаруживает время проверки/времени использования и неинициализированные переменные и проверяет правильность настройки утилит, таких как считыватели XML, перед использованием.

Структурный Это обнаруживает потенциально опасные недостатки в структуре или определении программы. Например, структурный анализатор обнаруживает назначение переменных-членов в сервлетах Java, идентифицирует использование журналов, которые не объявлены статическими окончательными, и указывает экземпляры мертвого кода, которые никогда не будут выполняться из-за предиката, который всегда является ложным.

Семантический Этот анализатор обнаруживает потенциально опасное использование функций и API на внутрипроцедурном уровне. В основном умный GREP.

Конфигурация Этот анализатор ищет ошибки, недостатки и нарушения правил в файлах конфигурации развертывания приложений.

Буфер Этот анализатор обнаруживает уязвимости переполнения буфера, которые связаны с записью или чтением большего количества данных, чем может содержать буфер.

Ответ 2

@LaJmOn имеет очень хороший ответ, но на совершенно другом уровне абстракции я могу ответить на вопрос по-другому:

  • Исходный код переведен в промежуточную модель, которая оптимизирована для анализа SCA.

  • Некоторые типы кода требуют нескольких этапов перевода. Например, сначала необходимо скомпилировать файл С# для отладки .DLL или .EXE, а затем этот двоичный файл .NET, дизассемблированный в Microsoft Intermediate Language (MSIL) с помощью утилиты .NET SDK ildasm.exe. В то время как другие файлы, такие как файл Java или файл ASP, переводятся за один проход соответствующим Fortify SCA-транслятором для этого языка.

  • SCA загружает модель в память и загружает анализаторы. Каждый анализатор загружает правила и применяет эти роли к функциям в вашей программной модели скоординированным образом.

  • Матчи записываются в файл FPR с информацией об использовании уязвимостей, советами по безопасности, исходным кодом, перекрестной ссылкой источника и информацией о навигации по коду, спецификацией фильтрации пользователей, любыми пользовательскими правилами и цифровыми сигнатурами, пакет.

Ответ 3

Также добавление к комментарию @Doug Held выше... Начиная с Fortify 16.20, SCA теперь поддерживает непосредственно исходный код .Net С#/ASP/VB - больше не требуется предварительная компиляция.

Ответ 4

Да - Fortify SCA поддерживает сканирование Objective-C и Swift для iOS и около 20 других языков и множество фреймворков. См. Больше в Техническом паспорте Fortify SCA:

https://www.hpe.com/h20195/V2/GetPDF.aspx/4AA5-6055ENW.pdf

Вы также можете использовать Fortify SCA через SaaS по требованию Fortify on Demand и попросите экспертов запустить сканирование и проверить результаты для вас:

http://www8.hp.com/us/en/software-solutions/application-security-testing/index.html