Архив метки: Vulnsio

Хочется немного поиграться с непосредственным детектом уязвимостей - проект Vuldetta

Хочется немного поиграться с непосредственным детектом уязвимостей - проект Vuldetta

Хочется немного поиграться с непосредственным детектом уязвимостей - проект Vuldetta. С 2021 года я работаю над открытым проектом сканера уязвимостей Scanvus для Linux хостов и docker-образов. И с ним всё отлично, кроме того, что он сам уязвимости не детектирует. 😅 Он собирает пакеты и версию дистриба, но для детектирования использует внешние коммерческие API-шки: Vulners Linux API или VulnsIO API. А оно стоит денег и это, естественно, снижает привлекательность утилиты. 🤷‍♂️

Можно ли сделать так, чтобы Scanvus работал без использования коммерческих API? Можно. И тут видятся 2 пути:

🔹 Первый путь - это добавить детектирование уязвимостей непосредственно в Scanvus. Мне это не очень нравится. Мне нравится концепция такого "безмозглого" нейтрального сканера, который может использовать различную внешнюю экспертизу в зависимости от потребностей.

🔹 Второй путь - это сделать некоторый аналог Vulners Linux API или VulnsIO API, который можно было бы развернуть локально в организации и использовать для детекта уязвимостей хотя бы для некоторых Linux дистрибутивов. Понимая, безусловно, что коммерческий сервис будет, скорее всего, поддерживать большее количество дистрибутивов и, возможно, будет даже лучше детектировать. Но от бесплатной свободной альтернативы хуже не будет.

Собственно второй путь и есть Vuldetta. Взять готовые формализованные правила детекта (после возни с OVAL-контентом для Debian я смотрю теперь в сторону OVAL-контента для Ubuntu), разобрать их во что-нибудь простое и удобное для работы (Bulletin|CVE_Number|Distribution_Version|Package_Name|Package_Version), сделать API-шку-сравнивалку версии на хосте с безопасными версиями из OVAL-контента.

Вроде выглядит как изян. А на выходе может получиться штука, которую как минимум можно будет использовать для валидации качества детектирования коммерческих сканеров уязвимостей, а как максимум возможно даже в проде где-то использовать. А так как лицензия будет MIT, то это даже можно будет встроить куда-нибудь как альтернативу жуткому фолсящему Trivy. 😅 И будет на чём тестовый контент для Vulremi генерить опять же. 🙂

VulnsIO добавили гибкую работу с API-токенами в веб-интерфейсе

VulnsIO добавили гибкую работу с API-токенами в веб-интерфейсе

VulnsIO добавили гибкую работу с API-токенами в веб-интерфейсе. 👍 Поправил свой пост про экспорт уязвимостей из VulnsIO и скрипт.

Также на прошлой неделе разобрался как экспортировать уязвимости из on-prem инсталляции VulnsIO через API

Также на прошлой неделе разобрался как экспортировать уязвимости из on-prem инсталляции VulnsIO через API

Также на прошлой неделе разобрался как экспортировать уязвимости из on-prem инсталляции VulnsIO через API. Описания RestAPI в паблике пока нет, т.к. оно сейчас в активной разработке. Запрашивайте через поддержку, скинут очень качественно описанный swagger-файл. 👍 Экспортировать уязвимости просто:

1. API доступен по 443 порту, где и web-интерфейс - удобно. upd 01.09. Теперь ключ выпускается в веб-интерфейсе. Прописываем ключ в x-api-key хидер.

2. Забираем список всех активов. Одним запросом без пагинации.

3. Для каждого актива можно получить список аудитов (сканов). Получаем последний скан через .

4. Разбираем ссылки на CVE в vulnerableObjects.

📄 Выкладываю python-скрипт, в котором формирую дикт, где для каждого хостнейма хранится список cve-шек и дата сканирования.

В общем, хорошая интуитивная API-шка. 👍 Накидал скрипт очень быстро и без затыков.

Как я тестил VulnsIO on-prem

Как я тестил VulnsIO on-prem

Как я тестил VulnsIO on-prem. Установка простая. Нужна Linux-овая виртуалка, на неё ставим docker и docker-compose. Затем скачиваем с официального сайта консольную утилиту vio-installer. Отвечаем на вопросы в текстовом интерфейсе и через минут 5 получаем развернутое VM-решение с web-интерфейсом. 👍

Из подводных камней можно отметить то, что инсталлеру нужен доступ не только до vulns.io, но и до некоторых других внешних registry для скачивания образов. Не все требуемые доступы сейчас описаны в руководстве. Пришлось несколько раз запускать инсталлер и дозаказывать доступы от виртуалки наружу. Также были проблемы со скачиванием некоторых образов. Видимо проблемы были на стороне окружения, всё решилось ограничением количества одновременных потоков на уровне docker-демона:

