Глоссарий
Что такое man-in-the-middle атака
Атака, при которой кто-то вставляет себя между двумя сторонами, читая или модифицируя трафик так, что ни одна сторона этого не замечает.
Man-in-the-middle (MITM) атака — когда атакующий позиционирует себя между двумя сторонами, общающимися по сети, читая или модифицируя трафик в обоих направлениях так, что ни одна сторона не замечает, что они говорят не друг с другом напрямую.
Картинка: ты подключаешься к сайту банка. Атакующий скомпрометировал сеть посередине. Они перехватывают твоё соединение, предъявляют свой собственный сертификат (притворяясь банком) и пересылают твой трафик настоящему банку — собирая пароли или модифицируя транзакции по пути.
Если TLS работает правильно, сертификат атакующего не проходит валидацию, и браузер тебя предупреждает. Если TLS работает неправильно, ты не замечаешь.
Где случаются MITM-атаки
Несколько реалистичных сценариев:
- Публичный Wi-Fi. Гостиничные сети, кафе Wi-Fi, аэропорты. Атакующим может быть оператор сети или любой другой в той же сети. См. VPN для публичного Wi-Fi, почему это важно.
- Скомпрометированные роутеры. Домашние роутеры со стандартными паролями, ISP-роутеры с бэкдорами. Атакующий контролирует твой gateway; всё проходит через него.
- State-level противники. Некоторые страны оперируют MITM в масштабе через фейковые certificate authorities, выпущенные принуждёнными CA. Реже с тех пор, как Certificate Transparency сделал misissuance видимым, но не исчезло.
- Скомпрометированные CA. Ключ intermediate CA крадут; атакующие выпускают валидно выглядящие сертификаты для произвольных доменов. Случалось (DigiNotar, Comodo). Браузеры в итоге перестают доверять затронутому CA.
Как TLS защищает от MITM
TLS проверяет идентичность сервера через сертификаты, подписанные доверенными CA. Когда подключаешься, сервер предъявляет сертификат. Браузер проверяет: подписан ли этот сертификат CA, которому я доверяю? Совпадает ли host? Не отозван ли?
Если что-то падает, браузер отказывается соединяться или предупреждает. Если всё проходит, зашифрованная сессия продолжается.
Чтобы это защищало от MITM, должны выполняться три условия:
- Система CA не скомпрометирована. Жулический CA может выпустить валидные сертификаты на любой домен.
- Твой trust store чистый. Если атакующий установил свой сертификат CA на твою машину (корпоративные сети, malware), он может выпускать валидные сертификаты, которым ты будешь доверять.
- Ты обращаешь внимание на предупреждение. Браузеры предупреждают об ошибках сертификата; пользователи всё равно нажимают "Продолжить".
Certificate pinning: более сильная защита
Для high-value соединений обычной CA-валидации недостаточно. Certificate pinning жёстко прописывает, какой конкретный сертификат (или CA) должен ожидать клиент. Если сертификат не соответствует pin, соединение падает — даже если он подписан "доверенным" CA.
Fexyn пинит свой intermediate CA в десктоп-клиенте. Клиент отказывается от любого VPN-соединения, где сертификат сервера не подписан этим intermediate. Скомпрометированный публичный CA нельзя использовать для MITM-атаки на трафик Fexyn — клиент не доверяет публичным CA для VPN-соединений, только внутреннему PKI Fexyn.
Это одна из причин, по которым MITM-атака против Fexyn требует компрометации именно подписной инфраструктуры Fexyn, а не какого-то случайного CA в интернете.
Что VPN делает и не делает
VPN делает MITM в нижележащей сети практически невозможным. Туннель зашифрован между твоим устройством и сервером VPN; никто на пути между не может MITM-нуть то, что внутри.
VPN не защищает от MITM в назначении — как только трафик выходит из VPN-сервера и идёт в реальную цель, обычный TLS — единственная защита. И VPN не защищает от MITM в источнике — malware на твоём устройстве может MITM-нуть тебя до того, как трафик попадёт в туннель.
Подробнее в обзоре безопасности и руководстве по публичному Wi-Fi.
Связанные термины
Попробуй Fexyn бесплатно 7 дней
Приложение для Windows доступно сейчас в бета-версии. WireGuard, VLESS Reality и OpenVPN — без логов истории просмотров, DNS-запросов и содержимого трафика.
Цены