Блог Cisco в России и СНГ
Share

Как Cisco анализирует зашифрованный трафик без его расшифрования и дешифрования

- January 15, 2018 10:10

В чем проблема?

Сейчас, по оценкам Cisco, 60% трафика в Интернет зашифровано, а согласно прогнозам Gartner к 2019-му уже 80% трафика будет таковым. С одной стороны это хорошо. Это надо для обеспечения приватности граждан, для выполнения требований законодательства, для сохранения тайн в секрете. Но у шифрования есть и обратная сторона. Его также используют и злоумышленники, скрывая взаимодействие с командными серверами вредоносных программ и для других задач. Согласно отчету Ponemon Institute за 2016 год, почти половина (41%) злоумышленников используют шифрование для обхода механизмов детектирования их несанкционированной активности.

Как решить эту проблему?

С одной стороны средства защиты не могут видеть, что происходит в зашифрованном трафике – по данным Ponemon Institute 64% компаний не могут детектировать вредоносный код в зашифрованном трафике. Но существует классический подход, который часто используется ИБ-производителями и государствами для проникновения в зашифрованные соединения. Речь идет об атаке Man-in-the-Middle (MITM), которую осуществляют в легальных целях. Обычно на периметре корпоративной или ведомственной сети или на границе государства устанавливает шлюз или кластер из шлюзов, которые и осуществляют “перехват” и расшифрование трафика. Такой способ применяется по данным Ponemon Institute только 38% компаний, но и у него есть проблемы. Это и его легальность (никто не давал вам права нарушать тайну переписки или иные требования законодательства по обеспечению конфиденцильности информации), и место внедрения (на MITM-шлюз надо направлять весь трафик, иначе этот метод дает сбой и не позволяет увидеть трафик), и стоимость (это существенно удорожает систему безопасности), и производительность (MITM-шлюзы должны работать на скорости потока, что не всегда возможно, так как криптографическая обработка сама по себе снижает пропускную способность).

А можно ли распознавать вредоносную активность, не прибегая к расшифрованию или дешифрованию (второе отличается от первого отсутствием ключей шифрования)? Оказывается можно. Мы разработали технологию под названием ETA (Encrypted Traffic Analytics), которая позволяет, опираясь на сетевую телеметрию, получаемую с сетевого оборудования, и алгоритмы машинного обучения, классифицировать зашифрованный трафик, попутно отделяя в нем чистый трафик от вредоносного.

Cisco ETA

Наша идея заключается в том, что мы оперируем не полем данных в зашифрованным пакете, а его заголовком. Казалось бы, как можно по заголовку понять, что внутри зашифрованного трафика действует какая-то вредоносная программа? Оказывается можно. Мы используем расширенную телеметрию в виде следующих данных, которые можно брать из сетевого трафика:

  • из Netflow – адреса и порты источника и получателя (SrcIP, DstIP, SrcPort, DstPort), информацию о протоколе, количество переданных пкетов и байтов;
  • внутрипотоковые – размеры пакетов & временные параметры, распределение байтов (встречаемость в потоке) и их энтропию (чем она выше, тем выше ожидание увидеть именно зашифрованный трафик);
  • из метаданных TLS – расширения, наборы криптографических алгоритмов, SNI, поля сертификатов;
  • из DNS – имена доменов, типы запросов, временные параметры запросов;
  • из HTTP – заголовки и сопутствующие поля, в том числе других http-запросов с этого же хоста.

Обратите внимание, данных для каждого потока мы берем достаточно много. В этом залог успеха классификации вредоносного трафика. Опираясь только на один из описанных параметров телеметрии, эффективность распознавания будет гораздо ниже, превращая саму идею “в тыкву”. Второй слагаемой успеха Cisco ETA является машинное обучение, на вход которого подавался трафик, используемый для классификации. Разработанные нами алгоритмы позволяли обучиться на десятках тысяч потоков как известного вредоносного кода, так и чистого трафика.

