Помощь в написании студенческих работ
Антистрессовый сервис

Примеры отечественного построения VPN

РефератПомощь в написанииУзнать стоимостьмоей работы

Система Snort может работать в трех основных режимах: анализатор пакетов, регистратор пакетов и сетевая система обнаружения вторжений. Кратко рассмотрим основные компоненты Snort. Сначала входные данные (сетевые пакеты) обрабатываются декодером пакетов. Если Snort используется как регистратур пакетов, то декодированные данные формируются и выводятся на консоль. если Snort используется как… Читать ещё >

Примеры отечественного построения VPN (реферат, курсовая, диплом, контрольная)

Протоколы построения защищенных виртуальных сетей могут быть реализованы различными средствами:

  • 1) Серверами удаленного доступа, позволяющими создать защищенные туннели на канальном уровне;
  • 2) Маршуризаторами, которые поддерживают протоколы создания защищенных виртуальных сетей на канальном и сетевом уровнях;
  • 3) Межсетевыми экранами, возможно включающими в свой состав серверы удаленного доступа и позволяющие создать VPN на канальном, сетевом и транспортном уровнях;
  • 4) Специализированным программным обеспечением для создания защищенных туннелей на сетевом и транспортном уровнях;
  • 5) Программно — аппаратные средствами, позволяющими формулировать защищенные туннели на канальном и сетевых уровнях;

В качестве ответственного примера построения VPN рассмотрим особенности системы «КонтинентК» НИП «Информазащита» и продукты ViPNet компании Infotexs.

Основными компонентами системы «КонтинентК» является криптошлюз, центр управления сетью криптошлюзов, абонентский пункт.

Криптошлюз представляет собой программно — аппаратные устройства операционной системы FreeBSD и обеспечивает:

  • 1) Прием и передачу пакетов (TCP /IP);
  • 2) Шифрование по ГОСТ 28 147–89 в режиме гаммирования с обратной связью;
  • 3) Сжатие защищенных данных;
  • 4) Защиту данных от искажения (иммитировка);
  • 5) NAT;
  • 6) Аутерификацию удаленных абонентов;
  • 7) Контроль целостности ПО криптошлюз до загрузки ОС (электронный замок «Соболь»).

Абонентский пункт служит для защищенного подключения к серверу доступа, на котором находится криптошлюз «КонтинентК». после установления соединения и получения разрешения на доступ в защищаемую сеть (сервер доступ проводит идентификацию и аутерификацию удаленного пользователя и определяет его уровень доступа) весь трафик между абонентскими пунктом и защищаемой сетью шифруется по ГОСТ 28 147–89. Комплекс использует схему сертификатов Х.509.

Продукты ViPNet для организации VPN включает в себя два решения ViPNet [Custom] и ViPNet [Tunnel].

Система ViPNet [Custom] предназначена для объединения в единую защищенную сеть произвольного числа рабочих станций и локальных сетей. В состав системы входят:

  • 1) ViPNet [Администратор] - модуль, создающий инфраструктуру сети, ведущий мониторинг сети и управляющий объектами сети. Он формирует первичную ключевую и парольную информацию для объектов сети и специфицирует ключи, сформулированные этими объектами;
  • 2) ViPNet [Координатор] - модуль, выполняющий маршрутизатор защищенных пакетов, теннелирования пакетов от обслуживаемой группы незащищенных компьютеров локальной сети. Он фильтрует трафик от источников, не входящих в VPN в соответствии с заданной ПБ, обеспечивает возможность работы защищенных компьютеров через межсетевые экраны и proxy — серверы других пользователей;
  • 3) ViPNet [Клиент] - модуль, обеспечивающий защиту при предаче по открытым каналам связи и защиту доступа к ресурсам компьютера из сетей общего пользования. Модуль может быть установлен как на рабочую станцию, так и на сервер (баз данных, файл — сервер, WWW-сервер, SMTP, SQL, и т. д.).

Система ViPNet [Tunnel] предназначена для объединения локальных сетей или офисов в VPN. Система базируется на пакетах программ ViPNet [Координатор], выполняющих роль шлюза и программного обеспечения для компьютеров защищаемых локальных сетей. Система выполняет функции:

  • 1) Сервера IP-адресов;
  • 2) Proxy — сервера защищенных связей;
  • 3) Туннельного сервера;
  • 4) МЭ (фильтрации трафика от источников, не входящих в состав VPN, в соответствии с ПБ).

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

