б
Рис. 24.2. Проведение DoS-атаки, в которой используются особенности протокола TCP: а — нормальный порядок установления TCP-соединения; б — DDoS-атака за счет создания множества незакрытых ТСР-соединений
Подобный подход носит универсальный характер. Например, атака может быть осуществлена путем передачи уязвимому приложению потока запросов, синтаксически правильных, но специально сконструированных, так, чтобы вызвать перегрузку. Так, для некоторых версий веб-сервера Apache губительным оказывается поток запросов, каждый из которых содержит большое количество заголовков HTTP или символов «/».
Перехват и перенаправление трафика
Следующий тип атак имеет целью направить трафик атакуемого компьютера по ложному адресу, в качестве которого может выступать адрес либо злоумышленника, либо третьей стороны. Потоком данных, который пользователь посылает, например, на свой корпоративный сервер или сервер банка, злоумышленник может распорядиться двумя способами. Первый состоит в том, что злоумышленник маскируется под сервера адресата, передавая клиенту ту «картинку» и те сообщения, которые тот ожидает. Так, злоумышленник может имитировать для пользователя-жертвы процедуру логического входа, получая при этом идентификатор и пароль пользователя. Эти данные в дальнейшем могут применяться для несанкционированного доступа к серверу предприятия или банка, которые и являются главной целью атаки. Второй способ заключается в организации транзита трафика. Каждый перехваченный пакет запоминается и/или анализируется на атакующем узле, а после этого переправляется на «настоящий» сервер. Таким образом весь трафик между клиентом и сервером пропускается через компьютер злоумышленника.
Рассмотрим некоторые приемы, используемые сейчас (или в недалеком прошлом) при проведении атак данного типа. Для большинства из них уже разработаны средства противодействия, и приводимые здесь описания атак носят в основном учебный характер.
Простейший вариант перенаправления трафика в локальной сети может быть осуществлен путем отправки в сеть ложного ARP-omeema. (Оставим в стороне вопрос, насколько часто может возникнуть такая ситуация, когда злоумышленник заинтересован в перехвате трафика собственной локальной сети.) В данном случае схема очевидна: получив широковещательный ARP-запрос относительно некоторого IP-адреса, злоумышленник посылает ложный ARP-ответ, в котором сообщается, что данному IP-адресу соответствует его собственный МАС-адрес.
Для перехвата и перенаправления трафика в локальной сети теоретически может также использоваться протокол ICMP. В соответствии с данным протоколом ICMP-сообщение о перенаправлении маршрута маршрутизатор по умолчанию посылает хосту непосредственно присоединенной локальной сети при отказе этого маршрута или в тех случаях, когда обнаруживает, что для некоторого адреса назначения хост использует нерациональный маршрут. На рис. 24.3, а применяемый по умолчанию маршрутизатор R1, получив от хоста Н1 пакет, адресованный хосту Н2, определяет, что наилучший маршрут к хосту Н2 пролегает через другой маршрутизатор данной локальной сети, а именно через маршрутизатор R2. Маршрутизатор R1 отбрасывает полученный пакет и помещает его заголовок в ЮМР-сообщение о перенаправлении маршрута, которое посылает хосту Н1. В сообщении содержится IP-адрес альтернативного маршрутизатора R2, который хост теперь должен использовать, посылая данные хосту Н2. Хост Н1 вносит изменения в свою таблицу маршрутизации и с этого момента отправляет пакеты хосту Н2 по новому скорректированному маршруту Для перехвата трафика, направляемого хостом Н1 хосту Н2, злоумышленник должен сформировать и послать хосту Н1 пакет, маскирующийся под ЮМР-сообщение о перенаправлении маршрута (рис. 24.3, б). В этом сообщении содержится запрос о корректировке таблицы маршрутизации хоста Н1, так чтобы во всех пакетах с адресом 1Рн2 адресом следующего маршрутизатора стал адрес 1Рна> являющийся адресом хоста-злоумышленника НА. Для того чтобы хост «поверил» этому сообщению, в поле IP-адреса отправителя должен быть помещен адрес маршрутизатора R1, являющегося маршрутизатором по умолчанию. Когда пакеты, передаваемые введенным в заблуждение хостом, начнут поступать на узел злоумышленника, он может либо захватывать и не передавать эти пакеты дальше, имитируя для поддержания диалога приложение, которому эти пакеты предназначались, либо организовать транзитную передачу данных по указанному адресу назначения 1Рн2-Читая весь трафик между узлами Н1 и Н2, злоумышленник получает все необходимую информацию для несанкционированного доступа к серверу Н2.