Подход к организации деловых процессов в современных компаниях построен на широком использовании программных продуктов на базе веб-технологий: официальные сайты, форумы, корпоративные порталы, интернет-магазины и аукционы, порталы услуг, электронные торговые площадки – все это неотъемлемые элементы информационной инфраструктуры цифровой экономики. Нарушение их штатного функционирования, вследствие реализации угроз информационной безопасности, может привести к существенным финансовым и репутационным потерям.
Для того, чтобы этого избежать необходимо применение методов безопасной разработки и анализа безопасности исходного кода в процессе проектирования, создания и эксплуатации программного обеспечения.
Анализ безопасности исходного кода – это анализ программного обеспечения на предмет выявления уязвимостей информационной безопасности, допущенных при его разработке.
Существует три группы методов анализа исходного кода:
- Динамические методы - методы анализа безопасности программного обеспечения, требующие выполнения программ на реальном или виртуальном процессоре, с доступом к исходному коду и среде его функционирования.
- Статические методы – методы анализа безопасности программного обеспечения с доступом к исходному коду (или производным) приложения серверных и клиентских частей, но не требующие выполнения программ.
- Гибридные методы – методы, совмещающие два предыдущих похода.
Статические методы анализа исходного кода могут быть использованы при создании и эксплуатации программного обеспечения, а динамические на этапе ввода в эксплуатацию и в процессе эксплуатации.
На практике анализ исходного кода широко применяется совместно с другим методами анализа защищенности и, нередко, является одной из стадий проекта по анализу защищенности информационных систем.
Так, большинство проектов по анализу защищенности, с которыми приходилось сталкиваться авторам, включали в себя следующие стадии:
1. Анализ защищенности методами «черного» и «серого ящика», т.е. динамический анализ безопасности программного обеспечения без доступа к исходному коду:
- метод «черного ящика» направлен на поиск уязвимостей, использование которых позволяет злоумышленнику не имеющему никаких привилегий реализовать следующие виды угроз: получение несанкционированного доступа к информации, полного или частичного контроля над приложением и его использование для организации атак на рабочие места пользователей информационной системы;
- метод «серого ящика» аналогичен предыдущему, с тем лишь исключением, что под злоумышленником подразумевается пользователь, обладающий определенным набором привилегий в информационной системе.
2. Анализ защищенности методом «белого ящика» - динамический и статический анализ безопасности исходного кода.
3. Разработка рекомендаций и итогового отчета.
4. Проверка корректности устранения выявленных уязвимостей.
В качестве конкретного примера подобного проекта, встречавшегося в практике авторов, можно привести анализ защищенности Интернет-магазина, самого распространенного хозяйствующего субъекта цифровой экономики - пример проекта по анализу защищенности Интернет-магазина:
Подведем итоги: для надежной и корректной работы механизмов обеспечения безопасности в программном обеспечении необходимо регулярной проводить анализ исходного кода. При этом, для большего эффекта в части выявление уязвимостей, необходимо использовать гибридные методы анализа безопасности исходного кода: сочетание статических и динамических методов.
Сведения об авторе: Саматов Константин Михайлович, руководитель комитета по безопасности КИИ, член правления Ассоциации руководителей служб информационной безопасности. Сайт: https://ksamatov.ru
Ставьте лайк и подписывайтесь на нашу страницу в АРСИБ Яндекс.Дзен и будьте в курсе актуальной информации в сфере информационной безопасности!
Источники:
1. Саматов К.М. Penetration Test: что и зачем? // Журнал "Information Security/ Информационная безопасность" №2, 2018, С.12-13
2. Саматов К.М. Применение методов анализа исходного кода при оценке защищенности информационных систем // Журнал "Information Security/ Информационная безопасность" №1, 2020, С. 39-41.