Система анализа исходного кода
Доработка бизнес-приложений мировых разработчиков (CRM, ERP, биллинг и др.) с учётом особенностей и специфических требований рабочих процессов компании и разработка собственных бизнес-приложений с нуля — стандарт для российских предприятий. При этом в процессе внедрения и эксплуатации бизнес-приложений возникают угрозы информационной безопасности, связанные с ошибками программирования (переполнение буфера, неинициализированные переменные и др.) и наличием функций, которые приводят к обходу встроенных механизмов защиты . Такие функции встраиваются на этапе тестирования и отладки приложения, но по причине отсутствия процедур контроля безопасности кода остаются в рабочей версии бизнес-приложения. Также нельзя гарантировать, что на этапе создания бизнес-приложения разработчики умышленно не встроят дополнительный код, приводящий к наличию недекларированных возможностей (программных закладок).
Опыт показывает, что чем раньше в бизнес-приложении обнаружится ошибка или закладка, тем меньше ресурсов потребуется на её устранение. Сложность и стоимость задачи диагностики и устранения программной ошибки или закладки на этапе промышленной эксплуатации бизнес-приложения несоизмеримо выше, чем аналогичные параметры такой задачи на этапе написания исходного кода.
ЭЛВИС-ПЛЮС предлагает систему анализа исходных кодов на основе продуктов мирового лидера в этой области — HP Fortify Static Code Analyzer (SCA), а также российских компаний — InfoWatch Appercut и Positive Technologies Application Inspector.
Цели создания Системы
- Снижение уровня рисков прямых финансовых потерь и репутационных рисков, реализующихся вследствие атак на бизнес-приложения, содержащие ошибки или закладки.
- Повышение уровня защищённости корпоративной информационной системы посредством организации контроля, автоматизации и централизации управления процессами анализа исходного кода бизнес-приложений.
Задачи, решаемые Системой
- Статистический анализ программного обеспечения на наличие ошибок/уязвимостей, производимый без выполнения приложений на уровне исходных кодов.
- Динамический анализ программного обеспечения на наличие ошибок/уязвимостей, производимый после сборки и запуска приложения.
- Реализация технологий безопасной разработки бизнес-приложений во время создания и на протяжении всего жизненного цикла приложения путем встраивания Системы в среду разработки приложений.
Архитектура и основные функции системы (на примере продукта HP Fortify SCA)
Статический анализ, также известный как статическое тестирование безопасности приложений (SAST – Static Application Security Testing):
- Определяет потенциальные уязвимости приложения непосредственно на уровне кода.
- Помогает идентифицировать проблемы ещё в процессе разработки.
Динамический анализ, также известный как динамическое тестирование безопасности приложений (DAST – Dynamic Application Security Testing):
- Обнаруживает уязвимости в запущенных веб-приложениях и веб-сервисах путём моделирования полноценных сценариев атак.
- Проверяет, можно ли на практике использовать конкретную уязвимость.
- Ускоряет реализацию корректирующих мер, позволяя понять, какие проблемы необходимо решить в первую очередь и почему.
Система на базе HP Fortify Software Security Center позволяет реализовать автоматизированные процессы обнаружения, приоритизации, устранения, отслеживания, проверки и управления уязвимостями в ПО бизнес-приложений. Инструменты HP Fortify могут встраиваться в интегрированные среды разработки (IDE – Integrated Development Environment), средства контроля качества (QA – Quality assurance) и системы отслеживания ошибок.
Основные функции Системы
- Внедрение и автоматизация процесса обнаружения уязвимостей прикладного ПО (ППО) на различных стадиях разработки (создание, отладка, тестирование, эксплуатация, модификация).
- Обнаружение уязвимостей в развернутых веб-приложениях на различных стадиях разработки ППО (создание, отладка, тестирование, эксплуатация, модификация).
- Настройка условий и критериев обнаружения уязвимостей в ППО.
- Поддержка современных языков программирования для определения угроз безопасности ППО (C/C++, Java, JSP, ASP, .NET, JavaScript, PHP, COBOL, PL/SQL, ABAP, VB6 и др.).
- Поддержка различных инструментов разработки для интеграции со средой разработки ППО.
- Формирование отчётов о проблемах безопасности проверяемого ППО с ранжированием найденных уязвимостей по степени риска.
- Отправка практических рекомендаций по устранению обнаруженных уязвимостей в коде в среду разработки ППО.
- Обновление базы уязвимостей для определения актуальных угроз безопасности ППО на основе предоставляемой вендором информации.
Преимущества от внедрения Системы
- Снижение затрат на разработку, тестирование и исправление ошибок в бизнес-приложениях.
- Снижение затрат на восстановление работоспособности взломанных бизнес-приложений.
- Повышение эффективности работы подразделения, ответственного за обеспечение ИБ в компании.