226.92K
Категория: ИнтернетИнтернет

Лекция №20 Протоколы сетевого уровня

1.

Лекция №20
Тема: Протоколы сетевого уровня IP, ICMP, ARP. Основные атаки и
методы защиты.
Цель:
сформировать
системное
понимание
принципов
работы
ключевых протоколов сетевого уровня (IP, ICMP, ARP), проанализировать
присущие им уязвимости и на этой основе изучить основные виды сетевых
атак, а также современные методы и средства защиты.
Задачи:
1.
Изучить назначение, структуру и механизмы работы протоколов
IP, ICMP и ARP.
2.
Проанализировать слабые места и уязвимости в работе данных
протоколов.
3.
Освоить принципы проведения атак: IP spoofing, Smurf-атака,
ARP Poisoning.
4.
Сформировать знания о методах и средствах обнаружения,
предотвращения и защиты от рассмотренных атак.
1. ПРОТОКОЛЫ СЕТЕВОГО УРОВНЯ
1.1. Протокол IP (Internet Protocol)
Протокол IP является фундаментальным протоколом стека TCP/IP,
который
обеспечивает
функционирование
Интернета.
Его
основное
назначение – обеспечение логической адресации узлов и маршрутизации
пакетов данных через составную сеть, состоящую из множества отдельных
сетей. IP действует по принципу best-effort delivery («доставка по
возможности»). Это означает, что он делает все возможное для доставки
пакета, но не дает никаких гарантий: пакет может быть потерян,
продублирован, доставлен в неправильном порядке. Задачи по обеспечению
надежности (установление соединения, подтверждение доставки, контроль
целостности) возлагаются на протоколы более высоких уровней, такие как
TCP.

2.

Каждому сетевому интерфейсу присваивается уникальный (в рамках
своей сети) логический адрес – IP-адрес. В версии IPv4 это 32-битное число,
записываемое в виде четырех десятичных чисел, разделенных точками
(например,
192.168.1.1).
Адрес
состоит
из
двух
частей:
сетевой
(идентифицирует всю сеть) и хостовой (идентифицирует конкретное
устройство в этой сети). Маска подсети определяет границу между этими
частями.
Структура IP-пакета:
Данные передаются в виде пакетов, которые состоят из заголовка и поля
данных. Ключевые поля заголовка:
o
Source IP Address (IP-адрес отправителя): Указывает, от кого
отправлен пакет.
o
Destination IP Address (IP-адрес получателя): Указывает, кому
предназначен пакет.
o
TTL (Time to Live - "Время жизни"): Счетчик, который
уменьшается на единицу при прохождении каждого маршрутизатора. Когда
TTL достигает нуля, пакет уничтожается. Это предотвращает бесконечную
циркуляцию пакетов в сети из-за ошибок маршрутизации.
o
Protocol: Идентифицирует протокол верхнего уровня (например,
TCP, UDP или ICMP), данные которого инкапсулированы в пакет.
Протокол IP был разработан в эпоху, когда вопросы безопасности не
стояли на первом месте. В его основе лежит доверие. Поле Source IP Address
считается достоверным. Не существует встроенных механизмов для проверки
подлинности отправителя, что позволяет злоумышленнику легко подделать
исходный IP-адрес. Эта фундаментальная уязвимость лежит в основе
множества сетевых атак.
1.2. Протокол ICMP (Internet Control Message Protocol)
ICMP
является
вспомогательным
протоколом
сетевого
уровня,
используемым для обмена служебными сообщениями и сообщениями об
ошибках между сетевыми устройствами (маршрутизаторами и хостами).

3.

