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]
Address Resolution Protocol, призначений щоб зв'язати протокол рівня Internet Protocol (IP) з протоколом канального рівня. Коли по IP протоколу передаються пакети від одного хоста до іншого по локальній мережі, то для IP-адреси відправника повинен бути дозвіл до MAC-адреси отримувача. Якщо IP-адреса та MAC-адреса іншого хоста відомі, то пакети починають відправлятися по локальній мережі. Перший пакет відомий як ARP, котрий призначений для встановлення зв'язку. Одержувач ARP пакета відправляє свій ARP пакет щоб підтвердити зв'язок, котрий містить MAC-адресу для даного IP. Проблема полягає в тому, що немає способу аутентифікувати відправника, можна лише підтвердити зв'язок. Саме через це виникає вразливість, котра має назву ARP spoofing.[4]
- Два комп'ютери 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-таблицю та посилати ARP-відповіді до інтерфейсів комп'ютерів[5].
Операційні системи реагують по-різному. Linux ігнорує небажані відповіді, але використовує відповіді на запити від інших машин, щоб оновити свою ARP-таблицю[6]. Solaris поновлює ARP-таблицю тільки після тайм-ауту. У Microsoft Windows, поведінку ARP-таблиці можна налаштувати за допомогою запису в реєстр таких команд ArpCacheLife, ArpCacheMinReferenceLife, ArpUseEtherSNAP, ArpTRSingleRoute, ArpAlwaysSourceRoute, ArpRetryCount.
Для запобігання атаки ARP spoofing в локальній мережі можна використовувати протоколи шифрування даних, для захисту переданої інформації від зловмисника. Наприклад такі протоколи як PPPoE або IPSec.
Ці програми відстежують ARP активність для заданих інтерфейсів. Вони можуть виявити атаку ARP spoofing, але не можуть запобігти їй. Для запобігання атаці потрібне втручання адміністратора мережі котрий буде вносити зміни до ARP-таблиці самостійно.
Якщо в локальній мережі існує поділ на кілька VLAN, то атака ARP spoofing може бути застосована тільки до комп'ютерів, котрі знаходяться в одному VLAN. Ідеальна ситуація, з точки зору безпеки. ARP spoofing в такому випадку неможливий.
Методи, котрі використовуються у процесі ARP spoofing також можуть бути використані для реалізації мережевих послуг. Існують дві відомі компанії, які намагалися комерціалізувати продукти, котрі зосереджені навколо стратегії ARP spoofing, Disney Circle та CUJO. Остання, нещодавно, отримала значні проблеми через використанням стратегії ARP spoofing. ARP spoofing часто використовується розробниками для налагоджування IP-трафіку між двома вузлами, коли мережевий комутатор знаходиться в стані використання. Якщо хост А та хост Б спілкуються через комутатор Ethernet, їх трафік, буде невидимим для третього хоста моніторингу М, на якому буде налагоджуватися трафік між А та Б без їх участі.
Деякі з інструментів, котрі можуть бути використані для проведення атак 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
- 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.
- ↑ 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.
- ↑ 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.
- ↑ Address Resolution Protocol. technet.microsoft.com (англ.). Архів оригіналу за 23 січня 2021. Процитовано 2 травня 2017.
- ↑ Ultra Monkey: IP Address Takeover. www.ultramonkey.org. Архів оригіналу за 18 листопада 2012. Процитовано 2 травня 2017.
- ↑ а б Antidote : Open Source Detection of ARP Poisoning. antidote.sourceforge.net. Архів оригіналу за 13 березня 2012. Процитовано 2 травня 2017.
- ↑ Документация :: ARP-таблица. doc.a-real.ru (рос.). Архів оригіналу за 9 травня 2017. Процитовано 2 травня 2017.
- ↑ ARP Spoofing protection for Linux. burbon04.gmxhome.de. Архів оригіналу за 14 січня 2012. Процитовано 2 травня 2017.
- ↑ » Blog Archive » APE The ARP Poisoning Engine. 9 липня 2012. Архів оригіналу за 9 липня 2012. Процитовано 2 травня 2017.