Рассмотренные отечественные продукты являются сертифицированными.

Контрольные вопросы.

  • 1) Какие уровни сетка протокола TCP/IP используются для создания VPN.
  • 2) Назовите основные типы конфигураций VPN.
  • 3) Что понимается под термином «туннелирование»?
  • 4) Назовите основные недостатки применения VPN.
  • 5) Назовите основные этапы теннелирования формирования защищенного канала при использовании протокола L2TP.
  • 6) Назовите основные причины разработки IP — прокола версии 6.
  • 7) Перечислите основные задачи, решаемые ассоциациями безопасности.
  • 8) Перечислите основные различия транспортного уровня и туннельного режимов.
  • 9) Назовите основные этапы инфраструктуры PKI.
  • 10) Оцените порядок «накладных расходов» при применении протоколов ESP и АН.
  • 11) Возможно ли одновременное применение протоколов ESP и АН для организации защищенной связи.
  • 12) Какие варианты защищенной связи поддерживаются протоколом IPSec?
  • 13) Какой из протоколов (ESP и АН) несовместим с NAT?
  • 14) Каковы состав и назначение цифрового сертификата открытых ключей?
  • 15) Для чего в упорядоченном центре ведутся списки отозванных сертификатов и отозванных полномочий?
  • 16) Какие средства могут быть использованы для построения VPN?

Приложение

Система обнаружения вторжений Snort.

Сетевая система обнаружений Snort была разработана Мартином Рош (Martin Roesch) как упрощенная СОВ в виде сетевого анализатора (www.snort.org). Благодаря постоянным усовершенствованиям и расширениям Snort все более превращается в полнофункциональную систему анализа IP — трафика и записи пакетов в реальном времени. В настоящее время Snort является одним из примеров совместной работы интернет — сообщества. Поскольку СОВ Snort является открытой разработкой, множество исследователей принимают участие в разработке новых дополнительных модулей и усовершенствовании старых.

По своему смыслу Snort является переносимой системой и работает на многих операционных системах. В настоящее время существует Snort для архитектуры х86 Linux, free BSD, NetBSD, Open BSD и Windows.

Система Snort может работать в трех основных режимах: анализатор пакетов, регистратор пакетов и сетевая система обнаружения вторжений. Кратко рассмотрим основные компоненты Snort. Сначала входные данные (сетевые пакеты) обрабатываются декодером пакетов. Если Snort используется как регистратур пакетов, то декодированные данные формируются и выводятся на консоль. если Snort используется как регистратор пакетов, то декодированные данные, в зависимости от того что задано в командной строке, или сохраняются в двоичном формате, или преобразуется в формат ASCII и записывается файл на диске. Если Snort используется как сетевая СОВ, то обработка продолжается. Декодированные данные передаются процессорам, которые указаны в файле конфигурации snort.conf. затем данные передаются процессору обнаружения. Который, осуществляет их сравнение с параметрами наборов правил, которые заданы в файле конфигурации. В случае совпадения данных происходит пересылка компонентам регистрации и сигнализации (в зависимости от настроек происходит регистрации или генерация сигналов тревоги).

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

#__________________________.

# http://www.snort.org Snort 2.6.0 confing file.

# Constante: snort — Этот адрес e-mail защищен от спам-ботов. Чтобы увидеть его, у Вас должен быть включен Java-Script.

#__________________________.

# $Id$.

#.

############################################.

# This file contains a sample snort configuration.

# You can take the following steps to create your own custom.

# configuration.

#.

#1) Set the variables for your network.

#2) Configure dumanic loaded libraries.

#3) Configure preprocessors.

#4) Configure output plugins.

#5) Add any runtime config directives.

#6) Customize your rule set.

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

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

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

  • 1) Сборка (реассемблирование) пакетов (процессоры frag2, frag3, stream4);
  • 2) Нормализация потоков (препроцессоры http_insert, rpc_decode, telnet_decode, ftp_telnet, ftp_telnet_protocol, smtp, arpspoof);
  • 3) Обнаружение известных аномалий в трафике (препроцессоры sfPortscan, bo, performance).

