Научная статья на тему 'Построение виртуализированной системы фильтрации поддельных сетевых пакетов с использованием Intel DPDK'

Построение виртуализированной системы фильтрации поддельных сетевых пакетов с использованием Intel DPDK Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
434
44
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ВИРТУАЛИЗАЦИЯ СЕТЕВЫХ ФУНКЦИЙ / ФИЛЬТРАЦИЯ СЕТЕВЫХ ПАКЕТОВ / NFV / INTEL DPDK / IP SPOOFING / TTL

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Яковлев Дмитрий Александрович, Синева Ирина Сергеевна

Одними из составляющих направления развития в сфере построения сетевых систем являются концепции программно-определяемых сетей (Software-Defined Networking, SDN) и виртуализации сетевых функций (Network Functions Virtualization, NFV). Концепция NFV предлагает использовать технологии виртуалиации с целью разделения аппаратной части сети от функций логических сетевых элементов, что дает возможность установки сетевых сервисов в любом месте в том количестве, которое необходимо в зависимости от востребованности и целей. В качестве конкретного примера реализации виртуализированной сетевой функции рассматривается использование набора программных библиотек Intel DPDK, позволяющего с высокой скоростью обрабатывать сетевые пакеты за счет предоставления прямого доступа к сетевым данным без их повторного копирования в памяти, а также имеющего дополнительные вспомогательные компоненты, которые добавляют удобства при работе с сетевым трафиком. Итоговой целью в данном примере является создание системы фильтрации сетевых пакетов с поддельным источником отправителя. IP spoofing является одним из самых встречаемых и легко реализуемых типов сетевых атак. Минимизация вреда он подобного рода внешних воздействий является одной из ключевых задач в области защиты сетевых приложений. В качестве алгоритма для фильтрации используется сбор и анализ значений из поля TTL в заголовке входящих IP-пакетов. На основе значения TTL вычисляется количество промежуточных шагов, совершаемых при доставке пакета от источника до конечной цели. На этапе исследования проводится сравнение, получаемых значений TTL из легитимных пакетов и пакетов, полученных во время атак, для того, чтобы сделать вывод о возможности применения подобных фильтров. На этапе реализации фильтра на основе анализа заведомо легитимных пакетов составляется таблица соответствия между IP-адресами и количеством шагов. Итоговая таблица используется для оценки того, что сетевой пакет не является поддельным. Конечное решение, реализованное с применением Intel DPDK, позволяет его применять, как на физическом сервере, так и внутри виртуального окружения.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Яковлев Дмитрий Александрович, Синева Ирина Сергеевна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Построение виртуализированной системы фильтрации поддельных сетевых пакетов с использованием Intel DPDK»

ПОСТРОЕНИЕ ВИРТУАЛИЗИРОВАННОЙ СИСТЕМЫ ФИЛЬТРАЦИИ ПОДДЕЛЬНЫХ СЕТЕВЫХ ПАКЕТОВ С ИСПОЛЬЗОВАНИЕМ INTEL DPDK

Одними из составляющих направления развития в сфере построения сетевых систем являются концепции программно-определяемых сетей (Software-Defined Networking, SDN) и виртуализации сетевых функций (Network Functions Virtualization, NFV). Концепция NFV предлагает использовать технологии виртуа-лиации с целью разделения аппаратной части сети от функций логических сетевых элементов, что дает возможность установки сетевых сервисов в любом месте в том количестве, которое необходимо в зависимости от востребованности и целей. В качестве конкретного примера реализации виртуализированной сетевой функции рассматривается использование набора программных библиотек Intel DPDK, позволяющего с высокой скоростью обрабатывать сетевые пакеты за счет предоставления прямого доступа к сетевым данным без их повторного копирования в памяти, а также имеющего дополнительные вспомогательные компоненты, которые добавляют удобства при работе с сетевым трафиком.

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

Конечное решение, реализованное с применением Intel DPDK, позволяет его применять, как на физическом сервере, так и внутри виртуального окружения.

Яковлев Дмитрий Александрович,

aспирант, Московский технический университет связи и информатики, Москва, Россия, bombermag@gmail.com

Синева Ирина Сергеевна,

доцент, профессор, Московский технический университет связи и информатики, Москва, Россия, iss@mtuci.ru

Ключевые слова: виртуализация сетевых функций, фильтрация сетевых пакетов, NFV, Intel DPDK, IP spoofing, TTL.

Для цитирования:

Яковлев Д.А., Синева И.С. Построение виртуализированной системы фильтрации поддельных сетевых пакетов с использованием Intel DPDK // T-Comm: Телекоммуникации и транспорт. - 2016. - Том 10. - №8. - С. 30-35.

