Обзор Fortify Integration Ecosystem, комплексной платформы безопасности приложений - Выбор корпоративных средств защиты - Форумы Anti-Malware.ru Перейти к содержанию
AM_Bot

Обзор Fortify Integration Ecosystem, комплексной платформы безопасности приложений

Recommended Posts

AM_Bot
Обзор Fortify Integration Ecosystem, комплексной платформы безопасности приложений
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 Ecosystem6.1. Взаимодействие с Fortify Software Security Center6.2. Итерация цикла безопасной разработки с использованием платформы Fortify6.3. Взаимодействие команд разработки и безопасности с использованием платформы Fortify6.4. Работа с отчётностьюВыводыВведениеВ современных реалиях процессы, связанные с разработкой, внедрением, эксплуатацией и дальнейшей поддержкой программного обеспечения, меняются, чтобы соответствовать требованиям по информационной безопасности. Создание продуктов и приложений, которые с самого начала являются безопасными с точки зрения кода и архитектуры, то есть подверженными минимальному количеству уязвимостей, — это концепция, которая набирает всё большую популярность. Ведь, согласитесь, с точки зрения бизнеса эффективнее предотвращать уязвимости на начальных этапах, а не после, например, компрометации инфраструктуры или утечки конфиденциальных данных.Автоматизация процессов работы с программным обеспечением с помощью подхода 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.8SQL-сервер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 или 2019Red Hat Enterprise Linux 6 с обновлением 5 и выше, 7.x, 8Linux 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.0SPNEGO/KerberosX.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Сервер WindowsWindows Server 2012, 2012 R2, 2016 или 2019Windows Server 2019 в среде контейнеризацииВеб-серверРекомендуется IIS 8.5IIS 7.5, 8.0, 10Платформа .NET.NET Framework 4.5, 4.6.1ASP.NET 4.5, 4.6БраузерРекомендуются Internet Explorer 11 или Mozilla Firefox 51.0Mozilla Firefox 44.0, 47.0, 69.0Среда контейнеризации (если применимо)Docker Enterprise 18.09 и выше Лицензирование Fortify Integration EcosystemFortify предлагает несколько вариантов лицензирования для платформы безопасности приложений в зависимости от развитости процессов разработки программных продуктов. Основная модель, так называемая 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).