Рассмотрим представителей каждой из этих групп.

П2.1. Препроцессоры сборки пакетов Препроцессор frag3. Новый процессор фрагментации frag3 позволяет осуществить обработку, ориентированную на целевую систему. Он предназначен для замены процессора frag2 и имеет дополнительные свойства: более быстрое выполнение и обработка, ориентированная на целевую систему для защиты от методов обхода и обмена СОВ. Идея учета целевой системы состоит в учете особенностей построения сетевых стеков реальных хостов защищаемой сети и снабжения СОВ топологической информацией. Поэтому данный препроцессор содержит два препроцессора процессор глобальной конфигурации frag3_global и препроцесоср frag3_engene. Процессор глобальной конфигурации использует следующие параметры:

  • 1) Max_fragment — максимальное число одновременно отслеживаемых фрагментов (по умолчанию -8192);
  • 2) Memcap — объем памяти, зарезервированный для работы препроцессора (по умолчанию -4Мб);
  • 3) Prealloc_memcap — альтернативный режим управления памятью для повышения скорости обработки (использует заранее определенные узлы фрагментов в памяти);
  • 4) Prealloc_frag — альтернативный режим управления памятью для повышения скорости обработки (использует заранее определенные узлы фрагментов на основе статистики).

Процессор обработки использует следующие параметры:

  • 1) Timeout — допустимое время нахождения в памяти препроцессора (по умолчанию — 60 с);
  • 2) Ttl_limit — устанавливает границу значения ttl, превышение которой не будет вызывать генерацию тревоги;
  • 3) Mit_ttl — устанавливает минимальное допустимое значение TTL (время жизни пакета);
  • 4) Detect_anomalies — обнаружение аномалий фрагментов (в текущей вервии определяется восемь типов аномалий);
  • 5) Bind_to — список IP-адресов, которые будут обрабатываться этим межпроцессорном (по умолчанию значение «all»);
  • 6) Policy — выбор режима учета целевых систем. Допустимыми типами являются first, last, bsd, bsd-right, linux, windows и solaris (по умолчанию bsd).

Примеры:

Preprocessor frag3_global: max_frag 65 536.

Prealloc_frag 262 144.

Preprocessor frag3) enqene: policy linux.

Bind_to {10.1.1.11/32, 10.1.1.13/32}.

Detect_anomalies.

Препроцессор stream4. Этот препроцессор предназначен для форматирования состояний и полного реассемблирования TCP — потоков, что позволяет обнаружить различные типы сканирования портов, определения «отпечатков» ОС и.т.д. препроцессор stream4 использует следующие опции:

Detect_scans — обнаружение скрытого сканирования портов без обычного TCP — квитирования;

Detect_state_problems — обнаружение проблем и сохранение состояний TCP соединений (возможно большое число ложных срабатываний, что вызывается различными подходами в реализации стека TCP/IP);

Disable_evasion_alerts — запрещение выдачи сигналов тревоги, когда атакующий пытается обмануть систему проверки пакета;

Min_ttl [number] - установление минимального значения ttl, которое допускается Snort при рассемблировании потока;

Sense_level {low/medium/high} - задает уровень чувствительности обнаружения. низкий уровень позволяет обнаружить обще методы сканирования (наблюдением за ответами ошибок, таких как TCP RST или ICMP Unreachable). Средний уровень обнаруживает сканирование портов, включая фильтруемое сканирование (сканирование без получения ответа). Этот уровень используется при использовании функции NAT или кэширования DNS — серверов. Высокий уровень имеет наименьшие пороги для обнаружения сканирования портов и значительно большее временное окно наблюдения;

Memcap {positive integer} - задает максимальный размер памяти в байтах, предназначенный для обнаружения сканирования портов;

Logfile {filename} - эта опция задает имя файла, в который будут отписивытся сигналы тревоги отброшенные пакеты.

Пример:

Preprocessor sfrtscan: proto {all}.

Memcap {1 000 000} sense_level {low}.

