Привет! Меня зовут Александр. Я специалист по Управлению Уязвимостями. Подробнее обо мне можно и моих проектах можете прочитать здесь. Приглашаю подписаться на мой канал @avleonovrus "Управление Уязвимостями и прочее"в MAX или в Telegram. Вы можете обсудить мои посты или задать вопросы в группе ВКонтакте.
And I invite all English-speaking people to another Telegram channel @avleonovcom.
Телеграмм-каналу @avleonovrus сегодня исполнился 1 год. 🥳 И вчера было примечательное событие: этот русскоязычный канал сравнялся по количеству подписчиков с моим англоязычным каналом @avleonovcom. И там, и там был 1741 подписчик. При том, что англоязычный канал существует уже 6 лет, с 2017 года, а русскоязычный был запущен только 1 год назад. Темпы роста вполне радуют. 🤩👍 Ну и знаки внимания от Cyber Media и Positive Technologies в этом году тоже были очень даже приятны. 😊
Хотя, по правде сказать, численность сравнялась ещё и от того, что я свёл к минимуму активность в англоязычном канале - кроме обзоров Microsoft Patch Tuesday, апдейтов по моим опенсурсным проектам и периодических переводов постов отсюда, там ничего и нет. Не только потому, что ленюсь делать контент на английском (хотя безусловно), но и потому что интересных мне около-VMных тем, о которых уместно писать на русском для русскоязычных стало гораздо больше. А интересных тем, о которых уместно писать на английском для англоязычных стало гораздо меньше. Очевидное следствие массового исхода западных IT/ИБ вендоров из России и активного импортозамещения. 🤷♂️
Считаю прошлогодний переход к стратегии "в первую очередь я пишу на русском" правильным. Планирую продолжать в том же духе. Всем большое спасибо, что читаете и шарите! 🤝
Первоначальные намётки по открытому фиду с уязвимостями - проект Vulrectory (пока пустой). По этому проекту хотелось бы в идеале получить обновляемый фид со всеми уязвимостями из NVD и БДУ, содержащий некоторые дополнительные поля, чтобы его можно было использовать как единственный источник данных в Vulristics. Сейчас если с помощью Vulristics приоритизировать, допустим, 100 CVE, то утилита будет делать запросы по каждой из этих CVE к различным источникам (как к бесплатным, так и к платному - Vulners), а затем комбинировать и анализировать данные. Таким образом, будут использоваться наиболее свежие данные, но генерация полного отчета займет довольно много времени. А за большое количество запросов бесплатные источники могут и побанить. Если же будет свой источник с уже подготовленными данными, который можно будет локально выкачать к себе, то можно будет запросто строить отчеты по десяткам тысяч уязвимостей без каких-либо внешних запросов. Сразу появится множество применений:
1. Оценка и приоритизация продетектированных уязвимостей (как для отдельных хостов, так и для инфраструктуры в целом!). 2. Оценка расхождений в результатах детектирования уязвимостей VM-продуктами и слепых пятен в базах знаний (детектов) VM-продуктов. 3. Vulnerability Intelligence - анализ всего входящего потока уязвимостей. Возможно с фокусом только на тех продуктах, которые используются в организации и без привязки к детектам в VM-решении.
В общем, как только можно будет работать с готовыми данными в оффлайне, всё сразу становится гораздо интереснее и удобнее. 😉
Какие дополнительные поля нужны Vulristics:
• Название уязвимого софта. Планирую переиспользовать детект продуктов по ключевым словам на основе описания CVE, который сейчас используется в Vulristics. Но лучше добавить ещё детект на основе CPE и парсинг генеренных описаний уязвимостей "имя софта> тип уязвимости>" (как у Microsoft). Также имя софта можно напрямую забирать из БДУ. • Тип уязвимости. Планирую переиспользовать детект типа уязвимости по ключевым словам на основе описания CVE, который сейчас используется в Vulristics. Но лучше добавить ещё детектирование на основе CWE. Но это на крайний случай, т.к. к простановке CWE идентификаторов в NVD были вопросы. • Наличие эксплоита. Если мы хотим, чтобы Vulrectory был бесплатным, то придется видимо ограничиться ссылками на эксплоиты из NVD и флажком "Наличие эксплойта" из БДУ. 🤷♂️ В Vulners их будет, конечно, гораздо больше (как вариант делать платную PRO версию?). Возможно есть какие-то открытые базы с признаками наличия эксплоитов на том же GitHub-е - нужно ресерчить. • Признак эксплуатации вживую. Тут также видимо придется ограничиться бесплатным источником - CISA KEV и ресерчить наличие открытых источников по фактам эксплуатации.
В рамках этого же проекта можно для уязвимостей отображать не только CVSS, но и вектор/скор OSOKA (только Базовые и Эксплуатационные метрики, конечно). 🙂
В отчёте утверждается, что есть 18 уязвимостей, эксплуатируемых шифровальщиками, которые не детектируются сканерами уязвимостей ТОПовых VM-вендоров (Tenable, Rapid7 и Qualys):
Эти уязвимости эксплуатируются 59 группировками шифровальщиков, среди которых Hive, Qlocker, QNAPCrypt и UEFI.
От меня: когда я призываю к открытости баз знаний VM-вендоров, я имею ввиду именно это. Любой VM-вендор умеет детектировать только часть из всех известных уязвимостей. Кто может сказать, что тех уязвимостей, которые он умеет детектировать, достаточно и в его слепой зоне точно нет ничего критичного? Вот имеем пример, когда исследователи, получив доступ к базам знаний (детектов) VM-вендоров, подтвердили проблему с полнотой. И это мы берём самый-самый топ критичных уязвимостей и самых крутых международных VM-вендоров.
Разумеется, сравнение по детектируемым CVE идентификаторам это далеко не идеальный способ обнаружить проблемы с полнотой, но это простой способ и какое-то представление он даёт. Поэтому, призываю всех пушить отечественных VM-вендоров, чтобы информация о детектируемых уязвимостях была публичной и общедоступной для стороннего анализа. Ну или хотя бы доступной регуляторам, чтобы регуляторы сами контролировали адекватность баз знаний (детектов) VM-вендоров.
В отчёте также есть критика CVSS, NVD и CISA KEV из-за некорректного учёта эксплуатируемых шифровальщиками CVE:
• 30% CVE не имеют CVSS v2 или v3 в NVD • 2 CVE имеют severity Low, 57 Medium в NVD • 2 CVE находятся в статусе Rejected в NVD (CVE-2015-2551 и CVE-2019-9081) • только 68% CVE содержатся в CISA KEV, требуется добавить ещё 131
Посмотрел запись онлайн-запуска MaxPatrol VM 2.0 и MaxPatrol HCC. Выписал некоторые тезисы. 🙂
По уязвимостям
В рамках пилотов MaxPatrol VM в организациях находят в среднем ~30к уязвимостей, из них ~50 особо критичных и легко эксплуатируемых.
Главное согласовать SLA на исправление уязвимостей в организации. Идеально укладываться в 24 часа для особо критичных (что и ФСТЭК рекомендует).
Большой акцент на "трендовые уязвимости", которые отбирает и подсвечивает PT на основе пентестов и хитрого анализа данных.
От меня: фокус на собственную приоритизацию сейчас у всех топовых VM-вендоров. Например, Tenable VPR и Qualys TruRisk.Дело хорошее 👍
Информация о трендовых уязвимостях попадает в MaxPatrol VM с минимальной задержкой благодаря архитектурным изменениям в базе знаний. Привели пример кейса по добавлению трендовой уязвимости для софта (22:45), который в MaxPatrol VM вообще не поддерживается (VirtualBox). Если вдруг будет трендовая супер-критичная уязвимость, несмотря на отсутствие поддержки, исследователь добавит её с SLA в 12 часов.
По контролю конфигураций
Новый модуль HCC, лицензируется отдельно. Проблематика - очень много противоречивых требований, соответствовать всему невозможно.
Предлагается следующий процесс:
Этап 1. 1. Определение регламента принятых стандартов. Возможно надергать требований из CIS Benchmarks, чтобы составить свой. 2. Определение правил и задач по работе со стандартом, которые направляются IT-специалисту. 3. Проверка соответствия активов. 4. Проводим troubleshooting, возможно с видоизменением стандарта. 5. Принятие и внедрение стандарта на живую информационную систему. Этап 2. Работа с отчётами по нарушению требований (исправление или корректировка стандартов), разработка новых стандартов.
Сейчас в HCC доступный 17 стандартов PT Essential (44:13). Они разработаны совместно с пентестерами:
Windows Desktop Windows Server Microsoft SQL Server Generic Linux Oracle Database VMware ESXi VMware vCenter Microsoft Exchange RHEL-based Linux HP UX IBM AIX Linux Kernel Docker Cisco IOS Cisco IOS XE Cisco ASA года Cisco Nexus
Можно отслеживать коммуникацию с IT и выполнение установленных сроков в рамках политик.
Отдельного комплаенс сканирования нет, используется та же инвентаризация аудита. Проверки реализованы в виде запросов на собственном языке. Функционально можно сравнить с .audit от Tenable. Есть шансы, что в перспективе дадут делать свои проверки на нем. 😉
Из PT Essentials можно надёргать требований и составить из них свой стандарт.
Подробнее про PT Essential - Linux Kernel
В ядре Linux >30 млн. строк кода, 4000 разработчиков в год участвуют, каждый день 8000 строк меняются. Множество уязвимостей, особенно из-за ошибок доступа к памяти. Уязвимости добавляются быстрее, чем исправляются. Среднее время жизни критической уязвимости в ядре 5,5 лет. Проект Kernel Self Protection Project - "подушка безопасности" для устранения некоторых проблем как класса. Есть карта средств защиты ядра. Стандарт для ядра Linux был реализован с использованием этой карты и собственной дефенс экспертизы. Эти же требования были использованы в стандарте по настройке Linux систем от ФСТЭК. 👍
Методика ФСТЭК по оценке критичности уязвимостей
Теперь официально поддерживается в MaxPatrol VM. Про вопросы к реализации я уже раньше писал, это не silver bullet пока. Но и в таком виде работать в MaxPatrol VM проще, чем считать руками или скриптовать своё. Эта функциональность реализована в виде PDQL фильтра, такие фильтры будут доступны в общей библиотеке.
Добавили интеграцию с LAPS, чтобы избегать компрометации учёток с правами админа на многих хостах.
---
Крутой запуск! Многая лета новому поколению Compliance Management-а в MaxPatrol HCC! Буду активно отслеживать эту тему. 🙂 И не только я. Валерий Ледовской из X-cofig запустил канал по CM и тоже поделился впечатлениями от запуска HCC, зацените и подпишитесь! Взгляд со стороны прямых конкурентов это всегда любопытно. И чем больше будет авторских околоVM-ных каналов, тем лучше. 😉
Послушал эфир Сергея Вильянова с бывшим гендиром российского филиала Acer. Среди прочего, они обсуждали куда с российского рынка делись российские ноутбуки (iRU, Rover и прочее). Ничего сложного. Через жёсткий демпинг их за несколько лет убрали Acer и прочие зарубежные вендоры. А сейчас, абсолютно не стесняясь, об этом подробно рассказывают.
Исключительно российский вендор не может конкурировать при рыночных условиях с вендором, который заваливает этими ноутбуками весь мир. 🤷♂️
Ещё раз подивился тому как сильно по-разному воспринимают реальность обычные люди и гики (особенно гики-безопасники). В мире обычных людей, даже у тех кто вплотную с вычислительной техникой связан, вообще другие характеристики ноутбуков ценятся: красивый дизайн, чтобы работало быстро, было удобненько, экран четенький, чехольчик (!!), а стоило недорого. Какая там импортонезависимость, какая безопасность, НДВ и прочее. Это в лучшем случае есть в нашем мире, деформированных профессионально, и то не у всех, а другие люди в принципе никогда об этом не задумываются.
Поэтому к вопросу "а будут ли в России честные российские ноутбуки с высокой степенью локализации производства"? Вот прям до процессора. В условиях абсолютно свободной конкуренции точно нет. В условиях гарантированного спроса вызванного жёсткими регуляторными требованиями - возможно где-то и будут. Смотря как будут контролировать исполнение этих требований и карать за их обход. Но явно эти устройства будут не у физиков. Цена-качество у таких ноутбуков будет такое, что физики такие устройства будут покупать только если они абсолютные фанатики.
Это как с Ричардом Столлманом, который продолжительное время работал исключительно на дохленьком нетбуке Lemote Yeeloong с опенсурсным BIOS. Вот для него это было важно, а остальное не столь важно. Много ли среди нас Столлманов?
Есть, конечно, вариант, когда других ноутбуков не будет вообще и останутся одни честные отечественные. Но пока в возможность такого верится слабо.
Первоначальные намётки по ОСОКА. 🙂 Думаю должно быть три группы метрик:
▪️Базовые ▪️Эксплуатационные ▪️Инфраструктурные
1. Базовые метрики будут ровно такие же как в CVSS v3.0/3.1. Почему? Это текущий стандарт, использующийся с 2015 года. Для большей части уязвимостей из NVD можно будет взять CVSS v3 Base вектор как он есть. Для уязвимостей, у которых доступен только CVSS v2 Base вектор есть более-менее рабочие способы конвертации в v3, которые можно будет взять за основу. Когда CVSS v4 появится в NVD, проблемы с конвертацией v4->v3 будут только из-за исключения метрики Scope, её придется как-то генерить, скорее всего из Impact Metrics для Subsequent Systems (но это неточно). Также для User Interaction будет 3 значения, а не два, но это тривиально схлопывается. В общем, оставаться на базовых метриках полностью повторяющих CVSS v3 нам должно быть достаточно комфортно.
2. Эксплуатационные предлагаю сделать такие:
Exploit Maturity: Not Defined (X), High (H), Functional (F), Proof-of-Concept ℗, Unreported (U) - эту штуку можно заполнять через анализ баз эксплоитов/малварей и получать из CVSS Temporal вектора некоторых вендоров (например Microsoft).
Exploitation Activities: Not Defined (X), Reported ®, Unreported (U) - это можно заполнять на основе баз отслеживающих эксплуатацию типа CISA KEV или AttackerKB. Фактов эксплуатации in the wild никогда не было в CVSS и не будет в 4.0 - преимущество ОСОКи. 😉
Exploitation Probability: Not Defined (X), High (H), Medium (M), Low (L) - это можно заполнять на основе EPSS. Я думаю, что EPSS пока ещё полный шлак, но возможно такие системы скоро станут гораздо лучше и неплохо бы заранее их поддержать.
Кажется с такими метриками по эксплуатации можно будет не упахиваться ручным описанием и получить приоритизацию с учётом того, что нужно зафиксить ASAP.
3. Инфраструктурные думаю лучше взять ровно как в методике ФСТЭК, чтобы повысить шансы на официальное признание. 😉 Кроме того, они в принципе неплохие. Во всяком случае всяко лучше абстрактного CVSS Environmental. Хотя и придется все активы покрыть VM-процессом и знать об активах хотя бы их тип и доступность на периметре.
Тип компонента информационной системы, подверженного уязвимости - Не определено - Компоненты ИС обеспечивающие реализацию критических процессов (бизнес-процессов), функций, полномочий - Серверы - Телекоммуникационное оборудование, система управления сетью передачи данных - Рабочие места - Другие компоненты
Количество уязвимых активов - Не определено - Более 70% - 50-70% - 10-50% - Менее 10%
Влияние на эффективность защиты периметра системы, сети - Не определено - Уязвимое программное, программно-аппаратное средство доступно из сети «Интернет» - Уязвимое программное, программно-аппаратное средство недоступно из сети «Интернет»
Конечно, нужно будет конкретные формулировки подправить, чтобы было единообразна с другими метриками, а подробности убрать в руководство по заполнению, но по смыслу должно быть ровно так как в методике ФСТЭК.
Проекты, над которыми я сейчас размышляю. Возможно кому-то тоже захочется поучаствовать.
1. CVE Mentions. Переводить аналитические отчёты с упоминанием CVE-идентификаторов в формализованный вид, использовать их для приоритизации уязвимостей в Vulristics.
2. Свой Vulnerability Feed. Анализировать все CVE/БДУ, детектировать тип уязвимости и уязвимый продукт, наличие эксплоита и факта эксплуатации вживую. Использовать фид в Vulristics.
3. Linux Patch Wednesday. Формировать ежемесячные обзоры по Linux-овым уязвимостям. Написать скрипт для формирования скоупов CVE с разбивкой по месяцам.
4. ОСОКА. Система оценки критичности уязвимости на основе CVSS v3 и методики оценки критичности ФСТЭК. Расписать метрики, формулу расчета, автоматическую генерацию базовых метрик из CVSS Base v2, v3, v4.
5. Scanvus OVAL. Добавить в Scanvus возможность детектирования уязвимостей с использованием OVAL-контента без доступа к внешним платным API.
6. Scanvus Docker. Добавить возможность детектировать уязвимости Docker images без запуска контейнера, только через анализ SBOM.
7. Telegram2WordPress. Написать обвязку, которая будет раскидывать посты из телеграмма в блог на WordPress. Для упрощения навигации, улучшения индексации и на случай если Телеграмм снова начнут блокировать.
Это мой личный блог. Всё, что я пишу здесь - моё личное мнение, которое никак не связано с моим работодателем. Все названия продуктов, логотипы и бренды являются собственностью их владельцев. Все названия компаний, продуктов и услуг, упоминаемые здесь, упоминаются только для идентификации. Упоминание этих названий, логотипов и брендов не подразумевает их одобрения (endorsement). Вы можете свободно использовать материалы этого сайта, но было бы неплохо, если бы вы разместили ссылку на https://avleonov.ru и отправили мне сообщение об этом на me@avleonov.com или связались со мной любым другим способом.