Чтобы выполнить MitM-атаку, атакующему необходимо достичь двух целей. Во-первых, они должны подключиться к системе связи таким образом, чтобы иметь возможность перехватывать трафик по пути к месту назначения. Некоторые из способов, с помощью которых злоумышленник мог бы добиться этого, включают:
- Весь трафик Wi-Fi проходит через точку беспроводного доступа (AP), поэтому злоумышленник, который контролирует беспроводную точку доступа и может обманом заставить пользователей подключиться к ней, может перехватить весь их трафик.
- Протокол разрешения адресов (ARP) используется для сопоставления IP-адресов с MAC-адресами. Используя поддельные ARP-сообщения, злоумышленник сопоставляет IP-адрес цели с их MAC-адресом, в результате чего трафик цели отправляется им вместо этого.
- Система доменных имен (DNS) сопоставляет доменные имена с IP-адресами. Заражение DNS-кэша поддельными DNS-записями может привести к перенаправлению трафика целевого домена на IP-адрес злоумышленника.
Оказавшись в середине обмена данными, злоумышленник должен иметь возможность читать сообщения; однако значительный процент интернет-трафика шифруется с использованием SSL/TLS. Если трафик зашифрован, то для чтения и изменения сообщений требуется возможность подделать или разорвать соединение SSL/TLS.
Это может быть достигнуто несколькими различными способами. Если злоумышленнику удастся обманом заставить пользователя принять поддельный цифровой сертификат для сайта, то злоумышленник сможет расшифровать трафик клиента и прочитать или изменить его перед отправкой на сервер. В качестве альтернативы злоумышленник может нарушить безопасность сеанса SSL/TLS, используя атаки с удалением SSL или понижением рейтинга.
Примеры атак
MitM-атаки могут осуществляться различными способами, которые зависят от атакуемого протокола и цели злоумышленника. Например, выполнить MitM-атаку проще, когда коммуникационный поток не зашифрован и когда злоумышленник естественным образом находится на маршруте, по которому пойдет целевой трафик.
Сценарий 1: Уязвимое IoT/мобильное приложение
Среднестатистический пользователь был обучен тому, как определить, зашифрован ли его сеанс просмотра веб-страниц, на основе https и значка блокировки в строке URL. Однако проверить, что потоки данных зашифрованы, сложнее с мобильными приложениями и устройствами Интернета вещей (IoT). Нередко они имеют плохую защиту и используют для связи незашифрованные протоколы, такие как Telnet или HTTP.
Если это так, то злоумышленник может легко прочитать и потенциально изменить данные, передаваемые между мобильным приложением или устройством Интернета вещей и сервером. Используя беспроводную точку доступа или какую-либо форму подмены, злоумышленник может вмешаться в коммуникационный поток таким образом, чтобы весь трафик проходил через него. Поскольку в этих протоколах отсутствуют встроенные проверки целостности или подлинности данных, злоумышленник может изменять содержимое трафика по своему желанию.
Сценарий 2: Поддельные цифровые сертификаты
Протокол SSL/TLS предназначен для защиты от MitM-атак путем обеспечения конфиденциальности, целостности и аутентификации сетевого трафика. Однако он полагается на то, что пользователь принимает только действительные цифровые сертификаты для определенного домена. Если злоумышленнику удается обманом заставить пользователя посетить фишинговый сайт, убедить его принять поддельный сертификат или скомпрометировать цифровой сертификат, который компания использует для проверки SSL, то эти средства защиты нарушаются.
В этом сценарии злоумышленник поддерживает два отдельных сеанса, зашифрованных с помощью SSL/TLS. В одном из них он подключается к клиенту, маскируясь под сервер и используя свой поддельный SSL-сертификат. В другом случае он выдает себя за клиента, подключающегося к законному серверу. Поскольку злоумышленник контролирует оба сеанса, он может расшифровать данные из одного сеанса, проверить и изменить их, а также повторно зашифровать для другого сеанса.
Предотвращение атак
MitM-атаки зависят от способности злоумышленника перехватывать и считывать трафик. Некоторые рекомендации по обеспечению безопасности в Интернете для предотвращения этого включают:
- Остерегайтесь общедоступного Wi-Fi: весь трафик по общедоступному Wi-Fi проходит через точку доступа, которая может находиться под контролем злоумышленника. Подключайтесь только к известным и надежным сетям Wi-Fi.
- Используйте VPN: виртуальные частные сети (VPN) шифруют трафик между удаленным пользователем или сайтом и конечной точкой VPN. Это не позволяет злоумышленнику MitM считывать или изменять перехваченный трафик.
- Проверка цифровых сертификатов: законный веб-сайт всегда должен иметь цифровой сертификат, который отображается как действительный в браузере. Доверие к подозрительному сертификату может привести к MitM-атаке.