AVA
13.08.2022, 19:38
https://forum.antichat.xyz/attachments/4921312/img_544e11cd7d.png
Доброго времени суток!
DevSecOps. Начало (https://forum.antichat.xyz/threads/579991/)
DevSecOps. DevOps (ч.1) (https://forum.antichat.xyz/threads/579992/)
SSDLC (https://forum.antichat.xyz/threads/580040/)
DevSecOps. Эпизод 1. Скрытые угрозы (https://forum.antichat.xyz/threads/580310/)
https://forum.antichat.xyz/attachments/4921312/1660403423052.png
PS: В прошлой статье (https://forum.antichat.xyz/threads/580310/)забыл упомянуть о таком крайне важном инструменте, как OAST или SCP.
OAST - Open Source Application Security Testing. При внедрении DevSecOps, это, наверное самое важное. Ведь внедрение этого инструмента самое простое и безболезненное, а пользы от него довольно много. Актуальность анализа открытых источников связана с тем, что сложность современных приложений не позволяет разрабатывать все самим и с нуля. Использовать готовые библиотеки больше не признак лени, а острая необходимость.
Из инструментов стоит выделить инструмент Snyk. Компания, которая его разработала и поддерживает, следит за трендами в безопасности.
https://forum.antichat.xyz/attachments/4921312/1660403132561.png
https://forum.antichat.xyz/attachments/4921312/1660403152007.png
Скачиваем и получаем репорт в красивом виде.
https://forum.antichat.xyz/attachments/4921312/1660403266253.png
Теперь перейдем к основной части этой статьи, инструменту для менеджмента уязвимостей, DefectDojo.
DefectDojo
Для управления разработкой и багфиксами во многих компаниях используются багтрекеры. Например, JIRA. Но писать все найденные уязвимости в JIRA руками, такое себе, поэтому была сделана JIRA для безопасников - DefectDojo. DefectDojo — это инструмент безопасности с открытым исходным кодом, который автоматизирует управление уязвимостями безопасности приложений. DefectDojo оптимизирует процесс тестирования безопасности приложений, предлагая такие функции, как импорт сторонних результатов проверок, слияние и удаление дубликатов, интеграцию с Jira, создание шаблонов, создание отчетов и многое другое.
Разработчики предоставляют различные варианты установки DefectDojo. Правильным считается использование бинарника - godojo. С его помощью DefectDojo устанавливается на диск как часть работающей ОС. Установщик обрабатывает запрошенную версию исходного кода и любые необходимые зависимости. Далее можно запустить docker compose и поднять всю систему в пару кликов.
Впрочем никто не мешает вам воспользоваться docker-compose из репозитория, получится то же самое.
Пощупать уже поднятый и наполненный сервис можно здесь. Именно на его основе мы рассмотрим основной функционал.
1. Dashboard. Вкладка содержит информацию о найденных/закрытых уязвимостях, активных работах, риски.
2. Products. По названию понятно, что это список наших продуктов/проектов.
https://forum.antichat.xyz/attachments/4921312/1660403487154.png
3. Engagements. Содержит в себе список проводимых работ, "мероприятий". Например, мануальный тест с использованием Burp, или автоматизированное сканирование с использованием Acunetix.
https://forum.antichat.xyz/attachments/4921312/1660403534484.png
4. Findings. Она содержит в себе информацию о найденных уязвимостях. Для наполнения этой вкладки можно использовать как ручной ввод, так и загрузку отчетов, сгенерированных специальными приложениями. Их можно классифицировать по серьезности: Critical, High, Medium, Low, and Informational (Info).
https://forum.antichat.xyz/attachments/4921312/1660403611357.png
5. Endpoints. Это тестируемые системы, определяемые IP-адресом или полным доменным именем.
6. Metrics. DefectDojo предоставляет визуализацию ряда метрик, чтобы помочь с отчетами, осведомленностью и иметь возможность быстро сообщать о позиции безопасности продуктов / типов продуктов.
Предусмотрены следующие представления метрик:
количество открытых ошибок по месяцам
количество принятых ошибок по месяцам
количество открытых ошибок по неделям
количество принятых ошибок по неделям
табличные данные о 10 лучших продуктах по степени серьезности ошибок
подробную разбивку всех обнаруженных ошибок
открытые результаты
Принятые найденные уязвимости
Закрытые найденные уязвимости
Тенденции количества открытых ошибок
Тенденции количества принятых ошибок
Возраст проблем.
7. Users. Список пользователей системы.
8. Calendar. Обеспечивает просмотр всех “мероприятий”, происходящих в течение отображаемого месяца. Каждая запись является прямой ссылкой на страницу просмотра Engagement.
Для примера давайте пройдем весь путь по оформлению бага.
Создаем новый продукт: Products -> Add Product. Заполняем все поля как вам нужно, я оставил значения по умолчанию.
https://forum.antichat.xyz/attachments/4921312/1660403824495.png
2. Дальше нам нужно создать некоторое “мероприятие”. Например, ручная проверка. Для этого переходим в проект и выбираем вкладку Engagements->Add New Interactive Engagement.
https://forum.antichat.xyz/attachments/4921312/1660403860808.png
Снова заполняем данные по необходимости, я выбрал по умолчанию. И вот мы создали “мероприятие”
https://forum.antichat.xyz/attachments/4921312/1660403896327.png
3. Начинаем ручную проверку с Burp. Для этого создадим новый тест. Данные заполняем на ваше усмотрение.
https://forum.antichat.xyz/attachments/4921312/1660403922567.png
4. Допустим мы находим XSS. Это нужно добавить.
https://forum.antichat.xyz/attachments/4921312/1660403960972.png
Тут есть два варианта - New Finding, где мы заполняем все с нуля, либо Finding From Template, и такие часто встречающиеся уязвимости как XSS лучше оформлять в Template. Но тут мы создадим через New Finding. И вот тут можно увидеть почему лучше создать template. Так как безопасность не терпит полумер, желательно заполнить все поля, тут и CWE, если вдруг нашли, CVSS рейтинг, естественно описание и шаги для воспроизведения, запрос и ответ. Что из этого вы будете заполнять дело ваше. Я заполнил только описание и шаги для воспроизведения, запрос и ответ, выбрал серьезность.
Готово! Вот таким образом вы добавляете все уязвимости. Но это для ручных находок. Плюс DefectDojo это возможность парсить репорты от автоматических инструментов. Например, от Nmap:
https://forum.antichat.xyz/attachments/4921312/1660404007419.png
К сожалению, он ничего не нашел
https://forum.antichat.xyz/attachments/4921312/1660404036298.png
Но если бы нашел, то в Findings можно было бы увидеть разбитые по категориям найденные “уязвимости”.
5. Генерация отчета. Products->Наш продукт -> Product Report
https://forum.antichat.xyz/attachments/4921312/1660404103948.png
Результат:
https://forum.antichat.xyz/attachments/4921312/1660404131793.png
Возможностей у этого инструмента невероятное количество, он хорош для менеджмента уязвимостей. Но его внедрение и использование сопряжено с некоторыми трудностями. Как с введением любого инструмента для менеджмента, в первую очередь нужно убедить людей, что менеджмент уязвимостей вообще необходим, а дальше составить Workflow работы и строго следовать ему, а это совсем не легко.
Поэтому отдельно стоит отметить интеграцию с JIRA. Интеграция DefectDojo с JIRA является двунаправленной. Вы можете отправлять результаты в JIRA и делиться комментариями. Если задача закрыта в JIRA, она автоматически будет закрыта в Dojo.
Настройка веб хуков в JIRA и в DefectDojo. Таким образом, каждая команда будет работать в своем багтрекере, которые будут связаны.
Кроме того, поддерживается аутентификация через LDAP и OAuth2/SAML2, так же есть синхронизация с Google-таблицами. Есть даже плагин для Burp Suite.
На этом все, спасибо за внимание и уделенное время!
Доброго времени суток!
DevSecOps. Начало (https://forum.antichat.xyz/threads/579991/)
DevSecOps. DevOps (ч.1) (https://forum.antichat.xyz/threads/579992/)
SSDLC (https://forum.antichat.xyz/threads/580040/)
DevSecOps. Эпизод 1. Скрытые угрозы (https://forum.antichat.xyz/threads/580310/)
https://forum.antichat.xyz/attachments/4921312/1660403423052.png
PS: В прошлой статье (https://forum.antichat.xyz/threads/580310/)забыл упомянуть о таком крайне важном инструменте, как OAST или SCP.
OAST - Open Source Application Security Testing. При внедрении DevSecOps, это, наверное самое важное. Ведь внедрение этого инструмента самое простое и безболезненное, а пользы от него довольно много. Актуальность анализа открытых источников связана с тем, что сложность современных приложений не позволяет разрабатывать все самим и с нуля. Использовать готовые библиотеки больше не признак лени, а острая необходимость.
Из инструментов стоит выделить инструмент Snyk. Компания, которая его разработала и поддерживает, следит за трендами в безопасности.
https://forum.antichat.xyz/attachments/4921312/1660403132561.png
https://forum.antichat.xyz/attachments/4921312/1660403152007.png
Скачиваем и получаем репорт в красивом виде.
https://forum.antichat.xyz/attachments/4921312/1660403266253.png
Теперь перейдем к основной части этой статьи, инструменту для менеджмента уязвимостей, DefectDojo.
DefectDojo
Для управления разработкой и багфиксами во многих компаниях используются багтрекеры. Например, JIRA. Но писать все найденные уязвимости в JIRA руками, такое себе, поэтому была сделана JIRA для безопасников - DefectDojo. DefectDojo — это инструмент безопасности с открытым исходным кодом, который автоматизирует управление уязвимостями безопасности приложений. DefectDojo оптимизирует процесс тестирования безопасности приложений, предлагая такие функции, как импорт сторонних результатов проверок, слияние и удаление дубликатов, интеграцию с Jira, создание шаблонов, создание отчетов и многое другое.
Разработчики предоставляют различные варианты установки DefectDojo. Правильным считается использование бинарника - godojo. С его помощью DefectDojo устанавливается на диск как часть работающей ОС. Установщик обрабатывает запрошенную версию исходного кода и любые необходимые зависимости. Далее можно запустить docker compose и поднять всю систему в пару кликов.
Впрочем никто не мешает вам воспользоваться docker-compose из репозитория, получится то же самое.
Пощупать уже поднятый и наполненный сервис можно здесь. Именно на его основе мы рассмотрим основной функционал.
1. Dashboard. Вкладка содержит информацию о найденных/закрытых уязвимостях, активных работах, риски.
2. Products. По названию понятно, что это список наших продуктов/проектов.
https://forum.antichat.xyz/attachments/4921312/1660403487154.png
3. Engagements. Содержит в себе список проводимых работ, "мероприятий". Например, мануальный тест с использованием Burp, или автоматизированное сканирование с использованием Acunetix.
https://forum.antichat.xyz/attachments/4921312/1660403534484.png
4. Findings. Она содержит в себе информацию о найденных уязвимостях. Для наполнения этой вкладки можно использовать как ручной ввод, так и загрузку отчетов, сгенерированных специальными приложениями. Их можно классифицировать по серьезности: Critical, High, Medium, Low, and Informational (Info).
https://forum.antichat.xyz/attachments/4921312/1660403611357.png
5. Endpoints. Это тестируемые системы, определяемые IP-адресом или полным доменным именем.
6. Metrics. DefectDojo предоставляет визуализацию ряда метрик, чтобы помочь с отчетами, осведомленностью и иметь возможность быстро сообщать о позиции безопасности продуктов / типов продуктов.
Предусмотрены следующие представления метрик:
количество открытых ошибок по месяцам
количество принятых ошибок по месяцам
количество открытых ошибок по неделям
количество принятых ошибок по неделям
табличные данные о 10 лучших продуктах по степени серьезности ошибок
подробную разбивку всех обнаруженных ошибок
открытые результаты
Принятые найденные уязвимости
Закрытые найденные уязвимости
Тенденции количества открытых ошибок
Тенденции количества принятых ошибок
Возраст проблем.
7. Users. Список пользователей системы.
8. Calendar. Обеспечивает просмотр всех “мероприятий”, происходящих в течение отображаемого месяца. Каждая запись является прямой ссылкой на страницу просмотра Engagement.
Для примера давайте пройдем весь путь по оформлению бага.
Создаем новый продукт: Products -> Add Product. Заполняем все поля как вам нужно, я оставил значения по умолчанию.
https://forum.antichat.xyz/attachments/4921312/1660403824495.png
2. Дальше нам нужно создать некоторое “мероприятие”. Например, ручная проверка. Для этого переходим в проект и выбираем вкладку Engagements->Add New Interactive Engagement.
https://forum.antichat.xyz/attachments/4921312/1660403860808.png
Снова заполняем данные по необходимости, я выбрал по умолчанию. И вот мы создали “мероприятие”
https://forum.antichat.xyz/attachments/4921312/1660403896327.png
3. Начинаем ручную проверку с Burp. Для этого создадим новый тест. Данные заполняем на ваше усмотрение.
https://forum.antichat.xyz/attachments/4921312/1660403922567.png
4. Допустим мы находим XSS. Это нужно добавить.
https://forum.antichat.xyz/attachments/4921312/1660403960972.png
Тут есть два варианта - New Finding, где мы заполняем все с нуля, либо Finding From Template, и такие часто встречающиеся уязвимости как XSS лучше оформлять в Template. Но тут мы создадим через New Finding. И вот тут можно увидеть почему лучше создать template. Так как безопасность не терпит полумер, желательно заполнить все поля, тут и CWE, если вдруг нашли, CVSS рейтинг, естественно описание и шаги для воспроизведения, запрос и ответ. Что из этого вы будете заполнять дело ваше. Я заполнил только описание и шаги для воспроизведения, запрос и ответ, выбрал серьезность.
Готово! Вот таким образом вы добавляете все уязвимости. Но это для ручных находок. Плюс DefectDojo это возможность парсить репорты от автоматических инструментов. Например, от Nmap:
https://forum.antichat.xyz/attachments/4921312/1660404007419.png
К сожалению, он ничего не нашел
https://forum.antichat.xyz/attachments/4921312/1660404036298.png
Но если бы нашел, то в Findings можно было бы увидеть разбитые по категориям найденные “уязвимости”.
5. Генерация отчета. Products->Наш продукт -> Product Report
https://forum.antichat.xyz/attachments/4921312/1660404103948.png
Результат:
https://forum.antichat.xyz/attachments/4921312/1660404131793.png
Возможностей у этого инструмента невероятное количество, он хорош для менеджмента уязвимостей. Но его внедрение и использование сопряжено с некоторыми трудностями. Как с введением любого инструмента для менеджмента, в первую очередь нужно убедить людей, что менеджмент уязвимостей вообще необходим, а дальше составить Workflow работы и строго следовать ему, а это совсем не легко.
Поэтому отдельно стоит отметить интеграцию с JIRA. Интеграция DefectDojo с JIRA является двунаправленной. Вы можете отправлять результаты в JIRA и делиться комментариями. Если задача закрыта в JIRA, она автоматически будет закрыта в Dojo.
Настройка веб хуков в JIRA и в DefectDojo. Таким образом, каждая команда будет работать в своем багтрекере, которые будут связаны.
Кроме того, поддерживается аутентификация через LDAP и OAuth2/SAML2, так же есть синхронизация с Google-таблицами. Есть даже плагин для Burp Suite.
На этом все, спасибо за внимание и уделенное время!