/etc/docker/daemon.json

{
  "max-concurrent-downloads" : 1
}

Но это всё мелочи.

Помимо безагентного сканирования, VulnsIO поддерживает также честное агентное сканирование. Т.е. на таргет-хосты можно поставить агенты, которые будут сами подключаться к on-prem серверу VulnsIO по 443 порту и периодически скидывать туда данные для расчета уязвимостей (можно и принудительно обновить данные через задачу на аудит). Подход +- как у Qualys с легковесными агентами. Агенты обновляются сами. Аутентификации агента на доменные учётки не завязана. В общем, тут всё удобно и работает так, как ожидается.

При сравнении со ScanOVAL для тестового Windows Server хоста и тот, и другой надетектировал около 2000 CVE. При этом пересечение получилось 68%. Есть по ~ 300-400 CVE, которые детектируются одним из средств, а другим нет. 🤷‍♂️ С чем связаны расхождения это вполне себе повод для дальнейшего ресерча и общения с вендором, но то, что совпадает сильно больше половины, это уже неплохо. 😉

Разбираю ответы на мои вопросы с эфира AM Live по Vulnerability Management-у

Разбираю ответы на мои вопросы с эфира AM Live по Vulnerability Management-у

Разбираю ответы на мои вопросы с эфира AM Live по Vulnerability Management-у. Часть 3/3. Поддержка методик ФСТЭК.

Про последние три вопроса распишу вместе. Каверзность их в том, что по-хорошему на них можно ответить только "да, мы поддерживаем", либо "нет, мы не поддерживаем, потому что не хотим или не можем". В любом случае для клиента польза: либо готовая автоматизация процесса так, как это требует регулятор, либо публичная обратная связь для актуализации методик.

> 5. Что вы думаете о проекте "Руководства по управлению уязвимостями программного обеспечения и программно-аппаратных средств в органе (организации)" ФСТЭК? Ваше VM-решение позволит работать по этому процессу?

Сложно комментировать поддержку документа, который на момент эфира существовал только в проекте (но сейчас уже официально опубликован). 🙂 По факту обсуждения руководства и не было. Был только ответ Сергея Уздемира из АЛТЭКС-СОФТ (1:07:37), что есть такой документ и с ним нужно ознакомиться. В своем ответе Сергей упомянул также и методику оценки критичности уязвимостей ФСТЭК. Поэтому когда последовал следующий вопрос "насколько вы в своих решениях сейчас им [методикам] соответствуете?", то представители VM-вендоров стали отвечать про методику оценки критичности, а про руководство по управлению уязвимостями больше не вспоминали. 😉 А жаль, в руководстве есть что пообсуждать.

> 3. Ваше VM-решение позволяет проводить приоритизацию уязвимостей с использованием "Методики оценки уровня критичности уязвимостей программных, программно-аппаратных средств" ФСТЭК?

Ответ начиная с 1:10:05. Четыре вендора заявили о поддержке этой методики. Для Positive Technologies MaxPatrol VM я смотрел текущую реализацию, для R-Vision VM, АЛТЭКС-СОФТ RedCheck и Фродекс VulnsIO пока нет.

Основной проблемой видится то, что для приоритизации по методике ФСТЭК необходимо каким-то образом получать Temporal и Environmental метрики CVSS. Теоретически это можно как-то автоматически генерировать из дополнительной информации об уязвимостях и инфраструктуре, но на практике я пока этого не видел. Так что если вам будут рассказывать про реализацию этой методики, то задавайте вопросы про CVSS. 😉

> 4. Когда ваше VM-решение рекомендует установку апдейтов западного софта, учитывается ли при этом "Методика тестирования обновлений безопасности программных, программно-аппаратных средств" ФСТЭК? Является ли тестирование обновлений по методике частью VM-процесса?

Напрямую этот вопрос не задавался, но темы проверки обновлений несколько раз касались. Причем в основном при обсуждении автопатчинга. В том смысле, что автопатчинг вещь может и хорошая, но необходимость проверки обновления западного ПО как в рамках алгоритма НКЦКИ, так и по методологии ФСТЭК никто не отменял (2:29:29). И там же была реплика "Но это же не наша зона ответственности, по идее это зона ответственности IT" (2:30:15). Это конечно же не так, потому что IT уж точно не смогут оценить безопасность патчей по сложному процессу.

Поэтому варианта 2: либо VM-вендор возьмет задачу анализа обновлений на себя, либо это так и останется проблемой на стороне клиента.

