1

Технологія обману. Що таке Deception і як обманюють хакерів

Ви напевно чули про ханіпоти — цілі-приманки, які дозволяють через атаку на них відстежити хакерів. В останні роки ця технологія еволюціонувала і тепер носить загальну назву Deception.

 

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

 

Сьогодні ця технологія представлена ​​американськими та ізраїльськими вендорами. Серед них найвідоміші — TrapX, Illusive Networks, Fidelis, Cymmetria MazeRunner, Canary. Також є кілька опенсорсних програм.

 

Отже, що таке Deception з позиції розробника і чим цікавий. Але спочатку поговоримо про попередника цієї технології — ханіпоти.

 

ГОРЩИКИ З МЕДОМ

 

Honeypot («горщики з медом») можна вважати першою технологією Deception. З’явилися вони у 80-90-х роках. Ханіпот — це мережевий об’єкт, єдина мета якого — приваблювати зловмисника та бути атакованим.

 

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

 

Другорядна мета ханіпота — затримати просування атакуючого по мережі, змусивши витрачати час на вивчення хибного ресурсу.

 

Ханіпот може бути повноцінною операційною системою, яка емулює робоче місце співробітника або сервер, або окремим сервісом.

 

Недоліки ханіпотів:

  1. потрібно окремо налаштовувати кожен хибний сервер;
  2. не взаємодіють між собою та з елементами справжньої інфраструктури;
  3. не залишають слідів, хакеру їх важко виявити;
  4. зазвичай, не об’єднані в централізовану систему.

 

На зміну цієї технології поступово прийшла інша, більш просунута та розумна, — Deception.

 

СУТЬ ТЕХНОЛОГІЇ ОБМАНУ

 

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

 

У чому відмінність Deception від ханіпотів?

 

Ханіпот є окремим мережевим ресурсом, який ні з ким не взаємодіє, а тільки чекає на атакуючого, щоб записати його дії. Deception є централізованою системою управління хибними мережевими об’єктами, які прийнято називати пастками (decoys). Кожна пастка є, по суті, окремим ханіпітом, проте всі вони пов’язані з центральним сервером.

 

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

 

Так само як і ханіпоти, пастки Deception не передбачають легітимної мережевої взаємодії (за винятком взаємодії з іншими компонентами Deception).

 

Пастка повідомляє сервер про будь-яку спробу взаємодії з нею: це служить індикатором атаки. При цьому оператор моментально отримує повідомлення про подію, що відбулася, яке містить деталі події: адресу й порт джерела та цілі, протокол взаємодії, час спрацьовування тощо.

 

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

 

АГЕНТИ

 

Агент — це програма, яку встановлюють на реальні робочі станції користувачів чи сервери. Вона вміє спілкуватися з сервером Deception, виконувати його команди чи передавати дані до центру управління.

 

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

 

Завдання агенту:

 

  • збір даних про стан робочих станцій;
  • поширення приманок;
  • емуляція активності у мережі;
  • реагування на інциденти (ручне або автоматизоване);
  • збір даних для форензики;

 

Діяльність агента краще зробити прихованою від користувача, який працює за комп’ютером. По-перше, він може навмисно або випадково видалити агент або його складові. По-друге, все, що бачить користувач, побачить і атакуючий, який одержав доступ до цього комп’ютера.

 

Тому агентські рішення у складі Deception слід робити таким чином, щоб користувач не бачив ні агента, ні слідів його життєдіяльності.

 

Тому агенти зазвичай працюють у привілейованому режимі, як драйвери для Windows чи модулі ядра у разі Linux.

 

Прийоми мімікрії

 

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

 

Приманки

 

Щоб атакуючий з більшою ймовірністю натрапив на пастку, можна його підштовхнути. Для цього в Deception використовуються приманки, або «хлібні крихти».

 

