Аналіз зашифрованого трафіку без його розшифровки

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

Аналіз зашифрованого трафіку без його розшифровки

Мережеві загрози змінилися і стали розумнішими. Останнім часом змінилася сама концепція атаки та захисту. Кількість подій у мережі зросла у рази. Атаки стали витонченішими, а у хакерів з'явилося ширше охоплення атак.

За статистикою Cisco, зловмисники за останній рік у 3 рази збільшують кількість шкідливих програм, які використовують для своєї діяльності, а точніше для її приховування – шифрування. З теорії відомо, що «правильний» алгоритм шифрування може бути зламаний. Для того щоб зрозуміти, що ховається всередині зашифрованого трафіку, необхідно або його розшифровувати знаючи ключ, або спробувати дешифрувати його різними хитрощами, або зламуванням в лоб, або використовуючи якісь уразливості в криптографічних протоколах.

Аналіз зашифрованого трафіку без його розшифровки
Картина мережевих загроз нашого часу

машинне навчання

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

Машинне навчання (Machine Learning) - великий підрозділ штучного інтелекту, що вивчає методи побудови алгоритмів, здатних навчатися. Ця наука спрямовано створення математичних моделей «навчання» комп'ютера. Мета навчання – передбачення чогось. У людському розумінні ми називаємо цей процес словом «мудрість». Мудрість проявляється у людей, що прожили досить багато років (дитина двох років не може бути мудрою). Звертаючись за порадою до старших товаришів, ми даємо їм якусь інформацію про подію (вхідні дані) та просимо допомогти. Вони ж у свою чергу згадують усі ситуації з життя, які якось пов'язані з Вашою проблемою (база знань) і на підставі цих знань (даних) видають нам свого роду передбачення (рада). Передбаченням цей вид порад стали називати через те, що людина, яка дає пораду, не знає напевно, що станеться, а лише передбачає. Життєвий досвід показує, що людина може мати рацію, а може й помилитися.

Не варто порівнювати нейронні мережі з алгоритмом розгалуження (if-else). Це різні речі, і в них є ключові відмінності. Алгоритм розгалуження має чітке "розуміння" що робити. Продемонструю на прикладах.

Завдання. Визначити гальмівний шлях автомобіля за його маркою та роком випуску.

Приклад роботи алгоритму розгалуження. Якщо автомобіль марки 1 і випущений у 2012 році – його гальмівний шлях дорівнює 10 метрам, інакше якщо автомобіль марки 2 і випущений у 2011 році і так далі.

Приклад роботи нейронної мережі. Збираємо дані про гальмівні шляхи автомобілів за останні 20 років. За маркою та роком складаємо таблицю виду «марка-рік випуску-гальмівний шлях». Видаємо цю таблицю нейронної мережі та починаємо її вчити. Навчання проводиться так: ми подаємо дані в нейронну мережу, але без гальмівного шляху. Нейронка намагається передбачити, який буде гальмівний шлях, на підставі завантаженої в неї таблиці. Передбачає щось і ставить запитання користувачеві «Я права?». Перед запитанням вона створює четвертий стовпець – стовпець вгадування. Якщо вона має рацію – то вона прописує 1 у четвертому стовпці, помилилася – 0. Нейронна мережа йде до наступної події (навіть якщо вона помилилася). Так мережа навчається і коли навчання закінчено (досягнуто певний критерій збіжності), ми подаємо дані про автомобіль, що цікавить нас, і нарешті отримуємо відповідь.

Щоб зняти питання про критерій збіжності, поясню, що це математично виведена формула статистики. Яскравий приклад двох різних формул збіжності. Червона – бінарна збіжність, синя – нормальна збіжність.

Аналіз зашифрованого трафіку без його розшифровки
Біноміальний та нормальний розподіл ймовірності

Щоб було зрозуміліше, запитайте «Яка ймовірність зустрічі динозавра?». Тут два варіанти відповіді. Варіант 2 дуже мала (синій графік). Варіант 1 – або зустріч чи ні (червоний графік).

Звісно, ​​комп'ютер не людина і навчається він інакше. Виділяються 2 види навчання залізного коня - навчання з прецедентів и дедуктивне навчання.

Навчання за прецедентами – це спосіб навчання за математичними законами. Математики збирають таблиці статистики, роблять висновки та завантажують у нейронну мережу результат – формулу для розрахунку.

Дедуктивне навчання – навчання відбувається цілком у нейронці (від збору даних, до аналізу). Тут формується таблиця без формули, але зі статистикою.

Широкий огляд технології зайняв би ще кілька десятків статей. Поки що нам вистачить і цього для загального розуміння.

Нейропластичність

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

