Способ динамической фильтрации дейтаграмм интернет-протокола

Иллюстрации

Показать все

Изобретение относится к области электросвязи и может быть использовано в сетях передачи данных для фильтрации и маршрутизации фрагментированных дейтаграмм Интернет-протокола. Технический результат заключается в повышении эффективности системы защиты от DDoS-атак. Указанный технический результат достигается применением изменяющегося во времени критерия фильтрации, в качестве которого используется по меньшей мере один из следующих параметров: IР-адрес источника, IР-адрес получателя, маска подсети, порт источника, порт получателя, диапазон портов источника, диапазон портов получателя, номер протокола, тип обслуживания для IP версии 4 (IPv4), класс трафика для IP версии 6 (IPv6), метка потока для IPv6, индекс параметра безопасности IPSec (SPI), общая длина IР-дейтаграммы или их комбинация. 5 ил.

Реферат

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

Интернет-протокол (IP) является протоколом, который поддерживает передачу блоков данных (пакетов), называемых дейтаграммами, от источников к получателям в сети передачи данных с коммутацией пакетов. Источники и получатели являются хост-компьютерами, которые идентифицируются посредством IР-адресов фиксированной длины. Чтобы передать данные получателю, источник формирует дейтаграмму с IР-заголовком и частью, соответствующей полезной нагрузке. Источник затем отправляет дейтаграмму как IР-пакет по направлению к получателю на основе информации о маршрутизации, которую источник имеет для получателя.

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

Известны способы фильтрации дейтаграмм Интернет-протокола (Мафтик, С.Механизмы защиты в сетях ЭВМ / С.Мафтик: пер. с англ. - М.: Мир, 1993. - 216 с.; Столингс В. Основы защиты сетей / В. Столингс: пер. с англ. - М.: Издательский дом «Вильямс», 2002. - 304 с.), в которых основным критерием фильтрации являются IР-адреса и номера портов TCPIUDP отправителя и получателя. Использование информации, содержащейся в TCP- и IР-заголовках дейтаграмм на современном этапе, становится все менее эффективным критерием фильтрации, потому как злоумышленник при организации, например, DDoS-атаки может создать заголовок, который удовлетворяет разрешающим правилам фильтрации.

Известен способ классификации фрагментированных IР-дейтаграмм (патент US 2003126272 А1 от 03.07.2003 г.), согласно которому в качестве критерия классификации (фильтрации) кроме информации в заголовках дейтаграмм использованы данные других полей дейтаграмм Интернет-протокола. Однако применение для фильтрации значений времени жизни пакета (TTL) достаточно сложное на практике и ограничено количеством сетевых узлов на маршруте, а данных о типе обслуживания (ToS) является эффективным лишь временно, пока сегменты данного поля не будут корректно заполнены злоумышленником. Параметр ToS занимает один байт, поэтому вероятность его подбора злоумышленником составляет n/28, где n - количество попыток подбора.

Наиболее близким по технической сущности к заявляемому способу и выбранным в качестве прототипа является способ фильтрации и маршрутизации фрагментированных дейтаграмм в сети передачи данных (Патент РФ 2363108 от 29.06.2005), в котором идентифицируют по меньшей мере один параметр фильтрации для дейтаграммы Интернет-протокола (IP), отправленной как множество фрагментов; сохраняют один или более принятых фрагментов дейтаграммы Интернет-протокола (IP) в качестве сохраненных фрагментов; получают упомянутый по меньшей мере один параметр фильтрации из упомянутых одного или более принятых фрагментов; определяют результат фильтрации для дейтаграммы Интернет-протокола (IP) на основе упомянутого по меньшей мере одного параметра фильтрации, причем результат фильтрации определяют до того как будут приняты все фрагменты дейтаграммы Интернет-протокола (IP), обрабатывают сохраненные фрагменты на основе результата фильтрации; и обрабатывают дополнительные фрагменты, принятые после того как результат фильтрации определен на основе упомянутого по меньшей мере одного параметра фильтрации, при этом упомянутый по меньшей мере один параметр фильтрации для IР-дейтаграммы содержит IР-адрес источника, IР-адрес получателя, маску подсети, порт источника, порт получателя, диапазон портов источника, диапазон портов получателя, номер протокола, тип обслуживания для IP версии 4 (IPv4), класс трафика для IP версии 6 (IPv6), метку потока для IPv6, индекс параметра безопасности IPSec (SPI) или их комбинацию.

Использование упомянутых параметров фильтрации на современном этапе становится все менее и менее эффективным критерием, потому как большинство злоумышленников при организации DDOiS'-атаки корректно их воссоздают.Вероятность подбора злоумышленником параметров фильтрации для IPv4, например, составляет:

