Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Polnaya_metodichka

.pdf
Скачиваний:
27
Добавлен:
11.05.2015
Размер:
2.79 Mб
Скачать

Очевидно, что в том случае, если атакующий не может перехватить DNS-запрос от DNSсервера, то для реализации атаки ему необходим "шторм" ложных DNS-ответов, направленный на DNS-сервер. При этом возникает следующая проблема, отличная от проблемы подбора портов в случае атаки, направленной на хост. Как уже отмечалось ранее, DNS-сервер, посылая запрос на другой DNS-сервер, идентифицирует этот запрос двухбайтовым значением (ID). Это значение увеличивается на единицу с каждым передаваемым запросом. Узнать атакующему это текущее значение идентификатора DNSзапроса не представляется возможным. Поэтому предложить что-либо, кроме перебора 216 возможных значений ID, достаточно сложно. Зато исчезает проблема перебора портов, так как все DNS-запросы передаются DNS-сервером на 53 порт.

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

Внедрение в Internet

ложного сервера путем перехвата DNS-запроса от DNS-сервера.

Фаза ожидания атакующим DNS-запроса от DNS-сервера (для ускорения атакующий генерирует необходимый DNS-запрос).

Фаза передачи атакующим

ложного DNS-ответа на DNS-сервер 1.

Внедрение в Internet ложного сервера

путем создания направленного "шторма" ложных DNS-ответов

на атакуемый DNS-сервер.

Атакующий создает направленный "шторм" ложных DNS-ответов от имени одного из корневых DNS-серверов и при этом провоцирует

атакуемый DNS-сервер, посылая DNS-запрос.

DNS-сервер передает DNS-запрос на корневой DNS-сервер и немедленно получает ложный DNS-ответ от атакующего.

26.Подмена одного из субъектов TCP-соединения в сети Internet. Методы удаленного сканирования портов.

Протокол TCP (Transmission Control Protocol) является одним из базовых протоколов транспортного уровня сети Internet. Этот протокол позволяет исправлять ошибки, которые могут возникнуть в процессе передачи пакетов, и является протоколом с установлением логического соединения - виртуального канала. По этому каналу передаются и принимаются пакеты с регистрацией их последовательности, осуществляется управление потоком пакетов, организовывается повторная передача искаженных пакетов, а в конце сеанса канал разрывается. При этом протокол TCP является единственным базовым протоколом из семейства TCP/IP, имеющим дополнительную систему идентификации сообщений и соединения. Именно поэтому протоколы прикладного уровня FTP и TELNET, предоставляющие пользователям удаленный доступ на хосты Internet, реализованы на базе протокола TCP.

Для идентификации TCР-пакета в TCP-заголовке существуют два 32-разрядных идентификатора, которые также играют роль счетчика пакетов. Их названия - Sequence Number и Acknowledgment Number. Также нас будет интересовать поле,

называемое Control Bits.

Это поле размером 6 бит может содержать следующие командные биты (слева направо):

URG: Urgent Pointer field significant ACK: Acknowledgment field significant PSH: Push Function

RST: Reset the connection

SYN: Synchronize sequence numbers FIN: No more data from sender

Предположим, что хосту А необходимо создать TCP-соединение с хостом В. Тогда А посылает на В следующее сообщение:

1. A - > B: SYN, ISSa

Это означает, что в передаваемом A сообщении установлен бит SYN (synchronize sequence number), а в поле Sequence Number установлено начальное 32-битное значение ISSa (Initial Sequence Number).

В отвечает:

2. B - > A: SYN, ACK, ISSb, ACK(ISSa+1)

Вответ на полученный от А запрос В отвечает сообщением, в котором установлен бит SYN и установлен бит ACK; в поле Sequence Number хостом В устанавливается свое начальное значение счетчика - ISSb; поле Acknowledgment Number содержит значение ISSa, полученное в первом пакете от хоста А и увеличенное на единицу.

А, завершая рукопожатие (handshake), посылает:

3. A - > B: ACK, ISSa+1, ACK(ISSb+1)

Вэтом пакете установлен бит ACK; поле Sequence Number содержит ISSa + 1; поле Acknowledgment Num-ber содержит значение ISSb + 1. Посылкой этого пакета на хост В заканчивается трехступенчатый handshake, и TCP-соединение между хостами А и В считается установленным.

Теперь хост А может посылать пакеты с данными на хост В по только что созданному виртуальному TCP-каналу:

4. A - > B: ACK, ISSa+1, ACK(ISSb+1);

Из рассмотренной выше схемы создания TCP-соеди-нения видно, что единственными идентификаторами TCP-абонентов и TCP-соединения являются два 32-

бит-ных параметра Sequence Number и Acknowledgment Number. Следовательно, для формирования ложного TCP-пакета атакующему необходимо знать текущие идентификаторы для данного соединения - ISSa и ISSb.

Итак, для осуществления описанной выше атаки необходимым и достаточным условием является знание двух текущих 32-битных параметров ISSa и ISSb, идентифицирующих TCP-соединение.

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

Для защиты от таких атак необходимо использовать ОС, в которых начальное значение идентификатора генерируется действительно случайным образом. Также необходимо использовать защищённые протоколы типа SSL, S-HTTP, Kerberos и т.д.

Методы удаленного сканирования портов

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

Сетевые службы предоставления доступа WWW, Telnet, Ftp и т.д (в UNIX средах они запускаются в виде демонов) после запуска ожидают получения удаленных запросов на подключение от клиентов на определенных, заранее зарезервированных TCP или значительно реже UDP портах. Так как UDP порты используются значительно реже то далее будет рассмотрено сканирование TCP портов (хотя принципиально сканирование не отличается).

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

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

