Новости

Принцип атаки: подмена ARP-кэша

Хакеры врут. Хорошие хакеры врут еще лучше. И все хакеры во всем мире вдохновенно врут как людям, так и машинам. Ложь в рабочем коллективе, которая также называется «социальным инжинирингом», заключается в том, что хакер втирается в доверие к сотруднику компании (примерно так поступил в свое время легендарный Кевин Митник), незаметно выуживая из него все корпоративные секреты.

Когда человек врет машине, он использует различные способы. Об одином из них – подмене ARP-кэша поговорим в данной статье.

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

ARP – очень простой протокол, который состоит из четырех типов сообщений:

1. ARP-запрос. Компьютер A спрашивает сеть: «У кого есть этот IP-адрес?»

2. ARP-ответ. Компьютер Б говорит компьютеру A :«У меня есть! Мой MAC-адрес такой-то».

3. Обратный ARP-запрос (RARP). Очень похож на простой запрос, только компьютер A спрашивает: «У кого есть этот MAC-адрес?».

4. RARP-ответ. Компьютер Б говорит компьютеру A: «У меня есть такой MAC-адрес! Мой IP-адрес такой-то!».

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

Джессика, секретарь, дала в Microsoft Word команду распечатать список контактов сотрудников компании. Это ее первая распечатка за сегодняшний день. Ее компьютер (с IP-адресом 192.168.0.16) посылает задачу в принтер HP LaserJet (имеющий IP-адрес 192.168.0.45). Таким образом, компьютер Джессики выдает следующий ARP-запрос в локальную сеть: «Кто владеет IP-адресом 192.168.0.45?» Все устройства в сети игнорируют этот ARP-запрос, кроме принтера HP LaserJet. Он видит, что кто-то интересуется его IP и посылает ответ: «Это мой IP-адрес 192.168.0.45. А мой MAC-адрес вот такой: 00:90:7F:12:DE:7F» Теперь компьютер Джессики знает MAC-адрес принтера. Он отошлет запрос на печать этому устройству и ассоциирует этот MAC-адрес с IP-адресом этого же принтера (192.168.0.45) в ARP-таблице.
ARP, как же ты доверчив…

Создатели сетевых протоколов предельно упростили процесс коммуникации для ARP. Вероятно, для того, чтобы оно эффективно функционировало. К сожалению, такая простота оборачивается плохой защитой. В процесс коммуникации с ARP отсутствует система аутентификации пользователей.

ARP очень доверчив, даже чересчур. Когда устройство в сети шлет ARP-запрос, оно слепо верит тому устройству, которое пришлет ответ и никак не проверяет, чем ответившее устройство является на самом деле. Вообще, большинство операционных систем обращаются с ARP столь халатно, что даже устройства, которые никогда не посылали ARP-запрос, могут принимать ARP-ответ от любого другого оборудования в локальной сетиТеперь представим себя на месте злоумышленника. Вы только что узнали о том, что ARP-протокол никак не проверяет ARP-ответы. Вы узнали, что много устройств принимает ARP-ответы, даже если не запрашивали их. А это значитчто я могу внедрить вредоносное устройство, которое сгенерирует ARP-ответ, содержащий какие-нибудь произвольные IP- и MAC-адреса или просто транслирую мои ARP-ответы в сеть, где находится компьютер жертвы, и обведу вокруг пальца все компьютеры! Вернемся в реальный мир. Теперь вы примерно понимаете, почему эта атака называется «подмена ARP-кэша» (или просто «подмена ARP). Злоумышленник обманывает девайсы в вашей сети, повреждает или «отравляет» их «знания» о других устройствах. Эта донельзя простая процедура позволяет хакеру доставить множество неприятностей, описанных далее. Способность ассоциировать любой IP-адрес с любым MAC-адресом позволяет хакерам осуществлять управление сетевым доступом, проводить множество разнообразных атак, включая отказ в обслуживании (DoS-атака) «man-in-the-middle» и MAC-флуд.
Отказ в обслуживании

Хакер может легко ассоциировать рабочий IP-адрес с фальшивым MAC-адресом. Например, он посылает ARP-ответ, который связывает IP вашего роутера с несуществующим MAC-адресом. Ваши компьютеры уверены в том, что они знают шлюз по умолчанию, но в реальности они шлют пакеты неизвестно куда и неизвестно кому. Одним легким движением злоумышленник отрезал вас от Интернета.
Man in the Middle