Pподб=Pадр.ист·Pадр.пол·Pмаск·Pп.ист·Pп.пол·Pдиап.ист·Pдиап.пол·Pпрот·ToS,

где Радр.ист - вероятность подбора IР-адрес источника,

Pадр.пол - вероятность подбора IР-адрес получателя,

Рмаск - вероятность подбора маски подсети,

Рп.пист - вероятность подбора порта отправителя,

Рп.пол - вероятность подбора порта получателя,

Pдиап.ист - вероятность подбора диапазона портов источника,

Рдиап.пол - вероятность подбора диапазона портов получателя,

Рпрот - вероятность подбора номера протокола,

PToS - вероятность подбора типа обслуживания.

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

DDoS (Distributed Denial of Service - распределенный отказ от обслуживания) - тип сетевой атаки, основанной на небезграничности ресурсов атакуемой службы, к которой организуется масса запросов, с которыми она заведомо не сможет справиться, и будет вынуждена отказать в обслуживании (либо заставить ждать неприемлемо долго).

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

В заявленном способе эта задача решается следующим образом. В способе динамической фильтрации дейтаграмм Интернет-протокола идентифицируют по меньшей мере один параметр фильтрации для дейтаграммы Интернет-протокола (IP), отправленной как множество фрагментов. Сохраняют один или более принятых фрагментов дейтаграммы Интернет-протокола (IP) в качестве сохраненных фрагментов. Получают упомянутый по меньшей мере один параметр фильтрации из упомянутых одного или более принятых фрагментов. Определяют результат фильтрации для дейтаграммы Интернет-протокола (IP) на основе упомянутого по меньшей мере одного параметра фильтрации, причем результат фильтрации определяют до того как будут приняты все фрагменты дейтаграммы Интернет-протокола (IP). Обрабатывают сохраненные фрагменты на основе результата фильтрации и обрабатывают дополнительные фрагменты, принятые после того как результат фильтрации определен на основе упомянутого по меньшей мере одного параметра фильтрации. При этом упомянутый по меньшей мере один параметр фильтрации для IP-дейтаграммы содержит IP-адрес источника, IP-адрес получателя, маску подсети, порт источника, порт получателя, диапазон портов источника, диапазон портов получателя, номер протокола, тип обслуживания для IP версии 4 (IPv4), класс трафика для IP версии 6 (IPv6), метку потока для IPv6, индекс параметра безопасности IPSec (SPI), общую длину IP-дейтаграммы или их комбинацию. Упомянутые критерии фильтрации в упомянутом по меньшей мере одном параметре фильтрации для IP-дейтаграммы преобразуются псевдослучайным образом через временные интервалы, изменяющиеся независимо по псевдослучайному закону.

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

Например, поле «общая длина» IP-дейтаграммы занимает два байта и означает общую длину пакета с учетом заголовка и поля данных. Максимальная длина пакета ограничена разрядностью поля, определяющего эту величину. При передаче по сетям различного типа длина дейтаграммы выбирается с учетом максимальной длины пакета протокола нижнего уровня. Если это кадры Ethernet, то выбираются пакеты с максимальной длиной в 1500 байт, умещающиеся в поле данных кадра Ethernet. В стандарте предусмотрено, что все сетевые узлы должны быть готовы принимать пакеты длиной до 576 байт. При организации и настройке параметров соединения общую длину IP-дейтаграммы устанавливает администратор сети, который может задавать не одно строго определенное значение, а диапазон возможных значений, в пределах которого в соответствии с псевдослучайным алгоритмом управления длина пакета в правилах фильтрации будет изменять свое значение. Аналогичные действия можно определить и для других полей IP-дейтаграммы.

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

Результаты поиска известных решений в данной и смежных областях техники с целью выявления признаков, совпадающих с отличительными от прототипа признаками заявленного объекта, показали, что они не следуют явным образом из уровня техники. Из уровня техники также не выявлена известность влияния предусматриваемых существенными признаками заявленного изобретения преобразований на достижение указанного технического результата. Следовательно, заявленное изобретение соответствует условию патентоспособности «изобретательский уровень».

Заявленное изобретение поясняется следующими фигурами:

фиг.1 - IР-пакет для дейтаграммы;

фиг.2 - процесс, выполняемый сетевым узлом для фильтрации фрагментированной дейтаграммы и маршрутизации ее фрагментов;

фиг.3 - функциональная схема организации защиты от DDoS-атак FTW-маршрутизаторов согласно заявленному способу;

фиг.4 - набор правил фильтрации по заголовку IР-пакета и длине пакета;

фиг.5 - функциональная схема динамического фильтра IР-трафика.