Яскравий приклад нейропластичності в житті - льодяник BrainPort.

У 2009 році університет Вісконсіна в Медісоні оголосив про появу нового пристрою, що розвиває ідеї «мовного дисплея», – воно отримало назву BrainPort. BrainPort працює за таким алгоритмом: відеосигнал надходить від камери до процесора, який керує зумом, яскравістю та іншими параметрами картинки. Він також перетворює цифрові сигнали на електричні імпульси, фактично приймаючи він функції сітківки.

Аналіз зашифрованого трафіку без його розшифровки
Льодяник BrainPort з окулярами та камерою

Аналіз зашифрованого трафіку без його розшифровки
BrainPort у роботі

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

Encrypted Traffic Analytics

Encrypted Traffic Analytics є частиною системи Stealthwatch. Stealthwatch – це розробка компанії Cisco у галузі рішень для моніторингу та аналітики безпеки, в якій використовуються корпоративні дані телеметрії з існуючої мережної інфраструктури.

Основу Stealthwatch Enterprise складають інструменти Flow Rate License, Flow Collector, Management Console та Flow Sensor.

Аналіз зашифрованого трафіку без його розшифровки
Інтерфейс Cisco Stealthwatch

Проблема із шифруванням стала дуже гостро у зв'язку з тим, що шифрувати стали набагато більше трафіку. Раніше шифрували тільки код (в основному), зараз шифрується весь трафік і відокремлювати «чисті» дані від вірусів стало в рази складніше. Яскравий приклад – WannaCry, який використовував Tor для приховання своєї присутності у мережі.

Аналіз зашифрованого трафіку без його розшифровки
Візуалізація зростання числа шифрування трафіку в мережі

Аналіз зашифрованого трафіку без його розшифровки
Шифрування у макроекономіці

Система Encrypted Traffic Analytics (ETA) необхідна для роботи з зашифрованим трафіком без його розшифровки. Зловмисники розумні і використовують криптостійкі алгоритми шифрування та зламати їх не лише проблема, а й надвеликі витрати для організацій.

Система працює в такий спосіб. У компанію приходить трафік. Він потрапляє до TLS (transport layer security – протокол захисту транспортного рівня). Допустимо, трафік зашифрований. Ми намагаємося відповісти на низку питань про те, що за з'єднання було встановлено.

Аналіз зашифрованого трафіку без його розшифровки
Принцип роботи системи Encrypted Traffic Analytics (ETA)

Щоб відповісти на ці питання ми використовуємо машинне навчання в цій системі. Беруться дослідження компанії Cisco і за цими дослідженнями створюється таблиця з двох результуючих - шкідливий і "хороший" трафіку. Звичайно, ми не знаємо напевно, що за трафік потрапив у систему безпосередньо в даний момент часу, але ми можемо простежити історію трафіку як в компанії, так і поза нею вдаючись до даних зі світової арени. На виході з цього етапу ми отримуємо величезну таблицю з даними.

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

Далі застосовується технологія машинного навчання - збіжність формули і за результатом збіжності ми отримуємо тригер - перемикач, де при виході даних ми отримуємо вимикач (прапор) у піднятому або опущеному положенні.

Результуючий етап – одержання набору тригерів, які покрили 99% трафіку.

Аналіз зашифрованого трафіку без його розшифровки
Етапи перевірки трафіку в ETA

Внаслідок роботи вирішується ще одна проблема – атака зсередини. Більше не потрібні люди посередині, які відфільтровують трафік вручну (у цьому моменті я топлю сам себе). По-перше, більше не потрібно витрачати багато грошей на грамотного системного адміністратора (продовжую топити себе). По-друге, відсутня небезпека злому зсередини (принаймні частково).

Аналіз зашифрованого трафіку без його розшифровки
Застаріла концепція Man-in-the-Middle

Тепер, давайте розберемося, на чому базується система.

Система працює на 4 протоколах зв'язку: TCP/IP – протокол передачі даних в Інтернеті, DNS – сервер доменних імен, TLS – протокол захисту транспортного рівня, SPLT (SpaceWire Physical Layer Tester) – тестер фізичного рівня зв'язку.

Аналіз зашифрованого трафіку без його розшифровки
Протоколи, що працюють з ETA

Порівняння йде шляхом зіставлення даних. За протоколами TCP/IP перевіряється репутація сайтів (історія відвідування, мета створення сайту тощо), завдяки протоколу DNS, ми можемо відкинути «погані» адреси сайтів. Протокол TLS працює з «відбитками» сайту (fingerprint) та перевіряє сайт за базою комп'ютерної групи реагування на надзвичайні ситуації (cert). Останній етап перевірки з'єднання – перевірка фізично. Деталі роботи даного етапу не обумовлюються, але зміст полягає в наступному: перевірка синусоїдів та косинусоїдів кривих передачі на осцилографічних установках, тобто. завдяки структурі запиту фізично, ми визначаємо мету з'єднання.

