Энтропийный метод анализа аномалий сетевого трафика в IP-сетях

TP) и общее количество предупреждений (колонка Total). Время работы анализа и объем памяти, занимаемый системой без использования компактного представления, указаны в колонках Time и Mem. Время и объем памяти при использовании компактного представления контекстов представлены в колонках TimeC и MemC. Время и объем памяти при использовании подкачки (допускающей наличие в памяти только одной анализируемой в данный момент функции) и компактного представления контекстов представлены в колонках TimeP и MemP. Сравнение результатов анализа программ различными реализациями среды подтверждает, что реализация способа компактного представления контекстов дает ощутимые результаты. В среднем, время анализа снижается в 3.5 раза, а размер требуемой памяти в 1.25 раза. Результаты, показанные реализацией среды с включенным механизмом подкачки, также крайне интересны и демонстрируют возможность снижения требований по памяти в 60 и более раз даже на сравнительно небольших проектах. Время анализа программ с включенным механизмом подкачки увеличилось в среднем примерно в 7 раз. Несмотря на то, что время анализа увеличилось существенно, можно говорить и о том, что в результате реализации механизма подкачки цель работы была достигнута, были сняты ограничения на размер анализируемых программ.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Маликов О.Р. Автоматическое обнаружение уязвимостей в исходном коде программ, Известия ТРТУ №4, Материалы VII Международной научно-практической конференции «Информационная безопасность», 2005.- С. 48-53.

2. Muchnick, Steven S. Advanced Compiler Design And Implementation, Harcourt Publishers Ltd, Sep. 1997.

3. Offner, Carl D. Notes on Graph Algorithms Used in Optimizing Compilers.

4. Emami M., Ghiya R., and Hendren L. Context-Sensitive Interprocedural Points-to Analysis in the Presence of Function Pointers. In Proceedings of the SIGPLAN '94 Conference on Program Language Design and Implementation, Orlando, US, 1994.

5. Haugh E. and Bishop M. Testing C Programs for Buffer Overflow Vulnerabilities. In Proceedings of the Network and Distributed System Security Symposium, San Diego, CA, February 2003.

6. Wagner D., Foster J. S., Brewer E. A., and Aiken A. A First Step Towards Automated Detection of Buffer Overrun Vulnerabilities. In Proceedings of 7th Network and Distributed System Security Symposium, Feb. 2000.

7. Dor N., Rodeh M., and Sagiv M. CSSV: Towards a Realistic Tool for Statically Detecting All Buffer Overflows in C. In Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation, pages 155—167, San Diego, California, 2003.

8. Cousot P. and Cousot R. Static determination of dynamic properties of programs. In Proceedings of the Second International Symposium on Programming, Р.106 - 130. Dunod, Paris, France, 1976.

9. Bush W.R., Pincus J.D., and Sielaff D.J. A static analyzer for finding dynamic programming errors. In Proceedings of Software Practice and Experience, Р. 775-802, 2000.

Д.И. Морозов

Россия, г. Тюмень, ТГУ

ЭНТРОПИЙНЫЙ МЕТОД АНАЛИЗА АНОМАЛИЙ СЕТЕВОГО ТРАФИКА В IP-СЕТЯХ

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

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

Описываемый в статье энтропийный метод анализа позволяет обозначать предположительно вредоносные всплески трафика в IP-сетях со временем реагирования, близким к режиму реального времени. Данный метод работает на основе NetFlow[1] данных полученных от наблюдаемой сети. Уровень энтропии определяется с использованием механизмов компрессии данных. В общем случае энтропия показывает степень хаотичности или случайности выбранного набора данных, т.е. чем более случаен набор данных, тем выше энтропия. Энтропию конечной последовательности данных можно измерить, преобразовав эту последовательность в двоичную форму и применив к ней алгоритм сжатия. Размер сжатого таким образом объекта будет указывать на величину энтропии в последовательности данных.

Как относится величина энтропии к обнаружению аномальной сетевой активности? Когда сетевой вирус (в дальнейшем «червь») начинает размножаться, то некоторое количество зараженных узлов начинают инициировать соединения на случайным образом выбранные узлы в сети с целью их последующего заражения. Подобные действия отличаются от нормальной сетевой активности узла. Связь между энтропией и сетевой активностью «червей» в том, что вредоносный трафик более упорядочен или структурирован чем обычный IP трафик в одних параметрах, и более хаотичен в других. Регистрация изменений адресации отображающееся на уровне ^«потока» (т.е. когда TCP или UDP пакеты имеющие общие признаки, такие как совпадающие исходные/целевые IP и номера портов, объединяются в один «поток») сравнительно интуитивно: зараженные узлы пытаются произвести подключение к другим доступным узлам. Если количество таких потоков существенно возрастает, и в каждом из них можно наблюдать в виде исходного IP адреса из одного множества, то поле адреса источника будет характеризоваться меньшей величиной энтропии, чем нормальный сетевой трафик. С другой стороны, поле целевого узла будет содержать большее количество IP-адресов, что опять же будет отличаться от нормальной структуры сетевого трафика.

