Рубрики
Интернет

MTProto и SecurityLab: что стоит за шифрованием Telegram?

SecurityLab.ru — российский ресурс, посвящённый информационной безопасности, который регулярно публикует аналитику, блог-посты и разборы по теме MTProto. Вот мой структурированный и честный взгляд на то, что там обсуждается и почему это важно.

Что такое MTProto — коротко о сути

MTProto (Mobile Transport Protocol) — собственный криптографический протокол Telegram, разработанный командой Дурова. Он состоит из трёх компонентов: высокоуровневого API-языка запросов, криптографического слоя авторизации и транспортного компонента, который позволяет передавать данные поверх HTTP, HTTPS, WebSocket или TCP.

Ключевой момент, который часто упускают: MTProto — это не одно шифрование, а целая стопка решений, и каждое из них имеет свои свойства и ограничения.

Две модели безопасности, которые путают всё

Telegram по умолчанию хранит данные в облаке. Это значит, что если злоумышленник получит контроль над сервером, он получит доступ как минимум к незашифрованным сообщениям и всем метаданным.

Именно здесь и начинается главная путаница:

  • Обычные чаты — шифрование клиент↔сервер. Telegram как компания технически имеет доступ к содержимому.
  • Секретные чаты — сквозное E2E-шифрование. Сервер видит только зашифрованный blob.

Функция сквозного шифрования не используется по умолчанию, из-за чего большинство технически неискушённых пользователей работает без секретных чатов и ошибочно полагает, что все их сообщения полностью защищены.

Что SecurityLab пишет о слабостях протокола

SecurityLab анализировал MTProto с нескольких сторон. Вот ключевые темы:

1. Нестандартная криптография как риск

У Telegram исторически была тяга к собственной криптографической тропинке. В криптографии фраза «не как у всех» часто должна вызывать не восторг, а нервный тик. Безопасность протокола зависит не только от красивой идеи, но и от предсказуемости, простоты анализа, качества спецификации и устойчивости реализаций.

2. Академические исследования: не чёрно-белая картина

Академические работы последних лет показали типичную для Telegram смесь плюсов и заноз. С одной стороны, у MTProto 2.0 есть формальные исследования, подтверждавшие многие важные свойства безопасности. С другой — те же исследователи находили слабые места в отдельных механизмах и показывали, что экосистема вокруг MTProto получается хрупкой и трудной для корректной реализации.

Это подтверждается независимыми работами: исследователи обнаружили, что протокол повторного согласования ключей (rekeying) уязвим к атаке типа unknown key-share (UKS).

3. Проблема padding в MTProto 1.0

MTProto использует блочный шифр с дополнением (padding), при этом ни длина, ни содержимое этого дополнения не проверялись на целостность при расшифровке. Это позволяло создавать разные шифртексты, которые расшифровывались в одно и то же сообщение. Это была конкретная, подтверждённая уязвимость первой версии протокола.

4. MITM через подмену точки доверия

Если клиенту подменить адреса дата-центров и доверенный RSA-ключ, клиент начнёт шифровать трафик не для Telegram, а для посредника. Проблема не в том, что MTProto «не работает» — проблема в том, что MTProto в такой схеме начинает работать до неправильной конечной точки.

MTProto Proxy — отдельная история

SecurityLab уделяет особое внимание MTProxy — специальному прокси-серверу для обхода блокировок. Здесь позиция ресурса чёткая:

MTProto Proxy улучшает маршрут до Telegram, но не меняет фундаментальную модель доверия внутри самого сервиса и не скрывает всю активность пользователя.

Бесплатный MTProxy создаёт ложное чувство защищённости. Пользователь видит слово «MTProto», вспоминает шифрование Telegram и делает слишком сильный вывод, будто чужой сервер безопасен по определению. У пользователя почти нет способа проверить владельца сервера, срок жизни узла, режим логирования и реальную цель.

Когда какой-то адрес MTProxy становится популярным, его легче заметить по статистике трафика. Смысл MTProto Proxy не в том, что его нельзя обнаружить, а в том, что его бывает сложнее и дороже обнаруживать, чем прямые подключения к хорошо известным адресам Telegram.

MTProto — это обычный компромиссный протокол внутри сервиса, который сделал ставку на облачное удобство, сложную собственную конструкцию и выборочную приватность. Если задача состоит в том, чтобы спрятать содержание разговора даже от оператора сервиса, Telegram не должен быть базовым выбором для текстовой переписки.

Если кратко сформулировать позицию SecurityLab по теме MTProto:

  • MTProto 2.0 лучше первой версии, и формально многие свойства у него доказаны.
  • Но «доказан в символьной модели» ≠ «безопасен на практике для всех сценариев».
  • E2E есть только в секретных чатах, и включать его нужно вручную.
  • MTProxy — инструмент доставки, а не инструмент приватности.
  • Публичные бесплатные прокси — почти всегда плохая идея с точки зрения доверия.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *