Смотрим шире. Бесплатные инструменты для комплексной работы с уязвимостями

»‎Чем можно контролировать уязвимости? Подскажи, плиз», — обратился недавно знакомый. Вроде ничего странного. Но к концу обсуждения я вдруг понял, что человек ждет список инструментов, которые только находят и закрывают уязвимости.  

88b8ce3d5c38f9936160d2f194b983f0.png

Сел гуглить. Оказалось, что почти всегда работа с уязвимостями, судя по статьям в интернете, ограничивается только обнаружением и закрытием дыр. Хотя на практике это далеко не так — задач намного больше. 

В общем, сегодня поговорим о том, какие системы помогают работать с уязвимостями комплексно, на всех этапах жизненного цикла — от обнаружения до устранения.

Дикслеймер: Решений для управления уязвимостями много. В статью вошли только opensource-инструменты. Причем далеко не все: я не стал рассматривать продукты, которые не коммитились более двух лет. Думаю, понятно почему.

Но сначала о терминах

Управление уязвимостями (vulnerability management) — непрерывный процесс выявления и устранения уязвимостей в инфраструктуре компании. И он требует инструментов, которые способны работать на всех этапах: от инвентаризации активов и выявления уязвимостей до их устранения и выработки рекомендаций. 

Весь этот функционал несут в себе платформы управления уязвимостями (vulnerability management tools). Благодаря им можно работать централизованно. В одном интерфейсе пользователи видят данные об уязвимостях из разных систем, могут приоритизировать их, отслеживать жизненный цикл вплоть до контроля устранения. 

Многие считают, что сканеры — это тоже vulnerability management tools. Как видите, нет — они только находят дыры. Vulnerability management tools делают больше. Они выполняют все задачи, которые только начинаются с обнаружения уязвимости. 

На практике разница между классами инструментов колоссальная. Одно дело — когда раз в неделю вы получаете многостраничный отчет с найденными уязвимостями и пытаетесь понять, что с этим всем делать (чаще ничего не делается, кстати).  Другое — вы открываете приложение, в котором видите всю картину разом. Причем тут же можно отфильтровать важные уязвимости, изучить какие-то подробнее, а заодно еще и отследить, когда и как именно они были закрыты. 

Что этот »‎джанго» себе позволяет

038ebf616ed0c612d8d758da440225ac.png

Да много чего. Вообще django-DefectDojo заявлен как DevSecOps-платформа. Она, по описанию разработчика, позволяет управлять багами и уязвимостями на протяжении всего жизненного цикла проекта. Понятное дело, продукт интегрируется в CI/CD. 

04a5fb0f187c21ded7dbc433df5df29c.png

Из плюшек: есть интеграция с популярными решениями для динамического и статического тестирования безопасности приложений (DAST, SAST), анализа состава ПО (CSA) и моделирования угроз. В итоге все, что нужно для контроля уязвимостей и отслеживания их статусов, находится в одном месте. 

У решения есть обе редакции — и community, и enterprise. 

Чем заряжен Фарадей

1976a078debef56a7f571e0ed73d22e2.png

Faraday позиционируется аналогично предыдущему продукту — как платформа управления уязвимостями с открытым исходным кодом. И тоже встраивается в CI/CD, в том числе через GitHub, Jenkins, TravisCI и Gitlab. 

c2934e8da5889764f1f2a4f814502031.png

Что здесь интересного: Faraday не только обменивается данными об уязвимостях с большим списком систем. Он сам отдает команды на сканирование: разработчик написал плагины для интеграции с разными системами, которые используются для поиска уязвимостей. Из окна Faraday можно запустить базовые задачи по сканированию, причем без перехода в интерфейс сканера.

У продукта также есть коммерческая редакция. 

VMC по уязвимостям

d15a0b7333b605797d18b77b81557438.png

Еще один инструмент контроля уязвимостей — Vulnerability Management Center (VMC). Решение разработано и поддерживается под эгидой OWASP. 

7b2355361a07c8246332dabdf4e6047e.png

Плюсы: если нужно управлять инцидентами, можно интегрироваться с опенсорсным сервисдеском для ИБ-специалистов TheHive, если нужна инвентаризация ресурсов — с Ralph. В качестве интерфейса для визуализации используется привычная Kibana, а для сканирования уязвимостей — знакомые многим Nessus и OpenVAS.

К слову, у OWASP VMC есть белорусский конкурент — система управления уязвимостями Fenix-VM. В описании платформы указано: «ВАЖНО! Это не сканер уязвимостей! ‎». Судя по двум восклицательным знакам и жирному шрифту, понятия путают не только в России :) 

MetaHub и все-все-все 

18532dccab6a726af34f116500f787e5.png

Если хотите полноценно управлять уязвимостями в среде AWS, рекомендую MetaHub. Решение интегрируется с AWS Security Hub. 

Из важного: инструмент умеет рассчитывать критичность найденной уязвимости, полагаясь на известные данные о проекте. Критериями оценки можно управлять: использовать фильтры, сортировать, подгружать новые и т.д.

7c6f813d0c61ec5d74463c5c9d4c4dbe.png

Бывают ситуации, когда нужно разобраться с уязвимостями в репозиториях. С этой задачей справляется Octovy со встроенным сканером Trivy. 

И наконец, есть неплохой бесплатный инструмент PeCoReT. Он зашел на рынок с другой стороны — как решение для атакующих команд (RedTeam). Он автоматически генерирует отчеты о пентесте и помогает мониторить найденные уязвимости на всех стадиях работы с ними. 

31d4cfd32d54f43544a5a68aba04e53a.png

Платной версии PeCoReT нет — продукт абсолютно опенсорсный, можно подключать любое количество пользователей и проектов одновременно. 

А теперь о главном

Казалось бы, вот они слева направо — все решения для комплексной работы с уязвимостями. Бесплатные, лежат на Гитхабе. Просто берешь и инсталлируешь. 

Но на практике установки мало: инструментами для управления и самим процессом нужно управлять. Все важные решения по уязвимостям все равно определяет человек, пусть даже разово — при настройке правил. От знаний и опыта пользователя порой зависит намного больше, чем от функциональности инструмента. 

К чему эти рассуждения? Да к тому, что иногда лучше передавать управление уязвимостями профессионалам. Особенно если голова и руки постоянно заняты другими, более срочными и важными, делами.

© Habrahabr.ru