У галузі комп'ютерних мереж, ARP spoofing (ARP cache poisoning або ARP poison routing) — мережева атака канального рівня, при якій зловмисник надсилає підроблені повідомлення протоколу ARP (Address Resolution Protocol) в локальну мережу. За допомогою ARP spoofing зловмисник посилає підроблене ARP повідомлення на локальну мережу. Зазвичай мета полягає в тому, щоб зв'язати MAC-адресу зловмисника з IP-адресою хоста на який здійснюється атака, зазвичай це основний шлюз, щоб трафік замість цієї IP-адреси, був надісланий зловмиснику.

ARP spoofing може дозволити зловмиснику перехоплювати пакети даних в мережі, змінювати трафік, або зупинити весь трафік. Часто ця атака є підготовкою для інших атак, таких як DoS-атака, атака «людина посередині», TCP hijacking.

Атака може бути використана тільки в мережах, що працюють на основі Address Resolution Protocol.

Вразливість ARP Address Resolution Protocol, призначений щоб зв'язати протокол рівня Internet Protocol (IP) з протоколом канального рівня. Коли по IP протоколу передаються пакети від одного хоста до іншого по локальній мережі, то для IP-адреси відправника повинен бути дозвіл до MAC-адреси отримувача. Якщо IP-адреса та MAC-адреса іншого хоста відомі, то пакети починають відправлятися по локальній мережі. Перший пакет відомий як ARP, котрий призначений для встановлення зв'язку. Одержувач ARP пакета відправляє свій ARP пакет щоб підтвердити зв'язок, котрий містить MAC-адресу для даного IP. Проблема полягає в тому, що немає способу аутентифікувати відправника, можна лише підтвердити зв'язок. Саме через це виникає вразливість, котра має назву ARP spoofing.

Опис атаки

Два комп'ютери M та N в локальній мережі Ethernet обмінюються повідомленнями. Зловмисник X, що знаходиться в цій мережі, хоче перехоплювати повідомлення між цими вузлами. До застосування атаки ARP spoofing на мережевому інтерфейсі вузла М ARP-таблиця містить IP та MAC-адресу вузла N, а в мережевому інтерфейсі вузла N ARP-таблиця містить IP та MAC-адресу вузла М. Під час атаки ARP spoofing вузол Х (зловмисник) відсилає дві ARP-відповіді (без запиту) до вузлів М та N. ARP-відповідь вузла М містить IP-адресу N й MAC-адресу Х. В свою чергу ARP-відповідь вузла N містить IP адресу M й MAC-адресу X. Так як комп'ютери М та N підтримують мимовільний ARP, то після отримання ARP-відповіді, вони змінюють свої ARP-таблиці, тепер ARP-таблиця M містить MAC-адресу Х яка прив'язана до ІР-адреси N, ARP-таблиця N також містить MAC-адресу Х котра в свою чергу прив'язана до IP-адреси М. Починає виконуватися атака ARP spoofing та всі пакети між М та N проходить через X. Наприклад, якщо М хоче передати пакет комп'ютеру N, то М дивиться в свою ARP-таблицю, знаходить запис IP-адреси вузла N, бере звідти MAC-адресу та передає пакет. Пакет знаходиться в інтерфейсі Х, аналізується, після чого перенаправляється до вузла N.

Виявлення та запобігання ARP spoofing

Використання статичного ARP Можливо уникнути атаки ARP spoofing шляхом налаштування ARP-таблиці самостійно. Тоді зловмисник не зможе оновлювати ARP-таблицю та посилати ARP-відповіді до інтерфейсів комп'ютерів.

Безпека ОС Операційні системи реагують по-різному. Linux ігнорує небажані відповіді, але використовує відповіді на запити від інших машин, щоб оновити свою ARP-таблицю . Solaris поновлює ARP-таблицю тільки після тайм-ауту. У Microsoft Windows, поведінку ARP-таблиці можна налаштувати за допомогою запису в реєстр таких команд ArpCacheLife, ArpCacheMinReferenceLife, ArpUseEtherSNAP, ArpTRSingleRoute, ArpAlwaysSourceRoute, ArpRetryCount.

Використання шифрування Для запобігання атаки ARP spoofing в локальній мережі можна використовувати протоколи шифрування даних, для захисту переданої інформації від зловмисника. Наприклад такі протоколи як PPPoE або IPSec.

Програми Arpwatch, BitCometAntiARP Ці програми відстежують ARP активність для заданих інтерфейсів. Вони можуть виявити атаку ARP spoofing, але не можуть запобігти їй. Для запобігання атаці потрібне втручання адміністратора мережі котрий буде вносити зміни до ARP-таблиці самостійно.

Організація VLAN Якщо в локальній мережі існує поділ на кілька VLAN, то атака ARP spoofing може бути застосована тільки до комп'ютерів, котрі знаходяться в одному VLAN. Ідеальна ситуація, з точки зору безпеки. ARP spoofing в такому випадку неможливий.

Законне використання Методи, котрі використовуються у процесі ARP spoofing також можуть бути використані для реалізації мережевих послуг. Існують дві відомі компанії, які намагалися комерціалізувати продукти, котрі зосереджені навколо стратегії ARP spoofing, Disney Circle та CUJO. Остання, нещодавно, отримала значні проблеми через використанням стратегії ARP spoofing. ARP spoofing часто використовується розробниками для налагоджування IP-трафіку між двома вузлами, коли мережевий комутатор знаходиться в стані використання. Якщо хост А та хост Б спілкуються через комутатор Ethernet, їх трафік, буде невидимим для третього хоста моніторингу М, на якому буде налагоджуватися трафік між А та Б без їх участі.

Spoofing Деякі з інструментів, котрі можуть бути використані для проведення атак ARP: Arpspoo Arpoison Subterfuge Ettercap Seringe ARP-FILLUP -V0.1 arp-sk -v0.0.15 ARPOc -v1.13 arpalert -v0.3.2 cSploit -v 1.6.2 Cain And Abel -v 4.3 cSploit -v 1.6.2 SwitchSniffer

Пристрої котрі запобігають атаці ARP spoofing anti-arpspoof Antidote Arp_Antidote Arpwatch Arpwatch/ArpwatchNG/Winarpwatch DefendARP Snort XArp ArpON Colasoft Capsa remarp Детальний опис програм представлений в таблиці: Назва пристроюОпераційна система GUIБезкоштовнаЗахистінтерфейс Agnitum Outpost Firewall Windows AntiARP Windows Antidote Linux Arp_Antidote Linux Arpalert Linux ArpON Linux ArpGuard Mac ArpStar Linux Arpwatch Linux ArpwatchNG Linux Colasoft Capsa Windows cSploitAndroid Prelude IDS remarp Linux Snort Windows/Linux Winarpwatch Windows XArp Windows/Linux Seconfig XPWindows 2000/XP/2003 ? zANTIAndroid NetSec Framework Linux

Література Steve Gibson (2005-12-11). "ARP Cache Poisoning" . Stephanie Reigns (2014-10-07). "Clearing your ARP cache on Linux" . Coderseye.

Посилання