Реализация заявленного способа поясняется блок-схемой процесса, выполняемого сетевым узлом для фильтрации фрагментированной дейтаграммы и маршрутизации ее фрагментов. Фрагментированная дейтаграмма составлена из множества фрагментов, и каждый фрагмент отправляется как один IР-пакет (фиг.2). Таким образом, для фрагментированной дейтаграммы фрагменты и IР-пакеты являются терминами-синонимами.

Изначально узел фильтрации принимает IР-пакет (этап 201). Затем определяет, является ли IР-пакет фрагментированной дейтаграммой (этап 203),например, посредством проверки бита MF и поля смещения фрагмента в IР-заголовке IР-пакета. IР-пакет является нефрагментированной дейтаграммой, если поле смещения фрагмента установлено в «0», и бит MF установлен в «0». Если IР-пакет является нефрагментированной дейтаграммой (на этапе 203 получен ответ «нет»), то узел применяет один или более фильтров к IР-пакету и обрабатывает и/или пересылает IР-пакет на основе результата фильтрации (этап 202). Затем узел фильтрации возвращается на этап 201, чтобы обработать следующий IР-пакет.

Если текущий IР-пакет является фрагментированной дейтаграммой, как определено на этапе 203, то узел фильтрации определяет, является ли этот IР-пакет первым принятым для дейтаграммы (этап 206), посредством:

1) получения идентификатора дейтаграммы, например, как сцепление значений идентификации, протокола, адреса источника и адреса получателя в IР-заголовке IР-пакета;

2) поиска записей таблицы маршрутизации для идентификатора этой дейтаграммы;

3) указания текущего IР-пакета в качестве первого принятого фрагмента, если идентификатор дейтаграммы не найден в каком-либо из элементов таблицы маршрутизации.

Если текущий IР-пакет является первым принятым фрагментом, то узел фильтрации создает новую запись таблицы маршрутизации для дейтаграммы, инициализирует поля новой записи таблицы маршрутизации и запускает таймер для дейтаграммы (этап 205). Запись таблицы маршрутизации для дейтаграммы индексируется по идентификатору дейтаграммы. Запись таблицы маршрутизации включает в себя указатель, который указывает на местоположение памяти фрагментов, используемое для того, чтобы хранить фрагменты дейтаграммы. Узел фильтрации затем переходит на этап 208.

Если текущий IР-пакет не является первым принятым фрагментом, как определено на этапе 206, то узел фильтрации определяет, доступен ли результат фильтрации для дейтаграммы в записи таблицы маршрутизации для дейтаграммы (этап 207). Если результат фильтрации существует, то узел обрабатывает/пересылает IР-пакет в соответствии с результатом фильтрации (этап 209) и затем переходит на этап 211. В противном случае, если результат фильтрации недоступен, то узел определяет, были ли получены все параметры фильтрации для дейтаграммы из текущего IР-пакета и приняты ли уже все IР-пакеты, которые также являются фрагментами этой дейтаграммы (этап 432). Если все параметры фильтрации не были получены, то узел выделяет буфер в памяти фрагментов для текущего IР-пакета и сохраняет IР-пакет в буфере (этап 215). Узел затем возвращается на этап 201, чтобы обработать следующий IР-пакет. Иначе, если все параметры фильтрации были получены, то узел применяет фильтры в отношении параметров фильтрации, получает результат фильтрации для дейтаграммы и сохраняет результат фильтрации в записи таблицы маршрутизации, созданной для дейтаграммы (этап 210). Узел затем обрабатывает/пересылает текущий IР-пакет, так же как и все уже принятые IР-пакеты, которые также являются фрагментом этой дейтаграммы и сохранены в памяти фрагментов, в соответствии с результатом фильтрации (этап 212). Узел затем переходит к этапу 211.

Для варианта осуществления, показанного на фиг.2, узел фильтрации также отслеживает то, какие фрагменты были приняты для дейтаграммы, и обновляет эту информацию всякий раз, когда для дейтаграммы принимается новый фрагмент (этап 211). Узел может выполнять эту регистрацию на основе смещения фрагмента каждого фрагмента (которое получается из поля смещения фрагмента) и размера полезной нагрузки каждого фрагмента (который получается на основе полей IHL и общей длины). Узел затем определяет, были ли приняты все фрагменты дейтаграммы на основе обновленной информации о фрагменте (этап 213). Целая дейтаграмма принимается, если:

1) был принят последний фрагмент дейтаграммы (последний фрагмент имеет бит MF, установленный в «0»);

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

Если целая дейтаграмма была принята, то узел удаляет запись таблицы маршрутизации для дейтаграммы и удаляет все фрагменты дейтаграммы из памяти фрагментов (этап 214). С этапов 213 и 214 узел возвращается на этап 201, чтобы обработать следующий IР-пакет.

