Что такое MITM-атака и как от нее защититься?

Ответ

MITM (Man-in-the-Middle), или атака «человек посередине», — это вид кибератаки, при которой злоумышленник незаметно перехватывает и, возможно, изменяет коммуникацию между двумя сторонами, выдавая себя за каждую из них. Цель — получить конфиденциальные данные (логины, пароли, платежные данные) или манипулировать информацией.

Пример сценария:

Представьте, что пользователь подключается к фальшивой точке доступа Wi-Fi, созданной злоумышленником. Весь трафик пользователя проходит через устройство атакующего, который может читать, изменять или блокировать передаваемые данные.

Как защититься в Python (на примере requests):

При работе с сетевыми запросами в Python крайне важно использовать HTTPS и проверять SSL/TLS-сертификаты. Библиотека requests делает это по умолчанию.

import requests

# Запрос к защищенному ресурсу с проверкой SSL-сертификата (по умолчанию True)
try:
    response = requests.get('https://example.com', verify=True)
    response.raise_for_status() # Вызовет исключение для ошибок HTTP
    print("Соединение безопасно, данные получены.")
except requests.exceptions.SSLError as e:
    print(f"Ошибка SSL/TLS: {e}. Возможно, MITM-атака или некорректный сертификат.")
except requests.exceptions.RequestException as e:
    print(f"Ошибка запроса: {e}")

Параметр verify=True указывает requests проверять подлинность SSL-сертификата сервера. Если сертификат недействителен или подделан (что может быть признаком MITM), будет выброшено исключение requests.exceptions.SSLError.

Общие меры защиты:

  • Используйте HTTPS: Всегда предпочитайте HTTPS для веб-сайтов и API, особенно при передаче конфиденциальных данных.
  • Проверяйте SSL/TLS-сертификаты: Убедитесь, что ваше программное обеспечение или браузер корректно проверяют сертификаты.
  • Избегайте публичных Wi-Fi: По возможности не используйте общедоступные Wi-Fi сети для конфиденциальных операций. Если необходимо, используйте VPN.
  • Используйте VPN: Виртуальные частные сети (VPN) шифруют ваш трафик, затрудняя его перехват и анализ злоумышленником.
  • Обновляйте ПО: Регулярно обновляйте операционные системы, браузеры и приложения, чтобы получать последние исправления безопасности.