Журнал "Information Security/ Информационная безопасность" #1, 2020
Для надежной и коррект- ной работы механизмов обеспечения безопасности в программном обеспечении необходимо регулярно про- водить анализ исходного кода. 92% веб-приложений поз- воляют проводить атаки на пользователей, при этом 82% найденных уязвимостей связаны с ошибками при разработке кода. Бреши безопасности в 16% иссле- дованных сайтов давали возможность контролиро- вать не только само веб- приложение, но и сервер. • 39 РАЗРАБОТКА www.itsec.ru Современный подход к орга- низации бизнес-процессов построен на широком исполь- зовании программных продук- тов, в том числе на базе веб- технологий: официальные сайты, форумы, корпоратив- ные порталы, интернет-мага- зины и аукционы, порталы услуг, электронные торговые площадки – все это стандарт- ные элементы информацион- ной инфраструктуры любой современной компании. Нару- шение их штатного функцио- нирования вследствие реали- зации одной или нескольких угроз информационной без- опасности может привести к существенным финансовым и репутационным издержкам. По данным исследования ком- пании Positive Technologies за 2019 г., злоумышленники активно используют уязвимо- сти веб-сайтов: 92% веб-при- ложений позволяют проводить атаки на пользователей, а 82% найденных уязвимостей связа- ны с ошибками при разработке кода. Бреши безопасности в 16% исследованных сайтах давали возможность контро- лировать не только само веб- приложение, но и сервер, на котором оно запущено 1 . Для того чтобы этого избе- жать, необходимо в процессе проектирования, создания и экс- плуатации программного обес- печения применять методы без- опасной разработки и анализа безопасности исходного кода. Что такое анализ безопасности исходного кода и где он применяется? Анализ безопасности исход- ного кода – это анализ про- граммного обеспечения на предмет выявления уязвимо- стей информационной безопас- ности, допущенных при его раз- работке. Существует три группы мето- дов анализа исходного кода: l динамические методы – мето- ды анализа безопасности про- граммного обеспечения, тре- бующие выполнения программ на реальном или виртуальном процессоре, с доступом к исход- ному коду и к среде его функ- ционирования; l статические методы – методы анализа безопасности про- граммного обеспечения с досту- пом к его исходному коду, но не требующие выполнения (запуска) программ; l гибридные методы – методы, совмещающие два предыдущих подхода. Статические методы анализа исходного кода могут быть использованы при создании и эксплуатации программного обеспечения, а динамические – на этапе ввода в эксплуатацию и в процессе эксплуатации. Алгоритм анализа безопасности исходного кода В общем виде, без учета осо- бенностей конкретного проекта или процесса, алгоритм анализа безопасности исходного кода можно представить в виде сле- дующей последователь- ности шагов – рис. 1. На практике анализ исходного кода широко применяется совместно с другими методами анализа защищенности и неред- ко становится одной из стадий проекта анализа защищенности информационных систем. Так, большинство проектов анализа защищенности, с кото- рыми приходилось сталкиваться автору, включали в себя сле- дующие стадии: 1. Анализ защищенности методами черного и серого ящика, т.е. динамический ана- лиз безопасности программного обеспечения без доступа к исходному коду: l метод черного ящика направ- лен на поиск уязвимостей, использование которых позво- ляет злоумышленнику, не имею- щему никаких привилегий, реа- лизовать следующие виды угроз: получение несанкциони- рованного доступа к информа- ции, полного или частичного контроля над приложением и его использование для органи- зации атак на рабочие места пользователей информацион- ной системы; l метод серого ящика анало- гичен предыдущему, с тем лишь исключением, что под зло- умышленником подразумева- ется пользователь, обладаю- Применение методов анализа исходного кода при оценке защищенности информационных систем азработчики программных продуктов уделяют много внимания функциональности и скорости доставки приложений, как правило, в ущерб безопасности, что подтверждается различными исследованиями. При этом достаточно эксплуатации даже одной уязвимости (например, выполнение произвольного кода), чтобы привести к полному нарушению работоспособности информационной системы и ее компрометации. О том, как этого избежать, пойдет речь в данной статье. Р Константин Саматов, руководитель направления в Аналитическом центре Уральского центра систем безопасности, член правления Ассоциации руководителей служб информационной безопасности, преподаватель дисциплин информационной безопасности в УрГЭУ и УРТК им. А.С. Попова. 1 https://www.ptsecurity.com/ru-ru/research/analytics/cybersecurity-2019-2020/
Made with FlippingBook
RkJQdWJsaXNoZXIy Mzk4NzYw