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

Посмотрел выпуск Application Security Weekly с Emily Fox про Vulnerability Management

Посмотрел выпуск Application Security Weekly с Emily Fox про Vulnerability Management

Посмотрел выпуск Application Security Weekly с Emily Fox про Vulnerability Management. Как это сейчас модно, ведущие и гостья накидывали в ту сторону, что известных уязвимостей сейчас слишком много, реально эксплуатируются из них 3-4%, а поэтому исправлять нужно не все уязвимости. А чтобы понимать, что именно не нужно исправлять, требуется

🔹 Учитывать слои безопасности препятствующие эксплуатации уязвимости.
🔹 Учитывать зависимость риска эксплуатации от типа уязвимого актива.
🔹 Оценивать вероятность эксплуатации в контексте конкретной организации.

Тут как бы слова-то все хорошие, и я даже с ними бы согласился. Но только откуда возьмутся надёжные знания (об уязвимостях, инфраструктуре, механизмах безопасности) и инструменты для их обработки, чтобы это всё работало надёжно?

Чтобы можно было бы дать руку на отсечение, что вот эту уязвимость исправлять 100% не нужно и эта уязвимость никогда не будет активно эксплуатироваться в атаках. 🙋‍♂️ И проделывать это не для одной уязвимости, а массово. Есть такие смельчаки с лишними руками? Имхо, если ты не готов так делать, то не должен и утверждать, что какие-то уязвимости можно оставить без исправления.

Если уязвимость (даже потенциально) есть и она может быть исправлена обновлением, то она ДОЛЖНА быть исправлена обновлением. Планово или быстрее, чем планово. Но исправлять нужно всё. При этом отказ от уязвимых активов, софтов, компонентов, образов это вполне себе хороший способ исправления. Чем меньше поверхность атаки, тем лучше. Если обновляться по каким-то причинам сложно и больно, то в первую очередь нужно решать с этим вопрос. А почему это сложно и больно? Что не так с базовыми процессами организации, что мы не можем обновляться? Может в сторону более правильной архитектуры нужно посмотреть?

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

Весьма симптоматично, кстати, что в этом эфире рекомендовали использовать EPSS для выборки наиболее потенциально опасных уязвимостей. 🤦‍♂️ Инструмент, который, к моему глубокому сожалению, просто не работает и показывает низкие значения вероятности появления эксплоита для активно эксплуатирующихся уязвимостей и высокие значения для тех уязвимостей, эксплоиты для которых не появляются годами. 🤷‍♂️

Посмотрите например в моём отчёте Vulristics для Февральского Microsoft Patch Tuesday. Elevation of Privilege - Windows Kernel (CVE-2024-21338) в CISA KEV, а значения EPSS у неё низкие (EPSS Probability is 0.00079, EPSS Percentile is 0.32236). 🤡 С тем же успехом можно на кофейной гуще гадать, может даже эффективнее будет. Поэтому и остальная "магия триажа" также вызывает скепсис.

Ещё раз:

🔻 Исправлять нужно все продетектированные уязвимости в соответствии с рекомендациями вендора.
🔻 В первую очередь нужно исправлять то, что реально эксплуатируется в атаках или будет эксплуатироваться в ближайшее время (трендовые уязвимости).

24 марта стартует второй набор онлайн-практикума по Управлению Уязвимостями от Positive Technologies

24 марта стартует второй набор онлайн-практикума по Управлению Уязвимостями от Positive Technologies

24 марта стартует второй набор онлайн-практикума по Управлению Уязвимостями от Positive Technologies. Программу существенно расширили и улучшили. Стало вообще круто! 🙂

Я записал для него сегодня 2 новых модуля:

🔹 Построение Vulnerability Management-системы на основе open source и freeware компонентов. 🆓 Какие инструменты можно использовать для детектировании и приоритизации уязвимостей, а также визуализации состояния инфраструктуры. Какие там есть подводные камни. 🪨

🔹 Сканирование сетевого периметра. От понимания, что такое периметр в организации, к тому, как организовать регулярное сканирование и исправление уязвимостей. 📊

В этот раз читал заранее подготовленный текст с суфлёра, так что должно получиться чётенько. 🙂

➡️ Записывайтесь на практикум, рекомендуйте друзьям.

Здесь ещё официальный пост про него.

Прожектор по ИБ, выпуск №23 (18.02.2024): Прощальный рэп

