Почему хакеры раз за разом достигают своих целей, побеждая тех, кто стоит на страже своих активов? По мнению одного из известных исследователей в области информационной безопасности Джона Ламберта (John Lambert), дело – в разнице в мышлении. Такую идею заслуженный инженер и генеральный управляющий Microsoft Threat Intelligence Center сформулировал в своем аккаунте на «Гитхаб».

Мышление защитников

Разница заключается в том, что каждая сторона представляет себе поле боя по-своему. Защитники сфокусированы на составлении списков своих активов, их приоритизации, сортировке по влиянию на бизнес-процессы. Для автоматизации всего этого подключаются системы управления ИТ-инфраструктурой, пишутся инструкции по восстановлению работоспособности и т.д. И все это прекрасно работает: система непременно подскажет, что накопители информации уже изношены и их нужно заменить, а в случае пропажи канала связи оператору необходимо подключить резервную схему. Все бэкапы серверов из критичного списка собираются своевременно и откатиться к ним можно в любой момент.

Но у данного подхода есть один недостаток: атакующий не видит этих списков, и он ими не ограничен. Атакующий видит граф (то есть схему, в которой присутствуют не только сами объекты, но и связи между ними).

Что это за граф, и кто его создает?

Вершинами графа являются ресурсы компании (пользователь, учетная запись, приложение, компьютер), а ребра показывают, как связаны ресурсы с точки зрения безопасности: где авторизуются пользователи и с какими правами, кто является локальным администратором, какие политики распространяются на компьютеры, и кто ими владеет и т.д.

Пример графа IT-инфраструктуры. Источник - github.com
Пример графа IT-инфраструктуры. Источник - github.com

Если прямой связи между двумя объектами инфраструктуры нет, но существуют пути, соединяющие их через промежуточные вершины, эти пути будут видны на графе. Тогда как для мыслящих списками обнаружить их будет поистине непростой задачей.

Граф создается теми, кто конфигурирует и эксплуатирует инфраструктуру. Создается автоматически, вне зависимости от того, знают о нем или нет.

В качестве классического примера можно привести авторизацию администратора домена Active Directory на каком-либо компьютере. Обоснованность таких действий рассматривать не будем — это случается сплошь и рядом, но проанализируем происходящее с точки зрения графа. Операционная система такого компьютера при авторизации сохранит в памяти служебного процесса lsass.exe учетные данные администратора домена. В зависимости от версии и конфигурации Windows это может быть пароль в открытом виде, производный от него NTLM-хэш или билетик Kerberos. Захват такого компьютера позволит хакеру в итоге завладеть всем доменом, что и отображено в графе отдельной связью. Каждая подобная авторизация создает в графе новое ребро, что увеличивает его связность. Для автоматизации построения графов среди инструментов хакера есть утилиты powersploit и bloodhound, подключающие математику для поиска кратчайших путей.

Графовое представление связей объектов Active Directory, построенное программой Bloodhound. Источник – блог компании Positive Technologies
Графовое представление связей объектов Active Directory, построенное программой Bloodhound. Источник – блог компании Positive Technologies

Проблема заключается в том, что обычно модель, которую использует ИТ-отдел для управления сетью, сильно отличается от того графа, каким видит систему злоумышленник. И поскольку у защитников нет возможности отследить неочевидные связи, такой компьютер не будет защищаться как высококритичный актив, на нем могут быть не установлены необходимые обновления безопасности или отсутствовать антивирусное средство.

Мышление хакера

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

Представим, что такой злоумышленник появился в сети. Точкой входа в инфраструктуру мог являться, например, компьютер пользователя, угодившего в сети социальной инженерии.

Примерно так может выглядеть кусочек корпоративной сети в глазах хакера. Источник - github.com
Примерно так может выглядеть кусочек корпоративной сети в глазах хакера. Источник - github.com

Где «приземлился» хакер относительно своей цели ему неизвестно, задача состоит в исследовании графа и поиска пути до целевой вершины. Он использует пароль локального администратора и обнаруживает, что тот подходит к нескольким соседним машинам. В памяти одной из них он находит учетную запись администратора рабочих станций, что дает доступ к гораздо большему количеству машин. Подобным же образом злоумышленник постепенно исследует весь граф безопасности и в итоге установит путь до целевой вершины.

И что же, в таком случае, делать защитникам?

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

Знайте граф инфраструктуры, которую создаете, мыслите как хакер!