For citation:

Yakovlev D.A., Sineva I.S. Building virtualized system using Intel DPDK for filtering spoofed network packets. T-Comm. 2016. Vol. 10. No.8, рр. 30-35. (in Russian)

Введение

Текущие тенденции в построении сетевых решений указывают на необходимость в наличии гибких, универсальных и легко масштабируемых решений [1]. Одним из решений данного вопроса стали две ключевые концепции - программ но-определяемые сети (SDN, Software Defined Networking) и виртуализация сетевых функций (NEV, Network Functions Virtualization). Две эти концепции имеют разное предназначение и решают задачи в разной области, могут как использоваться воедино, так и по отдельности.

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

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

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

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

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

Описание алгоритма

Существует множество подходов к организации средств детектирования и защиты от сетевых атак [2|. Значительную

часть среди них занимают всевозможные нейронные сети, генетические алгоритмы [3], иммунные сети, экспертные системы и т.д., основными недостатками которых является сложность и вычислительная ресурсоемкость, поэтому даже несмотря на возможность применения параллельных вычислений для такого рода алгоритмов [4], преимущественно применяются сигнатурные методы.

В данном случае в качестве критерия для определения легитимности входящего пакета применяется оценка значения параметра TTL (Time to live), входящего в !Р-заголовок сетевого пакета, в совокупности с указанным IP-адрес ом отправителя, В IP-заголовке TTL хранится в 8-битном поле, что позволяет использовать 255 возможных значений. В компьютерных сетях TTL определяет максимальное количество тагов, в течение которых сетевой пакет должен быть доставлен до конечной цели до момента своего уничтожения.

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

В разных операционных системах в качестве начального значения TTL принимаются различные значения, но этот набор ограничен. Если рассматривать наиболее популярные современные операционные системы, то этот набор ограничивается двумя значениями, где для семейства Windows NT систем характерно значение TTL 128, для семейства *nix -64 (табл. 1).

Таблица 1

Значение TTL в разных ОС

Операционная система TTL

Windows NT (>4.0) 128

Linux (>2.4), Android 64

MacOS X, ¡OS 64

Помимо наиболее часто используемых значений 64 и 128 в операционных системах, на практике также встречается значение 255, которое является следствием использования NAT на пограничных маршрутизирующих устройствах провайдера со стороны клиента, либо пользовательских роуте-рах, которые осуществляют подмену значения TTL на собственное.

Рассмотрим статистику полученных значений TTL, собранных на основе входящих 123 атак на хостинг-провайдер за один календарный месяц. Из каждой атаки были выбраны только первые 4000 сетевых пакетов, полученных после момента детектирования атаки.

Па основе данной гистограммы (рис. I) можно предположить, что в большинстве случаев злоумышленниками в качестве начального значения TTL применялось статичное значение равное 255. Если исключить из выборки значения TTL > 240, то в полученном распределении (рис. 2) становятся более различимы атаки с другим заданным статичным значением, и ярко выражено наличие атак с равномерным распределением для определенного заданного диапазона TTL.

T-Comm Vol. 10. #8-2016

7Т>

(X 100000,) 4P™1

Histogram

—i i I 1 ц-f ,1 ^

0 25 50 75 100 125 150 175 200225 250 275 TIL

Freq uency Tabulation for TTL

Lower Upper Relative

Limit Limit Midpoint Frequency Frequency

84,2105 89,4737 86,8421 3298 0,0067

89,4737 94,7368 92,1053 8240 0,0168

94,7368 100,0 97,3684 9958 0,0202

100,0 105,263 102,632 8175 0,0166

105,263 110,526 107,895 8204 0,0167

110,526 115,789 113.158 3533 0,0072

1 15,789 121,053 1 18.421 8787 0,0179

121,053 126,316 123.684 14051 0,0286

236,842 242,105 239,474 312540 0,6353

242,105 247,368 244.737 114866 0,2335

247,368 252,632 250,0 43 0,0001

Рис. I. Распределение TTL во время атаки

(X 1000,01 1в р-

12

Histogram

ä e

3 0

Ш

25

50

75 TTL

100

126

150

Freq ucney Tabulation for TTL

Lower Upper Relative

Limit Limit Midpoint Frequency Frequency

86,9796 89,0204 88,0 3298 0,0512

89,0204 91,0612 90,0408 3356 0,0521

91,0612 93,102 92,0816 3290 0,0510

93,102 95,1429 94,1224 3229 0,0501

95,1429 97.1837 96,1633 3361 0,0521

97,1837 99,2245 98,2041 3328 0,0516

99,2245 101,265 100,245 3271 0,0507

101,265 103,306 ¡02,286 3347 0,0519

103,306 105,347 104,327 3191 0,0495

105,347 107,388 106,367 3297 0,0511

107,388 109,429 108,408 3251 0,0504

109,429 1 11,469 110,449 3269 0,0507

1 1 1,469 113,51 112,49 1770 0,0275

113,51 115.551 114,531 150 0,0023

! 15,551 117,592 116,571 2562 0,0397

117,592 1 19,633 ! 18,612 3997 0,0620

1 19,633 121,673 120,653 2228 0,0346

121,673 123,714 122.694 47 0,0007

123,714 125,755 124.735 14004 0,2172

Рис. 2. Распределение для TTL < 240 во время атаки

Для сравнения была собрана статистика значений ТТЬ, полученных от легитимных пользователей. Распределение по значениям ТТЬ (рис, 3) и рассчитанное в соответствии с ними пройденное количество шагов (рис. 4) представляется следующим образом.

{X 1000,0)

гл.

Histogram

0 25 50 75 100 125 150 175 200 225 250 TTL

Рис. 3. Гистограмма распределение TTL от легитимных пользователей

{X 1000,0| 15

Histogram

Рис. 4. Гистограмма распределение шагав от легитимных пользователей

Среди набора данных имеется 77915 неповторяющихся IP-адресов. Не мало важным фактором является знание о наличии различающихся TTL, полученных с одного IP-адреса. По данному критерию было выявлено 4167 IP-адресов, что составляется 5,33% от общего количества. Далее было подсчитано, насколько сильно может различаться длина маршрута для этих IP-адресов. Для 3759 адресов (4,82%) разница в длине маршрута составляла I шаг, 361 (0,46%) - 2 шага, 38 (0,04%) - 3 шага, 9 (0.01%) - 4 шага. Это дает понять, что как минимум для 5.33% адресов используется NAT, что следует учитывать, при фильтрации поточному количеству шагов.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Для реализации фильтра по значению TTL строится таблица соответствия между IP-адресами и количеством шагов, которые совершает сетевой пакет при движении от клиента до конечного сервера.

Хранить количество шагов можно индивидуально для каждого IP-адреса, что при условии задействования всего набора возможных IP-адресов будет занимать 232 байта оперативной памяти. Но сегодняшним меркам 4 Гбайт оперативной памяти являются достаточно доступными для потребителя по своей стоимости.

32

T-Comm Том 10. #8-20 16

0/27

G/24

0/26

32/27

0/2 S

64/27

Я4/26

36/27

123/27

126/26

160/27

128/25

192/27

152/26

224/27

Рис. 5. Агрегирование [¡'-адресов с одинаковым количество шагов

Для уменьшения объема используемой памяти используется метод агрегирования IP-адресов в подсети. Наиболее простым является хранение первых 24-бит от IP-адреса, что в совокупности с принадлежащими им значениями количества шагов максимально будет использовать 16 Мбайт оперативной памяти. Минусом данного подхода является необходимость в учете дополнительной погрешности в значении количества шагов при приеме решения о фильтрации сетевого пакета, что также увеличивает вероятность пропуска вредоносного пакета [51-

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

Заполнение таблицы должно происходить на основе анализа легитимных сетевых пакетов, которые гарантируют отсутствие возможности злоумышленником заполнить таблицу неверными данными. Например, может использоваться сбор TTL из установившихся TCP-подключений. TCP использует «трехкратное рукопожатие», что гарантирует легитимность сетевых данных, иоступаемых после установки соединения. В случае UDP соединений для заполнения таблицы должен быть известен протокол конечного приложения и этот протокол должен иметь собственную процедуру вали-дации легитимности клиента.

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

• злоумышленник обладает доступом к одному из серверов внутри сети, где располагается атакуемый сервер;

• злоумышленник обладает доступом к серверам внутри сети, адреса которых будут использоваться в качестве IP-адресов источника;

• злоумышленник располагает информацией о топологии сети и используемых алгоритмах маршрутизации.

Подобные условия значительно усложняют возможность проведения атаки, что делает ее практически нецелесообразной.

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

Данный метод фильтрации подходит для уменьшения последствий от возникшей атаки и не предполагается для использования во время штатного режима работы. Оптимальным способом использования будет считаться мониторинг сетевой активности со сбором данных для таблицы на отдельном пассивном оборудовании, которое периодически будет отправлять таблицу с актуальными данными на оборудование, осуществляющее фильтрацию, В таком случае, стоит учитывать, чтобы оборудование находилось на одном уровне по топологии сети, либо изменять соответствующим образом значения количества шагов в передаваемой таблице. Фильтрация должна переходить в активный режим только при детектировании сетевой атаки путем отслеживания превышения статичных лимитов, либо используя методы статистического анализа. В остальных случаях фильтрация работает в пассивном режиме, пропуская все сетевые пакеты, чтобы минимизировать возможность сброса легитимных данных. Во время режима активной фильтрации также следует учитывать о ранее сказанной возможной разнице в принятых значениях TTL с одного IP-адреса, должна быть оптимальным образом выбрана фильтрация по точному или относительному совпадению количества шагов с целью минимизации отбрасывания легитимных пакетов и максимальной фильтрации поддельных. Дли оценки эффективности может быть применимо имитационное моделирование аномалий в компьютерной сети [6].

Реализация алгоритма

Для реализации алгоритма должны использоваться инструменты, которые удовлетворяют современным тенденциям в построении сетевых решений. Должна быть возможность эффективной обработки сетевых пакетов с минимальными накладными расходами и переноса в различное аппаратное окружение, внутри которого будет исполняться реализованное приложение. Наиболее актуальными на текущий момент программными продуктами являются PK R1NG ZC, netmap и Intel DPDK [7].

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

T-Comm Vol. 10. #8-2016

и исключение ядра ОС из цепочки, передающей сетевые пакеты от сетевой карты к пользовательскому приложению.

Среди перечисленных инструментов особенно выделяется Intel DPDK. По сравнению с PFRING ZC он распространяется бесплатно вместе с исходным кодом, по сравнению с netmap — содержит значительно количество вспомогательных библиотек, необходимых при построении сетевых решений [8], Одной из таких библиотек является LPM (Longest Prefix Match) - важный компонент для реализации таблицы соответствия подсетей к количеству шагов, который реализует метод поиска для 32-битных ключей. В обычном случае данная библиотека применяется для составления таблицы маршрутизации.

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

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

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

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

Другая ключевая особенность — возможность работы в виртуальном окружении. Iniel DPDK имеет поддержку основных гипервизоров - QEMU, Хеп, VMware ESXi. Что дает преимущество в виде свободного использования приложения независимо от аппаратной составляющей, что первостепенно для виртуализации сетевых функций.

Приложение с фильтрацией сетевых пакетов может устанавливаться в разрез на одном из участков сети, так и использоваться внутри конечной ОС. Для этого используется модуль KNI (Kernel NIC Interface), который создает виртуальный сетевой интерфейс. Все сетевые пакеты сначала попадают в фильтрующее приложение и только после этого перенаправляются на виртуальный сетевой интерфейс и проходят в сетевой стек самой ОС.

Основными этапами в развертывании и функционирования приложения являются:

1. Компиляция Intel DPDK.

2. Установка необходимого модуля DPDK 1GBUIO, VK10 или DPDK KNI, в зависимости от окружения, внутри

которого используется приложение.

3. Закрепление сетевого интерфейса к установленному модулю.

4. Резервирование больших страниц памяти (1шцера§е$), для хранений сетевых пакетов и прочих данных.

5. Запуск приложения.

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

Используя Intel DPDK можно создавать разнообразные сетевые решения, которые могут использоваться на достаточно широком классе оборудования, без привязки к конкретному устройству и производителю, что в достаточной степени решает вопрос универсальности и гибкости полученного решения. Рассмотрен пример реализации фильтра сетевых пакетов с поддельным источником назначения на основе анализа значений TTL.

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

1. Синева И.С. Буду щий интернет: сетевой подход // Фундаментальные проблемы радиоэлектронного приборостроения. - 2010. -Т. 10. - № 1-3.-С. 237-240.

2. Шелухин О.И.. Сакалема Д.Ж.. Филинова А.С. Обнаружение вторжений в компьютерные сети. Сетевые аномалии. - М,: Горячая линия - телеком. Москва. 2013. - 220 с.

3. Яковлев Д.А., Синева И. С. Детектирование DoS-атак с помощью генетического алгоритма и нечеткой логики // Фундаментальные проблемы радиоэлектронного приборостроения. -2015. - Т. 15. -№5. - С. 288-291.

4. Яковлев Д.А.. Синева И.С. Применение параллельных вычислений в генетических алгоритмах поиска // Фундаментальные проблемы радиоэлек! ронного приборостроения. - 2014. - Г. 14. -.№>5 -С. 214-219.

5. Wang Н, Jin С, Shin KG. Defense against spoofed IP traffic using hop-count filtering. IEEE/ACM Transactions on Networking, 15(1), pp. 40-53, 2007.

6. Шелухин О.И.. Савелов А.В. Имитационное моделирование аномалий трафика в локальной компьютерной сети // T-Comm: Телекоммуникации и транспорт. -2013. -Т.7. -№ 10.-С. 103-109.

7. Яковлев ДА.. Синева И.С. Сравнение инструментов для высокоскоростной обработки сетевого трафика (netmap, PF RING ZC, Intel DPDK) // Перспективные технологии в средствах передачи информации. - 2015. - С. 258-265,

8. Intel DPDK: Intel Data Plane Development Kit. Programmer's Guide - http://dpdk.org/doc/guide5/prog_guide (дата обращения: 20.02.2016).

9. Intel DPDK: Data Plane Development Kit API http://dpdk.org/doc/api (дата обращения: 20,02.2016).

Литература

Заключение

Y

œMPUTER SCIENCE

BUILDING VIRTUALIZED SYSTEM USING INTEL DPDK FOR FILTERING SPOOFED NETWORK PACKETS

Dmitriy A. Yakovlev, post graduate student of MTUCI, Moscow, Russia, bombermag@gmail.com Irina S. Sineva, associate professor of MTUCI, Moscow, Russia, irina_sineva@mail.ru

Abstract

The main directions of network systems development are the SDN (Software-Defined Networking) and NFV (Network Functions Virtualization). NFV is a concept that uses virtualization technology for separating the hardware functions from logical network elements. It allows installation of network services anywhere in an amount depending on the need. Intel DPDK is used to realize the virtual network function. It enables high-speed processing of network packets by providing direct access to network data without copying them again to memory and also has additional auxiliary components, which make working with network traffic more convenient. The final purpose of this example is to create a filtering system for network packets with spoofed source IP address. IP spoofing is one of the most encountered and easily implemented types of network attacks. The main idea of filtering algorithm is to collect and to analyze the value of the TTL field in the IP header of incoming packets. TTL value is used for counting network hops from source to destination. On the first step of our research we compare the received TTL value from legitimate packets and from packets received during attacks. It's done to determine whether it's possible to use such filter. On the next step we create a table with IP addresses and network hops calculated from TTL value. This table is made to determine the legitimacy of packet, is it a true packet or a fake. Intel DPDK was implemented on the final solution, allowing it to be applied on a physical server or within a virtual environment.

Keywords: NFV, network packet filtering, Intel DPDK, IP spoofing, TTL.

References

1. Sineva I.S. 'Future Internet: a network approach'. Fundamental problems of radioelectronics. / Proceedings of the International Scientific and Technical Conference "INTERMATIC-2010". Vol.10. No 1-3, 2010. pp. 237-240. (in Russian)

2. Sheluhin O.I., Sakalema D.J., Filinova A.S. 'Intrusion detection into computer networks'. Network anomalies. Moscow.: Hotline - telecom, 2013. 220 p. (in Russian)

3. Yakovlev D.A., Sineva I.S. 'DoS-attack detection using genetic algorithm and fuzzy logic'. Fundamental problems of radioelectronics / Proceedings of the International Scientific and Technical Conference "INTERMATIC-2015". 2015. Vol. 15. No. 5, pp. 288-291. (in Russian)

4. Yakovlev D.A., Sineva I.S. 'The use of parallel computing in genetic search algorithms'. Fundamental problems of radioelectronics / Proceedings of the International Scientific and Technical Conference "INTERMATIC-2014". 2014. Vol. 14. No. 5, pp. 214-219. (in Russian)

5. Wang H, Jin C, Shin KG. 'Defense against spoofed IP traffic using hop-count filtering'. IEEE/ACM Transactions on Networking. 2007. No. 15(1), pp. 40-53.

6. Sheluhin O.I., Savelov A.V. 'Simulation of traffic anomalies in the local area network'. T-Comm. 2014. Vol. 7. No. 10, pp. 103-109.

(in Russian)

7. Yakovlev D.A., Sineva I.S. 'Comparison of tools for high-speed processing of network traffic (netmap, PF_RING ZC, Intel DPDK)'. Advanced technologies in commutation tools. 2015. pp. 258-265. (in Russian)

8. Intel DPDK: Intel Data Plane Development Kit. Programmer's Guide, viewed 20 February 2016, http://dpdk.org/doc/guides/prog_guide/.

9. Intel DPDK: Data Plane Development Kit API, viewed 20 February 2016, http://dpdk.org/doc/api.

i Надоели баннеры? Вы всегда можете отключить рекламу.