⌨️ Как будет работать новый протокол tproxy в ТГ
В чем была проблема старого протокола?
Когда включался старый MTProxy, ТГ открывал соединение собственным сетевым кодом. Как бы он ни пытался замаскировать пакеты под обычный HTTPS (через FakeTLS), у него оставался свой уникальный фингерпринт. Алгоритмы ТСПУ легко вычисляли, что с сервером здоровается не настоящий Хром или Сафари, а какая-то левая программа. Далее посылался RST-пакет... и прощай связь ⚰️
Создатели протокола поняли, что лучший способ спрятаться - это стать толпой. Внутри десктопных и мобильных клиентов Телеги всегда был встроенный браузерный движок (WebView2 на Chromium, WKWebView на Apple). Раньше он нужен был только для открытия приложух и страниц оплаты.
С новым протоколом ТГ будет отдавать всю сетевую работу по проксированию этому встроенному браузеру. Приложение создает скрытый инстанс WebView, который открывает прокси-сервер как обычную вебстраницу, и весь зашифрованный трафик Телеги летит внутрь истинных браузерных запросов.
Для ТСПУ и товарища майора 👮♂️ это выглядит так, как будто движок Chromium установил стандартную HTTPS-сессию. Отличить этот трафик от просмотра условного Хабра невозможно - фингерпринт настоящий на 100%.
Еще интересно как в параноидальном бэкенде разрабы защитили серверную часть от активного постороннего сканирования:
🟢 Если сканер стучится на прокси-сайт без правильного токена (или с кривыми заголовками), сервер отдает ошибку 400 Bad Request или 500. Побайтово идентичную реальной ошибке Nginx.
🟢 Если сканер шлет запросы с левыми параметрами в URL, сервер отдает 200 (как обычный сайт, который просто проигнорировал мусор в ссылке).
🟢 Проверка паролей идет через constant-time алгоритм. Сервер выполняет одинаковое количество вычислительных тактов при любом запросе. Это сделано для того, чтобы сканеры не смогли спалить прокси с помощью тайминговых атак (вычисляя аномалии по задержкам ответа).
Заблокировать это можно будет только двумя путями... либо забанить вообще весь трафик, перейдя на белые списки, либо как-то (вручную?) вычислять IP-адреса проксей.
Новой фичи еще нет в стабильной версии ТГ. Точной даты релиза нет.
Типичный 🥸 Сисадмин
Post #29642
13.2K
- ❤ 195
- 🔥 95
- 👍 36
- 🎉 8
- 👏 4
- 😁 3
- 🙏 2
- ✍ 1
- 👀 1