Компании Cloudflare представила библиотеку mitmengine, используемую для обнаружения перехвата HTTPS-трафика, а также веб-сервис Malcolm для визуального анализа данных, накопленных в Cloudflare.
Код написан на языке Go и распространяется по лицензии BSD.. Мониторинг трафика Cloudflare с помощью предложенного инструмента показал, что перехватывается около 18% HTTPS-соединений.
Перехват HTTPS
В большинстве случаев Перехват HTTPS-трафика на стороне клиента из-за активности различных локальных антивирусных приложений., брандмауэры, системы родительского контроля, вредоносное ПО (для кражи паролей, подмены рекламы или запуска кода майнинга) или корпоративные системы контроля трафика.
Такие системы добавляют ваш TLS-сертификат в список сертификатов в локальной системе. и они используют его для перехвата защищенного пользовательского трафика.
Запросы клиентов передается на сервер назначения от имени программы перехвата, после чего клиент получает ответ в рамках отдельного HTTPS-соединения, установленного с использованием сертификата TLS из системы перехвата.
В некоторых случаях перехват организован на стороне сервера, когда владелец сервера передает приватный ключ третьему лицуНапример, обратный прокси-оператор, система защиты CDN или DDoS, которая принимает запросы на исходный сертификат TLS и передает их на исходный сервер.
В любом случае, Перехват HTTPS подрывает цепочку доверия и вводит дополнительное звено компрометации, что приводит к значительному снижению уровня защиты подключения, оставляя видимость наличия защиты и не вызывая подозрений у пользователей.
О mitmengine
Для выявления перехвата HTTPS Cloudflare предлагается пакет mitmengine, который устанавливается на сервере и позволяет обнаруживать перехват HTTPS, а также определение того, какие системы использовались для перехвата.
Суть метода определения перехвата путем сравнения специфичных для браузера характеристик обработки TLS с фактическим состоянием соединения.
На основе заголовка User Agent движок определяет браузер, а затем оценивает, соответствуют ли характеристики TLS-соединениятакие как параметры TLS по умолчанию, поддерживаемые расширения, объявленный набор шифров, процедура определения шифров, группы и форматы эллиптических кривых соответствуют этому браузеру.
База данных сигнатур, используемая для проверки, содержит около 500 типичных идентификаторов стека TLS для браузеров и систем перехвата.
Данные можно собирать в пассивном режиме, анализируя содержимое полей. в сообщении ClientHello, которое открыто транслируется перед установкой зашифрованного канала связи.
TShark из сетевого анализатора Wireshark 3 используется для захвата трафика.
Проект mitmengine также предоставляет библиотеку для интеграции функций определения перехвата в произвольные серверные обработчики.
В простейшем случае достаточно передать значения User Agent и TLS ClientHello текущего запроса, и библиотека выдаст вероятность перехвата и факторы, на основании которых был сделан тот или иной вывод.
На основе статистики трафика проходя через сеть доставки контента Cloudflare, которая обрабатывает примерно 10% всего интернет-трафиказапускается веб-сервис, отражающий изменение динамики перехвата за день.
Например, месяц назад перехваты были зафиксированы для 13.27% соединений, 19 марта этот показатель составлял 17.53%, а 13 марта достиг пика в 19.02%.
сравнительный
Самым популярным механизмом перехвата является система фильтрации Symantec Bluecoat, на которую приходится 94.53% всех идентифицированных запросов на перехват.
Далее следуют обратные прокси Akamai (4.57%), Forcepoint (0.54%) и Barracuda (0.32%).
Большинство антивирусных систем и систем родительского контроля не были включены в выборку идентифицированных перехватчиков, так как было собрано недостаточно сигнатур для их точной идентификации.
В 52,35% случаев был перехвачен трафик десктопных версий браузеров и в 45,44% браузеров для мобильных устройств.
По операционным системам статистика выглядит следующим образом: Android (35.22%), Windows 10 (22.23%), Windows 7 (13.13%), iOS (11.88%), прочие операционные системы (17.54%).
источник: https://blog.cloudflare.com