Информационная безопасность
[RU] switch to English


Распределенный сбор информации


-------[  Phrack Magazine --- Vol. 9 | Issue 55 --- 09.09.99 --- 09 of 19  ]


-------------------------[  Распределенный сбор информации  ]


--------[  hybrid <[email protected]>  ]


----[  Обзор


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

В этой статье будут обсуждаться и подтверждаться новая модель сбора информации,
названная: "распределенный сбор информации".

Основной упор делается на обнаружение отклонений на этапе (этапах) атаки 
посвященному сбору информации особенно обнаружению NIDS (Network Intrusion 
Detection Systems, Систем обнаружения вторжений в сеть).

Эта статья является дополнением к великолепным работам Thomas H. Ptacek и
Timothy N. Newsham [1], и horizon [2].

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


----[  Введение

В настоящее время для удаленного сбора информации используются следующие 
хорошо документированные [4], методы, которые тем не менее мы кратко повторим:

I.     Обнаружение хоста:

Обнаружение достижимости хоста. Традиционный метод это выявление 
ICMP ECHO_REPLY  в ответ на ICMP ECHO_REQUEST с использованием ping(1) или
fping(1).

II.    Обнаружение сервиса

Известен так же как сканирование портов. Обнаружение достижимости TCP, UDP
или RPC сервисов, например HTTP, DNS, NIS и т.д. Методы включают в себя 
SYN и FIN сканирование и их разновидности, каковым является, например,
сканирование фрагментаций.

III.   Обнаружение сетевой топологии

Я знаю всего два способа - изменение TTL (traceroute), и запись маршрута
(ping -R), хотя классический сниффинг это еще один пассивный (без вторжения)
метод.

IV.    Обнаружение операционной системы

Известен так же как сбор отпечатков TCP/IP стека. Определение типа удаленной ОС
путем сравнения отличий в поведении реализации TCP/IP стека, см. nmap(1).


----[  Обычная модель сбора информации 

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

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


----[  Распределенная модель сбора информации

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

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

Прием распределенного сбора информации пытается обойти эвристику обнаружения
атак реализуемую N-IDS; эта эвристика описывается ниже.


----[  Эвристика обнаружения атак N-IDS

Существует много методов чтобы выполнять анализ данных сетевого трафика для
обнаружения вторжений в (псевдо) реальном времени, из которых двумя основными 
категориями являются M-IDS (misuse detection, обнаружение неправильного 
использования) and A-IDS (anomaly detection, обнаружение отклонений). A-IDS
в настоящее время существует в экспериментальных доменах, таких как COAST [5];
M-IDS применяет метод анализа сигнатур (в некоторых аспектах аналогичный тому,
что применяется а антивирусах) и очень широко используется в коммерческих и
бесплатных N-IDS.

Сигнатуры N-IDS могут быть разделены на две категории - это составные
(композитные) и базовые (атомные) сигнатуры. Базовые сигнатуры относятся к 
единственному "событию" (в общем случае к единственному пакету), например
атаки большим пакетом / атаки пингом. Составные сигнатуры содержат
множественные события (множественные пакеты), например сканирование портов или 
SYN-шторм.

Чтобы обнаружить враждебное или аномальное поведение сигнатуры обычно являются
простыми уравнениями с компонентами СМЕЩЕНИЕ и ПРИРАЩЕНИЕ. СМЕЩЕНИЕ это простой
целочисленный счетчик; ПРИРАЩЕНИЕ это промежуток времени, например 5 минут.

Например, сигнатурой для SYN-шторма [6] может быть:

   'SYN-шторм обнаружен если более, чем 10 SYN-пакетов обнаружено менее 
        чем за 75 секунд'

Таким образом в данном примере СМЕЩЕНИЕ это 10 пакетов и ПРИРАЩЕНИЕ 75 секунд.


----[  Подверсии N-IDS

В каждой компоненте наблюдения N-IDS значения СМЕЩЕНИЯ и ПРИРАЩЕНИЯ 
ассоциированные с каждой сигнатурой должны быть тщательно сконфигурированы так,
чтобы срабатывать на реальную атаку, но не срабатывать, когда атаки нет.
'Ложное утверждение' определяется как неправильное обнаружение атаки;
'Ложное отрицание' - как сбой в обнаружении реальной атаки.

Этот процесс конфигурации является непростой "процедурой выравнивания" -
слишком и N-IDS слишком часто будет срабатывать беспричинно (и скорее всего
будет игнорироваться), слишком много - и N-IDS пропустит настоящую атаку.

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

Приемы предлагаемые распределенным сбором информации  для обхода N-IDS
описаны ниже.


----[  Приемы распределенного сбора информации

I.     Кооперирование

Реализуя модель "многие-к-одному" или "многие-ко-многим", множественные хосты
могут быть использованы для сбора информации. Множественность атакующих хостов
сделает обязанности N-IDS по обнаружении и сопоставлению более затрудненными.

Кооперирование используется чтобы обмануть компонент СМЕЩЕНИЕ сигнатуры 
распознавания атаки N-IDS.

II.    Расширение временного интервала

Путем расширения (или 'растягиванием времени') длительности атаки (практически
фаз обнаружения хоста и сервиса), мы пытаемся 'проскочить параметр ПРИРАЩЕНИЕ
используемый N-IDS для обнаружения атаки.

III.   Рандомизация

Пакеты, используемые для сбора информации, такие как ICMP датаграммы или SYN
пакеты, должны вносить случайность везде, где это возможно (в рамках
определенных соответствующим RFC), например случайные номера последовательностей
TCP, случайные номера TCP-портов, случайные идентификаторы IP и т.д. Libnet [7]
- великолепная портируемая библиотека генерации пакетов, которая включает в
себя возможности рандомизации.

Рандомизация так же должна использоваться во временных интервалах между 
посылкой пакетов и в порядок в котором хосты и/или порты сканируются. Например,
сканирование портов 53, 111 и 23 с непостоянным интервалом между тестированием
каждого порта (например от 6 до 60 минут) предпочтительней, чем сканирование по
возрастающей с интервалом в несколько секунд.

Для заголовков IP я предлагаю рандомизировать IP ID и, возможно, TTL; в
заголовках TCP порт отправителя, номер последовательности и номер подтверждения
(везде, где возможно); в заголовках UDP - порт отправителя.

Алгоритм используемый для рандомизации должен быть тщательно отобран, иначе
свойства алгоритма могут быть сами записаны как сигнатуры! Существует несколько
документов, которые обсуждают рандомизацию для безопасности, для начала неплохо
ознакомиться с [8].


----[  Преимущества

В реализации распределенной системы сбора информации есть следующие
преимущества:

I.     Скрытность

Реализуя приемы кооперации, расширения временного интервала и рандомизация мы
стараемся избежать обнаружения N-IDS.

II.    Связанность информации

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

III.   Устойчивый сбор информации

Противодействие типа 'r-box' (например динамическая конфигурация маршрутизатров
или брандмауэров) реализуемая в некоторых N-IDS становится менее эффективной,
когда задействованы множественные хосты.


----[  Эволюция N-IDS

Как будет развертываться N-IDS чтобы обнаруживать распределенный сбор
информации? Похоже, что обнаружение распределенного сбора информации будет
доступно только как ретроспективная функция, а не как функция в (псевдо) 
реальном времени. Журналы нескольких агентов N-IDS могут быть централизованы
и взаимосвязаны прежде чем атака распределенного сбора будет обнаружена.
 
В больших предприятиях (например военных, правительственных или больших
корпорациях) этот процесс слияния событий должен рассматриваться как непростая
задача.


----[  Коммерческое программное обеспечение сбора информации или Сканеры Защищенности

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

В настоящее время я не знаю некоммерческих (бесплатных) сканнеров безопасности
реализующих распределенную архитектуру


----[  Выводы:

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

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


----[  Ссылки


  [1] - "Insertion, Evasion, and Denial of Service: Eluding Network Intrusion
        Detection", Thomas H. Ptacek & Timothy N. Newsham, January 1998.

  [2] - "Defeating Sniffers and Intrusion Detection Systems", horizon, Phrack
        Magazine, Volume 8 Issue 54 Article 10 of 12, Dec 25th 1998.

  [3] - "SHADOW Indications Technical Analysis - Coordinated Attacks and
        Probes", Stephen Northcutt & Tim Aldrich, Sep 21 1998.

  [4] - "The Art of Port Scanning", Fyodor, Phrack Magazine, Volume 7 Issue 51
        article 11 of 17, September 01 1997.

  [5] - COAST, http://www.cs.purdue.edu/coast/ids

  [6] - "Project Neptune", daemon9 / route / infinity, Phrack Magazine, Volume
        7 Issue Forty-Eight File 13 of 18.

  [7] - Libnet, route, http://www.packetfactory.net/libnet

  [8] - RFC 1750, "Randomness Recommendations for Security", December 1994.

  [9] - Libpcap, LBNL Network Research Group, http://ee.lbl.gov


----[  EOF
О сайте | Условия использования
© SecurityVulns, 3APA3A, Владимир Дубровин
Нижний Новгород