Препроцессор bo. Препроцессор пердназначен для обнауржения трафика средства Back Orifice, которое разработано хакерской группой «Culd of the Dead Cow» в 1998 г. одной из особенностей этого средства удаленного управления является использование шифрования. Атакующий выбирает пароль, преобразуется в шестнадцатиразрядный хэш-код. Трафик обмена шифруется путем выполнения операции XOR к полученным хэш-кодом.

Исследователями обнаружено, что все запросы атакующего начинаются с «магической» строки *!*ЙЦЕН что позволяет определить наличие обмена и найти используемую для шифрования гамму.

Препроцессор обнаруживает Back Orifice, проверяя каждый UDP — пакет, размер которого не менее 18 байт, в ходе сравнения 8 символов данных с предварительно подготовленной таблицей зашифрованных вариантов магической строки (на самом деле проверяется только первые и последние два символа этой строки). Таблица формируется при запуске Snort на этапе инициализации препроцессора.

Препроцессор bo не требует аргументов и может сигнализировать о наличии следующих случаев: обнаружение трафика Back Orifice, обнаружение трафика клиента, обнаружение трафика сервера и обнаружение атаки буфера Snort.

Пример:

Preprocessor bo: noalert {general server}.

Drop {snort_attack}.

П3. Процессор обнаружения Основной работы механизма обнаружения является сравнение с имеющимися правилами. Этот компонент Snort применяет данные от декодера пакетов и препроцессоров (если они активны) и сравнивает значение полей этих данных с правилами, заданными в файле конфигурации. Процессор обнаружения сначала пытается определить, какой набор правил следует использовать для конкретного фрагмента данных. В первую очередь это определяется по соответствующему проколу (TCP, UDP, ICMP, или IP), а затем идентифицируются характеристики в рамках соответствующего протокола. Для TCP и UDP — этого номера портов источника и назначения, для ICMP — это тип сообщения.

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

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

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

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

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

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

Записи в двоичном формате могут быть восстановлены с помощью любого анализатора пакетов, например Ethereal, TCPdump или IRIS.

Для текущей версии Snort разработаны модули, позволяющие посылать сигналы тревоги в виде запросов SNMP (Simple Network Management Protocol) удаленному серверу SNMP, а также модуль вывода SMB Alerting, посылающий сигналы тревоги удаленным Windows — системам в реальном масштабе времени.

Реализованы модуль регистрации в формате PCAP (Packet Capture Library), модуль регистрации согласно стандартному XML IDMEF. Крое того, Snort имеет возможность записывать сигналы тревоги в различные базы данных, включая MySQL, PostegreSQL, SQL Servet и Oracle.

П5. Привала Snort.

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

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

Alert tcp any any -> 192.168.1. 0/24 111.

(content: ``100 01 86 a51``; mng: ``mountd access``;).

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

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

Alert — генерировать сигнал тревоги, используя данный метод и записать пакет в журнал;

Log — записать пакет в журнал;

Pass — игнорировать пакет;

Activate — генерировать сигнал тревоги и активировать динамическое правило;

Dynamic — действие данного правила игнорируется до активации правилом активации (опцией activate), после чего записывается в журнал;

Drop — посредством I Ptablesудалить пакет и записать его в журнал;

Reject — посредством I Ptables удалить пакет, записать его в журнал и послать пакет TCP RST (для протокола ICMP);

Strop — позволить I Ptables удалить пакета, но не записывать его в журнал.

Следующим полем заголовка является протокол. В текущей версии Snort для анализа подозрительного поведения используются четыре протокола: TCP, UDP, ICMP и IP. Планируется введение следующих протоколов: ARP, IGRP, GRE, OSPF, RIP, IPX и др.

Очевидными полями заголовка являются адрес и порт. Может использоваться ключевое слово any для определения любого адреса. Адрес может сопровождается блоком (CIDR, Classless Inter-Domain Routing), обозначающим маску. Блок /32 на определенный адрес (например, комбинация, комбинация 192.168.1.1/24 указывает на блок адресов от 192.168.1.1 до 192.168.1.255).

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

В заголовке правила можно указывать диапазон адресов, который заключает в квадратные скобки:

Alert tcp ![192.168.1.0/24, 10.1.1.1/24] any ->

