ARP spoofing

Успішна ARP spoofing атака, котра дозволяє зловмисникові змінити маршрутизацію в мережі.

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

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

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

Вразливість ARP

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

Опис атаки

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

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

Використання статичного ARP

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

Безпека ОС

Операційні системи реагують по-різному. Linux ігнорує небажані відповіді, але використовує відповіді на запити від інших машин, щоб оновити свою ARP-таблицю[6]. 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[7]
  • Arpwatch
  • Arpwatch/ArpwatchNG/Winarpwatch
  • DefendARP[5]
  • Snort
  • XArp
  • ArpON
  • Colasoft Capsa[8]
  • 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 Так Ні Ні Так
cSploit Android Так Так Ні Так
Prelude IDS ? ? ? ? ?
remarp Linux Ні Так Ні Ні
Snort Windows/Linux Ні Так Ні Так
Winarpwatch Windows Ні Так Ні Ні
XArp Windows/Linux Так Так Так Так
Seconfig XP Windows 2000/XP/2003  ? Так Так Ні
zANTI Android Так Так Ні ?
NetSec Framework Linux Ні Так Ні Ні

Література

  • Steve Gibson (2005-12-11). "ARP Cache Poisoning" [Архівовано 24 квітня 2019 у Wayback Machine.].
  • Stephanie Reigns (2014-10-07). "Clearing your ARP cache on Linux" [Архівовано 8 квітня 2019 у Wayback Machine.]. Coderseye.

Посилання

  1. Ramachandran, Vivek; Nandi, Sukumar (1 січня 2005). Detecting ARP Spoofing: An Active Technique. Proceedings of the First International Conference on Information Systems Security. Springer-Verlag. с. 239—250. doi:10.1007/11593980_18. ISBN 3540307060. Архів оригіналу за 21 листопада 2008. Процитовано 2 травня 2017.
  2. Ramachandran, Vivek; Nandi, Sukumar (2005). Detecting ARP Spoofing: An Active Technique. У Jajodia, Suchil; Mazumdar, Chandan (ред.). Information systems security: first international conference, ICISS 2005, Kolkata, India, December 19-21, 2005 : proceedings. Birkhauser. с. 239. ISBN 978-3-540-30706-8.
  3. Address Resolution Protocol. technet.microsoft.com (англ.). Архів оригіналу за 23 січня 2021. Процитовано 2 травня 2017.
  4. Ultra Monkey: IP Address Takeover. www.ultramonkey.org. Архів оригіналу за 18 листопада 2012. Процитовано 2 травня 2017.
  5. а б Antidote : Open Source Detection of ARP Poisoning. antidote.sourceforge.net. Архів оригіналу за 13 березня 2012. Процитовано 2 травня 2017.
  6. Документация :: ARP-таблица. doc.a-real.ru (рос.). Архів оригіналу за 9 травня 2017. Процитовано 2 травня 2017.
  7. ARP Spoofing protection for Linux. burbon04.gmxhome.de. Архів оригіналу за 14 січня 2012. Процитовано 2 травня 2017.
  8. » Blog Archive » APE The ARP Poisoning Engine. 9 липня 2012. Архів оригіналу за 9 липня 2012. Процитовано 2 травня 2017.