Приманка — це об’єкт, який розміщується на реальній робочій станції, потай або ні. Приманка виглядає як щось звичайне та цікаве для атакуючого («випадково» забутий файл із паролем, збережена сесія, закладка в браузері, запис у реєстрі). Приманка містить посилання та дані для доступу до хибного мережевого ресурсу.

 

Зловмисник, виявивши таке посилання та авторизаційні дані, схоче перевірити, що це за сервіс. Він зайде на пастку, і тут спрацьовує сигналізація про інцидент.

 

Види й методи розміщення приманки залежать від типу пастки, до якої приманка веде.

 

Приманки можуть поширюватися кількома способами. Якщо у складі Deception є агенти, то вони відповідають за розміщення приманок. Цей процес можна автоматизувати: сервер управління посилає команду агенту, і той виконує необхідні дії для встановлення приманки.

 

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

 

Слід, наскільки це можливо, обмежити взаємодію справжніх користувачів із приманками. Також вони мають бути правдоподібними. Якщо ми поставимо приманку як SSH на комп’ютер бухгалтера, це може викликати підозру в атакуючого.

 

Найчастіше приманка містить авторизаційні дані доступу до пастки — логін і пароль або ключ. Але як зробити, щоб вони виглядали правдоподібними? Тож виникає думка вести всередині Deception базу фейкових користувачів.

 

Хибні користувачі

 

Можна вести базу хибних користувачів мережі. Існують різні підходи до ведення такої бази.

 

Наприклад, Deception можна інтегрувати із системою аналізу трафіку. Це дає можливість розпізнавати у мережевому трафіку наявність даних для авторизації, знаходити в них спільні риси та генерувати користувачів, схожих на справжні, за виявленими правилами.

 

Якщо такої інтеграції немає, гарним рішенням виглядає генерація користувачів за вручну заданими правилами. Серед таких правил може бути вибір певного словника імен, завдання шаблону для логіна, завдання правил генерації пароля (наявність спецсимволів, мінімальна довжина, генерація паролів, що запам’ятовуються, вибір паролів зі словника і так далі), завдання адреси домену, поштового сервера.

 

Такий підхід може стати в нагоді, якщо компанія за допомогою Deception захищає філії в різних країнах. Тоді, скажімо, для української філії хибні користувачі можуть мати імена з українського словника, а для китайської — з китайської.

 

Коли сформована база хибних користувачів, Deception може використовувати її для створенні приманок. Для більшої реалістичності можна робити зв’язок між агентом і хибним користувачем так, щоб усі приманки, розміщені на цьому агенті, були від імені однієї людини.

 

Емуляція мережевої взаємодії

 

Якщо традиційні ханіпоти існують самі по собі, ні з чим не взаємодіють і не залишають слідів у мережі, то технологія Deception спрямована в тому числі на те, щоб підштовхнути зловмисника до взаємодії з пасткою.

 

Для цього нападнику треба підказати, де шукати пастку, і переконати його, що це реальний сервіс. Уявімо, що ви знайшли у мережі якийсь сервіс, і в результаті пасивного сніфінгу з’ясували, що з ним ніхто ніколи не взаємодіє. Це підозріло.

 

Тому одна з фішок Deception — це можливість активно емулювати мережеву взаємодію. Взаємодіяти можуть будь-які точки в рамках системи: пастки з пастками, агенти з пастками. Реалізація залежить від конкретного рішення і може включати взаємодію простими пакетами TCP/UDP, а також передачу даних за високорівневим протоколом.

 

ДОДАТКОВІ КОМПОНЕНТИ

 

Автоматичне розгортання

 

Одна з потенційних проблем Deception — це трудомісткість первинного налаштування. Без автоматичного деплою при встановленні Deception довелося б вручну визначати список пасток та емульованих сервісів, правильно їх налаштовувати та для кожної пастки створювати і розміщувати приманки.

 

Проте неможливо зробити типове рішення, щоб підходить кожному клієнту. Кожна організація має свій набір мережевих ресурсів для розміщення у вигляді пасток. Якщо мережа компанії невелика, то впорається один фахівець. Якщо Deception ставить собі велика компанія, у неї може бути безліч підмереж, які потребують встановлення пасток. У кожній підмережі може бути свій набір типових ресурсів. Тому варто автоматизувати розгортання.

 

