Анализ поведенческих характеристик трафика Ethernet-TCP/IP на основе сигнатурного метода

ОРГАНИЗАЦИОННЫЕ И ОБЩЕТЕОРЕТИЧЕСКИЕ ВОПРОСЫ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ

УДК 004.724.4

АНАЛИЗ ПОВЕДЕНЧЕСКИХ ХАРАКТЕРИСТИК ТРАФИКА ETHERNET-TCP/IP НА ОСНОВЕ СИГНАТУРНОГО МЕТОДА

© Бабенко Герман Валерьевич

аспирант кафедры «Информационная безопасность», Астраханский государственный технический университет.

' babenko.gennan@mail.ru

© Белов Сергей Валерьевич

кандидат технических наук, доцент, старший научный сотрудник кафедры «Информационная безопасность», Астраханский государственный технический университет.

' SSBelovi@yandex.ru

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

Ключевые слова: сетевая инфраструктура, доминирующий признак, сигнатура.

На сегодняшний день сетевые компьютерные технологии с высокой интенсивностью внедряются во все сферы производства и жизнедеятельности. Стремительный рост масштабности и разнообразия сетей приводит к усложнению их корректного функционирования, а нарушения безопасности обработки, передачи информации могут привести к ущербу. Технологии и протоколы, лежащие в основе функционирования современных компьютерных сетей, с точки зрения защиты информации, имеют большое количество недостатков. Безопасность информационного взаимодействия в компьютерной сети требует решения нескольких задач, основной из которых является защита подключённых компонентов сетевой инфраструктуры от угроз из сетей общего пользования и от внутреннего негативного воздействия [1].

Так как большинство сетевых структур разработаны на основе технологий, реализованных в Internet, в качестве информационных данных

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

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

Рассмотрим задачи, связанные непосредственно с корректным функционированием сетевой инфраструктуры, защитой инфор-

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

Сетевая сигнатура - набор данных (условий), которые необходимо найти в трафике. Диапазон сигнатур изменяется от очень простых, таких как проверка значений поля заголовка, до очень сложных сигнатур, которые могут прослеживать состояние подключения или выполнять анализ протокола. Для решения задачи построения сигнатур, выявляющих нетипичные состояния в функционировании сети, необходимо проанализировать этапы формирования сетевых пакетов. Так как более 90% сбоев сети связаны с нарушениями физических характеристик, то анализ необходимо провести в порядке, обратном формированию пакетов, а именно, от физического - канала связи, до прикладного уровня - совокупности действий пользователя и приложений. При этом использоваться будет не модель взаимодействия открытых систем - OSI, а спроецированная на неё модель протоколов семейства TCP/IP (рис. 1) [3].

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

Рис. 1. Связь OSI и TCP/IP

нимо уникальностью правил (протоколов) взаимодействия компонентов программного обеспечения. Некоторые протоколы располагаются на так называемых межуровневых площадках, однако в работе они условно определены на более низкий уровень. В исследовании были использованы протоколы для анализа сетевых интерфейсов: Ethernet, (R)ARP; маршрутизации: IP, ICMP, RIP, OSPF; транспортировки пакетов: TCP, UDP, а на уровне приложений: HTTP, FTP, NetBIOS, Telnet, SMTP, POP3, DNS, SNMP, TFTP, BOOTP, NetBIOS, DHCP. Необходимо отметить, что протоколы приложений из стека TCP/IP имеют фиксированные значения портов, являющихся системными ресурсами, выделяемыми приложению, выполняемому на некотором компоненте сетевой структуры, для связи с приложениями, выполняемыми на других компонентах. При разработке сигнатур для определения возможных нарушений использовались все значения портов от о до 65535.

Исходя из организации формирования сетевых пакетов и исключив аспекты, связанные с передачей информации по физическим каналам, в работе были определены потенциальные нарушения безопасности. Так, при использовании технологии Ethernet в пакетах возможны ошибки контрольных сумм CRC, проблемы фрагментации, недостаточность объёмов буферов, а также широковещательные штормы, когда адреса получателя имеют вид XoFFFFFFFFFFFF. В процессе маршрутизации пакетов возникают проблемы размещения в очереди, задержки фильтрации, несогласованность MTU (максимальный объём блока данных), тайм-ауты RIP-пакетов. Основным симптомом некорректной пересылки являются повторные пересылки пакетов TCP с фрагментацией на уровне IP больших блоков данных, существенно различаемые размеры окон буфера TCP. При доменной организации сети важным аспектом является корректная работа сетевых служб авторизации и аутентификации, согласование сервером и клиентом буфера передаваемых данных.

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

