Почему хакеры раз за разом достигают своих целей, побеждая тех, кто стоит на страже своих активов? По мнению одного из известных исследователей в области информационной безопасности Джона Ламберта (John Lambert), дело – в разнице в мышлении. Такую идею заслуженный инженер и генеральный управляющий Microsoft Threat Intelligence Center сформулировал в своем аккаунте на «Гитхаб».
Мышление защитников
Разница заключается в том, что каждая сторона представляет себе поле боя по-своему. Защитники сфокусированы на составлении списков своих активов, их приоритизации, сортировке по влиянию на бизнес-процессы. Для автоматизации всего этого подключаются системы управления ИТ-инфраструктурой, пишутся инструкции по восстановлению работоспособности и т.д. И все это прекрасно работает: система непременно подскажет, что накопители информации уже изношены и их нужно заменить, а в случае пропажи канала связи оператору необходимо подключить резервную схему. Все бэкапы серверов из критичного списка собираются своевременно и откатиться к ним можно в любой момент.
Но у данного подхода есть один недостаток: атакующий не видит этих списков, и он ими не ограничен. Атакующий видит граф (то есть схему, в которой присутствуют не только сами объекты, но и связи между ними).
Что это за граф, и кто его создает?
Вершинами графа являются ресурсы компании (пользователь, учетная запись, приложение, компьютер), а ребра показывают, как связаны ресурсы с точки зрения безопасности: где авторизуются пользователи и с какими правами, кто является локальным администратором, какие политики распространяются на компьютеры, и кто ими владеет и т.д.
![Пример графа IT-инфраструктуры. Источник - github.com Пример графа IT-инфраструктуры. Источник - github.com](https://habrastorage.org/getpro/habr/upload_files/a66/68c/ee0/a6668cee0f8a525bb735c2500ae229f0.png)
Если прямой связи между двумя объектами инфраструктуры нет, но существуют пути, соединяющие их через промежуточные вершины, эти пути будут видны на графе. Тогда как для мыслящих списками обнаружить их будет поистине непростой задачей.
Граф создается теми, кто конфигурирует и эксплуатирует инфраструктуру. Создается автоматически, вне зависимости от того, знают о нем или нет.
В качестве классического примера можно привести авторизацию администратора домена Active Directory на каком-либо компьютере. Обоснованность таких действий рассматривать не будем — это случается сплошь и рядом, но проанализируем происходящее с точки зрения графа. Операционная система такого компьютера при авторизации сохранит в памяти служебного процесса lsass.exe учетные данные администратора домена. В зависимости от версии и конфигурации Windows это может быть пароль в открытом виде, производный от него NTLM-хэш или билетик Kerberos. Захват такого компьютера позволит хакеру в итоге завладеть всем доменом, что и отображено в графе отдельной связью. Каждая подобная авторизация создает в графе новое ребро, что увеличивает его связность. Для автоматизации построения графов среди инструментов хакера есть утилиты powersploit и bloodhound, подключающие математику для поиска кратчайших путей.
![Графовое представление связей объектов Active Directory, построенное программой Bloodhound. Источник – блог компании Positive Technologies Графовое представление связей объектов Active Directory, построенное программой Bloodhound. Источник – блог компании Positive Technologies](https://habrastorage.org/getpro/habr/upload_files/eba/51c/fed/eba51cfed394c5c970bb818a57ec13ad.png)
Проблема заключается в том, что обычно модель, которую использует ИТ-отдел для управления сетью, сильно отличается от того графа, каким видит систему злоумышленник. И поскольку у защитников нет возможности отследить неочевидные связи, такой компьютер не будет защищаться как высококритичный актив, на нем могут быть не установлены необходимые обновления безопасности или отсутствовать антивирусное средство.
Мышление хакера
Какой бы защищенной ни была инфраструктура организации, с точки зрения хакера она уже имеет все необходимое для работы. В ней в любом случае есть администратор, управляющий активами, а также соответствующее рабочее окружение с необходимым набором утилит и софта. Вопрос остается только в получении легитимного пароля для использования сконфигурированного окружения в нелегитимных целях. Поэтому, несмотря на то, что различные эксплойты и являются неотъемлемой частью арсенала злоумышленника, в широком смысле его можно рассматривать как обычного администратора, только действующего в системе с другими целями.
Представим, что такой злоумышленник появился в сети. Точкой входа в инфраструктуру мог являться, например, компьютер пользователя, угодившего в сети социальной инженерии.
![Примерно так может выглядеть кусочек корпоративной сети в глазах хакера. Источник - github.com Примерно так может выглядеть кусочек корпоративной сети в глазах хакера. Источник - github.com](https://habrastorage.org/getpro/habr/upload_files/0b5/48b/bef/0b548bbef2635957ee45ba73b60d8c98.png)
Где «приземлился» хакер относительно своей цели ему неизвестно, задача состоит в исследовании графа и поиска пути до целевой вершины. Он использует пароль локального администратора и обнаруживает, что тот подходит к нескольким соседним машинам. В памяти одной из них он находит учетную запись администратора рабочих станций, что дает доступ к гораздо большему количеству машин. Подобным же образом злоумышленник постепенно исследует весь граф безопасности и в итоге установит путь до целевой вершины.
И что же, в таком случае, делать защитникам?
Существует мнение, что области защиты и атаки равнозначны, во многом независимы и развиваются параллельно, никак не пересекаясь друг с другом. Возможно, именно эта парадигма и является причиной сформировавшейся разницы в мышлении противоборствующих сторон. И до тех пор, пока ситуация не изменится, атакующие будут побеждать. Для успешного противостояния защитникам следует признать, что они всегда будут вторым номером в этой гонке вооружений, если не научатся видеть мир иначе, и принять роль ученика.
Знайте граф инфраструктуры, которую создаете, мыслите как хакер!