Читать далее

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

  • Сообщения

    • Ego Dekker
      ESET Online Scanner был обновлён до версии 4.0.1. Приложение теперь работает только в 64-разрядной ОС.
    • Ego Dekker
      ESET Cyber Security был обновлён до версии 9.0.6700.
    • AM_Bot
      Теория звучит убедительно, но работает ли она на практике? Мы внимательно изучили Phishman 2.35 и решили не останавливаться на описании её возможностей. Вместо этого протестировали платформу на собственных сотрудниках и удивились, к каким результатам это привело.      1. Введение2. Методология тестирования Phishman 2.353. Первичное тестирование3.1. Подготовка шаблонов фишинговых сообщений, инфраструктуры рассылки3.2. Тестирование доставки и отражения результатов в статистике3.3. Результаты атак4. Обучение4.1. Формирование учебной группы4.2. Составление образовательной программы по повышению киберкультуры4.3. Процесс обучения и его результаты5. Повторное тестирование5.1. Результаты атак6. Подведение итогов6.1. Сложности, с которыми мы столкнулись7. Впечатления от проекта команды «АМ Медиа»7.1. Реакция сотрудников7.2. Реакция организаторов7.3. Сотрудничество с вендором8. ВыводыВведениеPhishman 2.35 — это система повышения осведомлённости пользователей в сфере ИБ. Она помогает развивать киберкультуру и формировать у сотрудников устойчивые навыки безопасной работы с информацией, цифровыми сервисами и корпоративными ресурсами. В процессе обучения сотрудники учатся распознавать актуальные сценарии атак, закрепляют правильные модели поведения и в результате реже становятся причиной инцидентов, связанных с человеческим фактором.В первой части обзора Phishman 2.35 мы рассмотрели платформу с точки зрения её возможностей. Теперь пришло время проверить, как всё это работает на практике. За время проекта мы не только оценили эффективность различных сценариев, но и столкнулись с рядом особенностей, которые невозможно увидеть в документации. Одни из них влияли на ход тестирования, другие оказались скорее организационными нюансами, о которых стоит знать заранее.Методология тестирования Phishman 2.35В процессе работы с киберкультурой «АМ Медиа» мы будем использовать следующие метрики:Обученность. Отражает уровень знаний сотрудников в области ИБ. Показатель растёт, когда сотрудники осваивают темы: реагирование на инциденты, защита от социальной инженерии и другие критически важные компетенции.Иммунность. Показывает, как сотрудники применяют знания на практике. Она повышается, когда демонстрируется способность распознавать угрозы и правильно на них реагировать в реальных сценариях.Киберосознанность — итоговая метрика. Объединяет знания и практические навыки, показывая, насколько сотрудники в целом устойчивы к киберугрозам и действуют корректно при их возникновении.Прежде чем оценивать эффективность работы системы, необходимо определить отправную точку. Первичное тестирование определит, на какие сценарии реагирует каждый сотрудник, где чаще всего допускаются ошибки и какие темы требуют дополнительного развития. На основе этих данных формируется индивидуальная программа обучения: сотрудники проходят персонализированные курсы, выполняют практические задания и тесты, которые помогают устранить выявленные пробелы и закрепить необходимые навыки. В процессе обучения повышается уровень обученности, а закрепление знаний через практику влияет на показатель иммунности. После завершения обучения мы проведём повторное тестирование, которое покажет, какие изменения произошли по всем ключевым метрикам.Заключительный этап — сравнение результатов первичного и повторного тестирования. Здесь станет понятно, насколько вырос уровень киберкультуры сотрудников: изменилось ли их отношение к вопросам ИБ, стали ли они увереннее распознавать угрозы и чаще принимать безопасные решения в ситуациях, где раньше могли допустить ошибку.В качестве основного канала для рассылки фишинга выбрали электронную почту. Причина очевидна: именно она остаётся основным способом первичного контакта злоумышленников с сотрудниками и доставки фишинговых сценариев. По имеющимся оценкам, более 90 % успешных кибератак начинаются с электронного письма, поэтому исключать этот канал из подобных проверок было бы некорректно.Первичное тестированиеРеальные фишинговые атаки почти никогда не строятся по универсальному шаблону: злоумышленники адаптируют содержание писем под роль человека в компании, его рабочие процессы и типовые задачи. Поэтому при выборе целевой аудитории мы разделили сотрудников по функциям и уровню доступа к корпоративным данным, а сам проект разбили на 3 последовательные волны с разным уровнем сложности.Подготовка шаблонов фишинговых сообщений, инфраструктуры рассылкиПосле определения целевой аудитории был проведён анализ структуры подразделений и рабочих процессов сотрудников. На этом этапе изучались:должностные обязанности;распределение зон ответственности;характер внутреннего взаимодействия между отделами;используемые адреса электронной почты;формат повседневной служебной переписки.Это позволило понять, какие сценарии коммуникации являются для сотрудников привычными и не вызывают подозрений.На основе собранных данных были подготовлены сценарии фишинговых сообщений. При разработке содержимого учитывались тематика рабочих задач, стиль корпоративного общения, оформление внутренних уведомлений и типовые причины отправки писем внутри организации. Основная задача заключалась в том, чтобы письмо воспринималось как стандартное рабочее сообщение, соответствующее реальным бизнес-процессам заказчика.Волна 1. Первая волна была построена как массовый фишинг. Сценарий — сверка графика отпусков. Для атаки создавали и настраивали пользовательский шаблон. Тип атаки — обычный, время начала рассылки — сразу, при запуске атаки.На этом этапе проверялась базовая реакция сотрудников на привычные рабочие триггеры и способность распознавать типовые признаки фишинга без привязки к конкретному подразделению. Рисунок 1. Шаблон для первой волны Рисунок 2. Вид фишингового письма из первой волны в почте Волна 2. Для каждого отдела были подготовлены письма, основанные на реальных рабочих процессах, характерных запросах и ситуациях, с которыми сотрудники регулярно сталкиваются в своей деятельности. Для атаки создали и настроили пользовательский шаблон, где-то добавили немного визуального оформления. Время начала рассылки — по запланированному времени. Рисунок 3. Пример шаблона из второй волны для отдела «Продажи» Рисунок 4. Вид фишингового письма из второй волны для отдела «Продажи» Волна 3. Здесь моделировались уже более сложные сценарии целевого фишинга (spear phishing). В письмах использовались специальные формулировки, элементы корпоративного брендирования. На этом этапе проверялась не только внимательность сотрудников, но и способность замечать менее очевидные признаки атаки в условиях, максимально приближённых к реальной целевой компрометации.За основу брали системный брендированный шаблон «Яндекс ID», добавили фишинговую форму и скорректировали немного её содержание. Тип атаки — обычный, время начала рассылки — по запланированному времени. Рисунок 5. Пример шаблона из третьей волны Рисунок 6. Вид фишингового письма из третьей волны При переходе по ссылке открывалась фишинговая страница. Рисунок 7. Фишинговая страница Тестирование доставки и отражения результатов в статистикеДалее была подготовлена инфраструктура рассылки. После её настройки проводилось тестирование доставки сообщений. Проверялась доставка писем во входящие сообщения почтовых клиентов, анализировалась реакция антиспам-механизмов в почте, а также контролировалась корректность работы механизмов отслеживания действий пользователей. Рисунок 8. Результаты тестирования доставки и отображения сообщений в почте Тестирование прошло успешно.После завершения проверки была сформирована последовательность отправки сообщений по заранее определённым волнам. Такой подход позволил распределить нагрузку, контролировать ход тестирования и отслеживать реакцию сотрудников на различных этапах проведения проверки. Рисунок 9. Активные мероприятия Результаты атакБыли получены следующие результаты:Иммунность — 81 %. Хороший иммунитет, большинство реагирует правильно. Охват аудитории (повторно попались на фишинг) — 71 %.Уровень риска — 8, средний. Устойчивость формируется, но есть ещё риски. Рисунок 10. Общая информация после проведения первичного тестирования Самый низкий уровень иммунности — около 50 %, после первых двух волн атак. Рисунок 11. График иммунности во время первичного тестирования Далее — сформировали в системе отчёт по скомпрометированности сотрудников, на основании которого выполнили самостоятельный анализ результатов по отделам без учёта результатов тестирования шаблонов атак. Рисунок 12. Отчёт по скомпрометированности всех сотрудников в Phishman 2.35 Таблица 1. Результаты первичного тестирования по отделамОтделЗаполнили формуОткрыли вложенияОткрыли ссылкуДокументооборот04,76 %4,76 %Продажи04,76 %9,52 %Продюсеры 0023,8 %Редакция0019,04 %Руководитель000 ОбучениеПервичное тестирование завершено, поэтому следующим этапом стало определение группы риска и формирование программы обучения.Формирование учебной группыНа этапе отбора рассматривались два варианта формирования учебной группы. Первый предполагал использование показателя иммунности сотрудников. Второй вариант заключался в создании правила, автоматически формирующего список сотрудников, которые были скомпрометированы в ходе проведённых проверок. Этот подход позволял сразу получить выборку пользователей, продемонстрировавших наибольшую подверженность атакам, без ожидания обновления показателей.Был выбран второй вариант. На основании созданного правила была сформирована группа для обучения: в неё вошли люди, которые были скомпрометированы в ходе первичного тестирования. Рисунок 13. Создание правила для выявления группы риска Рисунок 14. Отчёт по отработанному правилу для выявления группы риска Отдельно была сформирована группа сотрудников, успешно распознавших фишинговую атаку, для участия в обучении, направленном на поддержание киберкультуры.Составление образовательной программы по повышению киберкультурыПопавшиеся сотрудники были включены в отдельную учебную группу, для которой сформировали персональную образовательную траекторию. В неё вошли 3 микрокурса по фишингу и 1 курс по информационной безопасности. Содержание траектории было направлено на повышение устойчивости к методам социальной инженерии и снижение вероятности компрометации учётных данных. Рисунок 15. Заполнение параметров обучения сотрудников Рисунок 16. Составление учебной программы Отдельно была запущена программа обучения для сотрудников, которые не попали в выборку по результатам правила.Процесс обучения и его результатыПервый отчёт мы сформировали через 2 дня после запуска обучения, что позволило получить предварительную оценку вовлечённости сотрудников. Анализ данных показал, что наибольшую активность на начальном этапе продемонстрировали сотрудники, которые попались на фишинг. Рисунок 17. Промежуточный анализ обучения Через неделю после запуска обучения провели повторный анализ прогресса, включая оценку прохождения курсов и выявление участников, не приступивших к обучению. Рисунок 18. Отчёт по динамике обучения в Phishman 2.35 Анализ показал, что часть сотрудников не завершила обучение в установленный срок. Для обеспечения максимального охвата было принято решение о продлении сроков прохождения курсов. Рисунок 19. Продление и корректировка процесса обучения В результате фактическая продолжительность обучения составила 2 недели, что превысило первоначально установленный срок в одну неделю. Но и этого времени не хватило нашим сотрудникам. Чтобы узнать, кто оказался более ответственным, воспользовались возможностями правил. Рисунок 20. Пример настройки правила по выявлению сотрудников, прошедших обучение В результате была получена информация о сотрудниках, полностью и частично прошедших обучение. Рисунок 21. Отчёт по сработанному правилу по выявлению сотрудников, прошедших обучение Рисунок 22. Отчёт по сработанному правилу по выявлению сотрудников, частично прошедших обучение Результаты обучения:полностью прошли обучение — 52 %;частично — 22 %;не прошли обучение — 26 %.Мы проанализировали список сотрудников, не приступивших к обучению, и выяснили, что это те, кто не попался на фишинг во время первичного тестирования.Среди сотрудников, которые попались на фишинг, 80 % прошли обучение, остальные — прошли его частично. Рисунок 23. Результаты обучения сотрудников «АМ Медиа» Вместе с тем за этот период были зафиксированы положительные изменения в ключевых показателях: уровень обученности достиг 9 319 баллов, а показатель киберосознанности — 7 561 баллов. Несмотря на положительную динамику, полученные значения оставались гораздо ниже целевых ориентиров, что свидетельствует о необходимости дальнейшей работы по повышению вовлечённости сотрудников и развитию киберкультуры.Повторное тестированиеПовторное тестирование проводилось по тем же этапам, что и первичное: подготовка шаблонов, тестирование и проведение атак. Как и на первом этапе, основной задачей было сделать письмо максимально похожим на стандартную рабочую переписку, соответствующую реальным бизнес-процессам нашей компании.Подготовительный этап повторного тестирования потребовал дополнительных временных затрат, связанных с регистрацией новых доменов и расширением сценариев атак с учётом результатов первичного тестирования.Волна 1. Сценарии формировались не только для отдельных подразделений, но и адресно для конкретных сотрудников, что позволило повысить реалистичность и точность имитации фишинговых атак. Запустили несколько атак, для каждой из них были разработаны индивидуальные шаблоны электронных писем и соответствующие фишинговые формы. Тип атаки — обычный, время начала рассылки — по запланированному времени. Рисунок 24. Пример фишингового письма для первой волны Рисунок 25. Пример фишинговой формы для письма из первой волны Волна 2. Вторая волна представляла собой массовую фишинговую кампанию. Для неё был создан и настроен пользовательский шаблон, основанный на триггерах срочности и страхе финансовых потерь. Тип атаки — обычный, время начала рассылки — сразу, при запуске атаки. Рисунок 26. Пример фишингового письма для второй волны Тестирование доставки писем и корректности отражения результатов в статистике прошло успешно.Результаты атакВ повторном тестировании приняли участие уже 23 человека. Увеличение числа участников на 2 человека связано с подключением новых сотрудников к нашему эксперименту. Резких скачков иммунности здесь не наблюдалось. Рисунок 27. График иммунности во время повторного тестирования Для дополнительной оценки мы и здесь также выполнили самостоятельный анализ результатов по отделам без учёта результатов тестирования шаблонов атак. Таблица 2. Результаты повторного тестирования по отделамОтделЗаполнили формуОткрыли вложенияОткрыли ссылкуДокументооборот000Продажи008,7 %Продюсеры 008,7 %Редакция8,7 %08,7 %Руководитель000 Мы также посмотрели, как себя показали сотрудники, которые не прошли обучение, в повторном фишинговом тесте. По данным отчёта, в первой волне повторного тестирования на фишинг попались 40% из всех, кто не обучался. Рисунок 28. Поиск информации о сотруднике в отчёте по атакам Подведение итогов После завершения всех этапов эксперимента мы получили следующие показатели:Иммунность — 76 %. Хороший иммунитет, большинство реагирует правильно. Охват аудитории (повторно попались на фишинг) — 91,3 %.Уровень риска — 7, средний. Рисунок 29. Информационная панель Phishman 2.35 после завершения эксперимента После обучения и повторного тестирования добавились другие показатели:Обученность — 11 / 100. Знания отсутствуют, обучение следует начать с базового уровня.Киберосознанность — 10 / 100. Низкий уровень, сотрудники не знают, как действовать в случае угроз.Часть результатов сравнили и представили их в таблице ниже. Таблица 3. Сравнение показателей киберкультуры до и после обученияПоказательДо обученияПосле обученияОбученность09319Иммунность81 %76 %Киберосознанность 07561Охват аудитории (повторно попались на фишинг)71 %91,3 %Уровень риска87 Также проанализировали действия сотрудников после обучения и сравнили их с результатами первичного тестирования. Таблица 4. Сравнение действий сотрудников до обучения и послеОтделЗаполнили формуОткрыли вложенияОткрыли ссылкуДо обученияПосле обученияДо обученияПосле обученияДо обученияПосле обученияДокументооборот004,76 %04,76 %0Продажи004,76 %09,52 %8,7 %Продюсеры 000023,8 %8,7 %Редакция08,7 %0019,04 %8,7 %Руководитель000000 Рисунок 30. Процент попавшихся на фишинг до обучения и после по отделам Если во время первичного тестирования попалось 22 % участников, то после обучения этот показатель уменьшился и стал 12 %. Рисунок 31. Общий процент попавшихся на фишинг до обучения и после Результаты повторного тестирования показали, что, несмотря на заметное снижение количества взаимодействий с фишинговыми письмами, часть сотрудников по-прежнему выполняет действия, свидетельствующие о подверженности атакам. Это ожидаемый результат, поскольку киберкультуру невозможно сформировать за столь короткое время. Речь идёт о длительном процессе, который требует регулярной работы как со стороны специалистов по информационной безопасности, так и со стороны самих сотрудников.Наш эксперимент позволил проверить знания сотрудников, провести обучение и затем оценить, насколько полученные знания закрепились на практике. Однако с точки зрения развития киберкультуры — это лишь один из этапов работы, а не её завершение.Сложности, с которыми мы столкнулисьОсобенность нашего эксперимента — организация предварительного тестирования. Перед запуском каждой атаки мы проверяли её работу на собственном аккаунте, чтобы убедиться в корректной отработке сценария на стороне пользователя. Такие проверки попадали в общую статистику системы и оказывали влияние на итоговые показатели. Возможность исключить подобные события из расчётов отсутствует. Согласно комментариям вендора, для этих целей следует использовать отдельный тестовый стенд. Поэтому мы вели дополнительно самостоятельный анализ результатов эксперимента.Отдельные сложности возникли на этапе обучения сотрудников. Завершить обучение в установленные сроки не удалось из-за человеческого фактора. Не все участники смогли своевременно пройти назначенные материалы, что потребовало увеличения периода обучения и дополнительного контроля за его прохождением.Впечатления от проекта команды «АМ Медиа»Проведение тестирования не вызвало негативной реакции со стороны сотрудников. Хотя фишинговые сообщения активно обсуждались внутри коллектива, жалоб руководству или недовольства вида «зачем вообще было устраивать такую проверку» не возникло. Основной интерес был сосредоточен вокруг самих писем и попыток понять, что именно происходит.Реакция сотрудниковОдним из самых любопытных наблюдений стала реакция сотрудников после первой волны первичного тестирования. Полученные фишинговые сообщения быстро стали предметом обсуждения: сотрудники пересылали их друг другу, задавали вопросы коллегам и пытались разобраться, что происходит.Некоторые пошли ещё дальше и вступали в переписку с отправителем, воспринимая фишинговые письма как реальные рабочие сообщения. Это наглядно показало не только убедительность используемых сценариев, но и то, что практическое столкновение с угрозой вовлекает сотрудников в тему ИБ гораздо сильнее, чем абстрактные примеры из учебных материалов. Во время повторного тестирования такой реакции уже не возникло.Реакция организаторовЕсли для большинства сотрудников тестирование выглядело как неожиданно появившиеся письма в почте, то для команды, которой было поручено тестирование Phishman 2.35 этот проект сопровождался совсем другими эмоциями. Подготовка сценариев, запуск атак и ожидание результатов вызывали ощутимое волнение. Оказалось, что смотреть на ситуацию глазами злоумышленника не так просто, как может показаться со стороны. Приходилось постоянно задавать себе вопросы: какой сценарий покажется правдоподобным, что привлечёт внимание сотрудника, а что, наоборот, вызовет подозрения.Самыми напряжёнными были дни первой волны тестирования. На этом этапе ещё не было понимания, как сотрудники отреагируют на рассылки, насколько убедительными окажутся сценарии и не вызовет ли проверка негативной реакции внутри коллектива. С каждой новой зафиксированной активностью интерес смешивался с тревогой, а результаты ожидались едва ли не с большим нетерпением, чем сам запуск кампании.После завершения эксперимента стало легче: всё задуманное удалось реализовать, результаты были получены и проанализированы. Тем не менее полностью избавиться от мыслей о проделанной работе не получилось. Время от времени возвращаешься к отдельным этапам и задаёшься вопросом: а стоило ли сделать именно так? Может быть, какой-то сценарий можно было построить иначе, а какие-то решения принять по-другому?Наверное, это естественная часть любого практического проекта. Когда работа заканчивается, появляется возможность посмотреть на неё со стороны и критически оценить собственные решения. Именно в такие моменты часто приходят идеи, которые помогают сделать следующие проекты лучше.Сотрудничество с вендоромВ ходе подготовки и проведения эксперимента иногда возникали вопросы, связанные с настройкой платформы, особенностями реализации отдельных сценариев и интерпретацией результатов. Для их решения использовались как переписка, так и рабочие созвоны. Запросы обрабатывались оперативно, что позволяло своевременно получать необходимую информацию и не допускать задержек в выполнении работ. Поддержка была доступна не только в рабочее время, но и в выходные дни.ВыводыПовторное тестирование показало, что тщательно подготовленные и персонализированные фишинговые атаки значительно эффективнее. При наличии качественной разведки злоумышленники способны подобрать убедительный сценарий практически для любого сотрудника. А если специалист может ошибиться, то сотруднику, который не занимается вопросами ИБ каждый день, сделать это ещё проще.Работа в сфере информационной безопасности или информационных технологий сама по себе не защищает человека от фишинга, социальной инженерии и других современных атак. Мы убедились в этом на собственном опыте: даже профильные знания не гарантируют, что человек не попадется на хорошо продуманную атаку. Злоумышленники постоянно меняют сценарии, поэтому знания, полученные однажды, быстро устаревают.При помощи эксперимента мы не только проверили, насколько сотрудники готовы распознавать атаки, но и поняли, как с помощью Phishman 2.35 можно сделать работу по развитию киберкультуры системной. Вместо отдельных курсов появился понятный цикл: смоделировать атаку, оценить реакцию, провести обучение и проверить, изменилось ли поведение участников. При необходимости — повторить или скорректировать процесс при помощи рекомендаций платформы. Результаты фиксируются автоматически, поэтому можно видеть, какие темы требуют больше внимания, и развивать киберкультуру на основе реальных данных, а не предположений.Читать далее
    • PR55.RP55
    • santy
      RP55, есть у тебя ТГ?
×