В 2:51:02 Владимир Михайлов из Фродекс/VulnsIO предложил идею проверки обновлений на стороне гипотетического консорциума VM-вендоров: "заказчик, перед тем как накатить патч, установить новую версию ПО, должен проверить его по рекомендациям ФСТЭК. Он маловероятно это сам сделает. Ни один из VM-вендоров это тоже самостоятельно не сделает. Но если мы объединимся под крышей того же БДУ ФСТЭК, мы теоретически сможем собирать базу проверенных обновлений". Причем более полном виде, чем это есть сейчас в БДУ. Очень хотелось бы, чтобы из этой идеи что-то получилось. 🙏

Часть 2

Управление уязвимостями в новых реалиях

Управление уязвимостями в новых реалиях. Крутой доклад по VM-ной теме с недавно прошедшего Инфофорума. Представлял доклад Андрей Никонов, старший инженер-программист из Фродекс (Vulns.io). Видео в паблике не нашел, но есть даже лучше - слайды с текстом выступления.

Выписал тезисно:

1. Зарубежные VM-вендоры ушли - нет детектов, IT-вендоры ушли - нет обновлений.
2. Атаки на российские компаний множатся, утечки ПД и оборотные штрафы.
3. Рост отечественного ПО -> рост проблемы анализа защищенности этого ПО -> "VM-решения должны уметь работать с операционными системами и программами российского происхождения".
4. В достаточной степени отечественные VM-решения поддерживают отечественное ПО? Непонятно. "Никто открыто не публикует списки поддерживаемых ПО и не дает внятных ответов по степени покрытия российского софта".
5. Необходимы данные об уязвимостях отечественного ПО.
5.1. Западные компании "публикуют уязвимости, найденные в своих продуктах, причем эти данные являются общедоступными, несмотря на то, что большая часть ПО является коммерческим".
5.2. "Данные NVD также являются общедоступными, содержат огромное количество уязвимостей, но для проведения точного аудита годятся мало. В основном из-за того, что они используют собственный формат данных, и в них не указаны правила, по которым можно определить, является ПО уязвимым или нет". -> Ага, детект по CPE-шкам это зло.
5.3. Все ли вендоры одинаково описывают свои уязвимости? Далеко не все. OVAL стал довольно популярным. Но этого недостаточно.
5.4. У нас хорошие источники это БДУ ФСТЭК и OVAL RedOS. "Остальные вендоры, если и публикуют свои данные, то в намного более расслабленном режиме – обычно это выглядит как лента новостей или запись в блоге. Это очень сильно усложняет их обработку. Более того, не все вендоры публикуют данные открыто, хотя некоторые из них готовы предоставить данные по запросу или в случае приобретения сертификата на техническую поддержку."
5.5. Для прикладного ПО из 65 вендоров в базе ФСТЭК 3 публикуют данные об уязвимостях. А в реестре российского ПО 16000 программных продуктов!
5.6. Одной БДУ ФСТЭК недостаточно, т.к. "не указываются правила применимости той или иной уязвимости, для сканирования использовать эти данные проблематично". Данные в БДУ могут добавляться с запаздыванием, данные не всегда актуальны. Напрямую от вендора было бы быстрее.
6. Итог: "обратить внимание разработчиков российского ПО на важность поиска уязвимостей в своих продуктах, и выпуска обновлений безопасности".
Просьбы к регулятору:
"- принять единый стандарт описания уязвимостей или разработать собственный
- обязать разработчиков ОС и ПО вести базы данных уязвимостей в соответствии с принятым стандартом
- оказывать содействие компаниям при организации мероприятий Bug Bounty при условии публикаций найденных уязвимостей в базу ФСТЭК"

В целом, огонь! 🔥 Как раз такие доклады от VM-вендора и хочется видеть. Конкретно про детект уязвимостей и как делать его лучше. Очень сильно перекликается с моими собственными мыслями по этому поводу. Хочется надеяться, что регулятор прислушается.

Картинка "Средства Детектирования Уязвимостей Инфраструктуры (СДУИ)" в рамках проекта карты российских около-VM-ных вендоров

Картинка Средства Детектирования Уязвимостей Инфраструктуры (СДУИ) в рамках проекта карты российских около-VM-ных вендоров

Картинка "Средства Детектирования Уязвимостей Инфраструктуры (СДУИ)" в рамках проекта карты российских около-VM-ных вендоров.

Помимо логотипов добавил краткие характеристики благодаря каким продуктам каждый из вендоров попал в категорию. Характеристику не нужно воспринимать как описание всех особенностей и возможностей продукта! Тем более не стоит сравнивать продукты между собой только на основе этой характеристики. Если расписывать как каждый продукт детектирует уязвимости, какие именно системы в какой степени поддерживает, какие уникальные проверки и фичи реализует, то по каждому можно книгу написать, а то и не одну. Оставим это маркетологам уважаемых вендоров. 🙂 Здесь задача была другая.

Если какого-то вендора забыл в этой категории или есть вопросы по характеристикам, пишите в личку - обсудим, добавлю/поправлю.