Хакер использует подмена ARP-кэша для перехвата сетевого трафика между двумя устройствами в вашей сети. Например, хакер хочет увидеть трафик между вашим компьютером (192.168.0.12) и вашим интернет-роутером (192.168.0.1). Он начинает отсылать пакеты ARP-ответа (которые никто не запрашивал) на ваш роутер, подставив в качестве IP-адреса своего компьютера адрес вашего – 192.168.0.12.Теперь роутер думает, что компьютер хакера – это ваш компьютер. Далее, хакер шлет зараженный ARP-ответ на ваш компьютер, подставив исходный IP-адрес 192.168.0.1 Ваш компьютер теперь думает, что компьютер хакера – это роутер. Наконец, хакер задействует функцию операционной системы под названием переадресация IP. Эта функция разрешает компьютеру хакера «пропускать» через себя любой сетевой трафик, который ваш компьютер отсылает роутеру. (см. рис. 5). Это значит, что ваш трафик станет полностью прозрачным для него, и вы можете лишиться важнейшей информации
MAC-флуд

MAC-флуд – это техника отравления ARP-кэша, использующая сетевые свитчи. Когда у свитча переполняется адресная память, он переходит в режим хаба. В этом режиме свитч слишком занят безопасностью портов и попросту транслирует сетевой трафик на каждый компьютер в сети. Заполняя ARP-таблицу свитча килобайтами ARP-ответов, хакер может перегрузить множество свитчей и получить потенциальную возможность перехвата трафика с помощью прослушивания сетевого трафика

Да, это все достаточно пугающе. Подмена ARP-кэша – по сути примитивный эксплойт, который, тем не менее, очень эффективен. Успокаивает то, что ARP-уязвимостью можно воспользоваться при наличии физического доступа к вашей сети или полного контроля над машиной в локальной сети для отравления ARP-кэша. Эта атака не может быть произведена удаленно. Хорошие администраторы должны предохранять сеть от отравления ARP. Так как это происходит из-за уязвимостей в самом протоколе TCP/IP, вы не сможете устранить опасность полностью. Но минимизировать риски, последовав нижеследующим советам, вам вполне по силам.
Для малых сетей

Если вы управляете небольшой сетью, то можете попробовать использовать статические IP-адреса и статические же ARP-таблицы. Используя команды «ipconfig /all» в Windows или «ifconfig» в 'NIX, вы можете изучить IP- и MAC-адреса каждого устройства вашей сети. Используя команду «arp -s», вы можете добавить статические ARP-данные для всех известных устройств. Вы можете также просто создать скрипт, добавляющие строки со статическими данными каждый раз при загрузке вашего компьютера. Однако статическими ARP-адресами сложно манипулировать в больших сетяхПричина в том, что вы должны менять скрипт с ARP-таблицей каждый раз, когда добавляете новое устройство в сеть (будь то компьютер или принтер), причем на каждом компьютере.

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

Если вы управляете большой сетью, исследуйте функцию Port Security (Безопасность портов) в вашем роутере. Эта функция позволяет ассоциировать только один MAC-адрес на один физический порт в вашей сети, что не дает хакеру возможность поменять или размножить MAC-адреса на своем компьютере. Это также может предотвратить ARP-атаки типа man-in-the-middle.
В качестве резюме

Наилучшая защита от ARP-отравлений – это понимание данного типа атак и наблюдение за сетью. Настоятельно рекомендуем вам использовать специальную утилиту для ARP-мониторинга, например, ARPwatch или любую другую И это будет наилучшей защитой.
–Автор статьи: Corey Nachreiner, сертифицированный профессионал систем информационной безопасности (CISSP)

Возврат к списку

 

Защита банкоматов

Имя* Компания* Email* Телефон

* - Поля, обязательные для заполнения

Компрометация приложений для смартфонов

Имя* Компания* Email* Телефон

* - Поля, обязательные для заполнения

Семинар ATAR

Фамилия* Имя* Должность* Компания* Email* Телефон* Защита от автоматического заполнения Введите символы с картинки*

* - Поля, обязательные для заполнения

Заполните поля

Защита от автоматических сообщений
CAPTCHA
Введите слово на картинке*

Заполните поля

Защита от автоматических сообщений
CAPTCHA
Введите слово на картинке*