Важно понимать, что ICMP не используется для передачи данных приложений.
Его задача – сообщать о проблемах, возникших при обработке IP-пакетов.
Основные типы и функции сообщений ICMP:
o
Echo Request и Echo Reply (Эхо-запрос и Эхо-ответ): Эти
сообщения лежат в основе известной утилиты ping. Ping используется для
проверки доступности и времени отклика удаленного узла. Узел-инициатор
отправляет Echo Request, а целевой узел, если доступен, должен ответить Echo
Reply.
o
Destination Unreachable (Адресат недостижим): Отправляется,
когда маршрутизатор или хост не может доставить пакет до конечного пункта
назначения (например, сеть недоступна, хост выключен, порт закрыт).
o
Time Exceeded (Время истекло): Генерируется, когда пакет
уничтожается из-за обнуления TTL. Это сообщение активно используется
утилитой tracert (или traceroute) для построения карты маршрута следования
пакета.
Поскольку
ICMP-пакеты
являются
неотъемлемой
частью
функционирования сети, они обычно пропускаются через межсетевые экраны.
Однако, как и IP, протокол ICMP не имеет механизмов аутентификации.
Злоумышленник может генерировать поддельные ICMP-сообщения, чтобы,
например, вызвать разрыв TCP-соединения (отправив сообщение об ошибке)
или использовать служебные запросы для организации атак на доступность.
1.3. Протокол ARP (Address Resolution Protocol)
Протокол ARP работает на стыке сетевого и канального уровня и
является критически важным для функционирования любой локальной сети
(Ethernet). Его задача – установить соответствие между логическим IPадресом и физическим MAC-адресом устройства в рамках одного
широковещательного домена (L2 сегмента). MAC-адрес необходим для
финальной доставки кадра данных на конкретный сетевой адаптер.
Процесс разрешения адреса состоит из двух этапов:

4.

1.
ARP-запрос (ARP Request): Допустим, узел A (IP 192.168.1.10)
хочет отправить данные узлу B (IP 192.168.1.20), но не знает его MAC-адрес.
Узел A формирует ARP-запрос: "Какой MAC-адрес у узла с IP 192.168.1.20?".
Этот
запрос
отправляется
на
широковещательный
MAC-адрес
(FF:FF:FF:FF:FF:FF), что означает, что его получат все узлы в локальной
сети.
2.
ARP-ответ (ARP Reply): Все узлы получают широковещательный
запрос. Узел, чей IP-адрес совпал с искомым (узел B), отправляет обратно
unicast ARP-ответ напрямую узлу A: "Узел с IP 192.168.1.20 имеет MAC-адрес
BB:BB:BB:BB:BB:BB". Узел A заносит полученную пару IP-MAC в свою
ARP-таблицу (кэш ARP) для последующего использования.
Основная проблема протокола ARP – его безусловная доверчивость.
Большинство операционных систем автоматически обновляют свою ARPтаблицу при получении ARP-ответа, даже если они не отправляли
соответствующий запрос. Более того, в ARP нет механизмов для проверки
подлинности отправителя ответа. Любой узел в сети может отправить ARPответ, утверждая, что он является владельцем любого IP-адреса, и другие узлы,
как правило, примут эту информацию на веру. Эта уязвимость является
основой для атаки ARP Poisoning.
2. ОСНОВНЫЕ АТАКИ НА СЕТЕВОМ УРОВНЕ
2.1. IP Spoofing (Подмена IP-адреса)
Атака IP Spoofing заключается в создании IP-пакетов, в которых поле
исходного адреса (Source IP Address) сознательно подменено. Атакующий
указывает в качестве отправителя не свой реальный IP, а адрес доверенного
узла, несуществующий или произвольный адрес.
Цели и сценарии использования IP Spoofing:
o
Обход систем аутентификации: В прошлом некоторые сетевые
службы (например, rsh, rlogin) использовали списки контроля доступа на
основе IP-адресов. Подменив свой IP на адрес из "белого списка",
злоумышленник мог получить несанкционированный доступ.

5.