[192.168.1.0/24, 10.1.1.1/24] 111.

(content: ``100 01 86 a5``; msg: ``mountd access``;).

Очевидным полем заголовка является номер порта. Порт может быть задан множеством способов: ключевое слово any указывает на любой номер порта, просто номер порта (в примере — 111), диапазоном номеров (например, 8000:8080). При заданном номера порта можно также использовать оператор отрицания (за исключением применения оператора отрицания к ключевому слову any).

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

После оператора направление указывается адрес, маска и порт назначения.

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

Meta-data — предоставление информации о правиле, которая не используется в процессе обнаружения;

Payload — обеспечивает просмотр данных внутри пакета;

Non-payload просмотр данных, не содержащихся в нагрузке пакета;

Post — definition — просмотр данных, не содержащихся в нагрузке пакета.

Далее кратко рассмотрим опции правил по категориям.

Опции meta-data. К опциям этой категории относятся опции: msg, reference, sid, кумб classtyre и priotiry:

Msg — указывает механизм регистрации и генерацию тревог содержимое соответствующего сообщения, которое задается в виде текстовой строки, заключенной кавычками, например, (msg «IMAP buffer overflow»);

Reference — позволяет сделать ссылку на внешние системы идентификации атаки.

Sid — позволяет перезаписывать для уникальной идентификации правил Snort. В настоящее время все sid на группы: до 100 — зарезервированы, от 100 до 1 000 000 — включаются в дистрибутив Snort, более 1 000 000 — для локального применения;

Rev — позволяет перезаписывать сигнатуры и их описания с новой информацией (используется совместно с sid);

Classtype — характеризует категорию тревоги (указывает класс атаки). Пользователь может определить приоритет для каждого типа правил.

Существующие категории и их приоритеты находятся в файле classification. config;

Priority — приоритет устанавливает уровень важности правила, например в теле правила можно указать: (content: «/cgi-bin/phf»: priority:10;).

Опции обнаружения содержимого (payload detection). Эти опции являются наиболее значимыми и интересными. К числу этих опций относятся: content, uricontent, iisdataat, зску и др.;

Content — позволяет использовать правило, которое ищет определенные данные в содержимом пакета. Данные могут представлять собой текстовую строку или двоичные данные. Например, content:!"GET" (представляет текстовую строку), content:"|5c 00|P|00|I|00|00 5c|"; (представляет смесь текстовых и двоичных данных).

Для ключевого слова content, в свою очередь, можно указать модифицирующие ключевые слова: depth, offset, distance, within, nocase и rawbytes, которые предоставляют различные варианты возможностей поиска заданных строк: depth — определяет количество байтов, которые данное правило должно анализировать при поиске заданного содержимого; offset — указывает препроцессору, что поиск заданной строки надо начинать с байта offset; distance — указывает количество байтов, которые должны игнорироваться до начала сравнения; within — позволяет удостовериться, что заданное опцией количество байтов находится между указанными образцами, например, (content:"АВС"; content:"EFG"; within:10;); nocase — указание на игнорирование регистра текста в содержании правила, например, (content:"USER root"; nocase;); rawbytes — это ключевое слово позволяет Snort рассматривать содержимое пакета в шестнадцатеричном представлении, не учитывая тип кодирования, например, (content:"|FF F1|"; rawbytes;); uricontent эта опция позволяет анализировать трафик запрашивающей системы только в URLразделе запроса, нормализуя найденные строки, например URI:

/scripts/.%%0%af./winnt/system32/cmd.exe?/с+ver и /cgi-bin/aaaaaaaaaaaaaaaaaaaaaa/.%252fp%68f?

Будут нормализованы в.

/winnt/ system32/ cmd. exe?/ с+ver и / cgi-bin/phf?

Опция iisdataat определяет, что содержимое находится в определенном месте, соответствуя концу данных, полученных в предыдущем пакете. Опция pcre позволяет записать правило, используя язык Real.

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

Fragoffset — позволяет сравнивать значение поля offset фрагмента с заданными значениями, например просмотра первых фрагментов (fragbits: M; fragofffset: 0;);

Ttl — позволяет проверять время жизн пакета, например (ttl:<3;);

