26 ноября 2020

🕵 Offensive или Defensive Security: что лучше, защита или нападение?

Telegram: @vladared
Пример разных подходов к безопасности: красные и синие команды. Разбираемся, чему надо учиться для участия в них, и как выбрать между Offensive или Defensive Security.
🕵 Offensive или Defensive Security: что лучше, защита или нападение?

Традиционная стратегия кибербезопасности фокусируется на защите. Активный переход на дистанционную работу с использованием удаленного и внедрение BYOD (Bring your own device) требуют переключения внимания на обнаружение и реагирование. В этом случае обязательно создание обороняющейся и атакующей команды.

Разница между Offensive и Defensive Security

Существование в компании Offensive security позволяет постоянно совершенствовать защиту, следуя модели «подразумевать взлом» (assume breach). Цель таких «войнушек» – найти слабые места и усилить их, а также сократить время реагирования до минимума.

В одних компаниях красная/синяя команда существуют на постоянной основе. Например, в Microsoft группа сотрудников занимается всесторонней проверкой устойчивости облачной платформы Azure. Что-то подобное есть в Google, McAfee и Tesla. В других компаниях такие команды собираются только на время учений; красная команда предоставляется сторонней организацией, которая на этом специализируется.

Defensive и Offensive security могут быть представлены не только синей и красной командой. Иногда атакует инфраструктуру только один пентестер, а защищает, например, аналитик кибербезопасности. В зависимости от размера и сферы деятельности компании, ей может быть достаточно только тестирования на проникновение, а может быть нужны и пентестеры, и красная команда (их цели различаются, об этом – ниже).

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

Рассказываем, какие навыки необходимы участникам каждой команды, и приводим примеры их взаимодействия.

Атакующие ребята

Offensive security может быть представлена в нескольких форматах. Вот некоторые из них:

<i>Источник: <a href="https://www.anti-malware.ru/analytics/Market_Analysis/Red-Team-Operations-market-overview" target="_blank" rel="noopener noreferrer nofollow">Anti-malware</a>.</i>
Источник: Anti-malware.

Чаще всего путают деятельность красных команд (red teaming) и традиционный пентестинг, так как многие требуемые навыки и выполняемые командами тестеров функции совпадают, но цели и результаты их работы отличаются.

1. Цель пентестеров: поиск уязвимостей, чтобы оценить возможные риски. Цель Red teaming: с помощью целенаправленных атак понять, насколько хорошо защищена система, и подкованы в плане безопасности сотрудники.

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

3. В рабочий процесс пентестеров входит поиск уже известных уязвимостей, их анализ, а в ряде случаев и эксплуатация. Красные команды ищут в том числе угрозы нулевого дня (0-day) и пытаются использовать изъяны для компрометации исследуемого объекта

4. Время поиска. У пентестеров оно ограничено: от нескольких дней до пары недель, чтобы исключить ложноположительные сценарии. Red teams же не ограничены по времени.

5. Формат отчета. У красных команд он представляется в виде истории, а у пентестеров это может быть просто перечисление найденных уязвимостей.

Необходимые знания и навыки для участников Red team

Вам не обязательно подробно разбираться во всех этих направлениях. Достаточно понимать, как это все работает и быть мастером в чем-то одном. Навыки идут от более общим к более специализированным. Участнику красной команды необходимо:

  • знание ландшафта угроз для отрасли организации-заказчика;
  • понимание способов осуществления атак;
  • креативное, неформальное мышление – нужно постоянно искать новые техники и инструменты;
  • владение методами тестирования на проникновение;
  • OSINT;
  • владение методами имитации угрозы (threat emulation);
  • умение создавать собственные эксплойты;
  • навык осуществления физических атак, понимание физических средств защиты;
  • навыки социальной инженерии;

Стек технологий:

  • ОС и программные пакеты;
  • разнообразные сетевые протоколы и алгоритмы;
  • беспроводная связь;
  • шифрование;
  • Python, Ruby, Perl, PowerShell и др.;
  • BAD USB;
  • продвинутое системное администрирование и инженерия;
  • пользовательские приложения, протоколы и другие технологии;
  • сети;
  • взлом замков (Lock picking).