Определение ключевых параметров и закономерностей

Рассмотрим некоторые характеристики, по которым вероятность решения задачи идентификации в потоке трафика нетипичной

активности велика. Как было оговорено выше, анализ характеристик и разработку сигнатур начнём с сетевого адаптера.

Конфликты Ethernet часто выявляются в виде ошибок контрольных сумм. При этом основным моментом является повторная передача пакета. Из алгоритма передачи следует, что, несмотря на проблемы при передаче преамбулы, оставшаяся часть пакета передаётся далее, при этом повторная передача преамбулы производится в течение 100 мкс. Преамбула обязательно заканчивается последовательностью с двумя единицами: 1010, 0101. Размер передаваемого кадра Ethernet должен лежать в пределах от 64 до 1518 байт. При этом конфликт происходит при посылке двух преамбул, следовательно, достаточно легко определить хост, отправляющий пакеты по разнице во времени отправки и по размеру передаваемой повторной преамбулы, которая, как видно, меньше 64 байт (табл. 1).

Таблица 1

При рассмотрении IP-пакетов выделим характеристики, непосредственно влияющие на маршрутизацию. Номер версии протокола можно определить по первым 4 битам заголовка дейтаграммы IP-пакета. Если значения заголовка отличны от «0100», то исследуемый IP-пакет - нестандартный, так как адресация IPv6 почти нигде не применяется. В случае с полем TOS (тип обслуживания) используются 4 бита типа обслуживания и 1 неиспользуемый бит, с учётом того, что только единственный установленный бит используется в последовательности из 4 бит. Значения поля TTL (время жизни) должно уменьшаться на 1 (декремент) при прохождении через маршрутизатор, и при нулевом значении поля данный пакет отбрасывается и отсылает уведомляющий пакет ICMP. Большое значение поля TLL не является допустимым. В системах под управлением Windows, TTL не превышает значение 128, в крайних случаях 256 [5]. Так, имея постоянное значение TLL для разных пакетов, можно предположить появление в сети так называемой «дымовой завесы», для маскировки незаконных действий. В 8-разрядном идентификаторе протокола используются значения, характеризующие протоколы ICMP:1; IGMP:2; GGP:3; TCP:6; EGP:8; UDP:17. По умолчанию

в системах управлением Windows выполняется исследование MTU, соответственно все пакеты отправляются с установленным битом, означающим запрет фрагментации, автоматически определяя максимальный размер дейтаграммы для последующей её фрагментации. Отсутствие данного бита является подозрительным. Анализ сообщений ICMP выявил, что они никогда не отвечают на широковещательные запросы, муль-тикаст запросы и адреса типа XoFFFFFFFFFFFF. Информация, содержащаяся в пакете ICMP, соотносится с типом и кодом пакета, с учётом того, что любому разрешённому типу соответствует определённый код.

Пакеты UDP, TCP и IP неотделимы при передаче, так как защита заголовка IP-пакета происходит средствами UDP/TCP. Основное отличие UDP от TCP - это отсутствие установления соединения перед передачей данных. Протокол UDP используется приложениями, передающими данные последовательно, обычно по протоколам BOOTP, DHCP, DNS, TFTP, SNMP. Протокол TCP в своей структуре имеет некоторые важные отличия. Это поле установленных флагов, а также размера окна.

Так, по крайней мере, один из шести флагов должен быть установлен в каждом пакете TCP, где каждый флаг соответствует собственному биту в заголовке TCP. Например, флаги SYN, SYN-ACK и ACK используются в течение установления соединения, так называемое «трёхстороннее рукопожатие». Кроме того, начальный пакет с флагом SYN в связи должен иметь ACK бит. Флаги FIN ACK и ACK используются во время окончания существующего соединения. Комбинация RST ACK может применяться для немедленного прекращения существующего подключения.

