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

Первый анализатор кода изобрели в 1975 году. Это была система, реализующая динамический тип анализа. В то время анализатор использовался для проверки правильности и корректности кода.

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

На данный момент на рынке существует 3 типа анализаторов безопасности приложений:

  • динамический (dynamic application security testing, DAST);
  • статический (static application security testing, SAST)
  • интерактивный (interactive application security testing, IAST).

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

Как же правильно выбрать статический анализатор безопасности приложений?

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

Основные параметры выбора или на что стоит обратить внимание в первую очередь?

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

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

 

  • Одним из основных вопросов к анализатору безопасности кода — это качество получаемых результатов. Не всегда малое количество результатов будет означать их точность. Очень важно понять логику работу анализатора кода, как именно он обнаруживает уязвимости. Для объективного сравнения разных анализаторов безопасности кода на пилотном тестировании используйте одинаковую версию кода для всех сравниваемых решений. Лучше выгрузить код из репозитория локально.

 

  • Любой статический анализатор кода «из коробки» будет показывать достаточно большое количество ложных срабатываний. Такова специфика технологии. Очень важно, чтобы выбранное решение имело гибкие инструменты настройки, дабы сократить количество ложно позитивных и ложно негативных срабатываний. Каждый проект уникален и имеет собственную модель угроз. Гибкость настройки инструментов поможет вам экономить время и не увеличивать время выхода приложения в продакшн. Если вы покупаете решение, то оно должно упрощать, а не усложнять ваши бизнес-процессы.

 

  • Ключевой аспект работы анализатора безопасности кода — это разбор результатов сканирования. Представление результатов должно быть чётким и понятным для специалистов. Статический отчет (в виде pdf,doc и тп) не удобен для работы с результатам. Интерактивный отчет будет куда более эффективным. Выгрузка статического отчета может быть полезна для предоставления статистики руководству, но не для разработчика. Если решение подсказывает, как и где лучше всего устранить найденные уязвимости, то это поможет сэкономить (в среднем в 20 раз) время и трудозатраты на устранение найденных уязвимостей.

 

  • Немаловажным фактором являются возможность встраивания анализатора безопасности приложений в цикл разработки. Автоматизация процесса сканирования кода позволяет сделать этот процесс прозрачным для разработчиков и сэкономит их время. Возможность автоматического создания тикетов также может стать ключевым фактором при выборе статического анализатора кода. Обратите внимание, чтобы выбранный вами продукт имел возможность интеграции с инструментами CI/CD, если они используются в вашей компании, особенно, если у вас много проектов.

 

Желаем вам успешных и эффективных пилотов. Мы с радостью окажем вам всю необходимую консультационную поддержку!

 

Автор: Архипова Анна, ведущий менеджер по развитию продуктовых решений ITD Group.

Информационный партнер:

CISO CLUB