Введение
Информатизация и переход на удаленный формат взаимодействия повлекли рост доли атак, в которых злоумышленники эксплуатировали уязвимости. Каждый квартал мы отмечаем появление новых громких уязвимостей, которые злоумышленники тут же берут в оборот: например, ProxyLogon, Accellion FTA, Zerologon, Log4Shell. Используя уязвимости, киберпреступники могут не просто проникнуть в сеть компании, но и реализовать недопустимые для нее события. Яркий пример — апрельская атака на логистическую компанию Bakker Logistiek. Злоумышленникам удалось нарушить устройство внутренних бизнес-процессов и вмешаться в систему поставок товаров со складов в магазины. В ходе атаки они проэксплуатировали уязвимости на сервере Microsoft Exchange (ProxyLogon), что позволило им распространить программу-вымогатель. Последствия этой атаки были масштабные: к примеру, сеть магазинов Albert Heijn столкнулась с нехваткой товаров на прилавках.
Для того чтобы препятствовать реализации недопустимых событий, следует устранять потенциальные векторы атак, которые могут привести злоумышленника к целевым системам, в том числе устранять уязвимости. Поиск уязвимостей и своевременная установка обновлений безопасности должны обеспечиваться в рамках процесса управления уязвимостями. Некоторые компании внедряют этот процесс, чтобы соответствовать требованиям регуляторов, другие внедряют его для перехода на новый уровень зрелости процессов ИБ. Однако таких компаний немного, что доказывают результаты опросов. В 2020 году мы спрашивали специалистов по ИБ о том, как организован процесс управления уязвимостями в их компаниях. Каждый десятый респондент ответил, что в его компании критически опасные уязвимости на важных ресурсах не устраняются более полугода, то есть процесс управления уязвимостями либо отсутствует, либо работает неправильно.
Интересный факт: исследователи компании Trend Micro определили, что для исправления уязвимости компаниям в среднем требуется от 60 до 150 дней.
Мы проанализировали данные, полученные в рамках пилотных проектов MaxPatrol VM в 2021 году, по результатам которых было просканировано более 15 000 узлов в государственных, научных, образовательных учреждениях, финансовых организациях и телекоммуникационных компаниях. Для исследования мы отобрали только те проекты, тестовый контур которых был достаточен для получения объективных результатов. Кроме того, мы агрегировали информацию об уязвимостях, обнаруженных в рамках проектов по тестированию на проникновение в 2020–2021 годах. Мы расскажем о результатах этого анализа, раскроем проблемы, связанные с процессом управления уязвимостями, и поделимся рекомендациями по оптимизации этого процесса.
Трендовые уязвимости
В рамках одного пилотного проекта мы в среднем выявляли 31 066 уязвимостей. Степень опасности уязвимостей оценивалась в соответствии с классификацией Common Vulnerability Scoring System (CVSS) версии 3.1. Критически опасные уязвимости были обнаружены на всех пилотных проектах.
Некоторые уязвимости эксплуатируются преступниками чаще, чем другие. Особенно это касается недавно опубликованных опасных уязвимостей, для которых большинство организаций еще не успели установить обновления безопасности. Такие уязвимости мы называем трендовыми. Если эти уязвимости обнаружены в вашей инфраструктуре, на них нужно обратить особое внимание: они легко встраиваются в цепочку атаки и для некоторых из них доступен публичный эксплойт (или, на наш взгляд, он скоро появится). Среднее количество трендовых уязвимостей на одном пилотном проекте — 861 (3% от числа всех уязвимостей на проекте).
Трендовые уязвимости — это опасные уязвимости, которые активно используются в атаках или с высокой степенью вероятности будут применяться в ближайшее время.
Примеры трендовых уязвимостей
Тип уязвимости | Объект | Идентификатор уязвимости | Оценка базовой метрики вектора CVSS |
---|---|---|---|
Удаленное выполнение кода | Apache Log4j | CVE-2021-44228 | 10,0 |
Удаленное выполнение кода | Windows DNS-сервер | CVE-2020-1350 | 10,0 |
Повышение привилегий (Zerologon) | Netlogon | CVE-2020-1472 | 10,0 |
Удаленное выполнение кода (BlueKeep) | Служба удаленных рабочих столов (RDP) | CVE-2019-0708 | 9,8 |
Удаленное выполнение кода | Internet Information Services (IIS) | CVE-2021-31166 | 9,8 |
Удаленное выполнение кода | Apache Tomcat AJP | CVE-2020-1938 | 9,8 |
Обход аутентификации | libc в OpenBSD 6.6 | CVE-2019-19521 | 9,8 |
Удаленное выполнение кода | Модуль MSHTML | CVE-2019-0541 | 8,8 |
Удаленное выполнение кода (Bad Neighbor) | Windows TCP/IP | CVE-2020-16898 | 8,8 |
Удаленное выполнение кода (PrintNightmare) | Служба печати Windows | CVE-2021-34527 | 8,8 |
Повышение привилегий | Служба печати Windows | CVE-2021-1675 | 8,8 |
Удаленное выполнение кода (MS17-010) | SMBv1 | CVE-2017-0143, CVE-2017-0144, CVE-2017-0145, CVE-2017-0146, CVE-2017-0148 |
8,1 |
Подмена данных | Windows CryptoAPI | CVE-2020-0601 | 8,1 |
Удаленное выполнение кода (ProxyLogon) | Microsoft Exchange Server | CVE-2021-26855, CVE-2021-27065 |
9,8 и 7,8 |
Повышение привилегий | Windows Win32k | CVE-2021-1732 | 7,8 |
Повышение привилегий | Windows Kernel | CVE-2020-17087 | 7,8 |
В среднем не более 3% уязвимостей в инфраструктуре компании являются действительно крайне опасными и требуют первоочередных действий по устранению; при этом они могут не иметь максимальных оценок по CVSS.
Новые трендовые уязвимости появляются регулярно: например, пока мы готовили это исследование к публикации, была обнаружена уязвимость, связанная с удаленным выполнением кода, в библиотеке Apache Log4j (CVE-2021-44228). Злоумышленники сразу же взяли ее в оборот. Если вы используете эту библиотеку, ознакомьтесь с рекомендациями по безопасности.
В случае эксплуатации уязвимости злоумышленник может получить доступ к ресурсам компании, необходимые привилегии или информацию, которая позволит развить атаку. В рамках пентестов, проведенных во второй половине 2020 и первой половине 2021 года, уязвимости в ПО эксплуатировались в 41 проекте. Чаще всего наши специалисты эксплуатировали уязвимости для выполнения команд или произвольного кода.
В конечном итоге уязвимости помогают злоумышленнику реализовать нежелательные или недопустимые для компании события. Далее мы разберем на примерах, к каким последствиям может привести уязвимость.
Доступ во внутреннюю сеть компанииПо итогам работ по анализу защищенности со стороны внешнего злоумышленника в 60% проектов эксплуатация известных уязвимостей в ПО позволила нашим специалистам проникнуть в корпоративную сеть. В качестве примера можно привести уязвимость CVE-2021-27065, связанную с удаленным выполнением произвольного кода на сервере Microsoft Exchange.
APT-группировки, к примеру HAFNIUM, используют группу уязвимостей ProxyLogon (CVE-2021-26857, CVE-2021-26858, CVE-2021-27065, CVE-2021-26855) в своих кампаниях, связанных с майнингом и вымогательством. HAFNIUM в течение одной недели атаковала не менее 30 000 организаций в США и сотни тысяч компаний по всему миру. Целью этой кампании было получение доступа к IT-инфраструктуре компаний и кража конфиденциальной информации.
Доступ к ключевым и целевым системамКлючевая система — информационная система, без воздействия на которую злоумышленник не сможет развить атаку на целевую систему, или такая система, взлом которой существенно упростит последующий сценарий атаки для компрометации целевых систем.
Целевая система — это информационная система, воздействие на которую может непосредственно привести к наступлению недопустимого для бизнеса события.
Уязвимость диспетчера очереди печати Windows (CVE-2021-1675), обнаруженная в ходе пентестов в локальной сети нескольких компаний, позволила нашим специалистам получить максимальные привилегии в доменах. Злоумышленники, распространяющие программы-вымогатели Vice Society и Magniber, использовали для доставки своих вредоносов эту уязвимость в сочетании с CVE-2021-34527.
Уязвимость CVE-2020-1472 (Zerologon) была обнаружена в процессе сканирования корпоративных сетей в рамках проектов по тестированию на проникновение в 28% компаний, и в большинстве случаев она привела к получению доступа к контроллеру домена с максимальными привилегиями. Zerologon активно применяли преступники, распространяющие шифровальщик Ryuk и троян TrickBot. В рамках пилотных проектов она встретилась в двух компаниях.
Уязвимость CVE-2021-1732, которую преступники используют для эскалации привилегий в системе, в сочетании с другими уязвимостями в браузерах может быть использована для того, чтобы обойти проверку песочницы. Эту уязвимость активно использует APT-группировка BITTER (или APT-C-08), которая промышляет кибершпионажем. К слову, CVE-2021-1732 была обнаружена в 29% компаний, где были проведены пилотные проекты MaxPatrol VM.
Нашумевшая в 2017 году уязвимость EternalBlue на удивление остается актуальной до сих пор. Используя ее, злоумышленники распространяли программу-вымогатель WannaCry со скоростью 10 000 устройств в час, заразив более 230 000 компьютеров с Windows в 150 странах за один день. Пострадало множество организаций, в том числе национальная служба здравоохранения Великобритании, которой пришлось отменить тысячи операций и посещений пациентов. В 2020–2021 годах в рамках пентестов уязвимости из бюллетеня MS17-010 встречались в локальной вычислительной сети в 18% компаний.
Некоторые уязвимости мы, в отличие от злоумышленников, можем проверить только в тестовой среде, например CVE-2017-6868 в модуле Siemens SIMATIC CP 44x-1, которая позволяет выполнять команды на программируемом логическом контроллере. Эксплуатация этой уязвимости на реальном объекте критической инфраструктуры привела бы к нарушению функционирования этого объекта или даже к аварии.
Все ли уязвимости нужно устранять?
Мы просканировали вашу инфраструктуру и получили 31 066 уязвимостей. Первое, что приходит в голову, когда видишь такое количество уязвимостей, это то, что быстро исправить их не получится, но какие из них следует устранять в первую очередь?
Для начала ответим на вопрос, почему же не стоит полагаться только на оценку по CVSS или начинать приоритизировать уязвимости с этой оценки. В пилотных проектах 29% обнаруженных уязвимостей обладали критической или высокой степенью опасности. На устранение такого количества уязвимостей ушло бы много времени, но при этом гарантий, что злоумышленники использовали бы именно эти уязвимости в цепочке реализации недопустимого события, нет. По результатам работ по анализу защищенности также очевидно, что не все выявленные уязвимости могут быть использованы для развития вектора атаки, направленного на получение доступа к критически важным ресурсам.
Не каждая уязвимость, даже обладающая высокой степенью опасности по шкале CVSS, может привести к реализации недопустимого для компании события.
На наш взгляд, есть две группы факторов, которые влияют на приоритет устранения уязвимости:
- Значимость актива, на котором обнаружена уязвимость, и его доступность для злоумышленника. Под значимостью мы подразумеваем последствия реализации уязвимости, то есть что произойдет, если на конкретном активе злоумышленники воспользуются определенной уязвимостью, а под доступностью — то, какие привилегии требуются злоумышленнику, чтобы ею воспользоваться.
- Опасность уязвимости и вероятность того, что злоумышленник ее проэксплуатирует, или трендовость уязвимости.
Актив - это информационная система или узел, имеющие ценность для организации и подлежащие защите от киберугроз.
Нередко специалисты по безопасности забывают про первую группу факторов и руководствуются только второй. Например, по результатам нашего опроса оказалось, что 29% респондентов приоритизируют обнаруженные уязвимости только по типу, базовой оценке CVSS и наличию эксплойта. Однако мы считаем, что нельзя пренебрегать ни одной группой факторов.
Меньше половины опрошенных специалистов по ИБ наладили процесс приоритизации выявленных уязвимостей по степени важности активов, на которых они были обнаружены.
Как оценить значимость актива? Начинать оценку активов следует с составления списка недопустимых для бизнеса событий, в формировании которого должно принимать участие высшее руководство организации. Только после этого можно выделить целевые и ключевые системы и определить активы, которые обладают высокой степенью значимости. В начале проведения пилотных проектов специалисты компании, где мы проводили "пилот", выполняли разметку активов в тестовой зоне по степени значимости. В среднем на одном проекте было 1216 активов, из них активов высокой значимости было лишь 3%. На этих важных активах оказывалось примерно 6% от числа всех выявленных уязвимостей.
42 — среднее количество трендовых уязвимостей на всех активах высокой степени значимости на одном проекте
Актив высокой значимости — это наиболее значимая информационная система или узел, которые являются частью ключевых или целевых систем. Доступ к ним может привести к реализации недопустимых для компании событий.
Степень доступности узла (актива), на котором обнаружена уязвимость, для злоумышленника — еще один важный параметр. В этом случае вы определяете, сможет ли внешний злоумышленник проэксплуатировать обнаруженную уязвимость или нет, какие привилегии нужны злоумышленнику, чтобы ею воспользоваться. Например, уязвимости, для эксплуатации которых злоумышленнику будет необходимо предварительно проникнуть в ЛВС, будут иметь более низкий приоритет.
Во второй группе факторов есть два параметра: оценка уязвимости по шкале базовой метрики вектора CVSS и наличие публичного эксплойта, proof of concept (PoC) или модуля в Metasploit. Помимо этих параметров, мы рекомендуем также обращаться к нашему перечню трендовых уязвимостей и учитывать наличие уязвимости в этом перечне при приоритизации.
Насколько важно учитывать наличие общедоступного эксплойта в ходе приоритизации уязвимостей? Как только в общедоступных источниках появляется эксплойт для уязвимости, киберпреступники стараются ее сразу же взять в оборот; иногда им достаточно всего нескольких часов, чтобы задействовать свежую уязвимость в атаке. Если злоумышленник обладает достаточными знаниями об инфраструктуре и уязвимости, а также умеет программировать, он может написать эксплойт самостоятельно. Однако, даже если его навыков недостаточно или он не хочет разрабатывать эксплойт сам, он может приобрести уже готовый эксплойт на форуме в дарквебе.
По нашим данным, для 80% уязвимостей, используемых в атаках злоумышленниками с Q1 2020 и по Q3 2021 года, существовал публичный эксплойт. Однако отсутствие публичного эксплойта не дает гарантий того, что злоумышленники не напишут эксплойт самостоятельно или не приобретут его на форуме в дарквебе.
В некоторых случаях для того, чтобы использовать уязвимость в атаках, злоумышленникам хватало описания того, как ей можно воспользоваться. Один из примеров: 3 августа 2021 года специалисты компании Tenable сообщили, что нашли уязвимость в маршрутизаторах Arcadyan, которая позволяет удаленным злоумышленникам обойти процедуру аутентификации (CVE-2021-20090). Спустя два дня эксперты компании Juniper Networks заметили, что эта уязвимость используется в нескольких схемах атак; например, злоумышленники пытаются добавить уязвимые устройства в ботнет Mirai.
Остается последний вопрос: в какой последовательности нужно приоритизировать выявленные уязвимости, чтобы затем устранить их?
Расставляем приоритеты
Прежде чем переходить к процессу приоритизации уязвимостей, убедитесь, что сканирование узлов выполняется правильно. Процесс vulnerability management должен охватывать всю IT-инфраструктуру компании, то есть вам необходимо проверить, что все активы идентифицированы, а в случае появления новых узлов или вывода из эксплуатации систем перечень узлов для сканирования будет обновлен. В противном случае может произойти ситуация, когда важный актив, например сервер "1С" или контроллер домена, не попадает в область сканирования.
Важно, чтобы система анализа защищенности могла получать информацию об IT-инфраструктуре не только за счет активного сканирования, но и из других систем (внешних каталогов или других решений ИБ).
Наша рекомендация заключается в том, что процесс приоритизации уязвимостей лучше всего начать именно с оценки активов. Такой порядок позволит выявить важные активы и сфокусировать внимание на их защите. Этот подход будет актуален, если вы хотите построить результативную систему безопасности.
Результативная безопасность — качественно и количественно измеримая система защиты информации, обеспечивающая сохранность важных для компании активов и препятствующая наступлению недопустимых событий.
- Для начала мы предлагаем определить, какие события могут нанести компании недопустимый ущерб, выявить ключевые и целевые системы и разметить активы по степени значимости. Основной вопрос на этом этапе, на который вам необходимо найти ответ: какую роль играет система в инфраструктуре компании? Ведь в первую очередь необходимо обеспечить защиту точек проникновения в инфраструктуру, целевых и ключевых систем.
- Проведите оценку последствий использования уязвимости. Для этого нужно понять, что удастся сделать злоумышленнику в результате ее эксплуатации:
— реализовать недопустимое событие?
— получить доступ к ключевой системе?
— получить максимальные привилегии на узле?
— попасть во внутреннюю сеть компании?
- Затем мы предлагаем ранжировать уязвимости по наличию публичного эксплойта или PoC.
Если уязвимость, обнаруженная в вашей системе, используется в реальных атаках, это веское основание для того, чтобы повысить ее приоритет или даже устранить в первую очередь, в обход общего процесса приоритизации.
- Определите доступность системы и привилегии злоумышленника, который может потенциально использовать уязвимость. Основные вопросы, на которые нужно ответить на этом этапе: кому доступна система, в которой найдена уязвимость? сможет ли ею воспользоваться внешний злоумышленник? Если уязвимость выявлена в системе, которая расположена на сетевом периметре компании, то добраться до нее будет легко — соответственно, внешний злоумышленник сможет ею воспользоваться.
- В завершение определите уровень опасности уязвимости по базовой системе оценки CVSS.
Применение этого подхода позволит в первую очередь устранять самые опасные уязвимости на действительно значимых активах, и только тогда, когда самые важные системы будут защищены, можно будет перейти к устранению уязвимостей на менее значимых активах, используя тот же принцип.
Предложенный подход позволит перейти от типового процесса устранения уязвимостей к процессам результативной кибербезопасности, где главной целью является защита бизнеса от непоправимых негативных последствий. А чтобы процесс vulnerability management был максимально эффективен, мы рекомендуем использовать современные автоматизированные системы, которые не только решают вопросы инвентаризации активов и поиска уязвимостей, но и помогают выстроить понятный и прозрачный процесс взаимодействия подразделений IT и ИБ.