Fortify Integration Ecosystem версии 21.1 — это единая платформа для обеспечения безопасной разработки программного обеспечения (DevSecOps), автоматизации тестирования в рамках конвейера CI / CD. В комплекс входят статические (SAST) и динамические (DAST) сканеры уязвимостей приложений, включая мобильные (MAST), а также аудит веб-сайтов и другие компоненты, облегчающие процессы принятия решений по результатам тестирований. Платформа доступна в виде локального программного обеспечения, на условиях Software-as-a-Service (SaaS) или в гибридной конфигурации.
- Введение
- Архитектура и функциональные возможности Fortify Integration Ecosystem
- Системные требования Fortify Integration Ecosystem
- Лицензирование Fortify Integration Ecosystem
- Ролевая модель при интеграции Fortify Integration Ecosystem
- Сценарии работы с Fortify Integration Ecosystem
- Выводы
Введение
В современных реалиях процессы, связанные с разработкой, внедрением, эксплуатацией и дальнейшей поддержкой программного обеспечения, меняются, чтобы соответствовать требованиям по информационной безопасности. Создание продуктов и приложений, которые с самого начала являются безопасными с точки зрения кода и архитектуры, то есть подверженными минимальному количеству уязвимостей, — это концепция, которая набирает всё большую популярность. Ведь, согласитесь, с точки зрения бизнеса эффективнее предотвращать уязвимости на начальных этапах, а не после, например, компрометации инфраструктуры или утечки конфиденциальных данных.
Автоматизация процессов работы с программным обеспечением с помощью подхода DevOps обеспечивает взаимодействие всех команд, которые связаны с разработкой и эксплуатацией (непосредственно разработчиков, технических специалистов, администраторов и т. д.). Использование модели DevOps облегчает и ускоряет процесс создания продуктов и приложений, повышает предсказуемость и эффективность, обеспечивает непрерывность разработки и интеграции.
Логичным развитием этой методологии стала концепция безопасной разработки приложений DevSecOps (сокращение ключевых слов Development, Security и Operations). Она интегрирует задачи по контролю качества, надёжности и безопасности кода в процессы непрерывной разработки таким образом, чтобы возникающие проблемы можно было решать по мере их появления независимо от этапа работы с программным продуктом, что существенно сокращает возможные затраты времени и средств на их устранение. Таким образом, DevSecOps реализует так называемый «сдвиг безопасности влево», то есть задачи по обеспечению безопасности смещаются с конца процессов DevOps и распределяются по всему циклу разработки.
В феврале мы провели эфир AM Live на тему цикла непрерывной безопасной разработки приложений. Ведущие эксперты сферы информационной безопасности перечислили преимущества DevSecOps и сложности при его внедрении в условиях отечественного рынка.
Рисунок 1. Процессы DevSecOps по версии Gartner
Недавно мы начали цикл статей, посвящённых безопасной разработке. В них мы подробно рассказали об основных решениях, применяемых в DevSecOps — средствах статического тестирования защищённости приложений (Static Application Security Testing, SAST) в первой части и инструментах для динамического тестирования (Dynamic Application Security Testing, DAST) во второй.
Платформа безопасности приложений компании Fortify (подразделение Micro Focus) состоит из комплекса решений для DevSecOps и объединяет в себе SAST, поддерживающий более 30 языков программирования, DAST и анализ на наличие уязвимостей мобильных приложений (Mobile Application Security Testing, MAST). Важным моментом, связанным с возможностями решений Fortify, является анализ кода приложений и программ любого размера за разумное время. Недавно вышла новая версия платформы — 21.1.
По данным аналитического агентства Gartner, Micro Focus является одним из лидеров в сфере автоматизированного тестирования безопасности приложений.
Рисунок 2. «Магический квадрант» Gartner для сегмента тестирования безопасности приложений
Платформа Fortify — это универсальное решение для внедрения ключевого компонента безопасности в уже существующий процесс разработки программного обеспечения по принципам DevOps. При этом возможна интеграция с различными решениями, которые уже используются в рамках цикла работы с программными продуктами. Мы перечислим их в следующем разделе. Таким образом, внедрить платформу от Fortify возможно максимально быстро и без изменения имеющейся инфраструктуры.
Также отметим, что Fortify предоставляет платформу для DevSecOps не только в виде локального программного обеспечения (on-premise), но и на условиях SaaS (Software-as-a-Service), а также в гибридной конфигурации — в зависимости от требований или возможностей инфраструктуры каждой отдельной компании.
Архитектура и функциональные возможности Fortify Integration Ecosystem
В качестве примера интеграции приведём вариант архитектуры платформы в формате локального (on-premise) решения.
Рисунок 3. Пример архитектуры платформы безопасности приложений Fortify
Fortify Software Security Center (SSC) — «сердце» платформы безопасности приложений Fortify. Эта система агрегирует в себе всю информацию от остальных компонентов, включая результаты анализа по различным проектам и сведения ото внешних систем, с которыми возможна интеграция. Всё это хранится в базе данных Fortify Software Security Center Database (SSC DB). Именно через Fortify SSC происходит взаимодействие с платформой и информацией — например, отслеживание, построение отчётности и документации, — а также осуществляются автоматизация безопасности непрерывной разработки (CI / CD) и управление процессами DevOps.
Кроме того, Fortify SSC может быть промежуточным звеном для предоставления информации о проектах третьей стороне вне инфраструктуры или системы. Например, можно настроить взаимодействие со средством визуализации данных Power BI или с более общей системой управления уязвимостями, в том числе на уровне всей ИТ-инфраструктуры, а не только исходного кода и приложений.
Статический анализатор (Fortify Static Code Analyzer, SCA) осуществляет статическое тестирование исходного кода приложений. Он, в свою очередь, состоит из двух компонентов: SAST-сенсоров и контроллера ScanCentral SAST (серверная часть анализатора). Контроллер обеспечивает взаимодействие статического анализатора с Fortify SSC.
Fortify SCA способен проанализировать программные продукты, написанные на следующих языках программирования: .NET, .NET Framework, .NET Core, ABAP / BSP, ActionScript, Apex, C#, C / C++, Classic ASP (c VBScript), COBOL, ColdFusion, Go, HTML, Java (в том числе под Android), JavaScript, JSP, Kotlin, MXML (Flex), Objective-C / C++, PHP, PL / SQL, Python, Ruby, Scala, Swift, T-SQL, TypeScript, VBScript, Visual Basic, XML.
Отметим, что при статическом анализе исходного кода существуют сложности при определении вида уязвимостей и связанных рисков. Они вызваны тем, что при статическом анализе невозможно определить архитектуру приложения и его тип (например, веб- или полностью консольное приложение), а также неизвестно, как организована работа приложения во время сессий. Таким образом, результат статического анализа — это список потенциальных уязвимостей. Иначе говоря, среди них присутствует некоторое количество недостатков безопасности, которые не являются уязвимостями в разрезе конкретного приложения.
Компонент Audit Assistant определяет ложноположительные срабатывания, возникающие при статическом анализе исходного кода. Его работа основана на машинном обучении, алгоритм которого разработан Fortify. Можно использовать предопределённую модель и дополнить её знаниями о собственных приложениях и программных продуктах.
Динамический анализатор исходного кода (Fortify WebInspect) образуется двумя компонентами по аналогии с Fortify SCA: контроллером ScanCentral DAST (серверная часть анализатора) и DAST-сенсорами. Fortify WebInspect включает в себя агент для интерактивного анализа приложений — Interactive Application Security Testing, IAST. Основная задача анализатора — динамическое тестирование веб-приложений и сервисов с целью обнаружения уязвимостей. Для достижения этой цели Fortify WebInspect моделирует известные атаки на приложения во время их работы.
Примерами уязвимостей, которые обнаруживает WebInspect, могут быть неправильная конфигурация SSL-сервиса (скажем, использование устаревших функций шифрования, небезопасных алгоритмов или слабых сертификатов), незакрытый доступ к панелям управления сервисами, возможности листинга директорий, использование версий программного обеспечения с известными проблемами безопасности, уязвимости обхода ограничений доступа и многое другое.
WebInspect License Infrastructure Manager (LIM) отвечает за распределение лицензий по сенсорам и управление ими. На момент подготовки обзора это относится только к DAST-сенсорам, контроль лицензий для сенсоров SAST будет добавлен в ближайших релизах. О лицензировании мы поговорим далее, и тогда функции Fortify WebInspect LIM станут более понятными.
Audit Workbench (AWB) отслеживает результаты сканирования программных продуктов и оценивает связи различных уязвимостей в разрезе потоков данных. Это существенно облегчает процесс аудита и устранения выявленных недостатков безопасности.
Fortify on Demand (FoD) — это решение по предоставлению безопасности приложений как услуги (SaaS) на основе зарубежных облачных сервисов. При такой конфигурации платформа Fortify представляет собой комбинацию статического анализатора Fortify SCA, динамического анализатора Fortify WebInspect и системы Fortify SSC для централизованного управления платформой.
Кроме того, как было сказано выше, платформа поддерживает интеграцию со множеством продуктов и решений сторонних вендоров, включая комплекс композиционного анализа от Sonatype (Software Composition Analysis).
Таблица 1. Поддерживаемые решения при интеграции платформы безопасности приложений Fortify Integration Ecosystem
Тип | Решения |
Среды разработки (IDE) | Eclipse, Visual Studio, VSCode, JetBrains / IntelliJ IDEA, Android Studio, PyCharm, WebStorm |
Сервисы для совместной разработки и управления кодом (source control) | Git, GitLab, GitHub, BitBucket* |
Серверы непрерывной разработки и интеграции (CI / CD) | Jenkins, Azure DevOps, Bamboo, GitLab, GitHub, Fortify on Demand (FoD) Uploader |
Средства для анализа программ с открытым исходным кодом (open source) | Sonatype, Snyk, WhiteSource, Black Duck, Dependency Track |
Средства сборки (build tools) | Maven, MAKE, Gradle, MSBuild, Apache ANT |
Инструменты тестирования | Swager, Selenium, Fortify WebInspect |
Багтрекеры, системы управления процессами информационной безопасности (GRC) | Jira, BugZilla, ALM Octane, DefectDoJo, SonarQube, CSV, Json |
Средства единого входа (Single Sign-On, SSO) | Fortify Software Security Center (SSC), Fortify On Demand (FoD), Active Directory |
Системы для обучения принципам информационной безопасности приложений | Secure Code Warrior, FoD Training |
Другие продукты и решения | SonarQube, SAP |
* Программный код загружается стандартными утилитами без прямой интеграции платформы Fortify с System Center Configuration Manager (SCCM).
Системные требования Fortify Integration Ecosystem
Основные требования к программному обеспечению и вычислительным ресурсам для развёртывания компонентов платформы безопасности приложений от Fortify приведены в таблицах далее.
Таблица 2. Системные требования для статического анализатора Fortify SCA
Оперативная память | 16 ГБ и более; 32 ГБ при необходимости анализа скриптовых языков (JavaScript, TypeScript, Python, PHP, Ruby) |
Операционная система | Windows 8.1, 10; Windows Server 2012 R2, 2016 или 2019CentOS Linux 7.x (7.6 и выше), 8.x (8.2 и выше); Red Hat Enterprise Linux 6.x (6.7 и выше), 7.x (7.2 и выше), 8.x (8.2 и выше); SUSE Linux Enterprise Server 12, 15; Ubuntu 20.04.1 LTSmacOS 10.14, 10.15, 11 |
Таблица 3. Системные требования для динамического анализатора Fortify WebInspect
Частота процессора | 2,5 ГГц и выше |
Оперативная память | Минимум 16 ГБ, рекомендовано 32 ГБ |
Жёсткий диск | 40 ГБ, 50 ГБ при использовании SQL Express |
Разрешение экрана | 1280 × 1024 |
Операционная система | Windows 8.1, 10; Windows Server 2016 или 2019 |
Платформа .NET | .NET Framework 4.8 |
SQL-сервер | SQL Server 2014 SP3, 2016 SP2, 2017, 2019 (в т. ч. Express) |
Браузер | Internet Explorer 10, 11 |
Формат документов | Adobe Acrobat Reader не ниже 8.1.2, рекомендуется 11 |
Таблица 4. Системные требования для динамического анализатора Fortify WebInspect в контейнерных средах
Среда контейнеризации | Docker Enterprise 18.09 и выше |
Частота процессора | 2,5 ГГц и выше |
Оперативная память | Минимум 16 ГБ, рекомендовано 32 ГБ |
Жесткий диск | 40 ГБ, 50 ГБ при использовании SQL Express |
Операционная система | Windows Server 2019 |
Таблица 5. Системные требования для системы управления Fortify SSC
Размер кучи Java | Минимум 4 ГБ, рекомендовано 24 ГБ |
Операционная система | Windows Server 2012 R2, 2016 или 2019 Red Hat Enterprise Linux 6 с обновлением 5 и выше, 7.x, 8 Linux Enterprise Server 12, 15 |
Браузер | Google Chrome 90 и выше Microsoft Edge 90 и выше Mozilla Firefox 88 и выше Safari 14 и выше |
Технология единого входа (SSO) | Central Authorization Server (CAS) HTTP Headers (Oracle, CA) SAML 2.0 SPNEGO/Kerberos X.509 |
Система реализации отчётности и бизнес-аналитики | Business Intelligence and Reporting Technology (BIRT) Designer 4.7 |
Таблица 6. Системные требования для базы данных системы управления Fortify SSC DB
Количество ядер процессора | Минимум 4, рекомендовано 8 |
Оперативная память | Минимум 8 ГБ, рекомендовано 64 ГБ |
База данных | MySQL версии 8.0 (Community Edition) Oracle 12c Release 2 или 19c (18.3) SQL Server 2017 или 2019 |
Таблица 7. Системные требования для системы управления лицензиями Fortify WebInspect LIM
Количество ядер | 1 |
Частота процессора | Рекомендуется 2,5 ГГц и выше, минимум 1,5 ГГц |
Оперативная память | Рекомендуется 2 и более ГБ, минимум 1 ГБ |
Жёсткий диск | Рекомендуется 50 и более ГБ, минимум 20 ГБ |
Разрешение экрана | Рекомендуется 1280 × 1024, минимум 1024 × 768 |
Сервер Windows | Windows Server 2012, 2012 R2, 2016 или 2019 Windows Server 2019 в среде контейнеризации |
Веб-сервер | Рекомендуется IIS 8.5 IIS 7.5, 8.0, 10 |
Платформа .NET | .NET Framework 4.5, 4.6.1 ASP.NET 4.5, 4.6 |
Браузер | Рекомендуются Internet Explorer 11 или Mozilla Firefox 51.0 Mozilla Firefox 44.0, 47.0, 69.0 |
Среда контейнеризации (если применимо) | Docker Enterprise 18.09 и выше |
Лицензирование Fortify Integration Ecosystem
Fortify предлагает несколько вариантов лицензирования для платформы безопасности приложений в зависимости от развитости процессов разработки программных продуктов. Основная модель, так называемая ScanCentral Model, строится на основе двух параметров: количества пользователей интерфейса Fortify SSC и количества сенсоров SAST или DAST, необходимых для оперативного решения задач безопасной разработки.
Отметим, что в инфраструктуру можно интегрировать любое количество этих сенсоров, а тип лицензирования определяет, сколько их может работать одновременно.
Важным моментом является тот факт, что лицензии едины для сенсоров разного типа. Соответственно, при необходимости можно использовать все доступные лицензии для ускорения статического или динамического анализа исходного кода.
Ролевая модель при интеграции Fortify Integration Ecosystem
Прежде чем описывать формат работы с платформой, мы подробно рассмотрим вариант пользовательской ролевой модели, которую специалисты Fortify предлагают использовать как основу при интеграции DevSecOps в существующие процессы. Цель — переместить безопасное создание приложений и ответственность в сторону команды разработки, то есть реализовать «сдвиг влево», о котором мы говорили в начале обзора.
Перечислим базовые роли пользователей, которые можно применять для достижения целей безопасной разработки. Отметим, что платформа Fortify поддерживает создание любых необходимых пользовательских ролей.
Разработчик отвечает за свои участки кода. Он анализирует зафиксированные дефекты и уязвимости и устраняет их, в том числе с помощью информации от платформы безопасности приложений.
Ответственный за безопасность программного продукта со стороны разработки (ИБ-евангелист, «security champion») — один из разработчиков. Он в дополнение к основным обязанностям разбирает уязвимости, обнаруженные платформой Fortify, анализирует и верифицирует их. Также в случае необходимости он взаимодействует с командой безопасности. Информацию о дефектах в исходном коде он перенаправляет дальше для их устранения.
Ответственный за программный продукт (руководитель команды, менеджер продукта, «тимлид») получает через систему багтрекинга информацию об уязвимостях, поступающую от ИБ-евангелиста, и о других дефектах в исходном коде продукта, а затем делегирует их исправление конкретному разработчику.
Вместе разработчики, ИБ-евангелисты и тимлиды составляют команду разработки. Поскольку система контроля версий фиксирует каждое изменение кода, впоследствии запускается автоматизированный анализ продукта с помощью платформы Fortify на наличие уязвимостей. Таким образом формируется цикл непрерывной безопасной разработки.
Команда безопасности представлена руководителем отдела ИБ компании (Chief Information Security Officer, CISO) и аудитором. Аудитор помогает команде разработки правильно классифицировать уязвимости, а также может выборочно проверять результаты анализа и контролировать работу программистов с точки зрения безопасности.
CISO отслеживает весь процесс DevSecOps, анализирует общую работу всех подразделений и определяет эффективность их деятельности в разрезе информационной безопасности.
Говоря об ответственности, отметим, что исправление, доработка и другие связанные с исходным кодом задачи возлагаются на команду разработки. При этом отчитывается за риски, связанные с принятым в эксплуатацию программным продуктом, команда безопасности.
Сценарии работы с Fortify Integration Ecosystem
Далее мы рассмотрим вариант сценария работы с платформой для DevSecOps от Fortify с точки зрения процессов безопасной разработки. Поскольку существенным моментом здесь является как раз ролевая модель, мы будем явно указывать, какие пользователи взаимодействуют с компонентами платформы в тот или иной момент.
Взаимодействие с Fortify Software Security Center
Основное взаимодействие с платформой безопасности приложений от Fortify происходит через сервер Fortify SSC. Доступ к нему может быть получен через веб-интерфейс.
Рисунок 4. Форма аутентификации в Fortify Software Security Center
После аутентификации пользователь с соответствующими правами доступа попадает на главную страницу интерфейса. На ней отображена вся информация по анализу различных проектов и программных продуктов:
- все приложения с версиями,
- статистика по приложениям (количество сканируемых файлов, строк кода, плотность багов; открытых, то есть нерешённых, и ожидающих рассмотрения проблем),
- статистика по скорости работы команд в рамках процесса безопасной разработки — среднее количество дней до рассмотрения потенциальных уязвимостей (зона ответственности ИБ-евангелиста) и их устранения.
Если используется описанная выше ролевая модель, то к веб-интерфейсу Fortify SSC имеют доступ следующие сотрудники: руководитель отдела информационной безопасности, аудитор и ИБ-евангелист от разработчиков.
Рисунок 5. Главная страница веб-интерфейса Fortify Software Security Center
Детальная информация об обнаруженных уязвимостях проектов актуальна не для всех пользователей, поэтому доступ к ней имеют ИБ-евангелист или аудитор. В остальных случаях эти данные можно выгрузить в формате отчёта. О них мы поговорим далее.
Как уже было отмечено, платформа Fortify поддерживает возможности по созданию любых пользовательских ролей.
Рисунок 6. Роли пользователей в веб-интерфейсе Fortify Software Security Center
Итерация цикла безопасной разработки с использованием платформы Fortify
Команда разработки может использовать решения Fortify для организации и автоматизации процессов DevSecOps, не включая сотрудников из отдела информационной безопасности, которых эти процессы затрагивать не должны.
Мы покажем пример одной итерации цикла безопасной разработки от появления уязвимости в исходном коде до её устранения. В рамках демонстрации средой разработки, в которую интегрирована платформа Fortify, выступила IntelliJ IDEA, а средой для непрерывной интеграции (CI) — Jenkins.
Допустим, разработчик внёс некоторые изменения в код программного продукта, которые были зафиксированы в системе контроля версий и отправлены в центральное хранилище кода. Дальнейший анализ на наличие уязвимостей может быть запущен сразу же, то есть автоматизированно в рамках процессов непрерывной интеграции, или вручную в зависимости от конкретного проекта.
ИБ-евангелист контролирует процессы сборки и анализа в среде непрерывной интеграции.
Рисунок 7. Форма аутентификации в среде непрерывной интеграции Jenkins
На главной странице он увидит список всех доступных ему проектов, а в левой части — информацию о текущих сканированиях.
Рисунок 8. Главная страница интерфейса среды непрерывной интеграции
На странице проекта сразу виден конвейер (DevSecOps CI Pipeline), по данным из которого можно сделать вывод, что в результате действий разработчика сборка приложения прошла неудачно и вдобавок к этому оно стало уязвимо.
Рисунок 9. Результаты сканирования исходного кода в результате его изменения (DevSecOps CI Pipeline)
В итоге ИБ-евангелист увидит в веб-интерфейсе Fortify SSC, что возникла новая уязвимость — для неё поле с тегами будет пустым — типа «манипуляция путём» (Path Manipulation).
Рисунок 10. Страница проекта в веб-интерфейсе Fortify Software Security Center
Платформа Fortify оценивает критическую значимость каждой проблемы безопасности, приоритизирует её и даёт подробные рекомендации по исправлению кода.
Поскольку уязвимости зачастую зависят от контекста конкретного приложения, ИБ-евангелисту необходимо просмотреть и классифицировать новую брешь, чтобы определить, связана ли её эксплуатация с рисками для безопасности. Проанализировать код, который определён платформой Fortify как потенциально уязвимый, оставить комментарий для разработчика и отправить ему информацию можно напрямую в интерфейсе Fortify SSC или через систему багтрекинга.
Рисунок 11. Подробная информация об уязвимости в веб-интерфейсе Fortify Software Security Center
Рисунок 12. Настройка интеграции с системой багтрекинга (Jira) в веб-интерфейсе Fortify Software Security Center
Для того чтобы программист мог получать информацию об уязвимостях в его коде от Fortify SSC сразу в среде интегрированной разработки, используется специальный плагин Fortify.
Рисунок 13. Окно аутентификации к Fortify Software Security Center в среде интегрированной разработки
После аутентификации разработчику становится доступна подробная информация об уязвимости:
- код, который её вызывает,
- комментарии ИБ-евангелиста,
- подробное описание,
- рекомендации по исправлению кода при выявлении проблем такого типа,
- результаты динамического анализа (DAST) и другие данные об уязвимости.
Рисунок 14. Информация об уязвимости в коде от Fortify Software Security Center в среде интегрированной разработки
После исправления кода (и, при необходимости, согласования с другими разработчиками или специалистами по информационной безопасности) снова запускаются процессы по сборке и сканированию программного продукта, т. е. цикл повторяется. Если других проблем в исходном коде не обнаружено, конвейер завершится успешно, а на странице проекта в интерфейсе Fortify SSC уязвимость по манипуляции путями файлов станет невидимой, поскольку была отмечена как «fixed» (исправленная).
Рисунок 15. Результаты сканирования исходного кода после исправления уязвимости (DevSecOps CI Pipeline)
Пользователи, которым открыт доступ к детальной информации по проектам в Fortify SSC, могут просматривать данные по всем уязвимостям исходного кода проекта, которые когда-либо были найдены. Эта опция важна, поскольку помогает фиксировать факты повторения одной и той же ошибки разработчика.
Рисунок 16. Расширенные настройки отображения данных по проекту в веб-интерфейсе Fortify Software Security Center
Взаимодействие команд разработки и безопасности с использованием платформы Fortify
Причинами для вовлечения аудитора в процессы DevSecOps могут быть, например, выборочный анализ работы ИБ-евангелистов или развитие их компетенций в виде консультирования по каким-либо уязвимостям и другим проблемам. Для этого аудитору доступны данные по проектам и их версиям, включая подробную информацию обо всех уязвимостях.
Рисунок 17. Список всех проектов по версиям в веб-интерфейсе Fortify Software Security Center
Примером активности в интерфейсе Fortify SSC со стороны аудитора может быть открытие уязвимости, которая ранее была отмечена как исправленная, или дополнение информации по одной из нерешённых проблем.
Руководитель информационной безопасности на основании статистической информации, доступной на главной странице интерфейса Fortify SSC, может делать выводы об организации процесса DevSecOps в целом и по каждому проекту в частности и, например, принять решение о необходимости обучения разработчиков навыкам написания безопасного кода.
Работа с отчётностью
При необходимости из Fortify SSC можно выгрузить подробную информацию об анализе программных продуктов и уязвимостях в их исходном коде в формате отчётов.
Рисунок 18. Страница с отчётами в веб-интерфейсе Fortify Software Security Center
Fortify SSC позволяет создавать отчёты на основе предопределённых шаблонов. Это могут быть:
- отчёты по проектам (программным продуктам или приложениям),
- отчёты по уязвимостям (в разрезе стандарта безопасности или для передачи третьей стороне),
- высокоуровневые отчёты, актуальные для руководителя отдела информационной безопасности. Они могут содержать информацию о структуре программных продуктов, тенденциях по уязвимостям, ключевых показателях эффективности (Key Performance Indicators, KPI) и безопасности программных продуктов в целом.
В отчёте по проекту отражены сведения об уязвимостях, сканированиях, динамике активности по устранению брешей и другие. Кроме того, данные об обнаруженных проблемах безопасности могут быть дополнены информацией в соответствии с распространёнными стандартами: OWASP, PCI DSS, PSI SSF, DISA STIG, CWE, WASC.
Рисунок 19. Создание нового отчёта по проекту в веб-интерфейсе Fortify Software Security Center
Отчёты по уязвимостям особенно актуальны для аудита информационной безопасности.
Рисунок 20. Создание нового отчёта по уязвимостям в веб-интерфейсе Fortify Software Security Center
Рисунок 21. Создание нового высокоуровневого отчёта в веб-интерфейсе Fortify Software Security Center
Выводы
В настоящее время уязвимости в программных продуктах и приложениях интенсивно эксплуатируются и причиняют компаниям значительный ущерб, причём не только финансовый, но и репутационный. В результате концепция написания изначально безопасного (насколько это возможно) кода становится единственно правильным вариантом развития существующих процессов разработки. Таким образом ответственность за безопасность программных продуктов частично переносится на команду разработки.
Подразделение компании Micro Focus, Fortify, предлагает единую платформу безопасности приложений Fortify Integration Ecosystem версии 21.1 для внедрения DevSecOps в уже существующие процессы разработки (DevOps) и для последующей автоматизации.
Решение Fortify представляет собой целостный комплекс (так называемую экосистему) с единым центром управления Fortify Security Software Center и не только охватывает системы для анализа исходного кода (SAST, DAST, MAST), но и интегрируется с различными решениями сторонних вендоров, включая различные среды разработки и средства управления непрерывной интеграцией. Это заметно облегчает внедрение Fortify Integration Ecosystem в уже существующие процессы DevOps, в том числе в среде контейнеризации.
Доступность платформы в виде локального программного обеспечения, на условиях SaaS или в гибридной конфигурации, гибкие условия лицензирования и совместимость с разнообразными сторонними решениями для DevOps позволяют многим организациям использовать Fortify Integration Ecosystem для внедрения элемента безопасности в разработку программных продуктов.
Отметим следующие важные моменты, связанные с функциональными возможностями платформы Fortify Integration Ecosystem:
- Анализ больших объёмов исходного кода осуществляется за разумное время.
- Поддерживается большое количество языков программирования для статического анализа исходного кода, сканирование различных сред разработки и API в рамках динамического тестирования.
- Использование алгоритмов машинного обучения снижает риск ложных срабатываний статического анализа исходного кода (SAST).