Подобная ситуация наблюдается и на уровне сетевых портов. Как правило, для распространения вредоносного трафика используются уязвимости сетевого кода в программном обеспечении, т.е. обычно эксплуатируется какой-то определенный сетевой порт. В таком случае, исходный порт выбирается из некого случайного массива доступных номеров портов. Тогда, если сканирующий трафик обладает такими характеристиками, то энтропия целевых портов увеличивается.

Важно отметить, что во время случайного сканирования узлов для атаки возникает большое число негативных срабатываний на установлении соединения, т.к. атакуемые узлы либо не отвечают, либо защищены межсетевым экраном, либо не обладают используемой уязвимостью. Возникает асимметрия между опрашивающим и отвечающим трафиками по сравнению с обычным. Целевые порты в инициирующих потоках обычно являются широко известными (например, UDP/135 или TCP/137) и обладают малой энтропией. Однако отвечающие потоки используют номера портов в обратном порядке, во время же атаки появляется дисбаланс - количество инициирующих потоков растет (вместе со сменой номера порта) растет и энтропия, а энтропия отвечающих потоков (т.к. номер порта не меняется) уменьшается.

Существует различие между IP-адресами и портами в контексте вирусной активности. Если использование IP-адреса при атаке следует схеме «несколько инициируют соединения ко многим», то использование портов этой схеме не всегда соответствует. Например, есть реализации «червей», где соединения инициируются с одного и того же порта (аналог NAT) на случайные номера портов. Таким об-

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

- последовательный перебор Ip-адресов сначала своей подсети и затем перебор следующей подсети [2];

- инициация соединения с последовательно возрастающего номера порта предположительно зараженной машины;

- инициация соединения на строго определенные порты заражаемого узла [2];

- резко возросшее количество генерируемого сетевого трафика в единицу времени [3];

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

С теоретической точки зрения важно понимать, что релевантной характеристикой трафика является не его энтропия, а сложность Колмогорова применительно к интервалу данных. В то время как энтропия описывает информационную ценность символа, выбранного случайным путем из определенного набора данных, сложность Колмогорова описывает определенное информационное содержание определенного объекта, например, бинарную строку конечного размера.

Сложность Колмогорова и энтропия относятся достаточно близко друг к другу, используемый в данной статье термин «энтропия» следует понимать как «сложность Колмогорова». Оценка энтропии производится с использованием стандартных, хорошо известных алгоритмов компрессии данных. Записи потоков данных сетевого трафика, принадлежащих к релевантным интервалам помещаются (после проверки, например, IP-адреса источника) в блок компрессии в том порядке, в каком они поступают с маршрутизатора, размер сжатой записи служит оценкой энтропии. Полученная таким путем оценка энтропии является довольно грубой, но тем не менее достаточной для относительного сравнения между различными интервалами данных. В качестве реализации представленной концепции рассмотрим механизм детектирования широко известных вирусов Blaster[4,5,6] и Witty [7]. Механизм работы этих червей относительно и понятен, и хорошо документирован. Blaster впервые наблюдался в начале августа 2003 года, и использует стратегию случайного сканирования узлов, с установлением TCP-сессии с фиксированным целевым портом и случайным образом выбранным портом-источником. В период первоначального распространения вирусом было инфицировано (по разным подсчетам) до 200 000 -500 000 узлов по всему миру. Червь Witty впервые обнаружен 20 марта 2004 года и обладает рядом необычных характеристик - он использует случайное сканирование узлов, с использованием фиксированного исходящего UDP- порта и случайным образом сгенерированный номер целевого порта. Эта странность объясняется тем, что Witty был специально спроектирован для атаки на брандмауэр компании ISS.

Представленные графики содержат нормализованные данные, ось Y показывает отношение сжатого трафика к несжатому, которое также является оценкой энтропии проходящего через маршрутизатор трафика. Возможное значение по оси Y - от 0.0 до 1.0, считается, что размер сжатого объекта не может быть больше размера исходного объекта. Рис.1 показывает изменение величины компрессии до и после атаки червя Blaster. Как можно увидеть на графике исходящие IP-адреса были более однородны, чем адреса назначения, в то же самое время однородность портов назначения была выше однородности портов-источников. Во время эпидемии график меняется - источники и адреса/порты назначения меняются местами,

неоднородность портов-источника достигает максимума, а однородность узлов-источников растет (ведь используется схема «несколько ко многим»), что может быть использовано для автоматизированного детектирования вирусов и атак.

ПОЗ п.оз 11.03 11.03 12.03 12.03

08:00 12:00 16:00 20:00 00:00 04:00

Рис. 1. Blaster - степень сжатия TCP заголовков

