Обнаружение известного вредоносного кода в зашифрованном с помощью TLS трафике (без дешифровки)

RuIvanov 12 января в 19:41 7,3k
В данной статье рассматривается работа группы исследователей компании Cisco, доказывающая применимость традиционных методов статистического и поведенческого анализа для обнаружения и атрибуции вредоносного ПО, использующего TLS в качестве метода шифрования каналов взаимодействия, без дешифровки или компрометации TLS-сессии, а также описание решения Encrypted Traffic Analytics, реализующая принципы, заложенные в данном исследовании.

Повсеместное использование протокола TLS вредоносным ПО создало новые проблемы для средств защиты, так как традиционные методы обнаружения поиском по шаблону (сигнатуре) неприменимы в данном случае. Тем не менее, TLS всё ещё имеет целый набор доступных стороннему наблюдателю возможностей, которые могут быть использованы для поиска вредоносного ПО как при анализе трафика со стороны клиента, на котором запускается зашифрованное соединение, так и анализируя обращения к серверу, к которому строится зашифрованный туннель. При этом мы можем анализировать только установление защищённого соединения, без доступа в передаваемую конфиденциальную информацию, и без расшифровки последней. В большинстве случаев такой анализ позволяет сделать довольно точную атрибуцию устанавливаемого соединения на принадлежность к тому или иному семейству ВПО, даже если мы имеем дело с единственным полностью зашифрованным соединением. Чтобы проверить эту гипотезу группа сотрудников Cisco — Blake Anderson, Subharthi Paul, David McGrew, провела детальное исследование «Deciphering Malware's use of TLS (without Decryption)», препринт работы свободно доступен по адресу arxiv.org/abs/1607.01639, каким именно образом вредоносные и корпоративные приложения используют TLS. Был проведён анализ нескольких миллионов зашифрованных с помощью TLS соединений, проверена возможность атрибуции 18 семейств ВПО использующих тысячи уникальных образцов ВПО и десятки тысяч вредоносных TLS-соединений. Одним из важнейших результатов данной работы была проверка корректности работы механизмов обнаружения «песочниц» и других используемых инструментов анализа.

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

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

Как и откуда мы можем получить эту информацию? Мы можем собрать её непосредственно на сетевых устройствах, коммутаторах и маршрутизаторах, которые позволяют собирать сетевую телеметрию (несемплированный Netflow/IPFIX) для анализа информации о соединениях, а также передать для анализа первый пакет инициализации зашифрованного TLS-соединения (Initial Data Packet, IDP), для анализа TLS-метаданных. Также мы можем собрать сопутствующую информацию о DNS и HTTP-запросах, для повышения точности обнаружения и снижения числа ошибок и информацию о глобальной репутации или подозрительном поведении на основании информации из облачного центра репутации.

image

Архитектура решения выглядит следующим образом:

image

В качестве примера использования данной технологии в целях сбора информации об используемых криптографических параметрах (соответствие требованиям регуляторов, например, для аудита соответствия PCI-DSS):

image

Обнаружение вредоносного ПО (информация из глобального облачного центра Cisco Cognitive Analytics, CTA):

image

Обнаружение вредоносного ПО (корреляция глобальной и локальной информации):

image

Пример расследования инцидента:

image

Подтверждённая угроза:

image

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

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

Была достигнута точность обнаружения в 90.3% при атрибуции семейства ВПО, в случае, когда мы ограничены единственным зашифрованным соединением, и точность в 93.2% при анализе всех доступных зашифрованных соединений в рамках пятиминутного окна анализа. Для анализа первых пяти минут активности известных образцов ВПО использовалась система динамического анализа Cisco ThreatGrid. Были собраны десятки тысяч уникальных образцов вредоносного ПО, и проанализированы их сотни тысяч вредоносных, зашифрованных соединений. Была собрана телеметрия о миллионах зашифрованных TLS соединений в корпоративных сетях, для сравнения с телеметрией, сгенерированной вредоносными соединениями.

Был разработан открытый инструментарий для эффективного сбора и предварительной обработки и конвертации в JSON сетевой телеметрии (проект Joy), собирающий всю необходимую для анализа информацию — IP источника и назначения, порты источника и назначения, протоколы, частотно-временные характеристики передаваемых размеров пакетов, частотное побайтное распределение и энтропию, незашифрованную информацию об установлении TLS-соединения. Весь анализ производится только на уровне сети, без необходимости установки каких-либо агентов на оконечных устройствах.

Дополнительные материалы:
Скачать официальный отчет Cisco по аналитике зашифрованного трафика
Проголосовать:
+15
Сохранить: