arp_antidote - средство для активной борьбы с атаками типа arpoison

arp_antidote - средство для активной борьбы с атаками типа arpoison

Уже давно известна уязвимость протокола ARP к атаке, получившей название arpoison. Атака позволяет перенаправлять данные, предназначенные одному компьютеру в локальной сети, на другой. Это широко используется, особенно в атаках типа Man in the Middle, позволяющих перехватывать информацию, передаваемую по "защищенным" протоколам: ssh, ssl, https. arp_antidote - средство для активной борьбы с атаками типа arpoison (arp spoofing), используемых для осуществления MitM-атак утилитами типа ettercap.

buggzy (alienhard@mail.ru)

Уже давно известна уязвимость протокола ARP к атаке, получившей название arpoison. Атака позволяет перенаправлять данные, предназначенные одному компьютеру в локальной сети, на другой. Это широко используется, особенно в атаках типа Man in the Middle, позволяющих перехватывать информацию, передаваемую по "защищенным" протоколам: ssh, ssl, https. Программа ettercap, позволяющая человеку без специальных знаний перехватывать пароли, передаваемые по SSH, основана именно на атаке arpoison.

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

Предлагаемое решение позволяет не только обнаружить, но и предотвратить атаку типа arpoison. При этом оно не имеет никаких "побочных эффектов" - не перекладывает функции протокола ARP на плечи администратора (нет необходимости вручную прописывать статические записи), позволяет машинам менять соответствие IP <-> MAC автоматически. Контролируются только arpoison-атаки.

arp_antidote - средство для активной борьбы с атаками типа arpoison (arp spoofing), используемых для осуществления MitM-атак утилитами типа ettercap.

Патч arp_antidote изменяет реализацию протокола ARP в linux kernel так, что провести атаку arpoison становится невозможно.

Установка патча.

Патч написан для ядра 2.4.19, однако, тестировался и в 2.4.18 и, предположительно, подходит для любого ядра 2.4. Для установки скачайте antidote.diff.gz в каталог с исходным кодом ядра linux,

распакуйте его

gzip -d antidote.diff.gz

и примените патч:

patch -p1 < antidote.diff

После применения патча и перекомпиляции фичу нужно разрешить (по умолчанию она запрещена) через sysctl:

sysctl -w net.ipv4.neigh.eth0.arp_antidote=1 - разрешить на интерфейсе eth0

sysctl -w net.ipv4.neigh.eth0.arp_antidote=0 - запретить

Когда фича запрещена, работает стандартная реализация протокола ARP. При приеме пакета ARP-reply (посылаемого при атаке arpoison) ядро обновляет запись в кеше, если она там уже была, независимо от ее старого значения.

Если фичу разрешить, то при приеме ARP-reply производится сравнение старого и нового MAC-адреса,

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

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

При обнаружении подозрительной ситуации ("двойника") ядро выводит сообщение:

"ARP_ANTIDOTE: Possible MITM attempt!", и не обновляет запись ARP-кеша, а наоборот, прописывает старую запись как статическую. После предотвращения таким образом непосредственной угрозы атаки следует приступить к принятию организационных мер против горе-хакера :) Затем статическую запись можно опять удалить.

Нам интересно ваше мнение: результаты тестирования, в том числе положительные :), и нужна ли такая система вообще, следует ли делать версию для FreeBSD.

Где кванты и ИИ становятся искусством?

На перекрестке науки и фантазии — наш канал

Подписаться