Если клиент получает ответ на этот запрос (TCP SYN ASK), то порт открыт и TCP соединение будет создано. Если же ответ за определенный промежуток времени так и не пришел, то либо порт закрыт и соответствующий ему сервис не доступен, либо имеют место физические проблемы с линией связи. На втором этапе, после установления TCP соединения, клиент и сервер обмениваются специфичными для данных приложений командами, создавая соединение уже на уровне приложения (в терминах модели OSI - на прикладном уровне).

Нужно отметить, что первый этап является стандартным и абсолютно инвариантным

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

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

1.Методы открытого сканирования : непосредственный инициатор однозначно определяется объектом сканирования по IP адресу приходящих запросов.

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

27.Защита от удаленных атак. Методы обнаружения анализаторов сетевого трафика.

Защита от анализа сетевого трафика

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

Защита от ложного ARP-сервера

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

Защита от ложного DNS-сервера

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

Защита от отказа в обслуживании

Приемлимых способов защиты в IPv4 нет. Единственное, что может уменьшить успешность атаки: более мощные сервера. Чем мощнее сервер, тем больше соединений он сможет обработать.

Метод Firewall

Функции:

1.Многоуровневая фильтрация трафика на канальном, сетевом, транспортном или прикладном уровне OSI.

2.Proxy-схема для дополнительной идентификации и аутентификации пользователей на Firewall-хосте.

3.Создание приватных сетей с «виртуальными» IP-адресами.

Любое устройство, реализующее хотя 1 из этих функций является файрволл-устройством.

Методы обнаружения анализаторов трафика

Сниффер – программа, позволяющая просматривать траффик в пределах данного сегмента сети.

Promiscuous mode – режим работы сетевой платы, в котором управляющее приложение получает все получаемые ей пакеты.

Проверка на наличие снифера:

1.Проверка ping-ом.

При получении ARP-пакета сетевая плата прописывает его в ARP-таблицу. Если мы пошлем ARP-пакет со своим IP и не существующим MAC, но при этом адрес назначения поставим не широковещательный, то сетевая плата в обычном режиме пропустит этот пакет, а работающая в Promiscuous mode запишет в ARP-таблицу. Если после этого послать ping на широковещательный IP, то те машины, которые ответят без ARP-запроса, находятся в режиме прослушивания.

2.Проверка на DNS-активность

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

3.Проверка через измененный маршрут

Для подозреваемого узла создают ping-пакет, но включают в маршрут узел, который не выполняет функции маршрутизации. Если ответ приходит, значит подозреваемый узел слушает трафик.

4.Проверка через ловушки Многие сниферы рассчитаны на то, что по многим протоколам данные(в том числе

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

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

диск, то такая машина может быть обнаружена путем замера времени ответа на стандартные ping-пакета. Т.к. для обработка пакета требуется некоторое время, то время ответа «прослушивающей» машины будет больше среднего времени ответа для данного сегмента сети.

28. Защищенные сетевые протоколы. Протокол IPSec.

IPSec (сокращение от IP Security) — набор протоколов для обеспечения защиты данных, передаваемых по межсетевому протоколу IP, позволяет осуществлять подтверждение подлинности и/или шифрование IP-пакетов.

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

IPsec использует следующие протоколы для выполнения различных функций:

Authentication Header (АН) обеспечивает целостность виртуального соединения (передаваемых данных), аутентификацию источника информации и дополнительную функцию по предотвращению повторной передачи пакетов

Encapsulating Security Payload (ESP) может обеспечить конфиденциальность (шифрование) передаваемой информации. Кроме этого, он может обеспечить целостность виртуального соединения (передаваемых данных), аутентификацию источника информации и дополнительную функцию по предотвращению повторной передачи пакетов

Протоколы АН или ESP могут защищать передаваемые данные в двух режимах: туннельном, при котором IP-пакеты защищаются целиком, включая их заголовки, и транспортном, обеспечивающим защиту только содержимого IP-пакетов.

Формат пакета AH

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

Рис. 1. Формат заголовка протокола AH

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

AH len - определяет длину заголовка пакета.

Зарезервировано - поле зарезервировано на будущее и должно содержать нули.

Индекс параметров безопасности (SPI) - 32-битовый идентификатор, который помогает получателю выбрать, к какому из входных обменов относится этот пакет. Каждый обмен, защищенный AH, использует хэш-алгоритм (MD5, SHA-1 и т.д.), какие-то секретные и возможно некоторые иные данные. SPI может рассматриваться как индекс таблицы наборов таких параметров, чтобы облегчить выбор нужного набора.

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

Аутентификационные данные - это контрольная сумма ICV (Integrity Check Value),

вычисленная для всего пакета, включая большинство полей заголовка. Получатель повторно вычисляет тот же хэш. Если значения кодов не совпадут, пакет был поврежден в пути или не соответствует секретному ключу. ICV часто называется также МАС (Message Authentication Code). Для вычисления МАС используются следующие поля:

Поля IP-заголовка, которые не меняются при транспортировке.

Заголовок АН, кроме поля данных аутентификации

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

Формат пакета ESP

На рис. 2 показан формат заголовка пакета ESP. Первое поле заголовка имеет длину 32 бита и содержит значение индекса параметров безопасности (SPI), которое определяет конкретный набор таких параметров, используемый для данного пакета. За ним следует 32-битовое поле номера по порядку.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]