Прожектор по ИБ, выпуск №23 (18.02.2024): Прощальный рэп

🔸 Александр Леонов, "Управление уязвимостями и прочее"
🔸 Лев Палей, "Вести из Палей"

00:00 Здороваемся, смотрим статистику, Лев рассказывает почему больше не будет участвовать в Прожекторе по ИБ 😔
02:23 Дайджест трендовых уязвимостей за январь 2024 от Positive Technologies
05:22 Новый бэкдор для Ivanti Connect Secure и анализ апплаенса Ivanti
10:42 Февральский Microsoft Patch Tuesday, ошибочный временный взлёт RCE Outlook и взлёт уязвимости Exchange
15:17 Фишинговые рассылки на тему выплат за детей от 3 до 16 лет
18:24 Cтатистика по мошенничествам на сервисах знакомств в День святого Валентина
20:40 0day уязвимость EventLogCrasher в Windows
25:50 Драфт "Методики оценки показателя состояния технической защиты информации и обеспечения безопасности значимых объектов критической информационной инфраструктуры Российской Федерации" в контексте Управления Уязвимостями
34:35 Обсуждение руководства по управлению уязвимостями от британских регуляторов
38:37 🎤 Лев зачитывает прощальный рэп, вспоминаем/осуждаем Peiter Zatko (бывший CISO Twitter)

💂 От наших регуляторов к британским: NCSC опубликовали руководство по Vulnerability Management-у для организаций

💂 От наших регуляторов к британским: NCSC опубликовали руководство по Vulnerability Management-у для организаций

💂 От наших регуляторов к британским: NCSC опубликовали руководство по Vulnerability Management-у для организаций. Приятный документ. Написан по-человечески и с прогрессивной позиции. Бальзам на душу. 😇

❗️ В введении подчеркивают: Управление Уязвимостями требуется для контроля как хорошо в вашей организации работает процесс обновления ПО и безопасное конфигурирование. Обновление ПО должно быть регулярным процессом, а не чем-то исключительным и по требованию. Хотя они и признают: многие организации сейчас исповедуют принцип "работает - не трогай". Но это нужно изживать.

Кажется, что документ настолько хорош, что его можно переносить на российские реалии практически без изменений. 🤔

Пока ограничусь весьма вольным переводом Пяти основных принципов:

🔸 Установите политику безусловных обновлений (update by default). Применяйте обновления как можно скорее, в идеале автоматически. Старайтесь укладываться по времени в рекомендуемые сроки обновления в зависимости от типа актива.

🔸 Определите свои активы. Вы должны понимать какие системы и ПО имеются в вашей инфраструктуре (technical estate), какие уязвимости в них присутствуют и какие люди за них отвечают.

🔸 Сортируйте (triaging) и приоритизируйте уязвимости. ❗️ Это требуется для уязвимостей и мисконфигураций, которые не исправляются простым обновлением до последней версии. Т.е. это не для всех уязвимостей, а для относительно небольшой части нетипичных и проблемных.

🔸 Организация должна взять на себя риски необновления. Иногда могут быть веские причины не обновляться. Но принимать решение по такому риску должны ТОПы (senior-level). И это решение должно рассматриваться в контексте Управления Рисками организации. В общем, пусть ТОПы явно подпишутся, что понимают последствия - может в процессе и поменяют своё мнение. 😉

🔸 Проверяйте и регулярно анализируйте свой процесс Управления Уязвимостями. Ваш процесс управления уязвимостями должен постоянно развиваться, чтобы идти в ногу с изменениями в состоянии вашей организации, новыми угрозами или новыми уязвимостями. Быстрее-выше-сильнее и т.д. 🙂

Дальше каждый принцип подробно раскрывается. Если мне будет не лень, то буду их также вольно переводить. 😉
Если вам такое надо, то в реакции кита 🐳 ставьте.

Как будем описывать активы в Vulremi?

Как будем описывать активы в Vulremi?

Как будем описывать активы в Vulremi? Основная идея, что это должен быть настолько гибкий формат, чтобы в него можно было разложить результаты детектирования уязвимостей из любого решения: коммерческого, опенсурсного, агентного, безагентного. Вообще любого. Поэтому задачу досконально описывать конфигурацию актива сознательно отбрасываем. Берём только то, что понадобится нам в приоритизации уязвимостей (с учётом активов) и их исправлении.