Примеры задач

  • любыми методами нарушить безопасность компании и получить информацию, проникнуть в систему или физически проникнуть на территорию организации. Вплоть до того, чтобы приехать в офис, представиться курьером и попроситься быстренько отнести посылку в нужный кабинет. Затем просто вставить флешку в ПК кого-то из сотрудников или даже менеджмента;
  • избегать обнаружения синей командой;
  • тестировать средства безопасности на проникновение;
  • идентифицировать и использовать ошибки и слабые стороны инфраструктуры компании.
<i>Источник: книга «Кибербезопасность: стратегии атак и обороны».</i>
Источник: книга «Кибербезопасность: стратегии атак и обороны».

Обороняющие ребята

Defensive security может реализовываться в классическом формате работы отдела кибербезопасности компании. Если же это формат учений или непрерывного тестирования безопасности, то отдельно формируется синяя команда. Чаще всего она набирается из внутренних сотрудников. В отличие от стандартного отдела кибербезопасности, команда находится в постоянном ожидании атаки.

Как и красная команда, синие занимаются оценкой безопасности сети и идентифицируют возможные уязвимости. Делают они это другими способами. Усиливают безопасность, распознают, противодействуют и пытается ослабить красную команду. Синим нужно быстро реагировать на атаки противников, по возможности закрывать обнаруженные дыры и документировать результаты.

К defensive security относятся такие направления кибербезопасности, как security operations center (SOC), threat intelligence (TI), форензика, киберразведка и т. д.

Необходимые знания и навыки для Blue team

  • умение искать и анализировать основные угрозы – здесь поможет OSINT;
  • умение продумывать сценарии рисков;
  • владение техниками и инструментами усиления безопасности;
  • SIEM (Security Information and Event Management).
  • аудит DNS;
  • реверс-инжиниринг;
  • анализ рисков;
  • анализ цифровых следов;
  • DDoS-тестирование;
  • межсетевая защита;
  • антивирусные программы;
  • анализ логов;
  • IDS (Intrusion detection system) и IPS (Intrusion Prevention System);
  • pcap.

Вот примерный стек технологий синей команды:

🕵 Offensive или Defensive Security: что лучше, защита или нападение?

Примеры задач

  • определять критические объекты компании;
  • проводить оценку рисков и приоритезировать их;
  • внедрять меры, которые будут направлены на усиление слабых мест и, в то же время, будут экономически обоснованными;
  • проверять работают ли существующие меры безопасности так, как должны. Если SIEM молчит, то это не значит, что там нет противников. Система может быть плохо настроена, а видимость нарушена;
  • отслеживать подозрительный трафик и распознавать индикаторы нарушений;
  • понимать, в какой фазе находится инцидент и предпринимать соответствующие меры;
  • быстро пресекать любые попытки компрометации. В случае обнаружения сохранять и проверять улики, определять тип инцидента (может понадобиться привлечение другого отдела или правоохранительных органов), охватывать нарушение, исправлять уязвимость;
  • выявлять подключения участников красной команды и блокировать их.

Вот так выглядит процесс:

🕵 Offensive или Defensive Security: что лучше, защита или нападение?

Взаимодействие красной и синей команды

<i>Источник: книга «Кибербезопасность: стратегии атак и обороны».</i>
Источник: книга «Кибербезопасность: стратегии атак и обороны».

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

  • работой над окончательным отчетом после проверки какого-то из объектов;
  • планированием и разработкой новых решений по усилению защиты;
  • обменом знаниями: синие рассказывают о новых технологиях защиты, а красные – о новых угрозах и техниках пентеста.

Иногда может понадобиться создание фиолетовой команды (purple team). Она работает над эффективностью обеих команд и обычно состоит из их же участников. Фиолетовая команда представляет собой интенсивную временную совместную работу красных и синих – это своеобразный тренинг.

