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

Милославская сетевые атаки на открытые системы на примере 2012

.pdf
Скачиваний:
10
Добавлен:
12.11.2022
Размер:
1.05 Mб
Скачать

торые ICMP-сообщения. Но это возможно только в случае свободного распространения исходных текстов ОС (как в случае с ОС

Linux или ОС FreeBSD).

Примеры атак данного типа: Ping o"Death, Smurf, отображение карты сети (network mapping), передачи информации через скрытые каналы связи (сovert сhannel сommunication), Ssping/Jolt, атака с навязыванием хосту-жертве ложного времени и т.д.

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

1.Полностью отключить внешний ICMP echo-трафик, так как это прерывает внешний запуск ping. Однако нужно разрешить внутренний ping-трафик.

2.Отключить на маршрутизаторе генерацию ответных сооб-

щений ICMP_ECHO_REPLY.

3.Удостовериться, что маршрутизаторы сконфигурированы так, чтобы не посылать пакеты «unreachable» хостам, которые не отвечают на протокол ARP.

4.Разрабывать ПО, способное корректно обрабатывать IPпакеты нестандартной длины.

SYN-бомбардировка

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

Атака достаточно проста в использовании и сравнительно трудно предотвращается. Она основана на слабости транспортного протокола TCP. Атака обычно направлена на определённый сервис,

51

например Telnet или FTP. Она заключается в передаче пакетов установления соединения на порт, соответствующий атакуемому сервису. Результатом осуществления атаки является резкое снижение производительности или аварийное завершение работы системы.

Детектирование атаки несложно — большое количество соединений в состоянии SYN_RECEIVED, игнорирование попыток соединиться с данным портом.

Для сдерживания таких атак, во-первых, следует ограничить скорость поступающих пакетов с установленным флагом SYN к серверам (пишется несложный скрипт). Решение проблемы также лежит в создании специального ПО, анализирующего запросы на установление соединения, не допускающего наличия большого числа «безответных» запросов и реализующего автоматическое «прореживание» очереди, например, на основе алгоритма Early Random Drop. Также может помочь передача пакетов сброса соединения на порт, через который происходит атака. Еще необходимо настроить МЭ так, чтобы все входящие TCP/IP-соединения устанавливал он сам и только после этого перебрасывал их внутрь интранет на заданный хост. Важно устанавливать программные «заплаты» для маршрутизаторов, серверов и ОС, повышающие степень защищенности систем, и применять средства мониторинга для выявления атак.

Спуффинг

Спуффинг (spoofing) — это способ НСД к компьютерам, использующий подмену (кражу) адресов IP-пакетов. Этот способ достаточно распространен и эффективен. Для его осуществления используются два уровня сетевой модели OSI: сетевой (IP) и транспортный (TCP). На сетевом уровне происходит подмена адресов IP-пакета, а на транспортном — подбор начального номера последовательности TCP-сегментов и задание портов адресации. Конечным результатом спуффинга является возможность посылки данных (в том числе выполняемых команд) в выбранный злоумышленником порт атакуемого компьютера.

52

На рис. 7 хост С принадлежит злоумышленнику. Хост А — это компьютер, который он имитирует, обращаясь от его имени к хосту В (поэтому атака называется Host spoofing). Цель злоумышленника — притвориться другой системой, которой, например, «доверяет» система-жертва. Все это может происходить достаточно незаметно, если законный владелец подменяемого адреса не создает никакого трафика.

Хост В

Хост А

Хост С

IР-адрес:

IР-адрес:

Ложный IР-адрес:

192.168.1.1.

192.168.1.2.

192.168.1.1.

ТСР-порт:

ТСР-порт:

ТСР-порт:

1536

514

1536

Авторизированный доступ

Неавторизированный доступ

МЭ INTERNET

Внешняя сеть

Внутренняя сеть

Рис. 7. Спуффинг

Метод также применяется для других целей — например, при использовании SMTP-протокола для посылки поддельных писем жертве или от лица жертвы.

Злоумышленник определяет IP-адрес доверенного компьютера, использует подход с предсказанием номера TCP-

последовательности (TCP sequence number prediction), временно выводит из строя доверенный компьютер (например, направленным штормом запросов) и инициирует связь с нужным компьютером от имени доверенного компьютера. Теперь злоумышленник получил одностороннюю связь с выбранным портом компьютерацели и, в принципе, может дистанционно управлять им.

53

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

Спуффинг обычно используется как первая часть плана по несанкционированному получению прав администратора атакуемого компьютера. Также IP-spoofing часто используется как часть раз-

личных атак: smurf; DNS poisoning и других.

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

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

Еще одна разновидность — DNSспуффинг — вносит навязываемое соответствие между IP-адресом и доменным именем в кэш DNS-сервера. В результате все пользователи DNS-сервера получат неверную информацию о доменных именах и IP-адресах. Данная атака характеризуется большим количеством DNS-пакетов с одним

