УДК 004.056.55
проблемы распознавания зашифрованного трафика в канале связи
Григорьев В. С.,
ЗАО «Позитив Текнолоджиз»,
Москва, Россия
Аннотация. В работе затрагивается традиционный метод анализа, основанный на энтропии открытых текстов, который используется по сей день в различных автоматизированных системах анализа и фильтрации сетевого трафика. Такими средствами, на сегодняшний день, являются DPI-, DLP-, IDS-, IPS-системы. С момента начала использования энтропийного анализа были выявлены его множественные недостатки и положительные стороны. Для систем сбора, анализа и хранения сетевой активности понадобились более эффективные алгоритмы распознавания зашифрованного трафика. В заключительной части статьи предлагается эффективный, неэнтропийный метод обнаружения зашифрованного трафика в канале связи, не имеющий недостатков энтропийного подхода, который можно применять при анализе сетевой активности в режиме реального времени. Представлены результаты тестирования и дана оценка эффективности метода.
Ключевые слова: энтропия; трафик; анализ сетевого трафика; неэнтропийный метод; DPI; DLP; IDS; IPS; обнаружение зашифрованного трафика.
THE PROBLEM OF RECOGNiTiON
OF ENCRYPTED TRAFFiC iN THE COMMUNiCATiON
CHANNEL
Grigoriev V. S.,
ZAO"Positive technologies",
Moscow, Russia
Abstract. The work concerns a traditional analysis method based on entropy of open texts, which is used to this day in various automated systems to analyze and filter network traffic. By such means, today, are DPI, DLP, IDS, IPS system. Since the beginning of the use of entropy analysis revealed his multiple shortcomings and positive aspects. For gathering, analyzing and storing network activity needed a more efficient recognition algorithms for encrypted traffic. In the final part of the article offers effective neutropenia method for the detection of encrypted traffic in the communication channel, without the need for an entropy approach that can be applied when analyzing network activity in real-time. Presents the results of the testing and evaluation of the effectiveness of the method.
Keywords: entropy; traffic; network traffic analysis; neutropenia method; DPI; DLP; IDS; IPS; detection of encrypted traffic.
С появлением систем DLP (Data Leak Prevention) и родственным ей IDS (Intrusion Detection System) и IPS (Intrusion Prevention System) систем, являющихся потомками систем DPI (Deep Packet Inspection), появилась необходимость не только собирать, анализировать и хранить заголовки пакетов сетевого стека, но и полное содержимое трафика на уровнях модели OSI со второго и выше. С развитием всех перечисленных систем их функциональность увеличивалась весьма стремительно. В настоящий момент эти системы могут принимать решение не только по содержимому пакетов, но и по косвенным признакам, присущим каким-либо определенным сетевым и прикладным программам и протоколам. Для решения этой задачи можно использовать статистический анализ (например, статистический анализ частоты встречаемости определенных символов, длины пакета, различных сигнатур, присущих только определенному прикладному программному обеспечению и т.д.). Вследствие такого стремительного роста функциональности систем, обеспечивающих информационную безопасность сетевых и информационных ресурсов, появилась необходимость разработки новых, более эффективных и быстрых алгоритмов анализа сетевого трафика, при этом дающих не менее точный и надежный результат.
Главная идея, лежащая в основе данного исследования, заключается в усовершенствовании метода анализа и увеличении эффективности распознавания зашифрованного трафика автоматизированными системами, обеспечивающими безопасность информационных активов компаний. Результаты проведенных исследований в большей степени предназначены для усовершенствования DLP-систем, технологий предотвращения утечек конфиденциальной информации из информационной системы предприятий вовне, а также для систем DPI, целью которых служит анализ и классификация сетевого трафика.
существует ли необходимость анализировать сетевой трафик на наличие зашифрованных соединений?
Исходя из ежегодных отчетов крупных, международных компаний, таких как Positive Technologies [1] и InfoWatch [2], только в период с конца 2015 г. до середины 2016 г. произошло более тысячи утечек конфиденциальной информации крупных компаний, при этом в 67% утечек конфиденциальной информации виновными оказались сотрудники самих
компаний. Следуя результатам исследований, которые опубликованы в тех же отчетах, более половины всех утечек информации происходит с использованием сети Интернет.
Как правило, все умышленные утечки информации, в случае если используется интернет-соединение, происходят по похожим друг на друга схемам. При этом чаще всего злоумышленником является троянская вредоносная программа, которая пытается украсть какие-либо конфиденциальные сведение с компьютера жертвы.
Приведем типичный пример утечки конфиденциальных сведений:
«Существует некая компания, все исходящие и входящие подключения которой к сети Интернет контролируются межсетевым экраном. В соответствии с политикой безопасности предприятия все запросы на установление соединений извне запрещены, а исходящие соединения для сотрудников разрешены исключительно к 2-м удаленным портам (80,443) для возможности пользования браузером. По незнанию один из сотрудников компании открыл вложение, которое ему пришло на корпоративную электронную почту, не посмотрев на источник сообщения, что привело к установке на его компьютер шпионского программного обеспечения Trojan, которое, для примера, является keylogger-ом и отправляет на управляющий сервер, с которым он устанавливает соединение изнутри локальной сети компании, всю информацию, которую ввел пользователь при помощи клавиатуры. При этом вредоносная программа хочет скрыть факт своего присутствия от систем информационной безопасности и все свои пересылки зашифровывает специфическим алгоритмом шифрования и отправляет по сети Интернет на 443 порт. С точки зрения политики безопасности компании все интернет-соединения легитимны и не блокируются. Таким образом, злоумышленник получит конфиденциальную информацию, возможно даже пароли ко внутренним информационным системам».
В случае, когда данные передаются по каналу связи в открытом виде, современные DLP- и DPI-системы могут легко верифицировать содержимое, передающееся в соединении и по заранее определенным сигнатурам, определить утечки конфиденциальной информации. В силу ограниченной базы данных поддерживаемых форматов данных и их различных атрибутов DLP- и DPI-системы не в состоянии определить и верифицировать все возможные форматы данных, а значит, существует
Рис. 1. Байтное рассеивание осмысленного текста на русском языке
вероятность того, что внутри открытого соединения передается заранее модифицированные или зашифрованные данные. Такие типы данных должны подвергаться дополнительному анализу. Также большинство систем межсетевого экранирования не способно определить содержимое передающихся пакетов в случае, если информация передается через защищенное, зашифрованное соединение, только, возможно, по косвенным признакам (например, размер передаваемых данных или высокая частота обращения к ресурсу в определенное время и т.д.). Однако современные DLP-системы могут с легкостью восстановить TCP/SSL/SSH/FTPS сессии, верифицировать сертификат удаленного сервера и даже расшифровывать и анализировать защищенный трафик «налету» [3] (в случае, если установлено клиентское приложение, которое умеет получать ключи шифрования сессий на каждом доменном устройстве или методом подмены корневых сертификатов). Это значит, что они могут отсеять иные данные, которые имеют какой-либо собственный формат или ранее неизвестный контекст передачи данных, и с некоторой долей вероятности, исходя из истории посещения этого ресурса или политики информационной безопасности на предприятии, могут вынести решение по наблюдаемому соединению.
Остановимся более подробно на моменте, когда злоумышленник в лице человека или вредоносного программного обеспечения пытается передать украденную конфиденциальную информацию с использованием алгоритмов шифрования на удаленный сервер, а также на этапе, когда необходимо верифицировать данные, которые не удалось определить всеми остальными средствами анализа сетевого трафика.
В 1945 г. Клод Шеннон сформулировал теорию о стойкости симметричных алгоритмов шифрова-
ния. К. Шеннон назвал шифр совершенным, если ни один шифртекст не раскрывает никаких сведений о соответствующем ему открытом тексте. Это означает, что для совершенных шифров апостериорные вероятности открытых текстов (вычисленные после получения криптограммы) совпадают с их априорными вероятностями. На этом основывается вся современная практика создания алгоритмов шифрования. На этом же утверждении и будет строиться метод распознавания зашифрованного трафика в канале связи. В данной статье будут рассмотрены примеры, которые основываются на следующих алгоритмах: AES, IDEA, TwoFish и ГОСТ 28147-89. Также ограничимся объемом исходных данных, на которых будут проводиться соответствующие эксперименты, в данном случае их размер составляет 1 Мб.
Рассмотрим одну из схем, которая используется в настоящее время для определения зашифрованного контента. Напомним, что (информационной) энтропией называется мера неопределенности или непредсказуемости информации, неопределенность появления какого-либо символа первичного алфавита. Проведено множество исследований по подсчету энтропии для разных языков [4], подсчитаны вероятности появления букв и их сочетаний в осмысленном тексте [5] и для разных стилей речи [6] (деловая переписка, разговорное общение и т.д.). В первом эксперименте посчитаем байтное рассеивание открытого и зашифрованных текстов (рис. 1).
На рис. 2-5 представлено рассеивание байт зашифрованных текстов.
Рассмотрим диаграмму осмысленного теста. Видно, что у открытого текста в основном все байты сконцентрированы в одной области, все остальное - это знаки препинания и иные символы. То, что изображено на этой диаграмме вырождается в вероятности появления символов в осмысленном
Рис. 2. ГОСТ 28147-89
Рис. 4. AES-256
Рис. 3. TwoFish
Рис. 5. IDEA
тексте. Самый большой пик на представленной диаграмме соответствует букве «о» русского алфавита, что подтверждает гипотезу о том, что она одна из самых часто употребляемых в русской речи. Два пика поменьше соответствуют буквам «а» и «е» (слева-направо). В соответствии с таблицей частот встречаемости, посчитанной для русского алфавита [5], вероятности появления перечисленных букв такие: «а» - 0,064%, «е» - 0,074%, «о» - 0,096%, что, как видно из эксперимента, соответствует действительности.
Если посмотреть на диаграммы зашифрованных текстов, можно заметить, что распределение байт рассеивается по всему спектру возможных принимаемых величин. В перспективе, при анализе больших объемов данных, полученная статистика вырождается в равномерное распределение - распределение случайной вещественной величины, принимающей значения, принадлежащие интервалу [а, Ь], характеризующееся тем, что плотность вероятности на этом интервале постоянна. В рассматриваемом примере интервалом, на котором случайная величина принимает свои значения, является [0, 255].
На описанном подходе основан один из старых методов определения зашифрованного контента. После того, как получена статистика по появлению байт и сформирована гипотеза об используемом языке в сообщении, подсчитывается энтропия сообщения на основе вычисленных вероятностей появления символов и делается вывод о подтвер-
ждении гипотезы или ее опровержении на основе ранее подсчитанных значений энтропии для разных языков. Одно из применений данного метода - дешифрование сообщений методом полого перебора (brute force attack), заключающегося в переборе всех возможных ключей шифрования в целях получения открытого текста. Рассмотрим типичный пример применения метода:
«Пусть существует некоторое перехваченное сообщение, зашифрованное блочным алгоритмом шифрования. Злоумышленник, заинтересованный в дешифровании перехваченного сообщения, знает об использовании стойкого алгоритма шифрования и примерно может предугадать язык, на котором написано перехваченное сообщение, например на английском языке. Пусть этим алгоритмом шифрования будет алгоритм AES и используется ключ шифрования длинной 128 бит. Тогда при дешифровании методом полного перебора заинтересованному лицу придется перебрать, в худшем случае, 2128 ключей шифрования. В этом примере нас не интересует время перебора всего ключевого пространства для используемого алгоритма шифрования, нас интересует способ, как заинтересованное лицо сможет определить, что на определенном этапе дешифрования появилось открытое сообщение. Ясно, что при столь большом количестве возможных данных после дешифрования перебрать их все и определить осмысленный текст - это задача является невозможной без применения автомати-
Таблица 1
отношение единичных бит к нулевым битам
тип исходный AES IDEA GOST TwoFish
Английский 0,7539 0,9997 0,9999 1,036 1
Русский 1,4927 0,9981 1 0,9973 1,0042
Бинарный 0,3942 0,9999 0,9998 0,9999 0,9997
JPEG 0,813 1 1,012 1,025 0,9987
зированного средства, коим и может являться выше определенный метод анализа. Для использования этого метода злоумышленнику понадобится знание энтропии алфавита того языка, на котором, по его убеждению, было написано зашифрованное сообщение, а также вычислить вероятности появления символов в этом тексте».
Отметим, что рассмотренный метод не подходит для эффективного анализа зашифрованного трафика в канале связи в режиме реального времени.
Рассмотренный подход не эффективен при использовании его для анализа трафика в DLP- и DPI-системах в связи с его многочисленными недостатками, главные из которых перечислены ниже.
Недостатки энтропийного подхода:
• необходимость анализировать большой объем трафика (~200 Кб и больше) для большей достоверности результатов анализа;
• оценка для данных дается на основании подсчета вероятностей появления символов алфавита для определенного языка;
• необходимость хранить большие объемы информации об энтропии каждого языка, а также о всевозможных стилистиках для каждого из языков;
• необходимость поддерживать различные кодировки, в которых могут быть представлены исходные данные;
• энтропия языка - это постоянно меняющаяся величина по причине изменения лексики, семантики, появления новой терминологии и т.д.;
• результат анализа имеет вероятностный характер, при этом для однобайтовой кодировки практически невозможно определить язык написания текста;
• необходим метод оценки полученных результатов энтропии, необходим доверительный интервал для принятия решения о типе данных.
Достоинства энтропийного подхода:
• дает хорошие результаты при выявлении бинарных данных;
• при использовании многобайтной кодировки энтропийный метод может дать точный результат о принадлежности текста к определенному языку и даже о стилистике речи в сообщении.
По этим причинам необходим метод, который будет давать точный результат, при анализе небольшого объема данных трафика в высоконагруженной автоматизированной системе, будет независим от кодировки, в которой представлены исходные данные, давал бы эффективный метод оценки полученных результатов с двумя возможными исходами эксперимента (зашифрованный трафик или нет).
Исходя из того, что распределение байт у зашифрованных данных имеет (в перспективе) равномерное распределение, спустимся на уровень ниже и проанализируем, как рассеиваются биты открытых и зашифрованных данных. В частности, будем анализировать отношение единичных бит к нулевым битам в блоках данных разной длины. В качестве первого эксперимента проанализируем отношение бит, взяв за длину одного блока размер всех анализируемых данных (табл. 1).
Как видно из табл. 1, рассеивание бит в зашифрованных данных однородно и представляет собой равномерное распределение бит при рассмотрении всей последовательности бит данных, как единого блока. Если рассмотреть исходные данные, то можно заметить, что имеется существенный перевес одних бит над другими. Данный факт очевиден из-за байтного рассеивания рассмотренных данных.
В следующем эксперименте проведем исследования над блоками данных длиной 32 бита (4 байта). Такой размер блока берется абсолютно случайным образом. Как будет показано далее, предложенный метод работает вне зависимости от размера выбранного блока.
Проанализируем отношение единичных бит к нулевым битам в каждом блоке и изобразим результат этих отличий на одной диаграмме. Для начала возьмем три различных исходных примера (русский текст, английский текст, бинарные данные
Рис. 6. русский текст
Рис. 8. Английский текст
Рис. 7. Бинарный файл
и графическое изображение) и проанализируем их диаграммы (рис. 6-9).
Как можно заметить, полученные результаты не имеют никаких общих характеристик, по которым можно было бы однозначно установить тип данных, передающихся в анализируемом трафике.
Теперь рассмотрим те же распределения, но у зашифрованных данных (рис. 14-17).
Вне зависимости от исходных данных и алгоритмов шифрования диаграмма распределения единичных или нулевых бит в блоках данных будет иметь одинаковое распределение, подобное нормальному распределению. Математическое ожидание распределений, полученных в результате экспериментов, приходится на половину длины рассматриваемого блока. Представленные диаграммы показывают среднее отклонение разницы количества единичных или нулевых бит от половины длины рассматриваемого блока. Это косвенно доказывает тот факт, что в перспективе при анализе всех бит данных распределение единичных и нулевых бит будет стремиться к равномерному распределению, т.е. к равновероятностной последовательности, как утверждал К. Шеннон в своей теории. Исходя из полученных результатов, можно говорить о коэффициенте асимметрии, характеризующем асимметрию распределения, который близок или даже равен 0. Эти факты являются значимыми для предложенного далее метода.
Рис. 9. JPEG картинка
Стоит отметить, что максимальное отклонение от математического ожидания (математическое ожидание для нормального распределения равняется величине коэффициента сдвига, т.е. примерно половине длины рассматриваемого блока) у исходных данных с ростом размера блока будет расти намного быстрее, нежели отклонение от математического ожидания у зашифрованных данных. А при больших длинах блоков (больше 8 Кб) изменения у последних будут минимальны. Так, например, при рассмотрении блока размера 1024 байт среднее отклонение от математического ожидания у исходных данных равняется 537 байт, а у соответствующих им зашифрованных данных - 150 байт.
В табл. 2 представлена разница средних отклонений от математического ожидания в зависимости от размера рассматриваемого блока данных.
Применение метода при анализе сетевого трафика
Предложим метод выявления зашифрованного контента, который можно использовать при анализе сетевого трафика в режиме реального времени, основываясь на изложенных выше результатах экспериментов.
Алгоритм анализа:
1. Из сетевого трафика выбираем данные размером как минимум 1 Кбайт (желательно, чтобы длина была кратна степени двойки) и обозначим эту длину за Ь.
Рис. 10. Английский текст Рис. 12. Бинарный файл
Рис. 11. русский текст
Рис. 13. JPEG-изображение
2. Разделяем выбранные данные на равные по размеру блоки длины B, например по 32 бита, как было описано ранее в данной статье (длина блока может быть любая, важным фактором является большое количество блоков, поэтому длину одно блока стоит выбирать исходя из этих условий).
3. Подсчитываем количество единичных (нулевых) бит в каждом блоке данных и составляем массив размера B, в каждом элементе которого будет лежать значение количества блоков, в которых число единичных (нулевых) бит одинаково и равняется Х1 - индекс в массиве.
4. Полученное распределение должно быть распределено по нормальному закону распределения с математическим ожиданием, равным половине размера выбранного N (В/2,52). О значении 5, показателе рассеивания значений величины относительно ее математического ожидания, будет сказано ниже. Для достижения такого результата необходимо:
a. Осуществляем поиск максимального элемента в массиве, в котором лежит количество блоков, удовлетворяющих какому-либо разностному условию, определенному ранее.
b. Косвенным признаком того, что рассматриваемые данные зашифрованы, является индекс этого
элемента, который равняется значению половины длины рассматриваемого блока.
с. Вычисляем математическое ожидание М[X], дисперсию Б[X] и третий центральный момент М3 распределения. Необходимыми критериями для положительного результата при обнаружении зашифрованного контента являются: М [ X ]* В/2,
мз ~ 0.
Для проверки гипотезы о виде распределения можно воспользоваться следующими соотношениями:
м [ X ] = а = * В/2,
Ь (X - а)2
Б [ X ] = 82 =
&
(1)
(2)
где п - количество блоков для события х •
У = МГ = 0 Мз =Ь' (X - а ^
г=1
(3)
где Р - вероятности появления событий х.
Третий центральный момент М3 является числовой характеристикой симметрии распределения.
Таблица 2
Зависимость отклонений от длины блока данных
тип / длина блока (байт) 64 128 256 1024 2048 4096 8192
Исходные данные 100 148 197 537 978 1695 2788
Зашифрованные данные 47 64 93 150 246 270 358
Если распределение симметрично относительно математического ожидания, то все моменты нечетного порядка (если они существуют) равны нулю.
Отметим, что условия (1) и (3) являются необходимыми для обнаружения зашифрованных данных. Если эти условия не выполняются, то можно утверждать, что рассматриваемые данные не зашифрованы. Однако перечисленные условия не являются достаточными. Для получения более достоверного результата необходим достаточный критерий отнесения данных к зашифрованному контенту. Для достижения этой цели необходимо доказать, что полученный результат соответствует закону распределения N (В/2,82). В качестве достаточного критерия можно использовать два подхода.
Первый подход основан на аппроксимации значений полученного распределения. Нормируем все элементы массива относительно максимального значения (делим значение каждого элемента массива на его максимальное значение), таким образом, получая максимальное значение распределения в единице. Аппроксимируем полученные данные функцией плотности вероятностей нормального распределения относительно величины математического ожидания М [ X ] и величины дисперсии Б[X] распределения. Полученный результат должен соответствовать нормальному закону распределения N (В/2,82). Если это условие не выполняется, то можно утверждать, что рассматриваемые данные не зашифрованы.
Второй подход основан на использовании критерия согласования Пирсона для проверки гипотезы о виде распределения полученных результатов в соответствии с нормальным законом распределения N (В/2,82). В соответствии с этим критерием вычисляем выборочное среднее значение, т.е. математическое ожидание М[X] и выборочную исправленную дисперсию
^2 =
£п(х- а )2
Еп -1
зультирующее распределение из генеральной совокупности X подчинено нормальному закону с параметрами М[X]«В/2 и Б[X]. Проверим эту гипотезу по критерию Пирсона при уровне значимости а =0,05. Рассчитаем теоретические частоты
о nh ( - а Л Р = Ф| — I'h = 0,2 - шаг между вариантами. Наблюдаемое значение критерия вычислим по формуле
V 2 =
набл
=Е
-=1
(п - рО )2
р"
Выдвигаем гипотезу Н0 - ре-
Из таблицы критических значений статических критериев найдем критическое значение при уровне значимости а =0,05 и числе степеней свободы I = N - 2-1 , где N - количество векторов, над которыми производится анализ. Если А^абл <А^р, тогда нулевую гипотезу о нормальном распределении можно принять при данном уровне значимости.
Достоинства предложенного метода:
• алгоритм может определить незашифрованные данные вне зависимости от того, в какой кодировке эти данные представлены;
• для точного результата работы алгоритма требуется небольшое количество данных, над которыми будет производиться анализ (экспериментально выявлено, что размер данных для анализа должен быть не менее 1 Кбайт);
• математически обоснованный и эффективный метод оценки полученных результатов;
• метод дает точный результат при анализе зашифрованной информации;
• нет необходимости хранить большое количество дополнительной информации.
Недостатки предложенного метода:
• при анализе бинарных данных алгоритм может давать положительный результат на наличие
ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ
Рис. 14. ГОСТ 28147-89 Рис. 15. AES-256
Рис. 16. TwoFish Рис. 17. IDEA
Таблица 3
Результаты (на основе критерия согласования Пирсона)
Результаты экспериментов Правильное Ошибочное
VPN соединения 97 3
Бинарные данные 83 17
Зашифрованные данные 100 0
Осмысленные текст 98 2
Архивы 15 85
зашифрованных данных, но вероятность таких • если данные закодированы, например, ис-
исходов минимальна (как правило, бинарные дан- пользуется архивация, метод будет всегда давать
ные - это также определенная структурированная положительный результат на наличие зашифро-
информация); ванного контента (табл. 3).
Список источников
1. Positive Research 2016 [Электронный ресурс] // Аналитический центр Positive Technologies. 2016. URL: https://www.ptsecurity.com/upLoad/ptru/anaLytics/Positive-Research-2016-rus.pdf.
2. Глобальное исследование утечек конфиденциальной информации в I полугодии 2016 года [Электронный ресурс] // Аналитический центр InfoWatch. 2016. URL: https://www.infowatch.ru/sites/defauLt/fiLes/ report/anaLytics/russ/InfoWatch_GLobaL_Report_2016_half_year.pdf.
3. How to Implement and SSL Decryption [Электронный ресурс] // PaloAlto live community. 2010. URL: https://Live.paLoaLtonetworks.com/t5/Configuration-ArticLes/How-to-ImpLement-and-Test-SSL-Decryption/ ta-p/59719.
4. ДухинА.А. Теория информации. М.: Гелиос АРВ, 2007. 248 с.
5. Дульнев Г.Н., Ипатов А.П., Агеев И.Л. Синергетика [Электронный ресурс] // СПбГУ ИТМО, каф. КТФиЭМ, центр энергоинформационных технологий. URL: http://de.ifmo.ru/bk_netra/contents.php?tutindex=13.
6. Михайлов М.Н. Как сравнить длины исходного текста и перевода? [Электронный ресурс] // Тамперский университет. 2003. URL: http://www.smolensk.ru/user/sgma/MMORPH/N-9-html/mihailov/mihailov.htm.