Введение

Кибератака, при которой MAC-адрес злоумышленника связывается с IP-адресом другого хоста.

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

В уязвимости ППР

Протокол разрешения адресов (ARP) — широко используемый коммуникационный протокол для преобразования адресов сетевого уровня в адреса канального уровня. Когда от одного хоста к другому в локальной сети отправляется датаграмма протокола Интернет (IP), IP-адрес назначения должен быть разрешен в MAC-адрес для передачи по каналу связи. Если известен IP-адрес другого хоста и требуется его MAC-адрес, в локальную сеть рассылается широковещательный пакет. Этот пакет известен как ARP-запрос. Устройство назначения, IP-адрес которого указан в ARP-запросе, отвечает ARP-ответом, содержащим MAC-адрес, соответствующий этому IP-адресу.

Анатомия атаки

Основной принцип ARP-спуфинга заключается в использовании отсутствия аутентификации в протоколе ARP путем отправки поддельных ARP-сообщений в локальную сеть. Атаки с использованием ARP-спуфинга могут быть осуществлены с взломанного хоста в локальной сети или с машины злоумышленника, подключенной непосредственно к целевой локальной сети. Злоумышленник, использующий ARP-спуфинг, маскируется под хост при передаче данных в сети между пользователями. В результате пользователи не будут знать, что злоумышленник не является реальным хостом в сети. Хотя статические записи обеспечивают некоторую защиту от спуфинга, они требуют обслуживания, поскольку необходимо генерировать и распространять соответствия адресов для всех систем в сети. Это не масштабируется в больших сетях, так как соответствие необходимо устанавливать для каждой пары машин, что приводит к n² - n записей ARP, которые необходимо настроить при наличии n машин; на каждой машине должна быть запись ARP для каждой другой машины в сети, то есть n - 1 записей ARP на каждой из n машин.

Программное обеспечение для обнаружения и предотвращения

Программное обеспечение для обнаружения ARP-спуфинга обычно полагается на ту или иную форму аутентификации или перекрёстной проверки ответов ARP. Неаутентифицированные ответы ARP затем блокируются. Эти методы могут быть интегрированы с сервером DHCP для аутентификации как динамических, так и статических IP-адресов. Эта функциональность может быть реализована в отдельных хостах или интегрирована в Ethernet-коммутаторы и другое сетевое оборудование. Наличие нескольких IP-адресов, связанных с одним MAC-адресом, может указывать на атаку ARP-спуфинга, хотя существуют и законные сценарии использования такой конфигурации. В более пассивном подходе устройство прослушивает ответы ARP в сети и отправляет уведомление по электронной почте при изменении записи ARP. AntiARP также обеспечивает предотвращение спуфинга на платформе Windows на уровне ядра. ArpStar – это модуль Linux для ядра 2.6 и маршрутизаторов Linksys, который отбрасывает недействительные пакеты, нарушающие соответствие, и содержит опцию повторной отправки или восстановления. Некоторые виртуализированные среды, такие как KVM, также предоставляют механизмы безопасности для предотвращения спуфинга MAC-адресов между виртуальными машинами, работающими на одном хосте. Кроме того, некоторые Ethernet-адаптеры предоставляют функции защиты от спуфинга MAC-адресов и VLAN. OpenBSD пассивно отслеживает хосты, выдающие себя за локальный хост, и уведомляет о любой попытке перезаписать постоянную запись.

Безопасность ОС

Операционные системы реагируют по-разному. Linux игнорирует не запрошенные ответы, но, с другой стороны, использует ответы на запросы от других машин для обновления своего кэша. Solaris принимает обновления записей только по истечении времени ожидания. В Microsoft Windows поведение кэша ARP можно настроить с помощью нескольких записей реестра, расположенных по пути HKEY LOCAL MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters, ArpCacheLife, ArpCacheMinReferenceLife, ArpUseEtherSNAP, ArpTRSingleRoute, ArpAlwaysSourceRoute, ArpRetryCount.

Законное использование

Методы, используемые при ARP-спуфинге, также могут быть использованы для реализации резервирования сетевых служб. Например, некоторые программы позволяют резервному серверу отправлять gratuitous ARP-запрос, чтобы заменить неисправный сервер и обеспечить прозрачное резервирование. Circle и CUJO – две компании, которые коммерциализировали продукты, основанные на этой стратегии. Разработчики часто используют ARP-спуфинг для отладки IP-трафика между двумя хостами при использовании коммутатора: если хост A и хост B взаимодействуют через коммутатор Ethernet, их трафик обычно не виден третьему мониторинговому хосту M. Разработчик настраивает хост A так, чтобы он использовал MAC-адрес M для связи с B, а хост B – MAC-адрес M для связи с A; а также настраивает M на пересылку пакетов. Теперь M может отслеживать трафик, точно так же, как при атаке "человек посередине".

Оборона

Имя ОС GUI Свободная защита По интерфейсу Активный/пассивный Заметки Agnitum Outpost Firewall Windows пассивный AntiARP Windows активный+пассивный Antidote Linux пассивный Linux-демон, отслеживает соответствия, обнаруживает необычно большое количество пакетов ARP. Arp Antidote Linux пассивный Linux Kernel Patch для 2.4.18 – 2.4.20, отслеживает сопоставления, может определить действие при обнаружении. Arpalert Linux пассивный Предопределенный список разрешенных MAC-адресов, оповещение при обнаружении MAC-адреса, отсутствующего в списке. ArpON Linux активный+пассивный Портативный демон для защиты ARP от спуфинга, отравления кэша или атак отравления маршрутизации в статических, динамических и гибридных сетях. ArpGuard Mac активный+пассивный ArpStar Linux пассивный Arpwatch Linux пассивный Ведет соответствия пар IP-адресов и MAC-адресов, сообщает об изменениях через Syslog, Email. ArpwatchNG Linux пассивный Ведет соответствия пар IP-адресов и MAC-адресов, сообщает об изменениях через Syslog, Email. Colasoft Capsa Windows без обнаружения, только анализ с ручной проверкой cSploit Windows, Linux (+pro версия) (Linux, pro) активный + пассивный Расширенное обнаружение ARP spoofing, активное зондирование и пассивные проверки. Два пользовательских интерфейса: обычный вид с предопределенными уровнями безопасности, профессиональный вид с конфигурацией модулей обнаружения по интерфейсам и активной валидацией. Windows и Linux, с графическим интерфейсом. Seconfig XP Windows 2000/XP/2003 только активирует встроенную защиту в некоторых версиях Windows zANTI Android (только с root-правами) пассивный NetSec Framework Linux активный анти-арпспуф Windows DefendARP: инструмент мониторинга и защиты ARP-таблиц на основе хоста, предназначенный для использования при подключении к общедоступным Wi-Fi сетям. DefendARP обнаруживает атаки ARP-отравления, исправляет отравленную запись и определяет MAC и IP-адрес атакующего. NetCutDefender: графический интерфейс для Windows, защищающий от ARP-атак.