Що таке ARP (протокол розпізнавання адрес)?

Можливо, ви знайомі з концепцією IP-адрес. Кожен комп’ютер у мережі має принаймні один. Під час обміну даними між мережами ці IP-адреси унікально ідентифікують джерело та призначення мережевого трафіку, щоб його можна було надійно доставити та відповісти на нього. Під час зв’язку з пристроєм у тій самій мережі комп’ютер безпосередньо не використовує IP-адресу. Замість цього він перетворює цю IP-адресу на MAC-адресу. ARP — це протокол для керування трансляціями IP-адрес у MAC та передачі цього в мережі.

ARP означає протокол вирішення адрес. Це протокол без збереження стану, який має компоненти трансляції та запит-відповідь. ARP в основному використовується в мережах IPv4, хоча його також використовують інші мережеві системи. Мережі IPv6 реалізують функції ARP і деякі додаткові функції з NDP. Або протокол виявлення сусідів.

Визначені MAC-адреси зберігаються в таблиці ARP на кожному пристрої. Кожен запис у таблиці ARP регулярно минає. Але його можна оновлювати пасивно, оскільки трафік ARP транслюється в мережу, мінімізуючи загальний обсяг необхідного трафіку ARP.

ARP Probe and Response

Якщо комп’ютеру потрібно передати мережевий пакет, він переглядає IP-адресу призначення. Він знає, що йому потрібно надіслати його на маршрутизатор для пристроїв в іншій мережі. Це може спрямувати пакет у потрібну мережу. Якщо пакет призначений для пристрою в локальній мережі, комп’ютер повинен знати правильну MAC-адресу, на яку його можна надіслати.

Як перший порт виклику комп’ютер перевірить свою таблицю ARP. Тут має бути список усіх відомих пристроїв у локальній мережі. Якщо цільова IP-адреса та MAC-адреса є, для завершення та надсилання пакета використовуватиметься таблиця ARP. Якщо IP-адреса не має запису в таблиці ARP, комп’ютер повинен дізнатися це за допомогою зонду ARP.

Комп’ютер передає ARP-зонд у мережу із запитом «хто має ” с замінив відповідну IP-адресу. Кожен пристрій у мережі побачить це повідомлення, оскільки це трансляція. Більшість проігнорує це, оскільки воно не спрямоване на них. Але пристрій, який має таку IP-адресу, відповість іншим широкомовним повідомленням: « належить ” знову с і замінені відповідними значеннями. Потім вихідний комп’ютер оновить свою таблицю ARP і надішле пакет призначеному одержувачу.

Примітка: Відповідь зонду ARP також є широкомовною. Це дозволяє всім іншим мережевим пристроям оновлювати свої таблиці ARP, не вимагаючи від них створювати ідентичні зонди ARP. Це допомагає мінімізувати трафік ARP.

Зонд ARP під час підключення

Коли комп’ютер підключається до мережі, він повинен отримати IP-адресу. Це можна вказати вручну, але зазвичай динамічно виділяється DHCP (Протокол динамічного керування хостом) сервер. DHCP-сервер, як правило, є функцією мережевого маршрутизатора, але може запускатися окремим пристроєм. Після того, як новий пристрій отримає IP-адресу, через ручне налаштування або DHCP. Пристрій має швидко перевірити, що жоден інший пристрій уже не використовує цю IP-адресу.

Для цього пристрій транслює тестовий пакет ARP, запитуючи, щоб будь-який пристрій, який використовує свою нещодавно призначену IP-адресу, відповів на нього. Очікувана відповідь - тиша. Жоден інший пристрій не повинен реагувати, особливо в мережі DHCP. Після коротких затримок пристрій знову передасть те саме повідомлення кілька разів. Це повторення допомагає у випадках, коли один пакет міг бути скинутий на шляху до або з пристрою з конфліктною IP-адресою. Якщо на декілька запитів ARP не буде відповіді, пристрій може почати використовувати свою нову IP-адресу. Для цього йому потрібно надіслати безкоштовний ARP.

Безоплатний ARP

Коли пристрій визначає, що IP-адреса, яку він хоче використовувати, не використовується, він надсилає безкоштовний ARP. Це просто трансляція в мережу " має .” Зазвичай це форматується так, ніби це відповідь на стандартний ARP-зонд, лише без ARP-зонду, який його запитує, звідси й назва «безкоштовний ARP».

Безкоштовні ARP-запити також регулярно надсилаються в мережу як нагадування всім іншим пристроям про те, що комп’ютер все ще підключений, онлайн і має свою IP-адресу.

Підробка ARP

ARP — це протокол без збереження стану, з’єднання відсутнє, і всі повідомлення транслюються в мережу загалом. Усі пристрої прослуховують і кешують відповіді ARP у своїх таблицях ARP. Однак це призводить до вразливості системи. Якщо припустити, що зловмисник може фізично підключитися до мережі, він може запустити програмне забезпечення, яке зловмисно транслює неправильні безкоштовні пакети відповіді ARP. Кожен пристрій у мережі бачитиме зловмисні пакети ARP, неявно довірятиме їм і оновлюватиме свої таблиці маршрутизації. Ці тепер неправильні таблиці ARP називають «отруєними».

Це може бути просто використано, щоб викликати проблеми з мережею, спрямовуючи трафік у неправильному напрямку. Однак є й гірший сценарій. Якщо зловмисник підробить ARP-пакети для IP-адреси маршрутизатора та вкаже їх на свій власний пристрій, він отримає та зможе побачити весь мережевий трафік. Якщо припустити, що пристрій має інше мережеве підключення для пересилання трафіку, може знадобитися Людина посередині (MitM) положення. Це дозволяє зловмиснику виконувати неприємні атаки, такі як видалення HTTPS, потенційно дозволяючи йому бачити та змінювати весь мережевий трафік.

Примітка: Існує певний захист від атак MitM. Зловмисник не зможе скопіювати сертифікат HTTPS веб-сайту. Будь-який користувач, перехоплений трафік, повинен отримувати помилки сертифіката браузера.

Однак існує багато важливих і незашифрованих комунікацій, особливо у внутрішній мережі. У домашній мережі це не так. Тим не менш, корпоративні мережі, побудовані на Windows, особливо вразливі до атак ARP-спуфінгу.

Отруєння ARP уможливлює атаки MitM – Джерело: Вікіпедія

Висновок

ARP означає протокол вирішення адрес. Він використовується в мережах IPv4 для перетворення IP-адрес на MAC-адреси, як це необхідно в локальних мережах. Він складається з трансляцій запиту та відповіді без збереження стану. Відповіді або їх відсутність дозволяють пристрою визначити, яка MAC-адреса пов’язана з IP-адресою або чи IP-адреса не використовується. Пристрої кешують відповіді ARP для оновлення своїх таблиць ARP.

Пристрої також можуть регулярно транслювати безкоштовні повідомлення про те, що їх MAC-адреса пов’язана з їх IP-адресою. Відсутність механізму автентифікації дозволяє зловмисному користувачеві транслювати фіктивні ARP-пакети, щоб отруювати ARP-таблиці та спрямовувати трафік собі для аналізу трафіку або атак MitM.