Може да сте запознати с концепцията за IP адреси. Всеки компютър в мрежата има поне един. Когато комуникирате между мрежи, тези IP адреси уникално идентифицират източника и местоназначението на мрежовия трафик, така че той да може да бъде доставен и да може да се отговори надеждно. Когато комуникира с устройство в същата мрежа, компютърът не използва директно IP адреса. Вместо това той преобразува този IP адрес в MAC адрес. ARP е протоколът за управление на преводите на IP към MAC и предаване на това в мрежата.
ARP означава протокол за разрешаване на адреси. Това е протокол без състояние, който има компоненти за излъчване и заявка-отговор. ARP се използва предимно в IPv4 мрежи, въпреки че други мрежови системи също го използват. IPv6 мрежите реализират ARP функционалност и някои допълнителни функции с NDP. Или протокол за откриване на съседи.
MAC адресите, които са идентифицирани, се съхраняват в ARP таблица на всяко устройство. Всеки запис в ARP таблицата редовно изтича. Но може да се актуализира пасивно, тъй като ARP трафикът се излъчва към мрежата, минимизирайки общото количество необходим ARP трафик.
ARP сонда и отговор
Ако компютърът трябва да предаде мрежов пакет, той разглежда целевия IP адрес. Той знае, че трябва да го изпрати до рутера за устройства в различна мрежа. След това може да насочи пакета към правилната мрежа. Ако пакетът е предназначен за устройство в локалната мрежа, компютърът трябва да знае правилния MAC адрес, на който да го изпрати.
Като първи порт на повикване, компютърът ще провери своята ARP таблица. Това трябва да има списък с всички известни устройства в локалната мрежа. Ако целевият IP и MAC адрес са там, той ще използва ARP таблицата, за да завърши и изпрати пакета. Ако IP адресът няма запис в ARP таблицата, компютърът трябва да разбере чрез ARP сонда.
Компютърът излъчва ARP сонда към мрежата с въпрос „кой има
Забележка: Отговорът на ARP сондата също е излъчване. Това позволява на всички други мрежови устройства да актуализират своите ARP таблици, без да се изисква да правят идентични ARP сонди. Това помага за минимизиране на ARP трафика.
ARP сонда при връзка
Когато компютърът се свърже към мрежа, той трябва да получи IP адрес. Това може да бъде зададено ръчно, но обикновено се разпределя динамично от DHCP (Протокол за динамичен контрол на хоста) сървър. DHCP сървърът обикновено е функция на мрежовия рутер, но може да се управлява от отделно устройство. След като ново устройство има IP адрес, чрез ръчна конфигурация или DHCP. Устройството трябва бързо да провери дали никое друго устройство вече не използва този IP адрес.
За да направи това, устройството излъчва ARP тестов пакет, като иска всяко устройство, използващо новоприсвоения му IP адрес, да отговори на него. Очакваният отговор е мълчание. Никое друго устройство не трябва да реагира, особено в DHCP мрежа. След кратки закъснения устройството ще излъчи същото съобщение отново няколко пъти. Това повторение помага в случаите, когато един пакет може да е бил изпуснат по пътя към или от устройство с конфликтен IP адрес. След като няма отговор на няколко ARP проби, устройството може да започне да използва своя нов IP адрес. За да направи това, той трябва да изпрати безплатен ARP.
Безплатен ARP
След като дадено устройство установи, че IP адресът, който иска да използва, не се използва, то изпраща безвъзмездно ARP. Това просто включва излъчване към мрежата "
Безвъзмездните ARP заявки също се изпращат редовно към мрежата като напомняне на всички други устройства, че компютърът все още е свързан, онлайн и има своя IP адрес.
ARP спуфинг
ARP е протокол без състояние, няма връзка и всички съобщения се излъчват към мрежата като цяло. Всички устройства слушат и кешират ARP отговори в своите ARP таблици. Това обаче води до уязвимост в системата. Ако приемем, че нападателят може физически да се свърже с мрежата, той може да стартира софтуер, който злонамерено излъчва неправилни безплатни ARP пакети с отговори. Всяко устройство в мрежата ще види злонамерените ARP пакети, имплицитно ще им се довери и ще актуализира техните таблици за маршрутизиране. Тези вече неправилни ARP таблици се наричат „отровени“.
Това може просто да се използва за причиняване на мрежови проблеми чрез насочване на трафика в грешна посока. Има обаче и по-лош сценарий. Ако нападателят подмени ARP пакети за IP адреса на рутера и ги насочи към собственото си устройство, той ще получи и ще може да види целия мрежов трафик. Ако приемем, че устройството има друга мрежова връзка за препращане на трафика, може да отнеме човек в средата (MitM) позиция. Това позволява на атакуващия да извършва неприятни атаки, като премахване на HTTPS, което потенциално му позволява да вижда и променя целия мрежов трафик.
Забележка: Има някои защити срещу MitM атаки. Нападателят не би могъл да дублира HTTPS сертификата на уебсайт. Всеки потребител, прихванал трафика, трябва да получи грешки в сертификата на браузъра.
Има обаче много важни и некриптирани комуникации, особено във вътрешна мрежа. Това не е така в домашната мрежа. И все пак корпоративните мрежи, изградени на Windows, са особено уязвими на ARP spoofing атаки.
Заключение
ARP означава протокол за разрешаване на адреси. Използва се в IPv4 мрежи за преобразуване на IP адреси в MAC адреси, както е необходимо в локалните мрежи. Състои се от излъчване на заявка и отговор без състояние. Отговорите или липсата на такива позволяват на устройството да определи кой MAC адрес е свързан с IP адрес или дали IP адресът е неизползван. Устройствата кешират ARP отговорите, за да актуализират своите ARP таблици.
Устройствата могат също редовно да излъчват безвъзмездни съобщения, че техният MAC адрес е свързан с техния IP адрес. Липсата на механизъм за удостоверяване позволява на злонамерен потребител да излъчва фалшиви ARP пакети, за да отрови ARP таблици и да насочи трафик към себе си, за да извърши анализ на трафика или MitM атаки.