Сети 🕸️
October 30

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

Система для анализа трафика без его расшифровки. Этот метод называется просто — «машинное обучение». Оказалось, если на вход специального классификатора подать очень большой объём различного трафика, система с очень высокой степенью вероятности может детектировать действия вредоносного кода внутри зашифрованного трафика.

Сетевые угрозы изменились и стали «умнее». За последнее время поменялась сама концепция атаки и защиты. Количество событий в сети возросло в разы. Атаки стали изощрённее, а у хакеров появился более широкий охват атак.

По статистике Cisco, злоумышленники за последний год в 3 раза увеличивают число вредоносных программ, которые используют для своей деятельности, а точнее для её скрытия — шифрование. Из теории известно, что «правильный» алгоритм шифрования не может быть взломан. Для того чтобы понять что скрывается внутри зашифрованного трафика, необходимо либо его расшифровывать зная ключ, либо попытаться дешифровать его различными уловками, либо взломом в лоб, либо используя какие-то уязвимости в криптографических протоколах.

Картина сетевых угроз нашего времени

Машинное обучение

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

Машинное обучение (Machine Learning) — обширный подраздел искусственного интеллекта, изучающий методы построения алгоритмов, способных обучаться. Данная наука направлена на создание математических моделей «обучения» компьютера. Цель обучения – предсказание чего-либо. В человеческом понимании мы называем этот процесс словом «мудрость». Мудрость проявляется у людей проживших достаточно много лет (ребёнок 2-ух лет не может быть мудрым). Обращаясь за советом к старшим товарищам, мы даём им какую-то информацию о событии (входные данные) и просим помочь. Они же в свою очередь вспоминают все ситуации из жизни, которые как-то связаны с Вашей проблемой (база знаний) и на основании этих знаний (данных) выдают нам, своего рода, предсказание (совет). Предсказанием данный вид советов стали называть из-за того, что человек, дающий совет, не знает наверняка что произойдёт, а лишь предполагает. Жизненный опыт показывает, что человек может оказаться прав, а может и ошибиться.

Не стоит сравнивать нейронные сети с алгоритмом ветвления (if-else). Это разные вещи и в них есть ключевые различия. Алгоритм ветвления имеет чёткое «понимание» что делать. Продемонстрирую на примерах.

Задача. Определить тормозной путь автомобиля по его марке и году выпуска.

Пример работы алгоритма ветвления. Если автомобиль марки 1 и выпущен в 2012 году – его тормозной путь равен 10 метрам, иначе, если автомобиль марки 2 и выпущен в 2011 году и так далее.

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

Чтобы снять вопрос про критерий сходимости, поясню, что это математически выведенная формула для статистики. Яркий пример 2-ух разных формул сходимости. Красная – бинарная сходимость, синяя – нормальная сходимость.

Биномиальное и нормальное распределения вероятности

Чтобы было понятнее, задайте вопрос «Какова вероятность встречи динозавра?». Тут 2 варианта ответа. Вариант 1 – очень мала (синий график). Вариант 2 – либо встречу, либо нет (красный график).

Конечно, компьютер не человек и обучается он иначе. Выделяются 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 и по этим исследованиям создаётся таблица из 2 результирующих – вредоносный и «хороший» трафики. Конечно, мы не знаем наверняка что за трафик попал в систему непосредственно в текущий момент времени, но мы можем проследить историю трафика как в компании, так и вне её прибегая к данным с мировой арены. На выходе из данного этапа, мы получаем огромную таблицу с данными.

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

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

Результирующий этап – получения набора триггеров, которые покрыли собой 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. Обучение. Я не написал в статье срок обучения нейронной сети, но не из-за того, что его нет, а из-за того, что она всё время учится и мы не можем предсказать когда же она научится. Конечно, есть инструменты математической статистики (взять ту же формулировку критерия сходимости Пирсона), но это полумеры. Мы получаем вероятность фильтрации трафика, да и то при условии того что атака уже освоена и известна.

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