Вредоносный трафик мы брали с сервиса-песочницы Cisco AMP Threat Grid, который позволяет не только получать на выходе полноценный анализ вредоносного кода, но и сгенерить по нему pcap-файл (кстати, наше подразделение Cisco Talos разработало специальную open source утилиту file2pcap, которая транслирует любой файл в трафик HTTP/HTTP2/FTP/SMTP/IMAP/POP3 в виде pcap-файла). За основу мы брали стопроцентно вредоносный код с 100-балльным уровнем угрозы по 100-балльной шкале. Каждый pcap-файл содержал пятиминутную сессию, а всего таких файлов было подано на вход разработанных нами специальных алгоритмов несколько миллионов. Анализ продолжался с августа 2015 по май 2016 года.

Утилита, используемая при изучении зашифрованного трафика

Утилита, используемая при изучении зашифрованного трафика с помощью машинного обучения

На первом тестовом наборе данных мы опирались в первую очередь на размеры пакетов и временные параметры (SPLT, Sequence of Packet Lengths and Arrival Times), распределение байтов (BD, Byte Distribution) и их энтропию (BE, Byte Entropy) в заголовках сетевого трафика, а также на метаданные TLS. Результаты распознавания и классификации вредоносного ПО оказались неплохими, но явно недостаточными.

На втором тестовом наборе мы добавили контекстную информацию из трафика DNS (в том числе наличие домена в списке Alexa, длина имени домена и FQDN, суффикс, TTL, % цифр в имени домена, % не буквенночисловых символов в имени домена) и HTTP (в том числе поля заголовка запроса/ответа, Content-Type, User-Agent, Accept-Language, HTTP-сервер, код возврата). В итоге, комбинируя различные параметры, мы добились точности распознавания вредоносного кода в зашифрованном трафике на уровне трех девяток (99.9%).

Анализ большого объема данных вредоносных программ различных семейств с помощью технологии Cisco ETA показал, что они часто используют схожие свойства и параметры, которые и позволяют их идентифицировать с высокой точностью:

  • используемая длина для публичных ключей и используемый алгоритм шифрования;
Распределение длин ключей шифрования в процессе исследования

Распределение длин ключей шифрования в процессе исследования

  • используемые TLS-сервера (мы ориентировались в первую очередь на TLS-трафик, но для устаревшего SSL идея будет схожая);
  • тип сертификата (например, выяснилось, что самоподписанные сертификаты используются вредоносным ПО с вероятностью 0.7, в то время как у легальных приложений в корпоративной сети этот показатель равен 0.09);
  • самым часто выбираемым криптографическим набором является TLS_RSA_WITH_RC4_128_SHA;
Обнаруженные в процесс исследования криптографические наборы

Обнаруженные в процессе 1 часа исследования криптографические наборы (700+ тысяч потоков)

  • различное использование заглавных и прописных букв (иногда с опечатками) в заголовке HTTP (User-Agent vs user agent vs User-agent vs USER-AGENT vs User-AgEnt);
  • распространённые значения User-Agent (например, Opera/9.50(WindowsNT6.0;U;en) или Mozilla/5.0(Windows;U;WindowsNT5.1;en-US;rv:1.9.2.3)Gecko/20100401Firefox/3.6.1(.NETCLR3.5.30731));
  • значения TTL в DNS-запросах (чаще всего – 3600);
  • домены, к которым идет обращение (около 95% доменов отсутствует в списке Alexa top-1,000,000);
  • тип HTTP-сервера (чаще всего – nginx);
  • и т.д.

Да, эти параметры (и их комбинации) сильно зависят от того, какое вредоносное ПО их использует. И они могут меняться. Но применение машинного обучения на большой выборке (а через Cisco AMP Threat Grid ежедневно проходит около 18 миллиардов файлов, из которых 1,5 миллиона вредоносных) все равно позволяет находить общие классификационные признаки и закладывать это знание в Cisco ETA.