Иногда в промежуточных этапах соединения пакеты содержат только флаг ACK по умолчанию. Они также могут содержать флаги PSH и/или URG. Пакеты с любой другой комбинацией флагов могут идентифицироваться как подозрительные. Комбинация флагов SYN и FIN считается незаконной, так как флаг SYN используется для запуска соединения, в то время как флаг FIN применяется для окончания существующего соединения [4]. Нельзя выполнять оба действия одновременно. Можно предположить, что любая комбинация SYN-FIN является подозрительной. Пакеты также не должны содержать только флаг FIN. Пакеты FIN часто используются для сканирования портов, сетевых карт и других видов деятельности. Так называемые «нулевые» пакеты вообще не имеют никаких флагов. Это также незаконно. Многие эксплоиты включают значения заголовка, преднамеренно нарушающее правила RFC, так как

Сигнатура конфликта Ethernet

Пакет Время Размер Отправитель Получатель Протокол

1 0.00332 1518 172.16.18.1 172.16.18.10 TCP

2 0.00311 1518 172.16.18.1 172.16.18.10 TCP

3 0.00344 16 00:C0:AA:AA:AA:AA AA:AA:AA:AA:AA:AA Ethernet

4 0.00032 1498 172.16.18.1 172.16.18.10 TCP

N 1498 172.16.18.2 172.16.18.100 TCP

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

При равенстве значений портов пакета, говорят, что они рефлексивны. За несколькими исключениями (некоторые типы трафика NetBIOS), эти значения не должны быть одинаковыми. Рефлексивные порты, в принципе, не нарушают стандартов TCP, но такая ситуация выглядит крайне необычной и подозрительной.

Как правило, стоит ожидать, что TCP window size будет большим, чем 1028, хотя это значение и не является запрещённым, что может быть совпадением, но подлежит проверке. Аналогично, IP_ID number, установленный во всех пакетах в 39426, выглядит необычно. IP RFC определяет, что это значение должно изменяться в разных пакетах, поэтому постоянное значение очень подозрительно [6].

Существует несколько других характеристик трафика TCP, которые регистрируются как отклонения:

- в пакетах никогда не должны использоваться порты источника и назначения, равные 0;

- номер подтверждения никогда не должен быть установлен в 0, при наличии установленного флага ACK;

- пакет с флагом SYN при инициализации нового соединения не должен содержать никаких данных;

- адресация не может быть широковещательной.

Также существуют IP-адреса, специально предназначенные IANA для применения в локальных сетях - зарезервированное адресное пространство для внутреннего использования, а не для сети Internet. Существует три диапазона адресов: 10.0.0.0 - 10.255.255.255, 172.16.0.0 -172.31.255.255 и 192.168.0.0 - 192.168.255.255, подробно это описано в RFC 1918 «Выделение адресов для частных сетей», на http://www.isi. edu/innotes/rfc1918.txt. Иногда компьютеры, безуспешно пытающиеся получить IP-адрес используя DHCP, обычно получают адреса из 169.254.*.* подсети. Другой причиной появления этих адресов из внешней сети являются действия злоумышленников, создающих пакеты с ложными IP-адресами. Пакеты должны всегда иметь различные адреса источника и назначения, так что устройства сети должны блокировать любой пакет, где эти значения совпадают. Некоторые

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

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

Размер окна указывается в каждом пакете, для информирования о размере буфера для входящей информации. Окна обычно имеют размер, плавающий в значениях от 1460 байт. Малые окна нежелательны, так как приложение не сможет обрабатывать данные от стека TCP. В системах управлением Windows величина окна регламентирована значением в 8760 байт. Уменьшение размера может привести к так называемому синдрому «бестолкового окна», когда количество пакетов подтверждения соединений больше, чем число пакетов данных [7].

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

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

1. Переполнение буфера в DNS при использовании недопустимого запроса. Анализ DNS полей и проверка длины каждого из них помогает идентифицировать попытку переполнения буфера.

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

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

Таблица 2

Сигнатура регистрации повторной пересылки

Пакет Время Размер Отправитель Получатель Протокол

4 0.00354 1518 172.16.18.1 172.16.18.10 TCP

5 0.00976 1498 172.16.18.1 172.16.18.10 TCP

6 0.01311 1518 172.16.18.1 172.16.18.10 TCP

7 0.01911 1518 172.16.18.1 172.16.18.10 TCP

8 0.03 1498 172.16.18.1 172.16.18.10 TCP

