Почему ARP заменяется NDP в IPv6?

49

ARP был заменен NDP (протокол обнаружения соседей). Но я не знаю точную причину этого.

  • Есть ли проблемы с безопасностью в ARP?
  • Почему ARP заменяется на НДП?
  • Каковы преимущества ARP?

Кто-нибудь может объяснить это простыми словами?

Ganeshgm7
источник

Ответы:

67

Есть ли проблемы с безопасностью в ARP?

Да. Вот некоторые:

  • ARP спуфинг.

    Ложные ARP-сообщения отправляются по локальной сети, в результате чего MAC-адрес злоумышленника связывается с IP-адресом действующего компьютера или сервера в сети.

    См. Ниже для получения дополнительной информации о спуфинге / отравлении ARP.

  • MAC Flooding.

    Таблица перевода, которая отслеживает, какие MAC-адреса на каких физических портах имеет ограниченный объем памяти. Это позволяет использовать переключатель путем заполнения таблицы перевода. Примитивные коммутаторы, не зная, как обрабатывать избыточные данные, будут «не открываться» и транслировать все сетевые кадры на все порты.

  • Дублирование MAC.

    При атаке с дублированием MAC-адресов коммутатор вводит в заблуждение тот факт, что два порта имеют одинаковый MAC-адрес. Поскольку данные будут пересылаться на оба порта, переадресация IP не требуется.

Безопасность источника протокола разрешения адресов TCP / IP (ARP)


Почему ARP был заменен NDP?

Он предоставляет улучшения и дополнительные функции для IPv6.

Ниже приведено сравнение NDP и протоколов протокола разрешения адресов [ARP], обнаружения маршрутизатора ICMP [RDISC] и перенаправления ICMP [ICMPv4].


Как NDP защищается от ARP Spoofing / Poisoning?

Он использует протокол Secure Neighbor Discovery (SEND). Криптографически сгенерированные адреса гарантируют, что заявленный источник сообщения NDP является владельцем заявленного адреса.

Одной из функций протокола обнаружения соседей (NDP) IPv6 является преобразование адресов сетевого уровня (IP) в адреса канального уровня (например, Ethernet), функция, выполняемая в IPv4 по протоколу разрешения адресов (ARP). Протокол Secure Neighbor Discovery (SEND) не позволяет злоумышленнику, имеющему доступ к широковещательному сегменту, злоупотреблять NDP или ARP, чтобы обманным путем заставить хосты отправлять трафик злоумышленника, предназначенный для кого-то другого, - метод, известный как отравление ARP.

Для защиты от отравления ARP и других атак на функции NDP, SEND должен быть развернут там, где предотвращение доступа к широковещательному сегменту может оказаться невозможным.

SEND использует пары ключей RSA для создания криптографически сгенерированных адресов, как определено в RFC 3972, Криптографически сгенерированные адреса (CGA). Это гарантирует, что заявленный источник сообщения NDP является владельцем заявленного адреса.

Источник Настройка безопасного обнаружения соседей IPv6


Как работает ARP Spoofing?

ARP Spoofing также называется ARP Poison Routing (APR) или ARP Cache Poisoning.

ARP-спуфинг - это тип атаки, при котором злоумышленник отправляет фальсифицированные сообщения ARP (Address Resolution Protocol) по локальной сети. Это приводит к связыванию MAC-адреса злоумышленника с IP-адресом законного компьютера или сервера в сети.

Как только MAC-адрес злоумышленника подключен к подлинному IP-адресу, злоумышленник начнет получать любые данные, предназначенные для этого IP-адреса.

Подмена ARP может позволить злоумышленникам перехватывать, изменять или даже останавливать передачу данных. Атаки ARP-спуфинга могут происходить только в локальных сетях, использующих протокол разрешения адресов.

Источник Veracode ARP Spoofing


Как работает ARP Spoofing Attack?

Шаги к ARP-спуфингу обычно включают в себя:

  1. Атакующий открывает инструмент спуфинга ARP и устанавливает IP-адрес инструмента в соответствии с IP-подсетью цели. Примерами популярных программ ARP-спуфинга являются Arpspoof, Cain & Abel, Arpoison и Ettercap.

  2. Атакующий использует инструмент спуфинга ARP для сканирования IP-адресов и MAC-адресов хостов в подсети цели.

  3. Атакующий выбирает цель и начинает посылать пакеты ARP через ЛВС, которые содержат MAC-адрес атакующего и IP-адрес цели.

  4. Поскольку другие хосты в локальной сети кэшируют поддельные пакеты ARP, данные, которые эти хосты отправляют жертве, вместо этого отправляются злоумышленнику. Отсюда злоумышленник может украсть данные или начать более сложную последующую атаку.