Рис.2 показывает изменение энтропии для схемы с червем Witty - в общем случае, все происходит так же как и в случае с Blaster,ом - графики исходного и целевого трафика резко расходятся. Дополнительно, ввиду упомянутой выше природы данного вируса (фиксированный порт-источник и вариативный порт назначения), графики портов-источников и портов назначения пересекаются и меняют направление. Хотелось бы остановиться на технологическом аспекте проблемы. Для сжатия данных тестировались три различных механизма сжатия без потерь в реальном времени - bzip2[8], gzip[9]. Izo [10].

20.03 20.03 20.03 20.03 20.03 20.03 20.03 20.03 20.03

10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00

Рис.2. Witty - степень сжатия UDP заголовков

Прямое измерение производительности трех компрессоров показало что, хотя степень сжатия изменялась (на одних и тех же данных) характер изменений степени сжатия одинаков для всех трех видов компрессии (рис.3). Так как скорость компрессии в данном случае является одним из критических факторов, то в дальнейшем для обработки трафика использовался механизм lzo. Интервал измерений выбирался как баланс между точностью измерений и допустимой нагрузкой на маршрутизатор. Более короткие интервалы давали более точный результат, но зависели от использования RAM на маршрутизаторе, длинные интервалы оказывали меньшее влияние на маршрутизатор, но выдавали большее значение задержки при их обработке. В проведенных экспериментах использовался интервал 30 секунд между снятием данных, среднее значение получалось использованием метода «скользящего окна» с усреднением данных за последние 5 минут.

Следует упомянуть, что при большом потоке данных узким местом может стать сам узел-анализатор (т.к. для измерений использовался обычный PC, со стандартной сетевым интерфейсом на базе PCI-шины). Поэтому более оправданным может стать выбор более мощной конфигурации с сетевым интерфейсом 1GE.

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

1

0.95 0.9 0.85 0.8 0.75 0.7 0.65 0.6 0.55

20.03. 20.03. 20.03. 20.03. 20.03. 20.03. 20.03. 20.03. 20.03. 20.03. 20.03.

00:00 01:00 02:00 03:00 04:00 05:00 06:00 07:00 08:00 05:00 10:00

Рис. 3. Сравнение методов комперессии - bzip2, gzip, lzo

Стоит отметить и ограничения, которые накладываются на использование этого метода - например, затруднено или невозможно проводить детектирование червей, не проводящих тотальное сканирование сети или чья сетевая активность незначительна, по той же причине (малое количество вхождений в таблицы потоков) затруднена диагностика в сетях с малыми объемами передаваемого трафика.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Cisco. White Paper: NetFlow Services and Applications. http://www.cisco.com/warp/public/cc/pd/iosw/ioft/neflct/tech/napps_wp.htm, 2002;

2. V.H. Berk, R.S. Gray, and G. Bakos. Using sensor networks and data fusion for early detection of active worms. In Proceedings of the SPIE AeroSense, 2003;

3. C. C. Zou, L. Gao, W. Gong, and D. Towsley. Monitoring and early warning for internet worms. In Proceedings of 10th ACM Conference on Computer and Communications Security (CCS’03), October 2003;

4. Symantec Security Response - W32.Blaster.Worm. http://securityresponse.symantec.com/avcenter/venc/data/w32.blaster.worm.html, 2003;

5. CERT. Security Advisory: MS.Blaster (CA-2003-20), http://www.cert.org/advisories/CA-2003-20.html, 2004;

6. R. Lemos. MSBlast epidemic far larger than believed. http://news.com.com/MSBlast+epidemic+far+larger+than+believed/2100-7349 3-5184439.html, 2004;

7. US-CERT. Vulnerability Note: Witty (VU#947254). http://www.kb.cert.org/vuls/id/947254, 2004;

8. The gzip home page. http://www.gzip.org/;

9. The bzip2 and libbzip2 official home page. http://sources.redhat.com/bzip2/;

10. http://www.oberhumer.com/opensource/lzo/. LZO compression library;

11. A. Lakhina, M. Crovella, and C. Diot. Diagnosing network-wide traffic anomalies. In SIGCOMM, pages 219-230, 2004.

А.П. Жук, Р.Ю. Савелов

Россия, г. Ставрополь, СГУ

УСОВЕРШЕНСТВОВАНИЕ РАБОТЫ ПЕРСОНАЛЬНОГО МЕЖСЕТЕВОГО ЭКРАНА ПО ОБНАРУЖЕНИЮ И ПРОТИВОДЕЙСТВИЮ ВРЕДОНОСНОМУ ПРОГРАММНОМУ ОБЕСПЕЧЕНИЮ

Угроза вредоносного программного обеспечения в настоящее время является одной из самых актуальных угроз в сети Internet. Если несколько лет наиболее опасной формой вредоносных программ были компьютерные вирусы, то сейчас к