54

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

Ложный ARP-сервер, или ARP spoofing

Задачу определения соответствия между двумя различными формами адресов: 32-битными IP-адресами и каким-либо типом адресов канального уровня решает протокол определения адреса

ARP (Address Resolution Protocol, RFC 826), динамически сопос-

тавляющий IP-адреса и соответствующие им аппаратные адреса. Эффективность функционирования ARP во многом зависит от ARP-хэша, который присутствует на каждом хосте. Перехватив на атакующем хосте внутри данного сегмента интранет широковещательный ARP-запрос, можно послать ложный ARP-ответ, в котором объявить себя искомым хостом (например, маршрутизатором), и, в дальнейшем, активно контролировать и воздействовать на сетевой трафик «обманутого» хоста по схеме «Ложный объект распределенной сети». Необходимо обратить внимание, что данная УА возможна только в сети с широковещательной средой передачи (типа Ethernet) и является внутрисегментной. Если сеть поделена на сегменты коммутаторами, атакующий не может прослушивать трафик между хостами. Для прослушивания трафика необходимо «убедить» хост 1 в том, что злоумышленник является хостом 2, а хост 2 — что злоумышленник — это хост 1, то есть создать ложный ARP-сервер. Поскольку коммутатор использует для локализации трафика аппаратные адреса компьютеров, достаточно, чтобы в ARP-хэше хостов появилась соответствующая запись. Кроме того, необходимо установить у злоумышленника ПО, которое при получении «чужого» пакета отправит его по назначению.

Для ARP-протокола возможна реализация и DoS-атаки. Наводняя жертву неправильными MAC-адресами, можно сделать её неработоспособной или даже полностью прервать связь этой машины с любой (или определённой) машиной. Если интерфейс получит

55

данные о том, что какому-то IP соответствует MAC, который на самом деле не существует, то IP-дейтаграммы к данному хосту будут вкладываться в кадр с фальшивым MAC-адресом. Это приведет к тому, что ни один сетевой интерфейс в интранет не будет воспринимать этот пакет. Для реализации подобной атаки необходимо периодически (интервал зависит от ОС) посылать ложные ARPзапросы. В результате атакуемый хост не сможет установить соединение с хостом, IP-адрес которого указан в ложном ARPзапросе (следует отметить, что этого не смогут сделать также и остальные хосты сети). Данная атака применима, даже если уже установлено соединение между двумя хостами. После посылки даже одного ложного ARP-запроса соединение будет разорвано по таймауту. Чтобы два хоста не смогли обмениваться пакетами друг с другом, необходимо направить ложные ARP-запросы на один из хостов. Если же ставить целью полностью отключить хост от сети, то необходимо периодически посылать ложные ARP-запросы от всех хостов в сети. Тогда на атакуемом хосте сложится впечатление, что поврежден кабель или вышла из строя сетевая карта.

Еще одна особенность — система должна отбрасывать ARPответы, если не был послан ARP-запрос. Однако не все системы ведут себя подобным образом. Windows 2000 SP2, например, никак не отслеживает это. Более того, даже если прописать запись в ARPтаблице как статическую, она все равно будет меняться под воздействием ARP-пакетов. Более корректно ведут себя Solaris и Windows XP, и статические записи у них не меняются.

В дополнение к рассмотренной атаке с ложным ARP-сервером злоумышленники придумали и атаки на сервер, предназначенный для обратной операции – RARPсервер. Ее особенности можно определить, аналогичным образом проанализировав соответствующий протокол RARP.

IP hijacking

Во время этой атаки злоумышленник перехватывает весь сетевой поток, модифицируя его и фильтруя произвольным образом. Метод является комбинацией «подслушивания» (sniffing) и IP-

56

спуффинга [11]. Необходимые условия атаки — злоумышленник должен иметь доступ к компьютеру, находящемуся на пути сетевого потока, и обладать достаточными правами на нем для генерации и перехвата IP-пакетов. Существует возможность ввести соединение в «десинхронизированное состояние» (на стадии его установки или нулевыми данными), когда присылаемые сервером Sequence Number и ACK не будут совпадать с ожидаемым значением клиента, и наоборот. В данном случае злоумышленник, «прослушивая» линию, может взять на себя функции посредника, генерируя корректные пакеты для клиента и сервера и перехватывая их ответы. Поэтому иначе атака называется похищением соединений. Она позволяет полностью обойти такие системы защиты, как, например, одноразовые пароли, поскольку злоумышленник начинает работу уже после того, как произойдет авторизация пользователя.

Одна из проблем IP hijacking заключается в том, что любой пакет, высланный в момент, когда сессия находится в десинхронизированном состоянии, вызывает так называемую ACK-бурю. Например, пакет выслан сервером, и для клиента он является неприемлемым, поэтому тот отвечает ACK-пакетом. Реакцией на этот неприемлемый уже для сервера пакет становится получение клиентом очередного ответа... И так до бесконечности. Поскольку ACKпакеты не несут данных, повторных передач не происходит и «буря стихает».