o
Проведение DoS-атак: При организации атаки на отказ в
обслуживании злоумышленник часто подменяет исходный IP, чтобы скрыть
истинный источник атаки и затруднить ее отражение. Жертва видит поток
пакетов с тысяч поддельных адресов, но не может идентифицировать
атакующую сеть.
o
Атака
"слепой"
подделки
(Blind
Session
Hijacking):
Атакующий, используя spoofing, может попытаться предугадать sequence
numbers в TCP-сегментах и "встроиться" в уже установленное соединение
между двумя другими узлами, чтобы внедрить в него свои команды. Это
сложная атака, так как атакующий не видит ответы от жертвы.
2.2. Smurf-атака (разновидность распределенной DoS-атаки)
Smurf-атака – это яркий пример того, как комбинация уязвимостей
разных протоколов (IP spoofing и широковещательные запросы ICMP)
приводит к мощной атаке на доступность.
Детальный механизм атаки:
1.
обычно
Злоумышленник выбирает сеть-усилитель (amplifier network) –
это
сеть
с
большим
количеством
активных
узлов,
где
широковещательные запросы разрешены.
2.
Атакующий отправляет ICMP Echo Request (ping-запрос) на
широковещательный
адрес
выбранной
сети-усилителя
(например,
192.168.1.255). Ключевой момент: в пакете он подделывает поле Source IP
Address, указывая там IP-адрес своей жертвы.
3.
Маршрутизатор в сети-усилителе рассылает этот ping-запрос всем
узлам в своей широковещательной области. Каждый из этих узлов, получив
запрос, отправляет ICMP Echo Reply на тот адрес, который указан как
источник, то есть прямо на сервер-жертву.
4.
Один небольшой пакет от злоумышленника порождает лавину
ответов (количество ответов равно количеству откликнувшихся узлов в сетиусилителе), которые обрушиваются на канал связи и ресурсы жертвы, вызывая
отказ в обслуживании.

6.

2.3. ARP Poisoning (Отравление ARP-таблицы)
Эта атака, также известная как ARP Spoofing, является одной из самых
распространенных и опасных в локальных сетях.
Детальный механизм атаки:
1.
Атакующий (его IP 192.168.1.30, MAC CC:CC:CC:CC:CC:CC)
решает перехватить трафик между жертвой (Узел A: 192.168.1.10) и шлюзом
по умолчанию (192.168.1.1).
2.
Атакующий отправляет поддельный ARP-ответ узлу A, в
котором утверждается, что IP-адрес шлюза (192.168.1.1) теперь соответствует
MAC-адресу атакующего (CC:CC:CC:CC:CC:CC). Узел A доверчиво обновляет
свою ARP-таблицу.
3.
Одновременно атакующий может отправить поддельный ARP-
ответ шлюзу, утверждая, что IP узла A (192.168.1.10) также соответствует его
MAC-адресу.
4.
В результате создается асимметричный или симметричный канал
перехвата. Весь трафик от Узла A к шлюзу и обратно начинает проходить через
компьютер атакующего.
Последствия успешной ARP-атаки:
o
Атака "человек посередине" (Man-in-the-Middle, MitM):
Атакующий становится невидимым посредником в обмене данными. Он
может пассивно перехватывать и анализировать весь трафик (логины, пароли,
переписку), а также активно модифицировать его на лету.
o
Перехват трафика (Sniffing) в коммутируемых сетях: В
обычном режиме коммутатор отправляет кадры только на порт получателя.
ARP Poisoning позволяет обойти эту изоляцию, "заставив" коммутатор
отправлять трафик жертвы на порт атакующего.
o
DoS-атака: Направив трафик на несуществующий MAC-адрес,
атакующий может нарушить сетевое соединение жертвы, изолировав ее от
сети.
3. МЕТОДЫ ЗАЩИТЫ

7.

