• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Статья DevSecOps. Эпизод 2. Менеджмент Уязвимостей.

DevSecOps.png


Доброго времени суток!
  1. DevSecOps. Начало

  2. DevSecOps. DevOps (ч.1)

  3. SSDLC

  4. DevSecOps. Эпизод 1. Скрытые угрозы


1660403423052.png


PS: В прошлой статье забыл упомянуть о таком крайне важном инструменте, как OAST или SCP.

OAST - Open Source Application Security Testing. При внедрении DevSecOps, это, наверное самое важное. Ведь внедрение этого инструмента самое простое и безболезненное, а пользы от него довольно много. Актуальность анализа открытых источников связана с тем, что сложность современных приложений не позволяет разрабатывать все самим и с нуля. Использовать готовые библиотеки больше не признак лени, а острая необходимость.

Из инструментов стоит выделить инструмент Snyk. Компания, которая его разработала и поддерживает, следит за трендами в безопасности.

1660403132561.png


1660403152007.png


Скачиваем и получаем репорт в красивом виде.
1660403266253.png


Теперь перейдем к основной части этой статьи, инструменту для менеджмента уязвимостей, DefectDojo.

DefectDojo​


Для управления разработкой и багфиксами во многих компаниях используются багтрекеры. Например, JIRA. Но писать все найденные уязвимости в JIRA руками, такое себе, поэтому была сделана JIRA для безопасников - DefectDojo. DefectDojo — это инструмент безопасности с открытым исходным кодом, который автоматизирует управление уязвимостями безопасности приложений. DefectDojo оптимизирует процесс тестирования безопасности приложений, предлагая такие функции, как импорт сторонних результатов проверок, слияние и удаление дубликатов, интеграцию с Jira, создание шаблонов, создание отчетов и многое другое.

Разработчики предоставляют различные варианты установки DefectDojo. Правильным считается использование бинарника - godojo. С его помощью DefectDojo устанавливается на диск как часть работающей ОС. Установщик обрабатывает запрошенную версию исходного кода и любые необходимые зависимости. Далее можно запустить docker compose и поднять всю систему в пару кликов.

Впрочем никто не мешает вам воспользоваться docker-compose из репозитория, получится то же самое.

Пощупать уже поднятый и наполненный сервис можно . Именно на его основе мы рассмотрим основной функционал.

1. Dashboard. Вкладка содержит информацию о найденных/закрытых уязвимостях, активных работах, риски.

2. Products. По названию понятно, что это список наших продуктов/проектов.

1660403487154.png


3. Engagements. Содержит в себе список проводимых работ, "мероприятий". Например, мануальный тест с использованием Burp, или автоматизированное сканирование с использованием Acunetix.

1660403534484.png


4. Findings. Она содержит в себе информацию о найденных уязвимостях. Для наполнения этой вкладки можно использовать как ручной ввод, так и загрузку отчетов, сгенерированных специальными приложениями. Их можно классифицировать по серьезности: Critical, High, Medium, Low, and Informational (Info).

1660403611357.png


5. Endpoints. Это тестируемые системы, определяемые IP-адресом или полным доменным именем.

6. Metrics. DefectDojo предоставляет визуализацию ряда метрик, чтобы помочь с отчетами, осведомленностью и иметь возможность быстро сообщать о позиции безопасности продуктов / типов продуктов.
Предусмотрены следующие представления метрик:
  • количество открытых ошибок по месяцам
  • количество принятых ошибок по месяцам
  • количество открытых ошибок по неделям
  • количество принятых ошибок по неделям
  • табличные данные о 10 лучших продуктах по степени серьезности ошибок
  • подробную разбивку всех обнаруженных ошибок
  • открытые результаты
  • Принятые найденные уязвимости
  • Закрытые найденные уязвимости
  • Тенденции количества открытых ошибок
  • Тенденции количества принятых ошибок
  • Возраст проблем.
7. Users. Список пользователей системы.

8. Calendar. Обеспечивает просмотр всех “мероприятий”, происходящих в течение отображаемого месяца. Каждая запись является прямой ссылкой на страницу просмотра Engagement.

Для примера давайте пройдем весь путь по оформлению бага.
  1. Создаем новый продукт: Products -> Add Product. Заполняем все поля как вам нужно, я оставил значения по умолчанию.

1660403824495.png


2. Дальше нам нужно создать некоторое “мероприятие”. Например, ручная проверка. Для этого переходим в проект и выбираем вкладку Engagements->Add New Interactive Engagement.

1660403860808.png


Снова заполняем данные по необходимости, я выбрал по умолчанию. И вот мы создали “мероприятие”

1660403896327.png


3. Начинаем ручную проверку с Burp. Для этого создадим новый тест. Данные заполняем на ваше усмотрение.

