Использование протокола ARP для проведения атак
Рассмотрев особенности протокола ARP, необходимо остановиться на тех его возможностях, которые он предоставляет для проведения компьютерных атак на сеть. Атаки с использованием протокола ARP можно отнести к условно активным, так как они требуют выполнения определенных действий в сети (в то время как перехват пакетов с помощью анализатора протоколов можно отнести к пассивным атакам). С точки зрения атакующего, именно активные атаки могут принести ему наибольший успех. Поэтому администратору сети необходимо иметь четкое представление об их возможностях. Далее, в главе 4, рассматриваются основы атак типа spoofing (имитация соединений — их можно также отнести к классу атак DoS), которые достаточно популярны и предоставляют злоумышленнику широкие возможности. Но они относительно сложны в реализации, и атакующий, кроме всего прочего, должен надеяться на свою удачу. В противоположность этим атакам, атака на протокол ARP (ее можно также назвать A RP spoof ing) очень проста в реализации.
Несмотря на то что сама возможность атаки ARP spoofing подразумевает доступ к сегменту локальной сети, она может быть удачным дополнением при проведении комплексной атаки, когда атакующий уже выявил существование бреши в системе безопасности и получил контроль над одним из компьютеров в сегменте. Собственно, сама возможность атаки с использованием протокола ARP возможна ввиду его простоты и отсутствия элементов защиты. Как нетрудно догадаться, целью атаки является попытка выдать один хост за другой с помощью рассылки ложных сообщений протокола ARP.
Предположим, что атакующий желает выдать свой компьютер за другой в сегменте, считая что последний имеет некоторые привилегии при доступе к серверу. Одним из сценариев проведения атаки может быть создание одинаковых IP-адресов. Однако такой подход ненадежен, так как большинство современных операционных систем поддерживают механизм обнаружения совпадающих адресов в сети с последующим оповещением пользователей. Такая схема работы необходима для быстрого поиска ошибок в конфигурации IP-адресов.
Однако даже такая ситуация может быть на руку атакующему. В Интернете можно найти программу (например, send_arp.c), которая посылает ответы протокола ARP на соответствующие запросы, и в этих ответах может быть требуемая информация — IP и МАС-адреса. Обратите внимание на то, что при отправке сообщений протокола ARP в сеть другие устройства в сети будут их принимать и учитывать даже в том случае, если не нуждаются в них.
Естественно, из-за устаревания информации в кэше протокола ARP рассылаемые сообщения следует повторять, причем частота повторения зависит от конкретной операционной системы, однако 40 секунд должно хватить для большинства систем. Но может возникнуть проблема с некоторыми системами, которые пытаются обновить записи в кэше с помощью посылки целенаправленных запросов ARP по кэшируемым адресам, для того чтобы убедиться в том, что адреса активны. Это может несколько подпортить ситуацию, так как может быть изменена запись ARP для компьютера-жертвы, которая была только что подменена атакующим.
ПРИМЕЧАНИЕ ----------------------------------------------------------------------
На маршрутизаторах Cisco Systems администратор имеет возможность вручную установить время хранения информации в кэше. Для этого следует воспользоваться командой агр timeout с аргументом в виде промежутка времени в секундах. Команда выполняется в режиме конфигурации интерфейсов и соответственно влияет на записи, относящиеся именно к этому интерфейсу. По умолчанию параметр установлен в 14 400 секунд, что соответствует четырем часам. Если в качестве аргумента указать значение 0, то маршрутизатор не будет помещать записи в кэш. Для получения информации о текущем значении таймера можно выполнить команду show Interface:
Router#sh int eO
…
ARP type: ARPA. ARP Timeout 04:00:00
…
_____________________________________________________________
Рассмотренная атака работает в пределах локальной сети, хотя вообще сфера ее воздействия ограничена только достижимостью пакетов ARP, то есть не очень далеко, так как эти сообщения не маршрутизируются в распределенную сеть. Однако одним из расширений этой атаки может быть подмена адреса маршрутизатора. Например, вполне возможна ситуация, когда какой-либо пользователь в локальной сети, подменяя маршрутизатор, выдает фальшивое приглашение Telnet администратору сети с просьбой ввести имя и пароль доступа.
Вообще работа с протоколом ARP предоставляет довольно широкие возможности атакующему. Существует возможность блокировать работу практически любого компьютера в локальной сети. Самый простой способ, хотя и не самый надежный, | это анонсирование несуществующего адреса. Его ненадежность в том, что операционная система быстро обнаружит тот факт, что она не получает ответ, и пошлет новый запрос ARP. Оптимальной является подстановка адреса другого работающего компьютера. Последующее поведение жертвы в этом случае зависит от конкретной реализации операционной системы, но чаще всего она будет посылать различные пакеты некорректному получателю, который будет их игнорировать.
Другой способ использования особенностей протокола ARP заключается в указании в сообщении одинакового IP-адреса отправителя и получателя. Некоторые системы рассматривают подобные сообщения в то время, когда эта система объявляет о себе в сети и кэширует информацию. Таким образом, одним сообщением ARP можно нарушить работу всей сети.
СОВЕТ
Говоря о возможных атаках изнутри, следует также обратить внимание на протокол 802.1 spanning tree, используя который, атакующий может также нарушить работу сети. Но только в том случае, если этот протокол используется в сети.