Найти тему
АРСИБ

АНАЛИЗ ИСХОДНОГО КОДА КАК СПОСОБ ОБЕСПЕЧЕНИЯ БЕЗОПАСНОСТИ ИНФОРМАЦИОННОЙ ИНФРАСТРУКТУРЫ ЦИФРОВОЙ ЭКОНОМИКИ

Подход к организации деловых процессов в современных компаниях построен на широком использовании программных продуктов на базе веб-технологий: официальные сайты, форумы, корпоративные порталы, интернет-магазины и аукционы, порталы услуг, электронные торговые площадки – все это неотъемлемые элементы информационной инфраструктуры цифровой экономики. Нарушение их штатного функционирования, вследствие реализации угроз информационной безопасности, может привести к существенным финансовым и репутационным потерям.

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

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

Существует три группы методов анализа исходного кода:

  • Динамические методы - методы анализа безопасности программного обеспечения, требующие выполнения программ на реальном или виртуальном процессоре, с доступом к исходному коду и среде его функционирования.
  • Статические методы – методы анализа безопасности программного обеспечения с доступом к исходному коду (или производным) приложения серверных и клиентских частей, но не требующие выполнения программ.
  • Гибридные методы – методы, совмещающие два предыдущих похода.

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

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

Так, большинство проектов по анализу защищенности, с которыми приходилось сталкиваться авторам, включали в себя следующие стадии:

1. Анализ защищенности методами «черного» и «серого ящика», т.е. динамический анализ безопасности программного обеспечения без доступа к исходному коду:

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

2. Анализ защищенности методом «белого ящика» - динамический и статический анализ безопасности исходного кода.

3. Разработка рекомендаций и итогового отчета.

4. Проверка корректности устранения выявленных уязвимостей.

В качестве конкретного примера подобного проекта, встречавшегося в практике авторов, можно привести анализ защищенности Интернет-магазина, самого распространенного хозяйствующего субъекта цифровой экономики - пример проекта по анализу защищенности Интернет-магазина:

-2
-3
-4

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

Сведения об авторе: Саматов Константин Михайлович, руководитель комитета по безопасности КИИ, член правления Ассоциации руководителей служб информационной безопасности. Сайт: https://ksamatov.ru

-5

Ставьте лайк и подписывайтесь на нашу страницу в АРСИБ Яндекс.Дзен и будьте в курсе актуальной информации в сфере информационной безопасности!

Источники:

1. Саматов К.М. Penetration Test: что и зачем? // Журнал "Information Security/ Информационная безопасность" №2, 2018, С.12-13

2. Саматов К.М. Применение методов анализа исходного кода при оценке защищенности информационных систем // Журнал "Information Security/ Информационная безопасность" №1, 2020, С. 39-41.