Есть несколько способов детектирования данной атаки. Например, можно реализовать TCP/IP-стек, который будут контролировать переход в десинхронизированное состояние, обмениваясь информацией о Sequence Number/ACK. Однако в данном случае нет страховки от злоумышленника, меняющего и эти значения. Поэтому более надежным способом является анализ загруженности сети, отслеживание возникающих ACK-бурь при помощи специальных средств контроля за сетью.

Защиту от данной атаки обеспечивает шифрование трафика (на уровне приложений Secure Shell; на уровне протокола IPsec).

У описанной выше атаки по перехвату данных есть разновидность — перехват сеанса (TCP session hijacking). По окончании на-

57

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

3.5. Примеры некоторых атак

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

Приведем краткие описания еще некоторых атак.

1.Сканирование Half scan. Незаметно выявляются каналы информационного воздействия на систему. Посылаются пакеты установления соединения и при получении ответов от системы сбрасывается соединение (пакет с флагом RST). Стандартные средства не фиксируют попытку установления соединения, а злоумышленник определяет присутствие служб на определенных портах.

2.UDP bomb. При реализации атаки передаваемый пакет UDP содержит неправильный формат служебных полей. При его получении в некоторых старых версиях сетевого ПО происходит аварийное завершение работы системы.

3.Переполнение при идентификации (Identd). DoS-атака анало-

гична ICMP-переполнению, но запрашивает информацию о системе (порт TCP 113). Очень сильно замедляет работу системы (даже сильнее, чем ICMP-переполнение).

4.Pong. Симптомы атаки — потеря пропускной способности и медленная работа самой системы. Атака заключается в переполнении системы фальшивыми ICMP-пакетами, где в каждом пакете обычно указывается свой фальшивый адрес отправителя. Проблема решается перезагрузкой.

5.Puke. Симптомы атаки — отключение от сервера (обычно для IRC). Во время атаки фальсифицирует ICMP-пакет «хост недоступен». Это приводит к отключению от сервера. Обычно перед

58

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

6.Атака GetAdmin — предоставляет обычным пользователям права администратора системы путем включения идентификаторов пользователей в группу Administrators (для Windows NT) [12]. GetAdmin использует уязвимость одной из низкоуровневых функций, которая не проверяет свои параметры, что позволяет передать при ее вызове значения, отключающие контроль привилегий отладчика. Это дает возможность подключаться к любому процессу, запрещенному в системе, и, в свою очередь, запускать подпроцесс

вконтексте безопасности данного процесса.

7.Атака сетевого доступа — в подсистеме сетевой аутентификации Windows NT Service Pack 4 допущена ошибка, заключающаяся в неправильной обработке регистрационной информации пользователей. В случае, когда пользователь работает под управле-

нием Windows for Workgroups, OS/2 или Macintosh и изменяет свой доменный пароль, контроллер домена Windows NT сохраняет в базе SAM только часть образа пароля пользователя, применяемую для совместимости с указанными системами. Тогда регистрационная информация пользователя устанавливается в базе SAM в нулевое значение. Полученная таким образом регистрационная информация может быть использована для подключения к домену Windows NT под именем данного пользователя без пароля. Атака используется для НСД к ресурсам системы под именем существующего пользователя и требует знания пароля, поэтому может быть осуществлена только легальным пользователем.

8.Атаки с примененим маршрутизации отправителя. Важно отключить принятие пакетов маршрутизации отправителя для предотвращения незаметных проб внутренней сети.

9.Атака с использованием хранителя экрана (screensaver)

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

59

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

10. Атака Mail relaying — средства организации почтового обмена с применением протокола SMTP должны предоставлять защиту от несанкционированного использования почтовых серверов при посылке писем с подделкой исходной адресной части (mail relaying). Exchange Server может это реализовывать, однако в случае инкапсулированных адресов SMTP при обмене почтовыми сообщениями соответствующих проверок не производится. Тогда злоумышленник посылает сообщения от имени почтового сервера под управлением Exchange Server посредством инкапсуляции адресов SMTP с подделкой исходной адресной части.

Этот список атак можно продолжать и продолжать, пока будут существовать незащищенные должным образом сети.

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

L5 — сканирует директории Unix и DOS, записывая информацию о файлах и выявляя изменения в файлах и их размерах, а также давая информацию о файлах в закрытых областях;

Clog — выявляет атаки злоумышленников извне, когда они пытаются найти «дыры» в системе, удаленно сканируя их;

LogCheck — анализирует log-файлы для выявления атак, связанных с подбором пароля;

Netlog — « прослушивает» TCP/IP-соединения (это сниф-

фер);

DumpACL — представляет собой утилиту для Windows NT, преобразующую информацию об управлении доступом в «читаемый» вид.

60

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