В результаті роботи системи ми можемо дістати дані із зашифрованого трафіку. Завдяки вивченню пакетів ми можемо прочитати максимум інформації з незашифрованих полів у самому пакеті. За допомогою інспекції пакета фізично, ми дізнаємося характеристики пакета (частково чи повністю). Також не варто забувати про репутацію сайтів. Якщо запит прийшов із якогось .onion джерела, не варто йому довіряти. Для простоти роботи з такими даними, створена карта ризиків.

Аналіз зашифрованого трафіку без його розшифровки
Результат роботи ETA

І все, здавалося б, добре, але поговоримо про розгортання мережі.

Фізична реалізація ETA

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

Аналіз зашифрованого трафіку без його розшифровки
Сенсори та система Stealthwatch

Поставити сенсор – одне, а налаштувати його – зовсім інше завдання. Для налаштування сенсорів є комплекс, що працює за наступною топологією – ISR = маршрутизатор з інтеграцією сервісів Cisco (Cisco Integrated Services Router); ASR = маршрутизатор із агрегацією сервісів Cisco (Cisco Aggregation Services Router); CSR = маршрутизатор хмарних сервісів Cisco (Cisco Cloud Services Router); WLC = контролер бездротових локальних мереж Cisco (Cisco Wireless LAN Controller); IE = промисловий Ethernet-комутатор Cisco (Cisco Industrial Ethernet); ASA = пристрій адаптивного захисту Cisco (Cisco Adaptive Security Appliance); FTD = рішення для захисту від загроз Cisco Firepower Threat Defense; WSA = пристрій захисту веб-трафіку (Web Security Appliance); ISE = модуль сервісів ідентифікації (Identity Services Engine)

Аналіз зашифрованого трафіку без його розшифровки
Комплексний моніторинг з урахуванням будь-яких телеметричних даних

У адміністраторів мережі починається аритмія від кількості слів «Cisco» у попередньому абзаці. Ціна цього дива немаленька, але не про це сьогодні.

Моделювання поведінки хакера відбуватиметься в такий спосіб. Stealthwatch ретельно відстежує активність кожного пристрою в мережі і здатний створити шаблон нормальної поведінки. Крім того, це рішення забезпечує глибоке розуміння відомої неналежної поведінки. У рамках цього рішення використовується близько 100 різних алгоритмів аналізу або евристичних правил, які стосуються різних типів поведінки трафіку, таких як сканування, передача кадрів аварійної сигналізації з вузла, вхід до системи методом підбору пароля, ймовірне захоплення даних, витік даних і т.д . Перелічені події безпеки підпадають під категорію тривоги високого рівня. Деякі події безпеки також можуть спричинити спрацювання тривожної сигналізації самі по собі. Таким чином, система здатна корелювати численні ізольовані аномальні інциденти і збирати їх воєдино, щоб визначити можливий тип атаки, а також прив'язати її до конкретного пристрою та користувача (рисунок 2). Надалі інцидент можна вивчити в динаміці та з урахуванням пов'язаних даних телеметрії. Це становить контекстну інформацію у її кращому прояві. Лікарі, які обстежують пацієнта, щоб зрозуміти, що сталося, не розглядають симптоми окремо. Вони вивчають загальну картину для встановлення діагнозу. Аналогічно, Stealthwatch фіксує кожну аномальну активність у мережі та вивчає її в комплексі, щоб надсилати сигнали тривоги з урахуванням контексту, тим самим допомагаючи фахівцям з безпеки встановлювати пріоритети для ризиків.

Аналіз зашифрованого трафіку без його розшифровки
Виявлення аномалій за допомогою моделювання поведінки

Фізичне розгортання мережі виглядає так:

Аналіз зашифрованого трафіку без його розшифровки
Варіант розгортання мережі філіальної мережі (спрощений)

Аналіз зашифрованого трафіку без його розшифровки
Варіант розгортання мережі філіальної мережі

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

Багаторівнева нейронна мережа

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

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

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

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

Аналіз зашифрованого трафіку без його розшифровки
Можливості багаторівневого машинного навчання

1 рівень. Виявлення аномалій та моделювання довіри