Реалізацій можна бути кілька. Якщо Deception інтегрований із системою аналізу трафіку, система може отримувати дані про те, за якими протоколами йде взаємодія кожної окремої підмережі. На основі цієї інформації Deception може автоматично встановлювати потрібні види пасток у необхідній кількості та навіть сама оновлювати хибний шар мережі при додаванні нових реальних ресурсів.

 

Якщо інтеграції немає, проблему можна вирішити інакше. Сервер Deception виконує активне сканування мережі, отримуючи дані про відкриті порти на реальних машинах, або пасивне прослуховування трафіку там, де це можливо. Зібрану інформацію Deception буде використовувати для автоматичного встановлення пасток.

 

Третій спосіб. Оператору можна надати не ручне створення та налаштування окремих пасток, а спосіб вибору необхідного списку мережевих сервісів та певної кількості пасток. Тоді встановлення та налаштування буде виконано автоматично за шаблоном.

 

ЗБІР ДАНИХ ІЗ РОБОЧИХ СТАНЦІЙ

 

Deception може бути не лише засобом виявлення атак. Наявність агентів дозволяє системі брати на себе й інші задачі. Одна з них — збір агентом даних про встановлене на комп’ютерах ПЗ, включно з версією та датою установки. Результати можна порівнювати з базами CVE і вчасно попереджати про те, що наявна версії програми має серйозну вразливість.

 

Також агент може збирати дані для форензики (розслідування інцидентів). Коли пастка виявляє атаку, джерело якої робоча станція з агентом, Deception може порівняти дані пасток (час, порт джерела з’єднання) з інформацією агента. Таким чином можна отримати корисні відомості про атаку: який процес її запустив, як він потрапив на комп’ютер тощо.

 

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

 

Deception порівняно нова технологія, і рішення цього класу з’явилися на ринку нещодавно, проте вона набуває популярності. Deception не замінює стандартні загальноприйняті системи інформаційної безпеки, але доповнює системи захисту, дозволяючи виявити атаки, що обійшли всі інші засоби.

Related Posts

card__image

Роль людських помилок у кібербезпеці та чого чекати у 2023 році?

Протягом наступного року багато з того, що ми бачимо, буде продовженням вже знайомих багатьом тенденцій. Це означає:   ПРОГРАМИ-ВИМАГАЧІ ЕВОЛЮЦІОНУЮТЬ:   Доки ворожі країни заохочують зловмисників, а вони продовжуватимуть атакувати організації-жертви, які продовжуватимуть сплачувати викупи, не варто очікувати, що програми-вимагачі скоро зникнуть. Скорше за все, зловмисники використовуватимуть дедалі більше інновацій, щоб випереджати захисні засоби та […]

card__image

Загрози для держав, зростання атак нульового дня: Microsoft’s Digital Defense Report 2022

Нещодавно Microsoft опублікувала звіт про цифровий захист за 2022 рік, у якому представлено поточний ландшафт загроз, аналіз першої рашистсько-української гібридної війни, поточний стан кіберзлочинності та надано рекомендації для успішного захисту від майбутніх загроз.   Державні хакерські угруповання стають все більш вагомою загрозою, оскільки вони все частіше атакують об’єкти критичної інфраструктури та швидко використовують уразливості нульового […]

card__image

QA Тестування та тестування безпеки: чому краще робити це разом

Якісне програмне забезпечення, додаток або продукт є результатом високо орієнтованої на процес функції забезпечення якості (QA) у життєвому циклі розробки програмного забезпечення (SDLC — Software Development Life Cycle). Однак іноді його розглядають як доповнення, яке постачається наприкінці, щоб перевірити всі аспекти продукту чи програми перед тим, як зробити її доступною для загального користування чи кінцевого […]

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься.