ARP-протокол


Компьютерные технологии
4.4 / 5 (54 оценок)

Довольно интересным примером для рассмотрения является работа с протоколом ARP в платформе Windows NT. Протокол ARP (Address Resolution Protocol) предназначен для получения MAC-адресов сетевых устройств, сопоставленных с определенным IP-адресом. Как и многие другие протоколы, созданный на заре появления сетей, он является очень простым и в то же время невероятно опасным для локальной сети. Когда Windows требуется отправить IPv4-пакет определенному узлу, подключенному к тому же самому Ethernet-сегменту, что и узел отправителя, то сначала требуется узнать MAC-адрес узла-получателя. Для решения этой задачи сетевой стек отправляет широковещательный ARP-пакет, в котором указано, что узлу-отправителю требуется получить MAC-адрес, соответствующий IP-адресу узла-получателя. Узел, IP-адрес которого пытаются узнать, должен при получении такого ARP-запроса ответить узконаправленным ARP-ответом, в котором будет записан нужный MAC-адрес.

Данная схема не учитывает случай, когда два или более узла сообщают о том, что искомому IP-адресу соответствует их MAC-адрес. В Windows NT используется очень спорный механизм для выхода из такой ситуации — «правильный MAC-адрес содержится в последнем полученном ответе». Следствием принятия подобного решения является возможность парализовать Windows-машины в одном сегменте сети довольно простым способом – с помощью отправки специально сформированных ARP-ответов, в которых с известным IP-адресам сопоставляются заведомо неверные MAC-адреса. Этой проблеме, пожалуй, столько же лет, сколько и реализации IP-стека в платформе Windows NT, но Microsoft так ничего и не предприняла для ее решения. Особенно удручающе это выглядит на фоне других реализаций IP-стека, в которых используется несколько иной алгоритм – «правильный ответ — первый, до тех пор, пока взаимодействие по IP-протоколу с указанным узлом осуществляется успешно». Сейчас эта проблема перешла и на Windows Vista, а подробности о ней можно поискать по ее названию «CVE-2007-1531».

Кроме того, довольно простым и, в то же время, изящным решением является «принимать только один ARP-ответ на каждый отправленный запрос» и не принимать ответы, если запросы не отправлялись.

Благодаря этой особенности реализации TCP/IP-стека в Windows NT, разработчики «активных сетевых анализаторов» или sniffer’ов имеют возможность осуществлять перехват сетевого трафика, используя тактику «Man-In-The-Middle» — с помощью специально сформированных ARP-ответов пропускать весь Ethernet-трафик через себя.

Другая интересная особенность, некогда описанная в статье «Core Protocol Stack Components» на сайте Microsoft Technet, «Duplicate IP Address Detection», имеет не менее разрушительные побочные эффекты. Узел Windows NT, получив запрос, в котором удаленный узел с помощью ARP-запроса проверяет, не занят ли его IP-адрес, выполняет два довольно опасных действия: выдает сообщение интерактивному пользователю (если он есть) и производит запись о событии в EventLog.

По каждому полученному ARP-запросу производится запись в журнал. Учитывая малый размер ARP-запроса, через 100 Мбитную сеть можно отправить довольно большое количество таких запросов, тем самым вынуждая узел получателя расходовать процессорные ресурсы и память на запись их в EventLog.

Эта проблема также известна очень давно, но она до сих пор не имеет решения. От Windows Vista ожидалось решение, в частности, и этих проблем, но, к сожалению, команда разработчиков Microsoft преподнесла очень неприятный сюрприз всем пользователям Windows. Теперь при получении ARP-сообщения о том, что IP-адрес уже занят, Windows Vista отключает использование «конфликтующего» IP-адреса и начинает использовать либо адрес из диапазона 169.254.*.*, либо спрашивает у DHCP-сервера новый адрес. Пользователю же выдается не всплывающее из system tray сообщение, как это было раньше, а внушительных размеров диалоговое окно с описанием проблемы и кнопкой, позволяющей ее «исправить».

В настоящий момент таким злоумышленникам можно противопоставить только лишь сторонние firewall’ы, имеющие в своем составе модуль, называемый Ethernet или ARP protection (например, Outpost Firewall Pro или Zone Alarm Pro).


Похожие публикации:
 Управление фрилансерами
 Определение информационной безопасности
 Серверы для SMB: оцениваем потребности
 Мобильная часть Optimum
 Сертификация: администратор БД

Добавить комментарий:
Введите ваше имя:

Комментарий:

Защита от спама - решите пример:

ЭТО ИНТЕРЕСНО:

Создание WAP-сайтов для учебных заведений Тема создания WAP-сайтов для учебных заведений относится к раннему этапу развития мобильного интернета.
Создание флэш-анимации для WAP-сайтов Значительное количество мобильных телефонов сейчас среди разнообразного программного обеспечения должны проигрыватель флэш-анимации.
Информационная ВОЙНА В ИНТЕРНЕТЕ В статье рассматривается актуальность защиты от информационных атак через интернет.
Уязвимости криптоалгоритмов Для построения механизмов безопасности с заданными целями используют структурные блоки, которые играют роль набора определенных примитивов.