Содержание

Статический анализ

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

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

Этот подход имеет как свои преимущества, так и важные нюансы, требующие внимания.

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

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

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

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

Для наибольшей эффективности рекомендуется встроить процесс статического анализа кода в качестве важного этапа разработки ПО, тем самым обеспечив выполнение практики РБПО.

Схема, описывающая этапы внедрения статического анализа в процесс разработки ПО, представлена ниже.

Дорожная карта

Статический анализ ПО

Для более детального изучения подходов к внедрению статического анализа кода рекомендуем обратиться за предоставлением доступа в закрытый раздел ресурса «Экспертам».

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