CoderCastrov logo
CoderCastrov
Анализ угроз

Методология и стратегия AbuseOps

Методология и стратегия AbuseOps
просмотров
4 мин чтение
#Анализ угроз

"Вы должны думать о больших вещах, когда занимаетесь малыми вещами, чтобы все маленькие вещи двигались в правильном направлении." - Алвин Тоффлер

Ниже приведена статья, написанная в 2018 году. Перечитывая ее сейчас в 2022 году, я вижу все отсутствующие профессиональные термины, такие как Threat Intelligence и внешняя и внутренняя разведка. Эту оригинальную статью придется расширить, чтобы включить сбор внешней разведки и управление разведкой. А пока наслаждайтесь тем, что я написал в 2018 году:


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

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

Итак, давайте поговорим о стратегии!

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

Для достижения эффективной блокировки атаки нам понадобится правильная информация. Обычно это включает в себя сырую информацию от источника. Отличное место для этого - изучение самого трафика, так как это то, как большинство продуктов взаимодействуют с пользователями. Большинство веб-сайтов и приложений используют REST и HTTP, поэтому нам нужно сохранить как можно больше входящих и исходящих данных из трафика, которые помогут нам обратно разработать, как работает злоумышленная атака. Примером может быть сохранение входящего GET-запроса HTTP на ваш веб-сайт со всеми его заголовками и значениями.

Но подождите, как мы узнаем, подвергаемся ли мы атаке?!?

Для этого нам нужно обнаружение. Обнаружение основано на сигнале в трафике, который идентифицирует его как злоупотребление. Это просто терминология, поэтому давайте приведем несколько примеров, чтобы лучше объяснить концепцию. В HTTP-трафике у нас есть поле, известное как заголовок user-agent. Этот заголовок используется клиентом для описания себя. Таким образом, если этот заголовок, например, "EVIL" или "bad traffic", то это сигнал, который можно использовать для идентификации плохого трафика и его фильтрации из общего трафика. Как только у вас есть надежный всесторонний и всеобъемлющий сигнал, его можно использовать для обнаружения и метрик, чтобы измерить количество злоупотреблений на вашем сайте и передавать другим заинтересованным сторонам в компании важную информацию о состоянии этих злоупотреблений.

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

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

Концепция Энигма

Машина Энигма была известно использована немцами во Второй мировой войне для защиты военной связи от союзников. Они не знали, что союзники взломали код и смогли перехватывать и читать информацию, "защищенную" машиной Энигма. Существует несколько случаев тяжелых решений, принятых во время войны, чтобы потерять активы и даже жизни, чтобы сохранить тайну о том, что Энигма была взломана, потому что после ее раскрытия враг легко может заменить ее. Еще одно интересное чтение о важности и секретном характере разведки в войне можно найти на странице Ultra.

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

У нас еще много вопросов по лучшим практикам, но я надеюсь, что это помогло вам понять основы. Далее мы рассмотрим некоторые инструменты, необходимые для выполнения описанного здесь.

Наконец, давайте рассмотрим основные моменты, которые были представлены здесь:

· Используйте наиболее полный и всесторонний блок, как это возможно.

· Сохраняйте данные как можно ближе к источнику.

· Сигнал - это сжатое понимание из данных свойства, присущего атаке.

· Используйте данные для идентификации сигналов злоупотребительского трафика.

· Концепция Энигма - оставьте сигнал или два в запасе для обнаружения.