СОРМ расшифровывает HTTPS трафик к Mail.ru и ICQ
На конференции Chaos Constructions 2019 Леонид darkk Евдокимов показал любопытный доклад про случайно обнаруженные в открытом доступе панели управления СОРМ. Доклад можно посмотреть здесь: darkk.net.ru/2019/cc В двух словах: панели со статистикой работы программно-аппаратных комплексов СОРМ от МФИ Софт торчали наружу в интернет и всем было пофиг.
В какой-то момент времени наружу торчали сырые дампы перехваченного трафика, которые успел проиндексировать поисковик shodan.io. Вот один из таких дампов: archive.li/RG9Lj
Там есть MAC-адреса, IMEI телефонов и разная другая личная информация. Но самое интересное в этих дампах, что туда каким-то образом попал трафик к некоторым хостам на 443 порт (HTTPS) в открытом виде! То есть видны полностью GET запросы, а это значит что СОРМ умеет расшифровывать HTTPS. Попробуем подумать как такое возможно.
Вот как выглядит перехваченные куски трафика. Видно, что соединение происходит на порт 443, но при этом GET-запрос виден целиком:
Совершенно очевидно, что система каким-то образом получает доступ к трафику, который должен быть зашифрован. Как именно это происходит точно неизвестно и возможности это проверить нет. Поэтому остается только строить гипотезы.
Вариант 1: HTTP-трафик на 443 порт
Обычно, при отправке HTTP-трафика на HTTPS-порт (443) веб-сервер возвращает ошибку:
Ошибка при HTTP-запросе на порт 443
Автор доклада выдвигает предположение, что некоторые хосты могли принимать нешифрованный HTTP-трафик на порт 443. И действительно такие хосты нашлись, например mra1.mail.ru.
Это можно проверить так:
curl -v http://mra1.mail.ru:443
Видно, что запрос отрабатывает без ошибки. При этом другие хосты из дампа отвечают ошибкой на такой запрос.
Некоторые хосты принимают HTTP-трафик на HTTPS-порт
Из этой гипотезы следует, что программы Мейлу.ру и ICQ умеет по команде СОРМ отключать шифрование и переключаться с HTTPS на HTTP. Лично мне это кажется маловероятным, так как предполагает активные действия со стороны СОРМ и такую закладку легко обнаружить в программе локально. К тому же другие провайдеры, находящиеся по пути следования трафика, смогут перехватывать конфиденциальную информацию пользователей.
Вариант 2: у них есть ключи
Для пассивной расшифровки современного TLS недостаточно иметь приватный ключ сервера, так как для шифрования используются временные ключи (Perfect Forward Secrecy).
Тут возможны два варианта:
- Либо СОРМ имеет только приватный ключ мейл.ру и ICQ, и активно MiTM-ит соединение и подсовывает свои временные ключи
- Либо получает временные ключи от Мейл.ру по отдельному каналу
Это вполне укладывается в недавние требования ФСБ от всех сервисов выдать им ключи шифрования. Очевидно, что Мейл.ру, полностью рукопожатая и законопослушная компания, это требование выполнила.
Вывод
Этот пример наглядно показывает, что средства слежки имеют мало общего с безопасностью и сохранностью личных данных. И если все компании передадут свои ключи шифрования ФСБ, через пару дней всю вашу переписку можно будет купить за недорого, как это сейчас происходит с базами ГИБДД, пробивами по телефонным номерами, получением выписки из банков и т.д.