Ты наверняка слышал про ханипоты — цели-приманки, по атакам на которые вычисляют хакеров. В последние годы эта технология проапгрейдилась и теперь носит общее название Deception. О том, в чем отличия и как хакеров пытаются водить за нос, мы и поговорим.

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

Сегодня эта технология представлена в основном зарубежными — американскими и израильскими — вендорами. Среди них самые известные — TrapX, Illusive Networks, Fidelis, Cymmetria MazeRunner, Canary. С российскими производителями пока не очень. У нас есть Honeypot Manager «Кода безопасности», выпущенный в 2009 году, — уже не просто ханипот, но еще и не полноценный Deception. Есть пара свежих полноценных решений — Bastion Security Platform, которую делаем мы с моими коллегами в «Бастионе», и Xello. Также можно найти несколько опенсорсных программ.

Собственно, с позиции разработчика я и планирую рассказать о том, что такое Deception и чем он интересен. Но сначала поговорим о предтече этой технологии — ханипотах.

 

Горшки с медом

Honeypot («горшочек с медом») можно считать первой инкарнацией технологии Deception, а появились они еще в конце восьмидесятых — начале девяностых годов. Ханипот — это сетевой объект, единственная цель которого — привлекать злоумышленника и быть атакованным.

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

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

Ханипот может быть полноценной операционной системой, которая эмулирует рабочее место сотрудника или сервер, либо отдельным сервисом.

Однако сам по себе ханипот имеет ряд недостатков:

  • нужно отдельно настраивать каждый ложный сервер;
  • ханипоты не взаимодействуют между собой и с элементами настоящей инфраструктуры. Они не оставляют следов, хакеру их трудно обнаружить;
  • ханипоты, как правило, не объединены в централизованную систему.

На смену этой технологии постепенно пришла другая, более продвинутая и умная, — Deception.

 

Суть технологии обмана

Deception относится к решениям класса Intrusion Detection System (IDS) — системам обнаружения вторжений. Основная цель такой системы — выявлять попытки нежелательного доступа к сети. Иными словами, Deception помогает обнаруживать сетевые атаки.

В чем отличие Deception от ханипотов? Ханипот — это отдельный сетевой ресурс, который ни с кем не взаимодействует, а только ждет атакующего, чтобы записать его действия. Deception же — это централизованная система управления ложными сетевыми объектами, которые принято называть ловушками (decoys). Каждая ловушка представляет собой, по сути, отдельный ханипот, однако все они связаны с центральным сервером.

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

Ловушки и эмулируемые на них сервисы поддерживают постоянное соединение с сервером. Так же как и ханипоты, ловушки в Deception не предусматривают легитимного сетевого взаимодействия (за исключением взаимодействия с другими компонентами Deception).

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

Дополнительные модули в составе Deception также могут предоставлять возможность ручного или автоматизированного реагирования на инциденты.

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

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

 

Агенты

Агент — это программа, которая устанавливается на реальные рабочие станции пользователей или серверы. Она умеет общаться с сервером Deception, исполнять его команды или передавать в центр управления полезные данные.

Среди решений класса Deception есть как продукты, в состав которых входит агент, так и те, которые обходятся без него.

В задачи агента может входить:

  • сбор данных о состоянии рабочих станций;
  • распространение приманок;
  • эмуляция активности в сети;
  • реагирование на инциденты (ручное или автоматизированное);
  • сбор данных для форензики;
  • что-то еще — в меру потребностей клиентов и фантазии разработчика.

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

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

В-третьих, все, что видит пользователь, увидит и атакующий, получивший доступ к этому компьютеру. А ведь мы не хотим раскрыть свои карты перед атакующим, правда?

Поэтому агентские решения в составе Deception следует делать таким образом, чтобы пользователь не видел ни агента, ни следов его жизнедеятельности (или хотя бы стараться свести это к минимуму).

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

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.


5 комментариев

  1. Аватар

    upagge

    28.07.2020 в 13:46

    Интересная статья, узнал много нового (все) 😀
    Не думал, что есть такие «системы»

  2. Аватар

    vasia23

    28.07.2020 в 15:09

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

  3. Аватар

    enliven89

    29.07.2020 в 01:13

    А какие дальнейшие действия после обнаружения хакера?
    Можете поделиться реальными кейсами?

  4. Аватар

    r00_Hx

    02.08.2020 в 12:46

    Может я невнимательно читал, но как то смущает, что злоумышленник попадает на клиентскую машину, есть ведь вероятность, что он может не увидеть|распознать ловушку. Также агент(скрипт) может сильно повлиять на работу способность клиентской машины, и пропускную способность сети.

Оставить мнение