Атака ARP Cache Poisoning

Давайте на минуту представим, что имеются два хоста “А” и “В”. Они очень сильно дружат и хост “А” рассказал все свои секреты хосту “В”. Теперь представим, что есть еще хост “С” (злоумышленник), который представился хостом “В”. Можете представить, что произойдет? Правильно, хост “А” расскажет все свои секреты хосту “С”, который в свою очередь может воспользоваться этими секретами во вред.

Если говорить не профессиональным языком, то только что была описана атака ARP Cache Poisoning.

ARP Poisoning может вызывать серьезные проблемы в сети и сетевые администраторы должны знать, что это такое и как работает эта атака. Именно этому и будет посвящена данная статья.

ARP протокол

Прежде чем говорить об атаке ARP Cache Poisoning. Давайте сначала разберемся в том, как работает протокол ARP. ARP протокол состоит из следующих 4-х сообщений:

  • ARP-запрос: Хост “А” опрашивает сеть таким вопросом «Кто владеет таким то IP-адресом?»
  • ARP-ответ: Все компьютеры сети игнорируют это сообщение за исключением компьютера, который владеет этим IP-адресом. Допустим, что это компьютер “В”, который говорит «Я владелец запрашиваемого IP-адреса и вот мой MAC-адрес»
  • RARP-запрос: Тоже самое что и ARP-запрос, но хост “А” спрашивает “Кто владеет таким то МАС-адресом”
  • RARP-ответ: Хост “В” отвечает хосту “А”, “Это я владелец запрашиваемого МАС-адрес и вот мой IP-адрес”

Все устройства подключенные к сети имеют ARP-cache (кэш). В кэше содержатся IP-адреса и соответствующие им аппаратные адреса (МАС-адреса).

Последствия – ARP Cache Poisoning

Когда злоумышленник видит возможность осуществления ARP Cache Poisoning, он может применять различные техники для нанесения вреда или для осуществления контроля над системой «жертвой». Давайте обсудим некоторые из них.

Denial of service (отказ в обслуживании)

Хакер может послать ARP-ответ всем компьютерам в сети. Ваши компьютеры будут верить, что знают где находится шлюз (gateway) по умолчанию, но на самом деле они будут посылать любой пакет, путь которого находиться не в локальном сегменте. В один момент хакер может “отрезать” локальную сеть от Интернета.

Атака Man-in-the-Middle (человек по середине)

Название говорит само за себя. Атакующий может использовать ARP Cache Poisoning для перехвата трафика между двумя устройствами в вашей локальной сети. Например, хакер хочет перехватить весь трафик проходящий между хостом “А” и хостом “В”. Он будет посылать “злонамеренные” ARP-ответы (для которого нет предыдущего запроса) хосту “В”.

arp cash poisonТеперь хост “В” считает, что хост “С” это хост “А”. И хост “А” считает, что хост “С” – это хост “В”.

Теперь, всякий раз когда вы “идете” в Интернет, хост “А” будет посылать сетевой трафик на хост “С”, после чего с хоста “С” на “В”. Вы даже не будите подозревать о том, что весь трафик будет перехвачен и вполне возможно ваши пароли, которые передаются в открытом виде будут украдены. Также могут быть “угнаны” защищенные Интернет сессии.

MAC Flooding

Атака MAC Flooding нацелена на коммутаторы (switch). Когда коммутаторы перегружены они часто переходят в “Hub” режим. В “Hub” режиме, коммутатор слишком занят, чтобы выполнять функции безопасности портов и следовательно передает весь трафик для каждого устройства в сети.

Страшно? Хорошо, страх хорошая мотивация

Это действительно страшные вещи! Однако обратите внимание на основные смягчающие обстоятельства: хакеры могут использовать ARP уязвимости только в локальной сети. Им либо нужно иметь доступ к локальной сети, что в принципе не сложно учитывая тот факт, что Wi-Fi сети используются в локальных сетях. ARP атаку нельзя сделать удаленно.

Нормальные системные администраторы должны/обязаны знать об этих атаках.

Поскольку атака ARP Cache Poisoning можно выполнить благодаря отсутствию безопасности в протоколе, который предназначен для функционирования TCP/IP сетей. Вы никак не можете повлиять на безопасность ARP. Но вы можете помочь предотвратить ARP атаки используя следующие стратегии.

Для не больших сетей

Если вы обслуживайте маленькую локальную сеть, тогда можно попробовать использовать статические IP-адреса и статические ARP-таблицы. Используя CLI (Call Level Interface – Прикладной программный интерфейс уровня вызовов) команды, такие как “ipconfig /all” в Windows или “ifconfig -a” в ‘NIX. …вы можете записать/выучить IP-адреса и MAC-адреса всех устройств в сети. “Статические” означают неизменные: это предотвращает возможность добавить поддельные ARP-записи для устройств в локальной сети.

Тем не менее ввод ARP-записи довольно сложно поддерживать в крупных сетях. Но если вы обслуживайте сеть, в которой например 20-30 машин, тогда эта стратегия будет для вас полезной.

Для больших сетей

Если вы обслуживайте большую сеть, тогда обязательно уделите внимание на изучение вашей сети для того, чтобы применить “Port Security” на коммутаторах. “Port Security” позволяет заставить коммутатор использовать только один MAC-адрес на каждом физическом порте коммутатора. Эта настройка/функция не позволяет хакерам применять смену MAC-адреса на своей машине. Также это может помочь предотвратить ARP-атаку Man-in-the-Middle (человек по середине).

Для всех сетей

Ваша лучшая защита это понимание, как происходит ARP Poisoning и конечно же “мониторить” (monitoring) вашу сеть. В качестве инструмента ARP-монитора можно использовать, например ARPwatch, который будет информировать вас, если ARP будет вести себя странно/подозрительно.

Click to rate this post!
[Total: 3 Average: 5]

Специалист в области кибер-безопасности. Работал в ведущих компаниях занимающихся защитой и аналитикой компьютерных угроз. Цель данного блога - простым языком рассказать о сложных моментах защиты IT инфраструктур и сетей.

2 comments On Атака ARP Cache Poisoning

Leave a reply:

Your email address will not be published.