Tos — проверяет поля TOS на сооветствие заданному значению, например (tos:!4;);

Id — позволяет сравнить поля ID IP — пакета с заданными значением, например (id:31 337;);

Iports — используются для проверки наличия определенных опций IP. Контролю могут подвергается следующие опции: rrRecord route, eol — End of list, nop — No operation, ts — Time Stamp, sec — IP security option, loose sourse routing, ssrr — Strict source routing, satid — Stream identifier, any — установка любой опции опции. В правиле может содержатся только одно ключевое слово i popts, например (ipopts: lsrr;);

Fragbits — позволяет контролировать биты фрагментации и зарезервированные биты, для чего можно использовать обозначения битов (М — есть еще фрагменты, D-запрет фрагментирование, Rзарезервированные биты) и простые операции сравнения (знак «+» означает что соответствие заданного бита и любые значения других битов, знак «!» означает срабатывание, если не один из указанных битов не установлен). Например, опция (fragbits:MD+;) вызовет срабатывание, если будут установлены биты More fragment и Do not Fragment;

Dseze — позволяет контролировать длину пакета, например (dsize:300 400;);

Frag — позволяет контролировать установку флагов TCP (FFIN, S-SYN, R-RST, P-ACK, UUDG, 1 — зарезервированный бит 1, 2- зарезервированный бит 2, 0-отсутствие флагов TCP) и простые операции сравнения (знак «+» означает соответствие заданного бита и любые значения других битов, знак «*» означает срабатывание, если любой из заданных битов не установлен). Например, для контроля наличия флагов SYN и FIN и игнорирование зарезервированных битов можно задать опцию в виде (frags:SF, 12;).

Кроме того, возможны проверки занчений и других пакетов, для чего служат следующие опции: seq (последовательный номер TCP — пакета, ask (значение подтверждение), windows (значение окна передачи TCP), itype (тип сообщения ICMP), icode (код сообщения ICMP), icmp_id (значение идентификатора ICMP), iamp_seq (последовательный номер ICMP — сообщение), ip_proto (имя протокола в заголовке IP), sameip (проверка равенства адреса источника и адреса назначения) и др.

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

П6. Примеры правил В качестве примера применения рассмотренных опций рассмотрим несколько реальных правил Snort.

Правило для определения TCP — пакета, в котором установлен только флаг FIN/ такие пакеты используются атакующими для определения операционной системы целевого хоста, поскольку машины ОС Windows отвечают на него пакетами с установленными флагами ACK и RST (yt зависимо от того, открыт или закрыт соответствующий порт), а система Unix отвечает пакетом с таким же флагом только в том случае, когда порт закрыт. Соответствующие правило имеет следующий вид:

Alert tcp $EXTERNAL_NET any -> $HOME_NET any (msg:"SCAN FIN"; flags: F;reference:arachnids, 27; classtype: attemptedrecon; sid:621; rev:1;).

Рассмотрим паравило, определяющее поведения атакующего после получения доступа к Windows — серверу путем использования IIS — уязвимости, когда атакующий пытается использовать командный интерпретатор cmd.exe. Строка «Volume Serial Number» обычно содержится директорий для Windows NT2000XP:

Alert udp $HTTP)SERVERS $HTTP_PORTS-> $EXETERNAL_NET.

Any (msg:"ATTACK RESPONSES http dir listing";

Content: «Volume Serial Number»;

Flow:from_server, extablished; classtype: bad_uncnown;

Sid:1292; rev:4;).

Следующее правило предназначено для обнаружения сетевого червя Slammer, пытающегося использовать уязвимость переполнения буфера в Resolution Service MS SQL Server 2000:

Alert udp $EXTERNAL_NET any — $Home_NeT 1434.

(msq:"MS-SQL Worn propagation attempt";

Content:"|04!"; depth:1;

Content: «| 81 F1 03 01 04 9B 81 F1 01»;

Content:"sock"; content:"send";

Reference:buqtraq, 5310; classtype: misc-attack;

Reference: buqtraq, 5311;

Reference; url, vil.nai.com/vil/consert/v_99 992.htm;

Sid:2003; rev:2;).

Показать весь текст
Заполнить форму текущей работой