<i>Источник: <a href="https://pentestmag.com/red-teaming-10000-feet/" target="_blank" rel="noopener noreferrer nofollow">Pentesmag</a>.</i>
Источник: Pentesmag.

Пример коммуникации красной и синей команды:

🕵 Offensive или Defensive Security: что лучше, защита или нападение?

Задачи фиолетовой команды:

1. Установить лучшее понимание инфраструктуры обеих команд.

2. Закрепить практику регулярной обратной связи.

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

4. Анализировать результаты и принимать меры. Например, более полное обучение сотрудников.

Примеры red teaming

1. Получение административного доступа к Active Directory. Кейс от Group-IB.

Была взломана одна из дочерних компаний группы и обнаружен VPN между локальными сетями подразделений. Подключение к сети было хорошо защищено. Команда применила атаку Kerberos «golden ticket», чтобы обойти защиту с помощью смарт-карт на «низком уровне». Используя механизм доверия между доменами Active Directory, команда получила администраторские права в головном офисе.

2. Тестирование с помощью социальной инженерии. Кейс от QCC Global.

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

Не называя имен QCC Global предоставила отчет, а также составила план индивидуального обучения для сотрудников на основе найденных пробелов. Через год был проведен ретест, который показал значительные улучшения. Команда QCC Global использовала те же методы и получила гораздо меньше доступов.

3. Сценарии киберучений от BI.ZONE, они же предоставляют красную команду.

1) Атакующая команда хочет украсть конфиденциальные данные клиентов.

Действия синей команды во время инцидента: пресечь атаку как можно скорее, минимизировать украденную информацию и поддерживать работоспособность сервиса.

2) Преступники получили привилегированный доступ с помощью фишинговой атаки.

Расследование синей командой уже произошедшего инцидента:

  • Был зафиксирован запрос в центр командования и управления. Синяя команда получила данные о каком-то из скомпрометированных хостов: дамп памяти, журнал событий и др. Действия синей команды: использовать методы и инструменты компьютерной форензики.
  • Такой же инцидент, но другие индикаторы компрометации. Агенты EDR собирают телеметрию и посылают на Threat hunting платформу. Там собранные данные анализируются и идентифицируется аномальная активность. Действия синей команды: охота на угрозы (Threat Hunting approach).

В результате двух раундов для правоохранительных органов должно быть сформировано досье на эти происшествия.

Как выбрать команду?

Если вы так и не определились с направлением, то вот несколько вариантов, которые в этом помогут.

1. Поучаствовать в attack/defense CTF. В этом типе соревнования ваша команда будет одновременно и атаковывать приложения других команд и защищать свои. Примеры таких конкурсов можно найти здесь.

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

Заключение

Чтобы успешно работать на стороне команды защиты или нападения, вам все равно нужно понимать техники противника. Чтобы хорошо защищать, нужно знать способы атаки, и наоборот: ваши атаки будут гораздо более результативными, если вы хорошо осведомлены об инструментах и техниках защиты.

***

Хочу научиться программировать с нуля, но не знаю, с чего начать. Что делать?

Можно учиться самостоятельно (долго) или пойти на курсы с преподавателями (быстро). Плюс нужно учитывать, что джунов много, конкуренция выше и работодатели повышают порог вхождения при найме на работу. Чтобы получить актуальные знания, мы в proglib.academy запустили курсы:

  • Основы программирования на Python.
  • Профессия Python-разработчик.
  • Алгоритмы и структуры данных.
  • Математика для Data Science.
  • Профессия Data Science.
  • Frontend Basic: принцип работы современного веба.
  • Профессия Фронтенд-разработчик.
  • Обработка естественного языка. Полный курс.

На подходе еще больше 10 курсов для взрослых и детей.

МЕРОПРИЯТИЯ

Комментарии

ВАКАНСИИ

Добавить вакансию
Аналитик данных
Екатеринбург, по итогам собеседования
DevOps
Санкт-Петербург, от 150000 RUB до 400000 RUB

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