N 1498 172.16.18.2 172.16.18.100 TCP

Таким образом, для определения источника и цели этих действий необходимо объединить их дискретные свойства в совокупность поведенческих характеристик объекта.

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

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

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

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

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

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

Р = 5 П 52 П ... П 5 . - домишфутощий признак совокупности сигнатур, при этом, если

Р = {0},тоР = 5 и52 и,

и S( (рие.2).

Рис. 2. Схема идентификации доминирующего признака

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

Схема анализа

Для решения задачи поиска данных согласно разработанной сигнатуре, применим метод контекстного поиска. В качестве исходных данных будут выступать структурированные пакеты данных, передаваемые компонентами сети. Сигнатура, применяемая в этой работе, состоит из двух компонентов: тела и заголовка (табл. 3).

При её построении, в основном, применялся метод выявления нарушений в штатном функционировании сетевых протоколов при

Таблица 3

Структура сигнатуры

Сигнатура

Заголовок Тело

Адрес отправителя пакета «Scr_Adr» Адрес получателя пакета «Dst_Adr» Порт отправителя пакета «Scr_Prt» Порт получателя пакета «Dst_ Prt» Тип пакета «Pct_tp»" Условия срабатывания сигнатуры Характеристика доминирующего признака

взаимодействии узлов сети. Так, имея некий

набор характеристик Н\ потока трафика Р, где

Р =< Н,Н2,Н3,...,Нп >, а п - количество наборов характеристик за время Т сигнатур Б, возможно выделить из потока те пакеты, которые соответствуют заданным правилам сигнатуры (рис. 3).

-Ьврэер^С-» "-Свнгдр ;

Пусть hji е Hi - чётко определяемые свойства (параметры) характеристики Ht потока P, в некий момент времени t < T . Тогда

Fi , J ' Sj е S) = X X2'-' Xm } ,

где Fi - функция процесса сопоставления потока трафика и сигнатуры;

m - количество условий заложенных в сигнатуре;

Xi - результат выполнения условий, при этом х_ е X = {0,1} .

Заключение

Рассмотрев вопросы организации сетевых пакетов согласно спроецированной на модель OSI стека протоколов TCP/IP, методы их структуризации, были определены основные характеристики трафика. В статье разработан метод сигнатурного анализа, основанный на свойствах ключевых характеристик потока сетевого трафика, таких как флаги пакетов, параметры адресации, с последующим выявлением доминирующего признака, для идентификации источника угрозы безопасности информации, с применением стандартов RFC и динамических характеристик, полученных эмпирически. Однако стоит отметить, что не все операционные системы и прикладные программы твёрдо при-

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

Библиографический список

1. Радько Н. М. Риск-модели информационно-телекоммуникационных систем при реализации угроз удаленного и непосредственного доступа [Текст] / Н. М. Радько, И. О. Скобелев. - М.: РадиоСофт, 2010. - ISBN 978-5-93274-019-4.

2. Леонтьев В. П. Безопасность в сети Internet [Текст]. - М.: ОЛМА Медиа Групп, 2008. - ISBN

978-5-373-01819-7.

3. Норткат С. Обнаружение нарушений безопасности в сетях [Текст] : [пер. с англ.] / С. Норткат, Дж. Новак. - 3-е изд. - М.: Вильямс, 2003. - ISBN 5-8459-0526-5.

4. Шумский А. А. Системный анализ в защите информации [Текст] : учеб. пособие / А. А. Шумский, А. А. Шелупанов. - М.: Гелиос АРВ, 2005. - ISBN 5-85438-128-1.

5. Брэгг Р. Безопасность сети на основе Microsoft Windows Server 2003 [Текст]. - М.: Русская редакция; СПб.: Питер, 2006. - ISBN 5-469-01117-1.

6. Бигелоу С. Сети: поиск неисправностей, поддержка и восстановление [Текст] : [пер. с англ.]. - СПб.: БХВ-Петербург, 2005. - ISBN

5-94157-338-3.

7. Олифер В. Г. Компьютерные сети. Принципы, технологии, протоколы [Текст] : учебник для вузов / В. Г. Олифер, Н. А. Олифер. - 4-е изд. -СПб.: Питер, 2010. - ISBN 5-469-01274-3.

Рис. 3. Схема применения