На цьому рівні відкидається 99% трафіку за допомогою статистичних детекторів аномалій. Зазначені датчики спільно формують складні моделі того, що є нормальним і те, що, навпаки, є аномальним. Однак аномальне необов'язково є шкідливим. Багато чого з того, що відбувається у вашій мережі, ніяк не пов'язане з загрозою — це просто дивно. При цьому важливо класифікувати такі процеси безвідносно загрозливої ​​поведінки. З цієї причини результати роботи таких детекторів проходять подальший аналіз, щоб зафіксувати дивну поведінку, яку можна пояснити і якій можна довіряти. Зрештою, лише невелика частка найважливіших потоків і запитів переходить на 2 і 3 рівні. Без застосування таких методів машинного навчання операційні витрати на відокремлення сигналу від шуму були б занадто великі.

Виявлення аномалій. У першому етапі для виявлення аномалій використовуються статистичні методи машинного навчання відділення статистично нормального трафіку від аномального. Більше 70 окремих детекторів обробляють дані телеметрії, що збираються Stealthwatch про трафік, який проходить через периметр вашої мережі, відокремлюючи внутрішній трафік системи доменних імен (DNS) та дані проксі-сервера за наявності таких. Кожен запит обробляється більш ніж 70 детекторами, кожен детектор використовує свій статистичний алгоритм, формуючи оцінку виявлених аномалій. Такі оцінки об'єднуються, і в результаті застосування кількох статистичних методів виходить єдина оцінка кожного окремого запиту. Потім така сукупна оцінка використовується для поділу нормального та аномального трафіку.

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

2 рівень. Класифікація подій та моделювання об'єкта

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

  • лінійні моделі на основі леми Неймана-Пірсона (закон нормального розподілу з графіка на початку статті)
  • машини опорних векторів, що використовують багатоваріантне навчання
  • нейронні мережі та алгоритм «випадковий ліс».

Потім такі ізольовані події безпеки з часом зв'язуються з одним кінцевим пристроєм. Саме на цьому етапі формується опис загрози, на підставі чого створюється повна картина того, яким чином відповідному зловмисникові вдалося досягти певних результатів.

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

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

3 рівень. Моделювання відносин

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

Інциденти підтверджуються чи виявляються. Підтверджений інцидент передбачає від 99 до 100% впевненості, оскільки відповідні методи та інструменти раніше спостерігалися у дії у більшому (глобальному) масштабі. Виявлені інциденти є унікальними для вас і становлять частину вузькоспрямованої кампанії. Отримані в минулому результати передаються із зазначенням відомого порядку дій, що дозволяє заощадити ваш час та ресурси під час реагування. Вони надаються разом із інструментами розслідування, які знадобляться вам для того, щоб зрозуміти, хто вас атакував, а також який ступінь спрямованості кампанії на ваш цифровий бізнес. Як ви можете уявити, кількість підтверджених інцидентів набагато перевищує кількість виявлених з тієї простої причини, що підтверджені інциденти не пов'язані з великими витратами для зловмисників, тоді як виявлені інциденти обходяться
дорого, оскільки вони мають бути новими та індивідуалізованими. За рахунок створення можливості виявлення підтверджених інцидентів економіка гри нарешті зрушила на користь захисників, надаючи їм певну перевагу.

Аналіз зашифрованого трафіку без його розшифровки
Багаторівневе навчання системи нейронних зв'язків на базі ETA

Глобальна карта ризиків

Глобальна карта ризиків створюється в результаті аналізу, що застосовується алгоритмами машинного навчання до одного з найбільших у своєму роді масивів даних у галузі. Вона надає великі статистичні дані щодо поведінки серверів в Інтернеті, навіть якщо вони невідомі. Такі сервери пов'язані з атаками, можуть використовуватися або використовуватися в рамках атаки в майбутньому. Це не «чорний список», а комплексна картина сервера з погляду безпеки. Така інформація про активність зазначених серверів, підготовлена ​​з урахуванням контексту, дозволяє детекторам та класифікаторам машинного навчання Stealthwatch точно передбачати рівень ризику, пов'язаного з комунікаціями з такими серверами.

Переглянути доступні карти можна тут.

Аналіз зашифрованого трафіку без його розшифровки
Карта світу, що показує 460 мільйонів IP-адрес

Тепер мережа навчається та встає на захист Вашої мережі.

Зрештою, знайдено панацею?

На жаль, немає. З досвіду роботи із системою, можу сказати, що є 2 глобальні проблеми.

Проблема 1. Ціна. Уся мережа розгорнута на системі Cisco. Це і добре, і погано. Хороша сторона полягає в тому, що Ви можете не морочитися і не ставити купу заглушок типу D-Link, MikroTik і т.п. Мінус – величезна вартість системи. Враховуючи економічний стан Російського бізнесу, на даний момент дозволити собі це диво може лише забезпечений власник великої фірми чи банку.

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

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

Джерело: habr.com

Додати коментар або відгук