{
"asset_id": "important-host1",
"owner": "marketing_department",
"patching_engineer": "johnsmith1",
"patching_rule": "once in a month",
"asset_value": "key",
"asset_type": "server",
"perimeter": false,
"last_scan": "2024-02-06T21:07:27+00:00",
"vulnerabilities":
[
{
"vulnerability_id": "CVE-2024-00001",
"cvss_v3_env": "CR:L/IR:M/AR:M/MAV:N/MAC:L/MPR:N/MUI:N/MS:U/MC:L/MI:L/MA:L",
"related_objects":
[
{
"object_type": "ubuntu_package",
"name": "anacron",
"version": "2.3-38ubuntu1"
}
]
}
]
}

Параметры для описания самого актива

🔹 asset_id - идентификатор актива. Логично было бы использовать для него hostname, но ситуации бывают разные, поэтому не конкретизирую. Возможно это будет id из CMDB-шки.
🔹 owner - ответственный за актив, с которым можно договариваться о регулярных и экстренных обновлениях актива. Обычно какое-то бизнесовое подразделение.
🔹 patching_engineer - тот, кто непосредственно должен обновлять активы. С него нужно спрашивать, если договоренности по регулярным или экстренным обновлениям нарушаются.
🔹 patching_rule - правило регулярного обновления, которое было согласовано с овнером. Если оно нарушается, то спрашиваем с patching_engineer.
🔹 asset_value - ценность актива для злоумышленника. Если, получив доступ к активу, злоумышленник может непосредственно реализовать недопустимое событие, то значит актив целевой (target). Если, получив доступ к активу, злоумышленник может развить атаку на целевой актив, то значит актив ключевой (key). Если и не ключевой, и не целевой, то обычный (ordinary).
🔹 asset_type - тип актива. Critical Infrastructure, Server, Network Equipment, Desktop, Other. Ровно как в методике оценки уровня критичности уязвимости ФСТЭК, примеряемся к использованию. 😏
🔹 perimeter - влияет ли состояние актива на безопасность периметра. Тоже как в методике ФСТЭК.
🔹 last_scan - когда этот актив сканировали на уязвимости в последний раз. Чтобы понимать насколько у нас информация по уязвимостям актуальная. Если нашли активы со старой датой - идём разбираться со сканами.

Параметры для описания уязвимостей на активе

🔸 vulnerability_id - идентификатор уязвимости. CVE. Если нет CVE, то BDU. Если и его нет, то любой уникальный идентификатор уязвимости. По этому идентификатору найдем описание этой уязвимости в объекте типа vulnerability, который я буду описывать позже.
🔸 cvss_v3_env - environmental часть CVSS вектора на случай, если мы захотим поманипулировать через него критичностью уязвимости для данного актива.
🔸 related_objects - объекты актива, связанные с уязвимостью. Опциональная штука, которая может быть использована patching_engineer-ом для того, чтобы понять на что ругается сканер. Если в связанных объектах линуксовый пакет, значит его нужно обновлять и всё будет ок. С другой стороны, там может быть описан не только пакет, но и, например, софт. В этом случае можно будет накрутить логику учёта российский он или нет, а следовательно решать требуется ли тестирование безопасности обновления или не требуется. Но подробнее эту штуку буду расписывать позже, уже после MVP.

Возвращаюсь к теме простой утилиты для управления исправлением уязвимостей

Возвращаюсь к теме простой утилиты для управления исправлением уязвимостей

Возвращаюсь к теме простой утилиты для управления исправлением уязвимостей. Собираюсь вести работу в рамках проекта Vulremi на GitHub (заводил 3 года назад и пока там пусто).

Что нужно для MVP? Видятся следующие этапы:

🔹 Научиться раскладывать результаты детектирования уязвимостей и данные по инфре в удобные структурки описывающие активы/хосты (назовём их Активы).

🔹 Научиться на основе Активов генерить/обновлять структурки описывающие требования по исправлению уязвимостей определенными ответственными лицами в определенный срок (назовём их Таски).

🔹 Научиться по Таскам делать сводную статистику по ответственным: сколько Тасок на каждом ответственном, сколько из них укладываются по времени, а сколько нет.

То есть берём источник данных об уязвимостях (результаты сканирований), непрерывно обновляем из него Активы, по Активам непрерывно обновляем статус Тасков, ответственных по просроченным Таскам автоматизированно тыкаем палочкой. Профит. 🙂