Источник Veracode ARP Spoofing

Злоумышленник может выбрать проверку пакетов (шпионаж), перенаправляя трафик к фактическому шлюзу по умолчанию, чтобы избежать обнаружения, изменить данные перед их пересылкой (атака «человек посередине») или запустить отказ в обслуживании. атака, вызывающая сбрасывание некоторых или всех пакетов в сети.

Источник Википедии ARP подмена


Сравнение [NDP] с IPv4

Протокол обнаружения соседей IPv6 соответствует комбинации протокола разрешения адресов IPv4 [ARP], обнаружения маршрутизатора ICMP [RDISC] и перенаправления ICMP [ICMPv4].

В IPv4 не существует общепринятого протокола или механизма для обнаружения недоступности соседей, хотя в документе «Требования к хостам» [HR-CL] действительно указаны некоторые возможные алгоритмы обнаружения мертвых шлюзов (подмножество проблем, с которыми сталкивается обнаружение недоступности соседей).

Протокол Neighbor Discovery обеспечивает множество улучшений по сравнению с набором протоколов IPv4:

  • Обнаружение маршрутизатора является частью базового набора протоколов; хостам не нужно «подглядывать» протоколы маршрутизации.

  • Объявления маршрутизатора несут адреса канального уровня; для разрешения адреса канального уровня маршрутизатора дополнительный обмен пакетами не требуется.

  • Реклама маршрутизатора содержит префиксы для ссылки; нет необходимости иметь отдельный механизм для настройки «маски сети».

  • Маршрутизаторы включают автоматическую настройку адреса.

  • Маршрутизаторы могут объявлять MTU для узлов, которые будут использоваться в канале, гарантируя, что все узлы используют одинаковое значение MTU в каналах, не имеющих четко определенного MTU.

  • Многоадресные рассылки разрешения адресов "распространяются" на 16 миллионов (2 ^ 24) адресов многоадресной рассылки, что значительно сокращает количество прерываний, связанных с разрешением адресов, на узлах, отличных от целевого. Более того, машины без IPv6 вообще не должны прерываться.

  • Перенаправления содержат адрес канального уровня нового первого прыжка; отдельное разрешение адресов не требуется при получении перенаправления.

  • Несколько префиксов могут быть связаны с одной и той же ссылкой. По умолчанию хосты изучают все префиксы по ссылке из рекламных объявлений маршрутизатора. Однако маршрутизаторы могут быть настроены на пропуск некоторых или всех префиксов в объявлениях маршрутизатора. В таких случаях хосты предполагают, что адресаты находятся вне соединения, и отправляют трафик на маршрутизаторы. Затем маршрутизатор может выдавать перенаправления в зависимости от ситуации.

  • В отличие от IPv4, получатель перенаправления IPv6 предполагает, что новый следующий переход подключен. В IPv4 хост игнорирует перенаправления, указывающие следующий переход, который не находится в соединении в соответствии с сетевой маской ссылки. Механизм перенаправления IPv6 аналогичен средству XRedirect, указанному в [SH-MEDIA]. Ожидается, что он будет полезен для не транслируемых и совместно используемых мультимедийных ссылок, в которых узлам нежелательно или невозможно знать все префиксы для пунктов назначения по ссылке.

  • Обнаружение недоступности соседей является частью базы, которая значительно повышает надежность доставки пакетов при наличии неисправных маршрутизаторов, частично неисправных или разделенных каналов или узлов, которые изменяют свои адреса канального уровня. Например, мобильные узлы могут перемещаться вне соединения без потери связи из-за устаревших кэшей ARP.

  • В отличие от ARP, Neighbor Discovery обнаруживает сбои полусвязи (используя Neighbor Unreachability Detection) и избегает отправки трафика соседям, с которыми отсутствует двусторонняя связь.

  • В отличие от обнаружения маршрутизатора IPv4, сообщения объявления маршрутизатора не содержат поля предпочтений. Поле предпочтений не требуется для обработки маршрутизаторов различной «стабильности»; Обнаружение недоступности соседей обнаружит мертвые маршрутизаторы и переключится на работающий.

  • Использование локальных адресов ссылок для уникальной идентификации маршрутизаторов (для сообщений Router Advertising и Redirect) позволяет хостам поддерживать ассоциации маршрутизаторов в случае изменения номера сайта для использования новых глобальных префиксов.

  • Если для параметра Hop Limit установлено значение 255, функция Neighbor Discovery защищена от отправителей, не подключенных к каналу, которые случайно или намеренно отправляют сообщения ND. В IPv4 отправители вне линии связи могут отправлять как сообщения перенаправления ICMP, так и сообщения объявления маршрутизатора.

  • Размещение разрешения адресов на уровне ICMP делает протокол более независимым от среды, чем ARP, и позволяет соответствующим образом использовать общие механизмы аутентификации и безопасности на уровне IP.

