Что такое Man-in-the-Middle

«Что такое Man-in-the-Middle» — вопрос из категории Сети, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Man-in-the-Middle (MITM) — это атака, при которой злоумышленник перехватывает и потенциально изменяет обмен данными между двумя сторонами, оставаясь незамеченным. В Android это особенно опасно при передаче данных по незащищенным сетям (HTTP, публичные Wi-Fi).

Защита в Android:

  1. Используйте HTTPS с правильной реализацией SSL/TLS
  2. Настройте Certificate Pinning для критичных доменов
  3. Используйте Network Security Configuration

Пример Certificate Pinning:

<network-security-config>
    <domain-config>
        <domain includeSubdomains="true">example.com</domain>
        <pin-set>
            <pin digest="SHA-256">7HIpactkIAq2Y49orFOOQKurWxmmSFZhBCoQYcRhJ3Y=</pin>
        </pin-set>
    </domain-config>
</network-security-config>

Всегда проверяйте сертификаты сервера и избегайте отключения проверок в коде (например, AllTrustManager).