Визуализация обнаружения зашифрованного трафика

Визуализация обнаружения зашифрованного трафика

Также в процессе тестированы Cisco ETA мы получили и ряд побочных эффектов. Например, мы смогли распознавать TLS на нестандартных портах, отличающихся от обычного 443-го. Были и нестандартные находки. Например, с помощью нашего классификатора мы смогли распознать на выборке из 80 тысяч потоков (при увеличении выборки точност распознавания должна вырасти еще больше) TLS поверх DNS, что в обычной жизни бывает нечасто, но может использоваться тем же вредоносным кодом, скрывающим свою активность в рамках разрешенного на периметре DNS.

Машинное обучение помогло обнаружить TLS over DNS

Машинное обучение помогло обнаружить TLS over DNS

Что надо для работы?

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

  • Сетевое оборудование, поддерживающее Netflow и технологию ETA. Сейчас это коммутаторы Cisco Catalyst 9000 (начиная с версии IOS XE 16.6.1) и маршрутизаторы Cisco ASR 1000, ISR 4000, CSR, ISRv (начиная с версии IOS XE 16.6.2), но поддержка ETA в скором времени появится и в других устройствах Cisco. Если ваша сеть уже построена на базе инфраструктуры Cisco, то возможно вам понадобится только проапгрейдить ПО на коммутаторах и маршрутизаторах.
  • Система мониторинга сетевых аномалий Cisco Stealthwatch (начиная с версии 6.9.2), которая получает данные Netflow от существующего сетевого оборудования и которая проводит анализ и классификацию трафика, распознавая в нем признаки вредоносного кода. Стоит отдельно отметить, что Cisco Stealthwatch работает с несемплированным Netflow-трафиком, который позволяет увидеть гораздо больше, чем решения, ориентированные только на семплированный Netflow. Разница между этими двумя видами Netflow, – это как читать книгу целиком (несемплированный трафик) или каждую 10-ю страницу (семплированный трафик).
Stealthwatch с ETA

Stealthwatch с ETA

  • Облачный движок Cisco Cognitive Threat Analytics (является частью решения Cisco Stealthwatch и не требует отдельной покупки), который дополняет анализ Netflow анализом метаданных TLS, HTTP и DNS. Нужные метаданные (не весь трафик) направляются в CTA, который после анализа возвращает ответ, используемый Cisco Stealthwatch для принятия финального вердикта и его отображения.
Stealthwatch с ETA

Интеграция Stealthwatch с CTA

Cognitive Threat Analytics проводит глубокий анализ Web-логов с помощью машинного обучения

Cognitive Threat Analytics проводит глубокий анализ Web-логов с помощью машинного обучения

Выводы

Процент вредоносного ПО, использующего шифрование, по данным Cisco AMP Threat Grid крутится сегодня вокруг отметки в 25% и это число растет. При этом по нашим наблюдениям от 7 до 13% вредоносного кода использует сегодня для шифрования протокол TLS. По оценкам Gartner к 2019-му году уже половина вредоносных кампаний будет использовать шифрование (как следствие возрастет и процент применения TLS). Традиционные средства сетевой безопасности (IDS/IPS/NGFW/Load Balancer) пасуют перед этой проблемой. В компании Cisco мы разработали новую технологию Cisco ETA, которая использует расширенную телеметрию и алгоритмы машинного обучения для обнаружения и классификации вредоносного кода без расшифрования зашифрованных коммуникаций с эффективностью выше 99%. Да, это не панацея. Но это метод снижения ложных срабатываний и повышения эффективности обнаружения вредоносов в корпоративной сети, что уже немало в современных условиях. Особенно учитывая, что данное решение не требует дополнительных инвестиций и уже встроено в наше сетевое оборудование.

Эффективность работы Cisco ETA на разных комбинациях телеметрических данных

Эффективность работы Cisco ETA на разных комбинациях телеметрических данных

Дополнительная информация:

Оставить комментарий