Источник RFC 4861 Neighbor Discovery в IPv6


дальнейшее чтение

ДэвидПостилл
источник
Как НДП защищает отравление агаистами?
Гравитация
@ grawity Хороший вопрос! Он использует протокол Secure Neighbor Discovery (SEND). Ответ обновлен.
ДэвидПостилл
2
Хм, сколько операционных систем на самом деле используют SEND
grawity
2
@DavidPostill Нет, IPsec работает на другом уровне, чем ARP / NDP. Требуется работающий канал связи для установления его функций безопасности.
Scai
4
@DavidPostill Отличный пост. Тем не менее, ваше сообщение вводит в заблуждение, так как предполагает, что SeND является (а) неотъемлемой частью NDP и (б) общим решением. Это не так - SeND является надстройкой, и нет никаких SeND-реализаций, кроме экспериментальных. Более того, у SeND есть свои недостатки и открываются возможности для атак типа «отказ в обслуживании». Наконец, разумно предположить, что SeND никогда не будет запущен (по крайней мере, в его нынешнем виде) и, следовательно, не должен предлагаться слишком громко.
countermode
9

NDP имеет больше возможностей, чем ARP , в том числе:

  • Через NDP устройства в сети могут определять MAC / адрес канального уровня (та же функция, что и ARP).

  • Используя NDP, устройства в сети могут определить путь для доступа к другому устройству во внешней сети и найти лучший маршрутизатор для устройства назначения.

  • NDP позволяет автоматически настраивать адреса IPv6.

По сравнению с ARP механизм отличается:

ARP использует широковещательные сообщения, в то время как NDP использует многоадресные сообщения ICMPv6.

Устройство отправляет многоадресное сообщение, называемое «ICMP-сообщение запроса соседей» или NS . Устройство-получатель отвечает сообщением ICMP «Соседняя реклама» или NA .

Сообщение NS использует специальный адрес назначения многоадресной рассылки, называемый адресом многоадресной рассылки запрашиваемого узла, который представляет все хосты с одинаковыми последними 24 битами их адресов IPv6. Использование многоадресной рассылки вместо широковещания уменьшает поток ненужного трафика в сети.

jcbermu
источник
5

Внедрение NDP вместо ARP было главным образом из-за желания консолидировать протоколы контроля вокруг IP. IPv4 использует несколько протоколов управления, таких как ICMP, IGMP и ARP / RARP. С IPv6 NDP (преемник ARP), а также MLD (преемник IGMP) были разработаны как суб-протоколы ICMPv6, так что существует только один протокол управления. Для этого не было никаких причин безопасности, ND так же подвержен спуфингу, как и ARP, а ND не был разработан для обеспечения безопасности.

В первые дни развития IPv6 IPsec рассматривается какобщая мера безопасности и, таким образом, была обязательной. Это требование, однако, было понижено до рекомендации (RFC 6434, я полагаю, в основном из-за встраиваемых устройств и IoT, которые просто не способны выполнять вычисления с открытым ключом, плюс они могут справиться с проблемами PKI всех видов. во всяком случае) и не работает (вежливо говоря) для обеспечения безопасности ND. SeND был введен для обеспечения безопасности ND, но, как и для практически всех предыдущих попыток разработки программного обеспечения обратной безопасности, результат был, скажем, менее чем оптимальным. Поскольку реализации SeND до сих пор нет, за исключением некоторых экспериментальных, для всех практических целей SeND не существует. Более того, есть основания полагать, что SeND - по крайней мере, в его нынешнем виде - никогда не начнется.

В отличие от этого, SAVI выглядит более многообещающе, но требует изменений в инфраструктуре коммутации, а оборудование с поддержкой SAVI не является достаточно дешевым, поэтому оно также не будет быстро распространяться. SAVI работает на том основании, что на сайте должно быть «известно», какие сопоставления между HW-адресами (т.е. MAC-адресами) и IP-адресами являются законными, и, таким образом, должна быть возможность идентифицировать и удалять поддельные сообщения NDP.

Лучшие рецепты самые простые, но их часто упускают из виду: разбейте большие ЛВС на более мелкие, чтобы спуфинг ARP и ND работал только для целей в той же ЛВС. Таким образом, простое размещение ненадежных устройств в их собственных сегментах локальной сети (без необходимости в брандмауэре / правилах фильтрации) значительно уменьшит поверхность атаки.

countermode
источник