1660403922567.png


4. Допустим мы находим XSS. Это нужно добавить.

1660403960972.png


Тут есть два варианта - New Finding, где мы заполняем все с нуля, либо Finding From Template, и такие часто встречающиеся уязвимости как XSS лучше оформлять в Template. Но тут мы создадим через New Finding. И вот тут можно увидеть почему лучше создать template. Так как безопасность не терпит полумер, желательно заполнить все поля, тут и CWE, если вдруг нашли, CVSS рейтинг, естественно описание и шаги для воспроизведения, запрос и ответ. Что из этого вы будете заполнять дело ваше. Я заполнил только описание и шаги для воспроизведения, запрос и ответ, выбрал серьезность.

Готово! Вот таким образом вы добавляете все уязвимости. Но это для ручных находок. Плюс DefectDojo это возможность парсить репорты от автоматических инструментов. Например, от Nmap:

1660404007419.png


К сожалению, он ничего не нашел

1660404036298.png


Но если бы нашел, то в Findings можно было бы увидеть разбитые по категориям найденные “уязвимости”.

5. Генерация отчета. Products->Наш продукт -> Product Report

1660404103948.png


Результат:

1660404131793.png


Возможностей у этого инструмента невероятное количество, он хорош для менеджмента уязвимостей. Но его внедрение и использование сопряжено с некоторыми трудностями. Как с введением любого инструмента для менеджмента, в первую очередь нужно убедить людей, что менеджмент уязвимостей вообще необходим, а дальше составить Workflow работы и строго следовать ему, а это совсем не легко.

Поэтому отдельно стоит отметить интеграцию с JIRA. Интеграция DefectDojo с JIRA является двунаправленной. Вы можете отправлять результаты в JIRA и делиться комментариями. Если задача закрыта в JIRA, она автоматически будет закрыта в Dojo.
. Таким образом, каждая команда будет работать в своем багтрекере, которые будут связаны.

Кроме того, поддерживается аутентификация через LDAP и OAuth2/SAML2, так же есть синхронизация с Google-таблицами. Есть даже плагин для Burp Suite.

На этом все, спасибо за внимание и уделенное время!
 
Последнее редактирование модератором:
  • Нравится
Реакции: EvaSpring

AVA

Green Team
07.01.2022
10
37
BIT
0
В чате в телеграмме написали, что не раскрыта причина выбора Snyk и чем он лучше остальных инструментов.
Мой косяк, построил предложение так, будто у нас есть выбор, так вот, его у нас нет) Snyk - единственный качественный универсальный инструмент. Кто-то скажет, а как же Dependency Check от Owasp, но он, как и почти все Open Source ПО, просто не дотягивает до уровня коммерческого инструмента.
 

zakrush

Well-known member
21.03.2018
81
118
BIT
0
В чате в телеграмме написали, что не раскрыта причина выбора Snyk и чем он лучше остальных инструментов.
Мой косяк, построил предложение так, будто у нас есть выбор, так вот, его у нас нет) Snyk - единственный качественный универсальный инструмент. Кто-то скажет, а как же Dependency Check от Owasp, но он, как и почти все Open Source ПО, просто не дотягивает до уровня коммерческого инструмента.
Dependency Track вполне себе норм продукт. С API вокруг которого можно накрутить автоматизацию и логику. К сожалению в текущих ситуациях в РФ например Snyk не лучший вариант, т.к. проблемы с оплатой + возможные костыли с доступом. Или бан как это сделали Sonatype. Кстати их инструмент один из лучших и имел такие фишки, что он в nexus изначально не пускает уязвимые пакеты пока ты не проанализируешь их.
 

AVA

Green Team
07.01.2022
10
37
BIT
0
Когда они добавили? Не было такого. Надо было пересобирать DefectDojo с доп модулем.
Получается, она все таки есть, просто не из коробки)
В подробная инструкция как это сделать, вроде не должно возникнуть сложностей)

Dependency Track вполне себе норм продукт. С API вокруг которого можно накрутить автоматизацию и логику. К сожалению в текущих ситуациях в РФ например Snyk не лучший вариант, т.к. проблемы с оплатой + возможные костыли с доступом. Или бан как это сделали Sonatype. Кстати их инструмент один из лучших и имел такие фишки, что он в nexus изначально не пускает уязвимые пакеты пока ты не проанализируешь их.
Кстати, да, Dependency Track, неплохая альтернатива.
 

robdollard

Green Team
02.05.2018
65
68
BIT
13
Что у нас появилось за это время для менеджмента уязвимостей? Наши как то подсуетились? DefectDojo при нагрузке какойто это просто ад. Snyk подошел бы идеально. Но как мы все знаем в текущих реалиях не подойдет. Есть у кого опыт использования наших оркестраторов в этом направлении?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!