Комментарии (8)


  1. khulster
    08.08.2022 14:53

     И поскольку у защитников нет возможности отследить неочевидные связи, такой компьютер не будет защищаться как высококритичный актив, на нем могут быть не установлены необходимые обновления безопасности или отсутствовать антивирусное средство.

    Очень странное обобщение. Вроде бы системы тиринга изобрели уже давно и именно во многом потому, что нельзя учесть всего. Поэтому на "таком" компьютере, при нормально настроенной системе, будет применены некий политики ограничивающие его возможности в зависимости от tier`а к которому данный компьютер относится. Например - на нем в принципе нельзя будет залогиниться от учетной записи администратора домена. Так как такой логин возможен только на компьютерах уровня Т0.

    Ну и в целом, рассуждения на тему того, что у атакующих и защитников различаются, оно не проходит проверку тем фактом, что многие бывшие хакеры ушли в defense. А пресловутым графом оперирует любой уважающий себя системный архитектор. Именно для понимания всех связей и зависимостей внутри инфраструктуры.


    1. adely-originsecurity Автор
      10.08.2022 15:12

      Все верно, механизмы и стратегии безопасного построения инфраструктуры, позволяющие противостоять хакеру, имеются, но это тема отдельной статьи. Помимо упомянутой модели тиринга есть и подходы Zero Trust, Assume compromise, модели ролевого предоставления доступа и т.д. При этом необходимого уровня безопасности можно достичь только их совместное применение, в одиночку они зачастую малоэффективны.

      Про бывшых хакеров в дефенсе согласна, хорошо когда на стороне защиты трудится человек, знающий тонкости работы с другой стороны баррикад. Но виден ли от этого эффект? Пентестеры в аналитических отчетах поражаются, что многие компании до сих пор не знают своего периметра, не говоря уже о построении внутренней инфраструктуры. Количество и громкость инцидентов растет год от года, а под удар попадают и крупнейшие IT-компании. При этом применяемые хакерами приемы - далеко не рокет саенс, по статистике из DFIR знание только 5% техник и тактик MITRE обеспечивает обнаружение 95% всех инцидентов.


      1. khulster
        10.08.2022 18:41

        При этом применяемые хакерами приемы - далеко не рокет саенс, по статистике из DFIR знание только 5% техник и тактик MITRE обеспечивает обнаружение 95% всех инцидентов.

        Насколько я знаком со спецификой работы пентестеров, они прогоняют, как правило, только общедоступные решения. Т.е. грубо говоря нашли что-то и "загуглили", что с этим можно сделать. Если ответ находится - применили. И даже при таком подходе - дыр находится огромное количество.

        Но проблема в первую очередь не в том, что система защиты не продумана, а в том, что защита, в отличие от взлома, это не разовая акция. Ее мало один раз простроить. Ее эффективность напрямую зависит от готовности соблюдать разработанные и внедренные правила и полиси. И в этом месте начинаются проблемы. Люди не понимают и не хотят понимать, зачем в их работе введено столько неудобств. Бизнес требует быстрых решений уже завтра и не готов ждать анализа возможных рисков и т.д. В итоге накапливается legacy временных решений, служебных бекдоров и прочих радостей пентестера.

        Второй аспект момент - облака. Да, это удобно, быстро, эффективно. Но тот же AWS или Azure не будет за вас ограничивать доступ к вашим ресурсам. Это не их задача - они нам продают ресурс (с оговорками конечно), а не вмешиваются в ваши процессы.

        Поэтому мало видеть условный граф. Крайне важно удерживать систему в неких заданных рамках, а это в реальности крайне тяжело реализуемо.


  1. proBAH
    08.08.2022 15:18
    +1

    Он опубликовал это ещё в 2015 году, но всё равно спасибо, познавательно.


    1. adely-originsecurity Автор
      10.08.2022 15:13

      Да, мне кажется, что идея актуальна и по сей день


  1. panteleymonov
    08.08.2022 23:39
    +3

    Защитники думают списками, атакующие думают графами.

    Не будем забывать, что граф можно описать как списки вершин и соединений между ними.


  1. Jetmanman
    09.08.2022 10:56

    И что же, в таком случае, делать защитникам?

    В романе 1984 старший брат знает ответ.


  1. khe404
    09.08.2022 15:21

    Спасибо, за статью.

    Вообще, количество фактов в статье не большое, но она очень глубокая. Метод представления любого явления очень важен. Он определяет сложность понимания понятия и, как результат, позволяет это понимание углубить или наоборот запутать наблюдателя. Граф действительно наглядно отображает взаимосвязи и состояния объектов.

    Не совсем согласен с тем что защитники оперируют списками, хотя действительно значительная часть инфраструктуры не поддается эффективному контролю.