3.1. Защита от IP Spoofing:
Входная фильтрация (Ingress Filtering): Это основная и наиболее
эффективная
мера,
которую
должны
применять
все
провайдеры
и
администраторы периметра сетей. Принцип заключается в том, что
маршрутизатор на границе сети должен проверять входящие пакеты извне и
блокировать те из них, у которых исходный IP-адрес принадлежит
внутренней защищаемой сети. Такой пакет не может legitimately прийти извне,
значит, его адрес подделан. Эта практика описана в документе RFC 2827 (BCP
38).
Выходная фильтрация (Egress Filtering): Аналогично, следует
фильтровать исходящие пакеты, не позволяя внутренним узлам отправлять
пакеты с исходными IP-адресами, которые не принадлежат внутренней сети.
Это предотвращает использование вашей сети для исходящих spoofing-атак.
Внедрение протокола IPsec обеспечивает аутентификацию и
целостность на сетевом уровне, делая бессмысленной подмену адресов в
рамках защищенного туннеля. Переход на IPv6, где поддержка IPsec является
обязательной, также усиливает безопасность.
3.2. Защита от Smurf-атак и злоупотребления ICMP:
Запрет на обработку направленных широковещательных
запросов: Самая главная мера – отключить на всех маршрутизаторах и
конечных узлах возможность отвечать на ICMP-запросы, отправленные на
широковещательный адрес. В современных операционных системах и сетевом
оборудовании эта настройка обычно включена по умолчанию.
Фильтрация и ограничение скорости ICMP-трафика: На
межсетевых экранах периметра можно установить строгие правила для ICMPтрафика. Например, разрешить только определенные типы сообщений (Echo
Reply, Destination Unreachable) и применить rate limiting (ограничение
скорости) для них, чтобы предотвратить использование канала.

8.


Отключение ненужных служб: На некритичных серверах и узлах
можно полностью отключить ответы на ICMP Echo Request (запретить ping),
чтобы скрыть их от простого обнаружения.
3.3. Защита от ARP Poisoning:
Борьба с этой атакой требует комбинации административных и
технических мер.
Для критически важных устройств, таких как шлюзы по умолчанию,
файрволы и основные серверы, можно вручную прописать статические (static)
записи в ARP-таблицах клиентских компьютеров. Это предотвратит их
динамическое обновление поддельными ответами. Недостаток метода –
крайне низкая масштабируемость и высокие затраты на администрирование в
больших сетях.
Использование возможностей управляемых коммутаторов:
o
DHCP Snooping: Функция, которая позволяет коммутатору
отслеживать DHCP-сообщения и строить доверенную базу соответствий IPMAC-порт для всех узлов, получивших адрес через DHCP.
o
Dynamic ARP Inspection (DAI): Функция, которая использует базу
данных, созданную DHCP Snooping. DAI проверяет все ARP-пакеты в сети,
проходящие через коммутатор. Если приходит ARP-пакет, чье соответствие IPMAC не совпадает с доверенной базой данных, коммутатор блокирует этот
пакет и отбрасывает его.
Использование специализированных утилит, таких как ARPwatch,
которые постоянно мониторят ARP-трафик в сети и немедленно оповещают
администратора о любых подозрительных или двойных ARP-ответах (когда
один IP-адрес внезапно ассоциируется с разными MAC-адресами).
Самый надежный способ защиты данных, даже если перехват
произошел. Использование VPN (IPsec, OpenVPN), протоколов HTTPS, SSH,
TLS для прикладных служб гарантирует, что перехваченная информация будет
бесполезна для атакующего, так как он не сможет ее расшифровать.
ЗАКЛЮЧЕНИЕ

9.

Протоколы IP, ICMP и ARP, являясь столпами современной сетевой
инфраструктуры, были спроектированы с расчетом на доверительную среду,
что привело к наличию в них фундаментальных уязвимостей.
Понимание механизмов работы этих протоколов позволяет не только
эксплуатировать сеть, но и прогнозировать возможные векторы атак. Атаки IP
spoofing, Smurf и ARP Poisoning наглядно демонстрируют, как уязвимости
протоколов превращаются в реальные угрозы.
Защита информационных систем не может основываться на доверии.
Она требует активных мер: корректной и безопасной настройки сетевого
оборудования (фильтрация, DAI, DHCP Snooping), постоянного мониторинга
сетевой
активности
и
повсеместного
конфиденциальных данных.
применения
шифрования
для
English     Русский Правила