Автор работы: Пользователь скрыл имя, 11 Мая 2013 в 20:43, курс лекций
Информационная безопасность. Тема 10. Лекция 16.
Информационная безопасность. Лекция 6. Административный уровень обеспечения ИБ
Информационная безопасность. Тема 5-1. Лекция 7. Введение в криптографию
Информационная безопасность. Тема 5-2. Лекция 8. Симметричные алгоритмы шифрования. Алгоритм DES
Информационная безопасность. Лекция 13.
Прежде чем перейти к разбору конкретных приемов, классифицируем действия злоумышленника — атаки, направленные против какого-либо узла (или, возможно, целой сети). Злоумышленник ставит перед собой определенную цель:
Для достижения своих целей злоумышленник использует:
Прослушивание сети Ethernet является тривиальной задачей: для этого необходимо перевести сетевой интерфейс в режим прослушивания. Легко доступны программы, не только записывающие весь трафик в сегменте Ethernet, но и выполняющие его отбор по установленным критериям, например, программа tcpdump.
Среди других сетевых технологий подвержены прослушиванию сети FDDI и радиосети (например Radio Еthernet). Несколько сложнее для злоумышленника извлечь трафик из телефонных выделенных и коммутируемых линий — главным образом, из-за сложности физического доступа и подключения к таким линиям. Однако следует помнить, что злоумышленник может оккупировать промежуточный маршрутизатор и таким образом получить доступ ко всему транзитному трафику, независимо от используемых технологий на уровне доступа к сети.
Ограничить область
Злоумышленник, прослушивающий сеть, может быть обнаружен с помощью дополнительного ПО, например, утилиты AntiSniff, которая выявляет в сети узлы, чьи интерфейсы переведены в режим прослушивания. AntiSniff выполняет три вида тестов узлов сегмента Ethernet. Тесты основаны на анализе реакции сетевых интерфейсов.
Сканирование сети имеет своей целью выявление подключенных к сети компьютеров и определение работающих на них сетевых сервисов (открытых портов TCP или UDP). Первая задача выполняется посылкой ICMP-сообщений Echo с помощью программы ping с последовательным перебором адресов узлов в сети. Если отправить Echo-сообщение по широковещательному адресу, то на него ответят все компьютеры, поддерживающие обработку таких сообщений.
Администратор сети может обнаружить попытки сканирования путем анализа трафика в сети и отслеживания Echo-сообщений, за короткий промежуток времени посылаемых последовательно по всем адресам сети.
Программа traceroute поможет в определении топологии сети и обнаружении маршрутизаторов.
Для определения того, какие UDP- или TCP-приложения запущены на обнаруженных компьютерах, используются программы-сканеры, например, программа nmap. Поскольку номера портов всех основных сервисов Интернета стандартизованы, то, определив, например, что порт 25/TCP открыт, можно сделать вывод о том, что данный хост является сервером электронной почты, и т. д. Полученную информацию злоумышленник может использовать для развертывания атаки на уровне приложения.
Сканирование TCP-портов хоста производится несколькими способами. Наиболее простой способ — установление TCP-соединения с тестируемым портом с помощью функции connect. Если соединение удалось установить, значит, порт открыт и к нему подсоединено серверное приложение. Достоинством этого способа является возможность выполнения сканирования любым пользователем, и даже без специального программного обеспечения: стандартная программа telnet позволяет указать произвольный номер порта для установления соединения. Существенный недостаток — возможность отслеживания и регистрации такого сканирования: при анализе системного журнала сканируемого хоста будут обнаружены многочисленные открытые и сразу же прерванные соединения, в результате чего могут быть приняты меры по повышению уровня безопасности.
Сканирование в режиме половинного открытия (half-open scanning) и сканирование с помощью FIN-сегментов дают злоумышленнику больше шансов остаться незамеченными.
Программа tcplogd может зарегистрировать попытки сканирования в различных режимах.
Для определения открытых портов UDP злоумышленник может отправить на тестируемый порт UDP-сообщение.
Программа-сканер может также определить операционную систему сканируемого узла по тому, как узел реагирует на сконструированные специальным образом, нестандартные пакеты: например, TCP-сегменты с бессмысленными сочетаниями флагов или ICMP-сообщения некоторых типов, и др.
Для определения адресов работающих в сети компьютеров и запущенных на них UDP- или TCP-сервисов злоумышленник, непосредственно подключенный к сегменту сети, может использовать простое прослушивание. Такая форма сканирования сети является более скрытной, чем рассылка тестирующих датаграмм.
1.3. Генерация пакетов
Под генерацией пакетов понимается создание и отправка специально сконструированных датаграмм или кадров, позволяющих злоумышленнику выполнить ту или иную атаку. Особо выделим здесь фальсификацию пакетов, то есть создание IP-датаграмм или кадров уровня доступа к сети, направленных якобы от другого узла (spoofing).
Генерация датаграмм или кадров
произвольного формата и
Простейшей формой перехвата данных является прослушивание сети. В этом случае злоумышленник может получить массу полезной информации: имена пользователей и пароли (многие приложения передают их в открытом виде), адреса компьютеров в сети, в том числе адреса серверов и запущенные на них приложения, адрес маршрутизатора, собственно передаваемые данные, которые могут быть конфиденциальными (например, тексты электронных писем) и т. п.
Однако, если сеть разбита на сегменты с помощью коммутаторов, то злоумышленник может перехватить только кадры, получаемые или отправляемые узлами сегмента, к которому он подключен. Простое прослушивание также не позволяет злоумышленнику модифицировать передаваемые между двумя другими узлами данные. Для решения этих задач злоумышленник должен перейти к активным действиям, чтобы внедрить себя в тракт передачи данных в качестве промежуточного узла. (Такие атаки в англоязычной литературе называют man-in-the-middle attack.)
Для перехвата трафика между узлами А и В, расположенными в одной IP-сети, злоумышленник использует протокол ARP. Он рассылает сфальсифицированные ARP-сообщения так, что каждый из атакуемых узлов считает MAC-адрес злоумышленника адресом своего собеседника (рис. 1).
Для обнаружения ARP-атак администратор должен вести базу данных соответствия MAC- и IP-адресов всех узлов сети и использовать программу arpwatch, которая прослушивает сеть и уведомляет администратора о замеченных нарушениях. Если сеть разделена на сегменты коммутаторами, то администратор должен настроить их таким образом, чтобы в сегмент, где находится станция администратора, перенаправлялись кадры из всех сегментов сети вне зависимости от того, кому они предназначены.
Использование статических ARP-таблиц, по крайней мере — на ключевых узлах (серверах, маршрутизаторах), защитит их от ARP-атаки, правда, за счет накладных расходов на поддержку этих таблиц в актуальном состоянии.
Пользователю на атакуемом хосте, не снабженном статической ARP-таблицей, крайне сложно заметить, что он подвергся ARP-атаке, поскольку представляется маловероятным, что пользователь помнит MAC-адреса других узлов своей сети и периодически проверяет ARP-таблицу своего компьютера.
Для перехвата трафика, направленного от некоторого узла А в другую сеть, злоумышленник может навязать хосту свой адрес в качестве адреса маршрутизатора, которому должны быть переданы отправляемые узлом А данные. В этом случае узел А будет направлять трафик на узел злоумышленника, который после анализа и, возможно, модификации данных, отправит их далее настоящему маршрутизатору.
Ложное сообщение ICMP Redirect
Как правило, навязывание ложного маршрутизатора выполняется с помощью фальсифицированных ICMP-сообщений Redirect, так как документ RFC-1122 требует, чтобы хосты обязательно обрабатывали такие сообщения. В подложном сообщении злоумышленник объявляет свой собственный адрес в качестве адреса маршрутизатора (рис. 2). Для устранения возможности описываемой атаки необходимо отключить на хосте обработку сообщений Redirect, однако не все операционные системы могут поддерживать такое отключение.
На атакуемом узле сообщение Redirect отобразится в виде появившейся строки в таблице маршрутов, направляющей данные для хоста В через узел Х. Кроме того, программа traceroute скорее всего покажет дополнительный промежуточный узел на пути к В.
Атака при конфигурировании хоста
В некоторых случаях навязывание ложного маршрутизатора может быть произведено с помощью ICMP-сообщения Router Advertisement или через протокол DHCP.
Атака на протоколы маршрутизации
Если злоумышленник хочет
Предположим, что узел А обменивается IP-датаграммами с узлом В, при этом узлы идентифицируют друг друга по IP-адресам, указываемым в датаграммах. Предположим далее, что узел В имеет особые привилегии при взаимодействии с А: то есть А предоставляет В некоторый сервис, недоступный для других хостов Интернета. Злоумышленник на узле Х, желающий получить такой сервис, должен имитировать узел В — такие действия называются имперсонацией узла В узлом Х.
Если говорить о сервисах, то имеются в виду приложения UDP или TCP, то есть речь идет об имперсонации UDP-сообщений или TCP-соединений (соответственно, UDP-spoofing и TCP-spoofing). Часто одновременно с имперсонацией злоумышленник предпринимает атаки типа «отказ в обслуживании» против узла В для исключения последнего из процесса сетевого взаимодействия.
Хосты А, В и Х могут располагаться друг относительно друга различным образом, от этого зависит, какие методы имперсонации применит злоумышленник. В некоторых случаях злоумышленник не может перехватить данные, передаваемые из А в В, однако, ничто не мешает ему отправлять в адрес А сфальсифицированные датаграммы от имени В, но ответные пакеты А будет отправлять узлу В, минуя злоумышленника. Важным обстоятельством в этих условиях является то, имеет ли узел Х возможность подслушивать эти ответные пакеты, или же злоумышленник вынужден работать вслепую.
Имперсонация с помощью десинхронизации является сравнительно простой и очень эффективной атакой. Она позволяет злоумышленнику установить полный контроль над TCP-соединением без использования ложных сообщений ARP, ICMP или протоколов маршрутизации, без атак типа «отказ в обслуживании», которые могут быть обнаружены администратором сети или атакуемого узла. Обнаружить такие атаки можно, прослушивая сеть на предмет ACK-штормов. В общем случае только шифрование данных или аутентификация сегментов могут гарантировать защиту от имперсонации.
Самый сложный случай: перехват и прослушивание данных, отправляемых из А в В невозможны(рис. 4). Узел Х находится в сети, не имеющей никакого отношения к узлам А и В и не лежащей между ними (А и В могут находиться как в одной, так и в разных сетях). Имперсонация без обратной связи имеет смысл лишь тогда, когда злоумышленнику для достижения своей цели достаточно только передать данные на узел А от имени узла В, и последующий ответ узла А уже не имеет значения.