Распространённые сетевые атаки: DoS, подмена и MITM
Научитесь распознавать атаки типа «отказ в обслуживании», подмену IP/ARP и атаки «человек посередине», а также разберитесь в сетевых средствах их обнаружения и предотвращения.
«Распространённые сетевые атаки: DoS, подмена и MITM» — бесплатный урок Security+ Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Security+ Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Security+ Academy содержит 4 уроков всего.
Основы атак типа «отказ в обслуживании»
Атака типа «отказ в обслуживании» направлена на то, чтобы сделать систему, службу или сеть недоступной для законных пользователей: для этого ее перегружают трафиком или используют уязвимость, вызывающую сбой. Такие атаки направлены на столп доступности триады CIA. Атаку из одного источника относительно легко заблокировать, ограничив скорость для исходного IP-адреса; однако во многих современных атаках одновременно используются несколько источников, что значительно усложняет противодействие.
Распределенный отказ в обслуживании (DDoS)
DDoS-атака использует тысячи или миллионы скомпрометированных устройств (ботнет), которые одновременно направляют на цель поток трафика с множества разных адресов источника. Поэтому блокировка по IP-адресу источника становится непрактичной. DDoS-атаки делятся на объемные (перегружают пропускную способность, например UDP-флуд), протокольные (исчерпывают ресурсы с отслеживанием состояния, например SYN-флуд) и атаки на уровне приложений (исчерпывают возможности сервера с помощью похожих на настоящие HTTP-запросов, например Slowloris). Службы противодействия, такие как Cloudflare, Akamai и AWS Shield, поглощают объемные атаки до того, как они достигают исходного сервера.
# Types of DDoS attacks:
# Volumetric: UDP flood, ICMP flood, DNS amplification
# Protocol: SYN flood, Ping of Death, Smurf attack
# Application: HTTP flood, Slowloris, R.U.D.Y
# SYN flood defense: SYN cookies
# sysctl -w net.ipv4.tcp_syncookies=1Атаки с усилением и отражением
Атаки с усилением используют протоколы, формирующие ответы, значительно превышающие по размеру исходный запрос. При усилении DNS небольшой UDP-запрос порождает ответ, который может быть до 70 раз больше, причем весь этот ответ направляется жертве. Усиление NTP monlist может достигать коэффициента 4000. Злоумышленник подменяет IP-адрес жертвы в качестве адреса источника, чтобы тысячи отражателей отправляли свои большие ответы жертве — поэтому такую атаку также называют атакой с отражением. Защита включает BCP38 (проверку адреса источника на уровне ISP) и отключение служб, допускающих усиление.
# DNS amplification example:
# Attacker sends 40-byte query for 'ANY example.com'
# Spoofed source: victim's IP (1.2.3.4)
# Open DNS resolver replies with 3000-byte response to victim
# With 1000 reflectors: 40KB request -> 3GB response to victim
# Disable NTP monlist (amplification mitigation):
# ntpdc -c 'disable monitor'Подмена IP-адреса
Подмена IP-адреса — это создание пакетов с поддельным IP-адресом источника. Подмена используется в атаках с отражением DoS/DDoS, для обхода списков управления доступом на основе IP и для сокрытия настоящего местоположения злоумышленника. Для отправки поддельных пакетов необходимы привилегии необработанных сокетов. Защита включает входную фильтрацию (BCP38), предписывающую ISP и маршрутизаторам отбрасывать пакеты, поступившие через интерфейс с IP-адресом источника, который не мог законно исходить из этой сети. Межсетевые экраны с отслеживанием состояния также помогают, отклоняя незапрошенные входящие пакеты, не соответствующие установленным сеансам.
# BCP38 ingress filtering on a router:
# If a packet arrives on the Internet-facing interface
# with a source IP from the internal RFC1918 range,
# it is clearly spoofed and should be dropped.
ip access-list extended ANTI-SPOOF
deny ip 10.0.0.0 0.255.255.255 any
deny ip 172.16.0.0 0.15.255.255 any
deny ip 192.168.0.0 0.0.255.255 any
permit ip any anyПодмена ARP (отравление ARP)
Подмена ARP (также называемая отравлением ARP) заключается в отправке незапрошенных ответов ARP, связывающих MAC-адрес злоумышленника с законным IP-адресом. Узлы, получившие поддельное ARP-обновление, изменяют свой кэш ARP и вместо этого отправляют трафик, предназначенный для этого IP-адреса, на MAC-адрес злоумышленника. Это позволяет проводить атаки типа «человек посередине» в локальных сегментах. Инструменты Arpspoof, Ettercap и Bettercap автоматизируют такую атаку. Защита включает Dynamic ARP Inspection (DAI) на управляемых коммутаторах: этот механизм проверяет пакеты ARP по доверенной таблице привязок DHCP snooping.
# Attack: ARP spoof (attacker poisons victim and gateway)
# arpspoof -i eth0 -t 192.168.1.10 192.168.1.1
# Defense: Dynamic ARP Inspection on a Cisco switch
ip arp inspection vlan 10
ip dhcp snooping vlan 10
# Verify DAI:
show ip arp inspection vlan 10Атаки типа «человек посередине» (MitM)
Атака типа «человек посередине» происходит, когда злоумышленник тайно ретранслирует и потенциально изменяет сообщения между двумя сторонами, каждая из которых считает, что взаимодействует непосредственно с другой. Такая атака может быть выполнена с помощью подмены ARP, подмены DNS, несанкционированных точек доступа Wi-Fi или перехвата маршрутов BGP. Заняв промежуточное положение, злоумышленник может подслушивать соединение, внедрять содержимое, снимать шифрование (SSL stripping) или повторно использовать учетные данные. Основная защита — взаимная аутентификация и шифрование: TLS с действительными сертификатами предотвращает большинство атак типа «человек посередине», поскольку клиент может проверить личность сервера.
# SSL stripping attack flow:
# 1. Victim requests http://bank.com
# 2. Attacker intercepts, upgrades to HTTPS with bank.com
# 3. Attacker maintains HTTP connection with victim
# 4. Victim sees HTTP; attacker sees plaintext credentials
# Defense: HTTP Strict Transport Security (HSTS)
# Strict-Transport-Security: max-age=31536000; includeSubDomainsПодмена DNS и отравление кэша
Отравление кэша DNS внедряет вредоносные записи DNS в кэш преобразователя, чтобы законные доменные имена разрешались в IP-адреса, контролируемые злоумышленником. Классическая атака Каминки (2008 год) использовала предсказуемые идентификаторы транзакций для массового отравления преобразователей. Если преобразователь пользователя отравлен, его перенаправляют на поддельные сайты, которые могут украсть учетные данные или распространить вредоносное ПО. DNSSEC (расширения безопасности DNS) снабжает записи DNS цифровой подписью, чтобы преобразователи могли проверить их подлинность, а DNS over HTTPS (DoH) предотвращает перехват запросов на пути передачи.
# Check if a domain has DNSSEC enabled:
dig +dnssec example.com
# Valid DNSSEC response includes RRSIG records
# If DNSSEC is enabled and signatures are invalid,
# a validating resolver will return SERVFAIL (rejects poisoned records)Атакующие на пути и вне пути
Атакующий на пути (в канале) занимает положение в сети, позволяющее видеть и изменять трафик во время передачи: физически или логически он находится между двумя взаимодействующими конечными точками. Подмена ARP создает положение на пути в локальном сегменте. Атакующий вне пути не может видеть трафик, но может предпринимать слепые атаки, например внедрять поддельные пакеты TCP RST, чтобы разрывать соединения, используя угаданные порядковые номера. TLS снижает риски в обоих случаях: даже если трафик перехвачен, его нельзя расшифровать или подделать без закрытого ключа.
Перехват маршрутов BGP
Перехват маршрутов BGP (протокола граничного шлюза) происходит, когда вредоносная или неправильно настроенная автономная система объявляет более специфичные IP-префиксы, чтобы привлечь трафик, предназначенный другой организации. Это может перенаправить общедоступный интернет-трафик через сеть злоумышленника. Перехват маршрутов BGP использовался для перехвата операций с криптовалютой, кражи электронной почты и перенаправления банковского трафика. Защита включает RPKI (инфраструктуру открытых ключей ресурсов), которая криптографически проверяет разрешения на происхождение маршрутов, а также мониторинг объявлений BGP на предмет неожиданных изменений.
Атака SYN-флуд и защита от нее
SYN-флуд использует уязвимость трехэтапного рукопожатия TCP: отправляется множество SYN-пакетов с поддельными IP-адресами источника, из-за чего сервер выделяет состояние для полуоткрытых соединений и ждет ACK, которые никогда не поступят. Таблица соединений сервера заполняется, и он не может принимать новые законные соединения. Защита включает SYN cookies (сервер кодирует состояние в порядковом номере SYN-ACK и выделяет ресурсы только после получения ACK), уменьшение тайм-аута SYN и ограничение скорости SYN-пакетов для каждого адреса источника.
# Enable SYN cookies on Linux:
sysctl -w net.ipv4.tcp_syncookies=1
# Reduce SYN-RECEIVED timeout:
sysctl -w net.ipv4.tcp_synack_retries=2
# Rate-limit SYN packets with iptables:
iptables -A INPUT -p tcp --syn -m limit --limit 10/s -j ACCEPT
iptables -A INPUT -p tcp --syn -j DROPОбнаружение сетевых атак и реагирование на них
Для обнаружения DoS-, спуфинговых атак и атак MitM требуется видимость на нескольких участках сети. Данные NetFlow/IPFIX показывают внезапные всплески трафика из множества источников. Правила корреляции SIEM могут выдавать предупреждения об аномальной активности ARP (один MAC заявляет множество IP) или ответах DNS с подозрительно короткими значениями TTL. Сигнатуры IDS/IPS обнаруживают SYN-флуды и инструменты для ARP-спуфинга. Меры реагирования включают ограничение скорости на пограничных маршрутизаторах, активацию сервисов очистки от DDoS-трафика, изоляцию затронутых сегментов, а также повторное включение динамической проверки ARP или очистку отравленных кэшей.
# Detect ARP poisoning:
arp -n | awk '{print $3}' | sort | uniq -d
# Duplicate MACs for different IPs = possible ARP spoofing
# Monitor for SYN flood:
netstat -n | awk '/SYN_RECV/ {count++} END {print count}'
# Check NetFlow for DDoS:
# Look for high packet-per-second rates from diverse source IPsБыстрая проверка
Проверьте своё понимание концепций CompTIA Security+ (SY0-701), рассмотренных в этом уроке.
Итоги урока
В этом уроке Вы узнали, что DDoS-атаки используют ботнеты для перегрузки целей из множества источников и подразделяются на объёмные атаки, атаки на протоколы и атаки на уровень приложений; ARP-спуфинг отравляет кэши локальной сети, чтобы обеспечить атаки MitM, и предотвращается с помощью динамической проверки ARP; а SYN-флуды исчерпывают состояние подключений сервера и блокируются с помощью SYN-cookie и ограничения скорости. Далее мы рассмотрим протоколы безопасности Wi-Fi: от WEP до WPA3.
Часто задаваемые вопросы
Урок «Распространённые сетевые атаки: DoS, подмена и MITM» бесплатный?
Да — полный текст урока «Распространённые сетевые атаки: DoS, подмена и MITM» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Security+ Academy, подпишись на CoddyKit PRO. Курс Security+ Academy содержит 4 уроков всего.
Чему я научусь в уроке «Распространённые сетевые атаки: DoS, подмена и MITM»?
Научитесь распознавать атаки типа «отказ в обслуживании», подмену IP/ARP и атаки «человек посередине», а также разберитесь в сетевых средствах их обнаружения и предотвращения. Ты практикуешь Security+ Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Security+ Academy?
Предыдущий опыт не требуется. Security+ Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Распространённые сетевые атаки: DoS, подмена и MITM»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Security+ Academy?
Да. Каждый урок Security+ Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Модель TCP/IP и распространённые порты
- Межсетевые экраны: фильтрация пакетов и системы нового поколения
- Сегментация сети и VLAN
- Распространённые сетевые атаки: DoS, подмена и MITM