Thursday, May 12, 2016

Хонипоты в интерпрайзе

В презентации, рассказывая про атаки, я упомянул (этого нет в слайдах, но, по-моему, это было сказано), что с подавляющим большинством атак достаточно эффективно сражаются стандартные средства защиты, типа IPS, антивирусов и пр., и лишь небольшой процент (я слышал цифру ~1%) можно отнести к сложным целевым атакам (aka "APT"), с которыми надо работать как-то по-другому - используя другие инструменты с более глубоким вовлечением именно аналитика

Я много игрался с хонипотами, но потребность в них по-прежнему не очевидна. Просматриваются две основные идеи их применения. Во-первых, это может замедлить потенциальную атаку, о чем с некоторой подменой смысла повествовалось в статье уважаемого института. Однако, беря во внимание первый абзац этого поста, если мы имеем дело с "типовой" атакой, мои "стандартные" средства защиты прекрасно с этим справятся и без хонипота. Если же мы имеем дело с профессиональной атакой, то такой злоумышлениик раскусит наш хонипот за время, едва ли имеющее важное значение в общем таймлайне атаки. В этом случае, эффективность хонипота сводится к эффективности стандартной IDS - просто обнаружить то, с чем далее надо разбираться. Следует признаться, что когда в Амстердаме мы показывали видео про то, как ловить "хакеров" с помощью kippo, народ в зале отметил, что демонстрируемое поведение позволяет судить о далеко не высоком профессионализме атакующего. Если же мы будем разворачивать более хорошую эмуляцию (high-interaction honeypots), то это - полноценная новая система, которая, по Закону сохранения, утянет ресурсы, которые было бы куда более разумно потратить на обеспечение безопасности реальных информационных активов. Итого, от сложных неизвестных атак мы этим не защитимся, от известных - поможет "антивирус" (далее буду использовать как собирательный образ типовых привентивных технических средств обеспечения безопасности).

Второй задачей, решаемой хонипотом, обычно называют возможность исследования атаки: пока злоумышленник понимает, что он атакует хонипот, мы собираем эвиденс, который позволяет нам расследовать что происходит. Понятно, что едва ли нужно расследовать типовые атаки, где "антивирус" все заблокирует... Однако, хонипот не нужен и для сложных атак, поскольку, а) как было отмечено выше, его быстро раскусят, б) в случае необходимости расследования сложной целевой атаки у нас есть неотъемлемый "хонипот" - вся наша инфраструктура и приложения. Поэтому не надо сразу кидаться все вычищать, надо сначала понаблюдать и разобраться - это позволит избежать потенциальных проблем и радикально повысить эффективность вашего респонса. Об этом пишут все умные книжки про Incident response и об этом же говорил коллега в презентации (шикарная, на мой взгляд преза, полезно ознакомиться) - прежде чем кидаться в бой, надо максимально изучить противника (ну, безусловно, надо смотреть по обстоятельствам, не надо злоупотреблять "созерцанием и ничего не деланием", никогда не надо перегибать палку, красота - посередине). Итого, для исследования сложных атак в интерпрайзе хонипот тоже не нужен, так как все самое нужное и актуальное можно собраться собственно с защищаемой сети. А для "типовых" атак - достаточно, что хонипоты или любые другие подобные эмуляторы есть у производителей систем "антивирусов", которые я использую, и они регулярно и своевременно поставляют мне сигнатуры, защищающие меня от ~99% зла. 

5 comments:

Igor Gots said...

Если смотреть на honeypots под таким углом, то очевидно, что смысла в них для типичной компании нет.
А если мы посмотрим на них как на лакмусовые бумажки, которые являются четким индикатором наличия действия, которое не должно происходить в сети? Ведь honeypots оказываются эффективными как на этапе подготовке и сбора информации о сети, так и на этапе реализации атаки.
Мне кажется ты слишком уповаешь на вендорские решения. Они не сработают против APT, это доказано многократно.

Sergey Soldatov said...

А если мы на них посмотрим с указанной тобой точки зрения, то для решения этих задач есть другие штуки - системы обнаружения сетевых вторжений. Они как раз тебе покажут наличие действий, которые не должны происходить в сети.
И IDS не обязательно должна быть коммерческой: можешь взять Snort, можешь надампить трафик tcpdump-ом и разобрать его Python-ом - как тебе удобно.
Речь о том, что это - еще одна система, дающая трудоемкость, но не дающая результата сверх того, что уже есть.

Igor Gots said...

IDS не подходит по критерию "interaction", хоть и "low"

Danil Borodavkin said...

Я в целом согласен, особенно в части расходования времени. Но есть нюансы, на мой взгляд. Допустим, мы концентрируемся на защите веба и не дай бог самописного или на ворохе каких-то компонентов. Есть IDS - и да, она в целом-то конечно алертит, но наборы сигнатур (ET, Talos, которые я видел) все-таки не всемогущи, точно не 99% в нише эксплуатации уязвимостей зоопарка веб-компонентов (даже опубликованных). Мы наблюдали две ситуации с выполнением произвольного кода на веб-серверах, за первый случай не ручаюсь, но во втором зуб даю, что безопасники ежедневно просматривали лог сработок (snort + рулсет talos) и атака прошла. Если заниматься бессигнатурным выявлением, то в помощь нам, допустим логи apache или системы, но на продакшн-серверах в них можно заблудиться и никакой SIEM не поможет. А ханипот в этом плане как-раз может выручить - это пустышка, любая активность на которой уже заведомо не совсем легитимна - можно за ней следить и обозреть ее (в отличии от того, что творится в продуктивной среде). Для идеализированного квалифицированного нарушителя ханипот это конечно не болото, в котором он завязнет, но вокруг же живые люди, которые имеют разные квалификации, и авторы рулсетов тоже живые люди, которые при всем желании не смогут написать сигнатуры на все на свете. Это лирика, конечно, но доля сермяжной правды в ней возможно есть. :)

Sergey Soldatov said...

Отличный коммент! Согласен!
Danil, огромное спасибо за ваш опыт!