Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебно-методическое пособие по выполнению лабораторных работ по дисциплине Технологии программной защиты информации в интернете

.pdf
Скачиваний:
1
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
Лабораторная работа №4
«Обнаружение ARP-spoofing атаки»
Цель работы: Изучить методы обнаружения атаки ARP-spoofing.
Теоретическая часть:
ARP-spoofing - техника атаки в Ethernet сетях, позволяющая
перехватывать трафик между хостами. Основана на использовании
протокола ARP и позволяющая перехватывать трафик между узлами,
расположенными в пределах одного широковещательного домена. Протокол
ARP предназначен для преобразования IP-адресов в MAC-адреса. Протокол
ARP является абсолютно незащищённым. Он не обладает никакими
способами проверки подлинности пакетов: как запросов, так и ответов.
Для формирования пакета и отправки его в сеть компьютеру
необходимо знать IP и MAC адреса получателя пакета. IP адрес, как правило,
известен отправителю заранее (либо известно доменное имя получателя,
через которое посредством DNS-сервера несложно получить и IP-адрес). Для
поиска MAC-адреса по известному IP предназначен протокол ARP (Address
Resolution Protocol – протокол разрешения адреса). Работает он следующим
образом:
когда компьютер должен послать пакет по определенному IP-адресу,
он вначале изучает свой ARP-кэш на наличие там искомого соответствия IP -
MAC. Если таковое имеется, то полученный MAC-адрес вставляется в
заголовок исходящего пакета, и пакет отправляется в сеть;
в противном случае в сеть посылается специальный
широковещательный ARP-запрос ("Who has 192.168.0.1?"). Любой
компьютер, опознав в запросе свой IP-адрес, должен ответить его
отправителю и выслать свой MAC-адрес. Тот помещается в ARP-кэш автора
запроса и используется для дальнейшей отправки сетевых пакетов.
Злоумышленник может использовать протокол ARP для того, чтобы
перехватить трафик между двумя компьютерами сети (рисунок 8.1).
21
Рисунок 4.1. Схема проведения атаки ARP-spoofing
Предположим, что злоумышленнику X надо просмотреть трафик,
передающийся с A на B и обратно. Для этого он отправляет на компьютер A
ложный ARP-ответ, содержащий IP адрес компьютера B и якобы
соответствующий ему MAC-адрес злоумышленника X. Аналогичный ARP-
ответ отправляется на B: в нем IP-адресу компьютера А сопоставляется MAC-
адрес злоумышленника X. Протокол ARP не требует аутентификации,
поэтому А и В не могут проверить достоверность входящих данных и сразу
занесут их в свой ARP-кэш. Таким образом, происходит отравление ARP-
кэша узлов А и В, занесение в них неверных, ложных данных. При этом,
послав раз ложный ARP-пакет и подменив ARP-кэш чужого компьютера,
нужно периодически выполнять эту процедуру вновь и вновь, так как любая
операционная система также постоянно обновляет свой ARP-кэш через
определенные промежутки времени. Достаточно это делать раз в 20–40
секунд.
Теперь компьютер А, собираясь отправить данные на В, отправит их на
Х (поскольку реальная доставка данных коммутатором происходит по МАС-
адресу получателя). Злоумышленник Х получает данные, просматривает их и
затем переправляет законному получателю В, чтобы не быть обнаруженным.
Аналогичная ситуация происходит и в обратном направлении: трафик,
22
передающийся от В к А, также может быть изучен злоумышленником.
Особую выгоду для атакующего (и, соответственно, особую опасность)
представляет тот случай, когда один из атакуемых компьютеров является
шлюзом, т.е. служит для подключения локальной сети к Интернет. Тогда
злоумышленнику могут стать доступны имена пользователей и пароли для
доступа к Интернет-ресурсам и другая конфиденциальная информация,
передаваемая в Интернет.
Методы защиты от атаки ARP-spoofing:
Использование статических записей в ARP-кэше. Для этого
необходимо вручную внести в ARP-кэш компьютера записи об IP и
соответствующих им MAC адресах.
Использование интеллектуальных коммутаторов. Выполняется путем
анализа ARP-трафика на коммутаторе, и блокирования им ложных ARP-
запросов.
Использование специальных модулей межсетевых экранов для
обнаружения и блокирования атак (например, в Outpost он называется
«Детектор атак»).
Шифрование трафика.
Программный способ обнаружения (Arpwatch).
В лабораторной работе требуется реализовать программный метод
обнаружения атаки ARP-spoofing.
Порядок выполнения:
1. Установить Ettercap, выполнив команду:
apt-get install ettercap-gtk ettercap-common
2. Запустить Ettercap, выполнив:
ettercap –G
23
3. Выполнить атаку ARP-spoofing (См. Лабораторную работу №7).
4. Запустить Wireshark, отследить атаку ARP-spoofing.
5. Записать ARP-пакеты в файл (рисунок 8.2), выполнив:
tcpdump -n -e -i eth2 (имя интерфейса) arp > file.out
Рисунок 4.2. Пример дампа ARP-пакетов
Задание: Используя полученный дамп, реализуйте программу для
обнаружения атаки ARP-spoofing. Для этого необходимо вычислять
количество ответов (reply) на arp-запрос (request) за интервал времени N.
Согласуйте с преподавателем выбор интервала времени N. Добавьте правила
в iptables для блокировки mac-адреса компьютера, с которого осуществляется
атака.
Содержание отчета:
1. Титульный лист.
2. Задание.
3. Экранные снимки, демонстрирующие атаку ARP-spoofing.
4. Исходный код разработанной программы.
24
5. Список правил iptables для блокировки атаки ARP-spoofing.
6. Ответы на контрольные вопросы.
Контрольные вопросы:
1. Что такое ARP-spoofing?
2. Как осуществляется атака ARP-spoofing?
3. Методы защиты от атаки ARP-spoofing.
4. Назовите достоинства и недостатки методов защиты от атаки ARP-
spoofing.
5. Что содержит ARP-кэш?
6. Структура заголовка ARP.
7. Назначение iptables.
25
Лабораторная работа №5
«Создание защищенной компьютерной сети»
Цель работы: Получение навыков защиты компьютерной сети с помощью
операционной системы Cisco IOS
1. Установка и начальная настройка эмулятора
Так как актуальная версия эмулятора (0.8.7) распространяется и является переносной (Portable) версией, то для немедленного использования программы достаточно скачать её с официального сайта: http://www.gns3.net/download/ и запустить от имени администратора.
Рис. 5.1. Главное окно программы
Для начальной настройки эмулятора необходимо пройти по вкладке «Редактировать - Настройки» (Edit -> Preferences), где во вкладке «Основное (General)» и выбрать язык, а также указать папку проекта и папку для образов. Далее, во вкладке «Dynamips» указать путь для запуска и рабочую папку. Затем, перейдя по вкладке «Образы IOS и гипервизоры», указываем файл образа, платформу и модель для последующей работы с
26
маршрутизатором (рис. 5.2). В данном примере будет рассматриваться модель маршрутизатора Cisco c7200.
Рис. 5.2. Окно «Образы IOS и гипервизоров»
2. Работа с маршрутизатором
Существует множество контекстов конфигурирования при работе с консолью маршрутизатора. Ниже перечислены встречающиеся наиболее часто:
router (config)# - глобальный router (config-if)# - интерфейса router (config-router)# - динамической маршрутизации router (config-line)# - терминальной линии
Команды для перехода в данные контексты будут показаны дальше непосредственно на примере. Выход из контекстов производится командой
exit.
Имена сетевых интерфейсов также могут быть сокращены, например,
вместо «ethernet 1/0» достаточно написать «e 1/0».
27
2.1. Начальная конфигурация маршрутизатора
Для начала необходимо установить имя маршрутизатора. Для этого необходимо перейти из пользовательского режима в режим администратора, открываемый командой enable, а затем в глобальный режим:
router# config terminal (config ter в сокращенном варианте)
router(config)#hostname <имя_маршрутизатора>
Далее необходимо установить пароль администратора (пароль будет требоваться для выполнения команды enable):
lab1(config)#enable secret <пароль>
Отключить обращения в DNS (в том случае, если DNS-сервер не используется в лабораторной сети):
lab1(config)#no ip domain-lookup
Сконфигурировать консоль и виртуальные терминалы: отключить
таймер неактивности, отключить интерпретацию неизвестных команд как указаний открыть сеанс Telnet, включить режим синхронной регистрации:
lab1(config)#line con 0 lab1(config-line)#exec-timeout 0 0 lab1(config-line)#transport preferred none lab1(config-line)#logging synchronous
Обратите внимание, что по умолчанию маршрутизатор выводит
сообщения на консоль поверх ввода оператора, и чтобы продолжить ввод команды, оператор должен помнить, в каком месте его прервали. После указания logging synchronous после каждого выведенного сообщения маршрутизатор будет заново выводить часть команды, уже введенной оператором к моменту появления сообщения, и оператор может легко продолжить ввод.
Виртуальный терминал назначается оператору, подключившемуся к
маршрутизатору по протоколу Telnet. На доступ через виртуальный терминал следует назначить пароль. Это делается командами:
lab1(config-line)#line vty 0 4 lab1(config-line)#login
28
lab1(config-line)#password password
Из соображений безопасности, если маршрутизатор напрямую подключен к публичным сетям, например, Интернет, виртуальные терминалы рекомендуется заблокировать, а доступ к маршрутизатору осуществлять только по консольной линии.
2.2. Настройка интерфейсов
Для перехода в режим настройки необходимого интерфейса следует,
находясь в глобальном режиме, выполнить команду:
lab1(config)#interface Ethernet 1/0
По умолчанию все интерфейсы выключены. Интерфейс включается
командой:
lab1(config-if)#no shutdown
Работоспособность настроек физического и канального уровней можно
проверить командой в контексте администратора:
lab1#show interface <имя_интерфейса>
Сообщения об изменении состояния физического и канального уровней
любого интерфейса выводятся маршрутизатором на консоль. Команда show interface также выводит сведения об используемом протоколе канального уровня, IP-адресе и статистику отправленных и полученных данных и ошибок.
Настройка IP-адреса интерфейса (рис. 5.3) производится командой:
lab1(config-if)#ip address <адрес><маска>
29
Рис. 5.3. Настройка IP-адреса маршрутизатора
Подробная информация о параметрах протокола IP доступна в контексте администратора по команде:
lab1#show ip interface <имя_интерфейса>
Краткая сводная таблица состояний IP-интерфейсов:
lab1#show ip interface brief
2.3. Назначение статических маршрутов
Маршруты, ведущие в сети, к которым маршрутизатор подключен
непосредственно, автоматически добавляются в маршрутную таблицу после конфигурирования интерфейса при условии, что интерфейс работоспособен («line protocol up»). Для назначения дополнительных статических маршрутов в контексте глобальной конфигурации вводится команда (одна строка):\
router(config)#ip route <IP-адрес> <маска> <интерфейс> <IP-адрес следующего_маршрутизатора>
Маршрут активен только тогда, когда следующий маршрутизатор
достижим — то есть существует маршрут в сеть, где находится следующий маршрутизатор. Напротив, статический маршрут будет неактивен, если следующий маршрутизатор не достижим по разным причинам, если, например, его интерфейс находится в нерабочем состоянии.
30
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]