Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
493.doc
Скачиваний:
18
Добавлен:
30.04.2022
Размер:
8.68 Mб
Скачать

4.2.1.3 Методы обнаружения

Обнаружение атак данного вида осуществляется различными программными средствами. Например, программной arpwatch. Программа arpwatch отслеживает всю ARP-активность на указанных интерфейсах. Когда она замечает аномалии, например, изменение MAC-адреса при сохранении IP-адреса, или наоборот, она сообщает об этом в syslog и отправляется уведомление об этом администратору сети для принятия решения. Для прослушивания ARP-трафика на локальном ethernet-интерфейсе используется библиотека pcap.

Пример syslog:

Jun 21 08:37:08 s_all@linux2 arpwatch: new station 192.168.15.200 0:a:1:d4:d1:e3 eth0

Jun 21 08:37:08 s_all@linux2 arpwatch: new station 192.168.15.201 0:4:75:75:46:b1 eth0

Jun 21 08:37:09 s_all@linux2 arpwatch: new station 192.168.15.254 0:a:1:d4:d1:39 eth0

Jun 21 08:37:09 s_all@linux2 arpwatch: changed ethernet address 192.168.15.254 0:a:1:d4:d1:e3 (0:a:1:d4:d1:39) eth0

Jun 21 08:37:11 s_all@linux2 arpwatch: ethernet mismatch 192.168.15.254 0:a:1:d4:d1:e3 (0:a:1:d4:d1:39) eth0

Jun 21 08:37:12 s_all@linux2 arpwatch: ethernet mismatch 192.168.15.254 0:a:1:d4:d1:e3 (0:a:1:d4:d1:39) eth0

Jun 21 08:37:13 s_all@linux2 arpwatch: ethernet mismatch 192.168.15.254 0:a:1:d4:d1:e3 (0:a:1:d4:d1:39) eth0

Строка

Jun 21 08:37:09 s_all@linux2 arpwatch: changed ethernet address 192.168.15.254 0:a:1:d4:d1:e3 (0:a:1:d4:d1:39) eth0

сообщает о том, что узел 192.168.15.254 изменил MAC-адрес.

Возможно, это означает, что против узла, на котором запущен arpwatch выполняется ARP-spoofing с целью перехвата трафика, которым он обменивается с узлом 192.168.15.254.

Существуют также аналогичные программы для Windows например XArp. Принцип работы такой же, как и у arpwatch.

Обнаружение узла, выполняющего ARP-spoofing. Если коммутатор управляемый, можно определить, на каком из его портов работает узел, имеющий определённый MAC-адрес.

Например, это можно сделать с помощью скрипта mac2port. Скрипт связывается с коммутатором по SNMP и опрашивает его таблицу соответствия MAC-адресов портам. Полученная информация выдаётся в удобном для поиска виде на стандартный поток вывода. Для упрощения использования скрипт выводит MAC-адреса в таком же формате, как это делает arpwatch.

Условия для использования скрипта:

  1. скрипт должен быть размещён в каталоге /usr/local/bin, или другом каталоге указанном в PATH;

  2. скрипт должен быть исполняемым (chown +x mac2port) или вызываться с интерпретатором perl;

  3. в теле скрипта должен быть указан IP-адрес коммутатора и его SNMP RO community;

  4. коммутатор должен поддерживать SNMP версии 2;

Пример использования скрипта:

%# ./mac2port

0:4:76:a1:ef:bb -> 1

0:a:1:d4:d1:e3 -> 2

0:15:60:79:8e:c0 -> 0

0:4:75:75:46:b1 -> 3

0:a:1:d4:d1:39 -> 44

Если ранее с помощью arpwatch была зафиксирована атака:

Jun 21 08:37:09 s_all@linux2/192.168.15.201 arpwatch: changed ethernet address 192.168.15.254 0:a:1:d4:d1:e3 (0:a:1:d4:d1:39) eth0

можно воспользоваться скриптом, и определить с какого порта коммутатора она производилась (при этом не имеет значения, истинный ли это MAC-адрес сетевой карты атакующего или он был изменён):

%# mac=$(cat /var/log/daemon.log | grep 'changed ethernet address' | awk '{print $10}')

%# ./mac2port | grep $mac

0:a:1:d4:d1:e3 -> 2

Важно чтобы определение выполнялось быстро, пока информация об атакующем компьютере ещё хранится в памяти коммутатора [8].

Для этого имеет смысл вызывать скрипт поиска автоматически при обнаружении соответствующей записи в системном журнале. Анализ журнала можно выполнять, например, такими средствами как swatch или syslog-ng.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]