Получить консультацию по Solar appScreener

Среди компаний, занимающихся разработкой программного обеспечения, все популярнее становится методология DevSecOps. Она подразумевает обеспечение непрерывного контроля безопасности программы или приложения на всех этапах их жизненного цикла. А ведь это актуально не только для разработчиков. Даже если ваша компания – пользователь программного обеспечения – не имеет никакого отношения к DevSecOps-методологии, вам тоже нужно подумать о регулярном контроле и оценке безопасности используемых приложений. Технологии не стоят на месте: постоянно появляются обновления, патчи и так далее.

Чтобы реализовать функции контроля защищенности программного обеспечения, не обязательно иметь в штате целый отдел разработчиков. Можно переложить эти функции на офицеров отдела информационной безопасности (далее – ИБ). Сделать это поможет статический анализатор программного кода SAST.

Что такое SAST.

SAST (Static Application Security Testing) – это один из методов тестирования защищенности приложений. Статический анализ кода приложения/программы или его части на наличие уязвимостей реализуется без реального запуска исследуемого приложения в «боевой среде». А SAST-анализатор реализует этот подход. Такую технологию еще принято называть тестированием по методу белого ящика.

Среди плюсов статического анализа кода:

  • 100-процентное покрытие кода. Если при динамическом тестировании анализируется только исполняемый код, то SAST-инструменты проверяют его полностью. А это повышает вероятность обнаружения проблем.
  • Проверка исходного кода приложения таким способом не требует больших вычислительных мощностей. Не нужно разворачивать отдельные виртуальные среды, копии программы для проверки её уровня защищенности. А значит, этот вариант подходит даже компаниям, не имеющим мощной IT-инфраструктуры.
  • Простота внедрения. SAST без проблем интегрируется в процесс разработки программного обеспечения, а также в процесс эксплуатации (не нужны изменения IT-инфраструктуры компании и бизнес-процессов специально под анализатор).

Эти факторы обусловливают более высокую популярность рассматриваемой технологии тестирования по сравнению с другими. Так, согласно результатам опросов специалистов, почти 69% компаний (из сферы разработки, и не только) при выборе способа анализа защищенности программного обеспечения в первую очередь обращают внимание именно на SASTНа DAST (динамическое тестирование) – 21%.

Каким должен быть SAST-анализатор и на что обращать внимание при выборе

Технологии SAST уже более 10 лет. За это время сформировался понятный и достаточно полный перечень требований к анализаторам исходного кода, в соответствии с которыми она реализуется. Мы учитываем их при разработке SAST-анализатора Solar appScreener, а также исходим из пожеланий и потребностей пользователей подобных решений.

Критерии эффективности анализатора кода

Своеобразный must have для SAST-анализатора представлен ниже.

Поддержка большого количества языков программирования

Здесь без сомнений можно применять подход «чем больше, тем лучше». Неплохим показателем считается, когда анализатор уязвимостей приложений поддерживает больше 20 языков программирования. Например, в Solar appScreener реализована поддержка 36+ ЯП. Это количество регулярно увеличивается.

Анализ исходного кода, а также исполняемых файлов

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

Сравнение результатов проверок

Эта функция обеспечивает отслеживание динамики устранения и появления уязвимостей в программном обеспечении. Сравнение может выполняться разными способами. Часто используется подсветка фрагментов кода с комментариями «до» и «после». В дополнение к этому в SAST-анализаторе Solar appScreener мы реализовали графическое представление результатов тестирования, информативное и удобное для восприятия.

Формирование рекомендаций

По окончании проверки анализатор должен не просто представить результаты в формализованном виде. Очень важны рекомендации, которые помогут в устранении выявленных проблем. Причем формироваться они должны как для разработчиков, так и для специалистов компании, занимающихся информационной безопасностью (офицеров ИБ).

Помимо этого, решение для статического анализа приложений должно иметь базу правил поиска уязвимостей с регулярными обновлениями и возможностью добавления собственных. Также должна быть обеспечена интеграция со средствами разработки, системами контроля версий и отслеживания ошибок и другими внешними решениями. Например, Solar appScreener интегрируется с Git и Subversion, VCS-хостингами GitLab, GitHub, Bitbucket, средами разработки Xcode, CMake, Microsoft Visual Studio, а также другими средствами сборки и IDE, серверами Azure DevOps Server, CI/CD Jenkins, а также TeamCity и проч.

Конечно же, решение должно быть сертифицировано ФСТЭК России.

ДРУГИЕ СТАТЬИ ПРОДУКТА

Еще больше о наших возможностях