Журнал "Information Security/ Информационная безопасность" #1, 2020
В качестве конкретного при- мера подобного проекта можно привести анализ защищенности интернет-магазина, одного из наиболее распространенных на сегодняшний день видов инфор- мационных ресурсов – табл. 1. Проблемы практики анализа исходного кода и их решение Основными проблемами, встречающимися в практике анализа исходного кода, являются: 1. Отсутствие программ – ана- лизаторов исходного кода для некоторых языков программи- рования. В таких случаях воз- можна лишь ручная проверка кода. 2. Недостаток специалистов, владеющих конкретным языком программирования и одновре- менно имеющих представления о безопасности и безопасной разработке. На практике зача- стую либо программисты не имеют особого понятия о меха- низмах защиты, либо специа- листы по информационной без- опасности плохо разбираются в программировании. Устранить такую проблему можно только обучением. 3. Для динамических методов анализа необходимо уметь собирать приложения и разво- рачивать их на тестовом стенде. Это приведет либо к достаточно большим трудозатратам, если привлекать для анализа внеш- него исполнителя, либо потре- бует выделения для тестового стенда постоянных вычисли- тельных мощностей. 4. При аутсорсинге (исполь- зовании услуг внешнего под- рядчика) возникает еще одна проблема: программы для ана- лиза исходного кода могут являться частью сред разра- ботки, используемых разработ- чиками компании. В этом случае внешнему подрядчику потребу- ется организация полноценного рабочего места разработчика на территории заказчика (в т.ч. с использованием удаленного доступа), со всеми вытекающи- ми последствиями: широкие привилегии по доступу к инфор- мационным ресурсам компании, необходимость защищенного канала связи, регламентация обязанностей и ответственности в соглашениях. Резюме Подведем итог: для надеж- ной и корректной работы меха- низмов обеспечения безопас- ности в программном обес- печении необходимо регулярно проводить анализ исходного кода. При этом для большего эффекта в части выявления уязвимостей нужно использо- вать гибридные методы ана- лиза безопасности, сочетание статических и динамических методов. l • 41 РАЗРАБОТКА www.itsec.ru На практике анализ исходного кода широко при- меняется совместно с други- ми методами анализа защи- щенности и нередко стано- вится одной из стадий про- екта анализа защищенности информационных систем. Перечень актуальных уязвимостей строится на основе рекомендаций про- изводителей по безопасной конфигурации программного обеспечения, материалов свободных исследователь- ских групп по поиску уязви- мостей, каталогов уязвимо- стей. Для надежной и коррект- ной работы механизмов обеспечения безопасности в программном обеспечении необходимо регулярно про- водить анализ исходного кода. Стадия/этап Состав работ (что делается?) Ручная проверка найденных подозрений на уязвимости и критичных элементов, выявление недокументиро- ванных возможностей в программном обеспечении На данном этапе проводится изучение критичных элементов системы и ранее найденных подозрений на уязвимости. В частности, выполняются следующие действия: l проверка наличия и работоспособности механизмов безопасности l поиск недостатков и уязвимостей исходного кода, связанных с вызовом опасных функций языка программирования и (или) платформы l проверка реализации механизмов защиты на соответствие рекомендациям безопасности языка программирования или платформы l поиск синтаксических ошибок l проверка наличия и работоспособности механизмов обработки входных данных l поиск логических ошибок и логических "бомб" l проверка реализации механизмов криптозащиты l мониторинг зависимостей от общеизвестных уязвимостей Разработка рекомендаций и подготовка отчета Разработка рекомендаций по устранению выявленных уязвимостей Перечень актуальных уязвимостей строится на основе рекомендаций производителей по безопасной конфигурации программного обеспечения, материалов свободных исследовательских групп по поиску уязвимостей, каталогов уязвимостей, в частности: l Computer Emergency Readiness Team (CERT) l Common Vulnerabilities and Exposures (CVE) l Web Application Security Consortium (WASC) l Open Source Vulnerabilities Database (OSVDB) Для каждой уязвимости описываются возможные последствия ее эксплуатации. Вырабатываются предложения по устранению уязвимостей, выявленных в ходе анализа защищенности, или снижению ущерба от их реализации Подготовка отчета Как правило, отчет содержит следующую информацию: l цель анализа защищенности l состав и методика мероприятий по анализу защищенности l перечень выявленных уязвимостей l результаты эксплуатации выявленных уязвимостей l рекомендации по устранению выявленных уязвимостей и повышению уровня защищенности Проверка корректности устранения уязвимостей Проводится проверка наличия выявленных уязвимостей и оценка эффективности принятых мер по их нейтрализации. Подготавливается отчет о проверке корректности устранения выявленных уязвимостей Таблица 1 (продолжение). Пример проекта анализа защищенности интернет-магазина Ваше мнение и вопросы присылайте по адресу is@groteck.ru
Made with FlippingBook
RkJQdWJsaXNoZXIy Mzk4NzYw