Использование заявленного способа для организации защиты от DDoS-атак показано на фиг.3.

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

Для его проверки было осуществлено имитационное моделирование на трех ПЭВМ с использованием среды программирования С#. Первая ПЭВМ имитировала узел отправителя (источник, VPN-маршрутизатор 1), вторая - узел получателя (VPN-маршрутизатор 2). Между данными узлами был настроен PTW-туннель. Третья ПЭВМ реализовывала источник DDoS-атак. Программными средствами на первой и второй ПЭВМ был реализован фильтр дейтаграмм с изменяемыми параметрами фильтрации. При его настройке устанавливались правила, на основе которых осуществлялось прохождение пакетов через данное устройство.

Пример настройки фильтра дейтаграмм представлен на фиг.4.

Первое правило позволяет пропускать пакеты TCP от источника 129.6.48.254, имеющего любой порт отправителя, к адресу 123.4.5.92, если соединение устанавливается с портом 1024, и длина пакета должна составлять 150 байт. Второе правило запрещает все остальные пакеты.

На один из портов поступает IР-пакет, обозначим его Pi. Устройство фильтрации осуществляет анализ, т.е. сравнение значений полей пакета со значениями указанными в правилах фильтрации. Вначале проверяется информация, содержащаяся в заголовке пакета Рi IР-адреса отправителя и получателя должны соответствовать IР-адресам указанных в правилах фильтрации (исходя из примера, должны быть 129.6.48.254 и 123.4.5.92), а также должно выполняться условие ni=Nпорт=1024, т.е. значение в поле «порт получателя» пакета Рi равно указанному в правилах значению, исходя из примера - 1024. Даже если эти правила выполняются, нельзя сделать правильный вывод о происхождении пакета (пакет VPN или DDoS-атаки), т.к. злоумышленник с вероятностью Рподб может корректно заполнить заголовок, указав правильные значения IР-адресов и номеров портов отправителя и получателя. Поэтому принятый IР-пакет анализируется согласно следующему критерию, указанному в правилах, по длине пакета. Если выполняется последнее условие, Li=Lп, т.е. длина принятого пакета Рi совпадет со значением длины пакета, указанным в правилах фильтрации, то пакет пропускается через устройство фильтрации. Если же правило не выполняется, то принятый IР-пакет отбрасывается (фиг.5).

Вероятность совпадения длины принятого пакета со значением, указанным в правилах фильтрации, очень мала. Для кадра Ethernet, например, значение этого параметра может быть любым в промежутке от 1 до 576 байт, а вероятность подбора длины пакета злоумышленником P с о в п = n t 576 , где nt - количество попыток подбора длины пакета за время t.

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

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

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

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

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

P п о д б д = P п о д б ⋅ P 1 t 1 ⋅ P 2 t 2 … P k t k ,

где Рподб - вероятность подбора статических параметров фильтрации,

P 1 t 1 - вероятность подбора динамического параметра 1 за время t1,

P 2 t 2 - вероятность подбора динамического параметра 2 за время t2,

P k t k - вероятность подбора динамического параметра k за время tk.

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

Способ динамической фильтрации дейтаграмм Интернет-протокола, в котором идентифицируют по меньшей мере один параметр фильтрации для дейтаграммы Интернет-протокола (IP), отправленной как множество фрагментов; сохраняют один или более принятых фрагментов дейтаграммы Интернет-протокола (IP) в качестве сохраненных фрагментов; получают упомянутый по меньшей мере один параметр фильтрации из упомянутых одного или более принятых фрагментов; определяют результат фильтрации для дейтаграммы Интернет-протокола (IP) на основе упомянутого по меньшей мере одного параметра фильтрации, причем результат фильтрации определяют до того, как будут приняты все фрагменты дейтаграммы Интернет-протокола (IP); обрабатывают сохраненные фрагменты на основе результата фильтрации; и обрабатывают дополнительные фрагменты, принятые после того, как результат фильтрации определен на основе упомянутого по меньшей мере одного параметра фильтрации, при этом упомянутый по меньшей мере один параметр фильтрации для IP-дейтаграммы содержит IP-адрес источника, IP-адрес получателя, маску подсети, порт источника, порт получателя, диапазон портов источника, диапазон портов получателя, номер протокола, тип обслуживания для IP версии 4 (IPv4), класс трафика для IP версии 6 (IPv6), метку потока для IPv6, индекс параметра безопасности IPSec (SPI) или их комбинацию, отличающийся тем, что упомянутый по меньшей мере один параметр фильтрации для IP-дейтаграммы является функцией от времени и дополнительно содержит общую длину IP-дейтаграммы.