Почему Telegram не защищает приватность переписки
Почему Telegram не защищает приватность переписки

Почему Telegram не защищает приватность переписки

Когда в 2011 году за Павлом Дуровым пришел спецназ хотя есть версия, что это инсценировка, он написал своему брату Николаю.

И понял, что надежного способа обмениваться сообщениями у него, в общем-то, нет.

Николай Дуров ранее разработал протокол шифрования переписки MTProto.

Она легла в основу Telegram.

Фактически мессенджер стал попыткой тестирования MTProto на больших нагрузках.

Но даже сейчас, после тысяч багфиксов и улучшений, Telegram не гарантирует безопасность и конфиденциальность.

И сквозное шифрование – не панацея.

Как работает сквозное шифрование в TelegramВ Telegram используется два вида шифрования: “клиент-сервер” для обычных облачных, в том числе групповых чатов, и “клиент-клиент” (сквозное, или оконечное шифрование, E2EE, end-to-end encryption).

В общих чертах сквозное шифрование работает так.

У отправителя и получателя есть по паре ключей: один приватный, второй публичный.

Приватные ключи создаются и хранятся на устройствах пользователей.

На сервер эти ключи не попадают.

Отправитель и получатель вместе генерируют общий секрет или эфемерный ключ.

Каждый использует свой приватный ключ и оба публичных.

В Telegram для этого взяли за основу алгоритм Диффи-Хеллмана.

Общие ключи временные и перегенерируются автоматически, чтобы много похожих сообщений (смайликов, текста с одинаковыми метаданными) не шифровались одним и тем же ключом.

Шифрование и расшифровка выполняется на устройствах пользователей, а не на сервере.

Данные остаются зашифрованными до получения.

Доступ к исходному тексту сообщения есть только у отправителя, а после расшифровки – и у получателя.

и ни у кого больше..

Схема работы алгоритма Диффи-Хеллмана.

Алиса и Боб имеют по паре ключей – публичный и приватный.

g и p – публичные ключи, А и В – приватные.

mod – деление по модулю (остаток от деления), К – секрет, или эфемерный ключ.

Метод действительно мощный.

Но… всё не так однозначно.

Главное достоинство алгоритма Диффи-Хеллмана – возможность передавать открытые ключи и сообщения по публичным каналам.

Но всё ломается, если хакер проведет активную MITM-атаку (атаку “человек посередине”) и подменит трафик.

Что же с ключами для облачных чатов? Один ключ у пользователя, второй – в облаке.

И теоретически “облачный” ключ можно выдать кому угодно.

Увы, Telegram уже взламывали, причём демонстративно.

Пользователь Habr под ником ne555 год назад подробно описал, как взломать Telegram.

Он обошел сквозное шифрование мессенджера в Android и отправил разработчикам баг-репорт.

Не получив ответа, ne555 связался с волонтерами, которые пообещали донести информацию до руководства Telegram.

Но реакции не последовало.

ne555 использовал смартфоны с Android 7.0, Android 6.0 (root-доступ), Android 4.4.2 (root-доступ), а также ПК с GNU/Linux/Windows (с root-доступом) и программу для восстановления паролей по их хешам John The Ripper (JTR, доступна в публичном репозитории на Git.

JTR позволил распарсить Telegram local code (pin приложения) за секунды, получить нужные файлы и данные для взлома.

@video=//www

com/embed/OzFAyOJ5MPw@Результат: хакер обошел двухфакторную авторизацию, получил доступ к секретным чатам со сквозным шифрованием, смог читать и отправлять сообщения в них.

При этом реальный владелец аккаунта даже не видел, что его взломали.Почему Telegram не защищает приватность переписки - Фото 1.

А когда хакер попытался с реального аккаунта выйти из всех сеансов, поддельную учетную запись даже не выбросило из сети.

Сессионные и графические ключи тоже не менялись.

@video=//www

com/embed/zRO_KsPZJto@В общем, хакер успел провести ещё несколько экспериментов, пока аккаунт в Telegram не заблокировали и не удалили секретные чаты.

Небыстро, прямо скажем.

Пароль любой длины в Telegram тоже можно обойти.

Действительно, четырехзначный pin – не самая надежная защита аккаунта.

Полноценный пароль надежнее.

Но ne555 выяснил, что и он не спасает – существует схема обхода пароля любой длины.

Хакер взломал пароль длиной более 30 символов, настроил на своем устройстве разблокировку отпечатком пальца.

А также смог повторно войти в чужой аккаунт и получить доступ ко всем секретным чатам.

Эксперт отметил: в Telegram принудительно интегрирована функция «разблокировка отпечатком пальца».

Если на вашем смартфоне нет сканера отпечатка, вы не сможете настроить или отключить её в Telegram.

И получить данные Telegram для доступа к секретным чатам.

@video=//www

com/embed/LpGGrA7rj0Y@Серверы Telegram уже взламывали, причём публично.

Ещё один Habr-пост – от пользователя Bo0oM, написан в июле 2019 года.

Хакер заявил, что взломал сервер Telegram через стандартные уязвимости и искренне удивился, как отвратительно компания относится к безопасности.

Взломщик подчеркнул: в 2019 году весь Telegram использует nginx, а этот конкретный сервер – не самый надежный Apache.

Bo0oM отправил некорректный запрос, и сервер слегка приуныл… За описание этого и других найденных в процессе багов получил 2500 долларов от службы безопасности мессенджера.

С одной стороны, в этом случае Bo0oM взломал не весь мессенджер, а лишь конкретный сервер.

Но если пойти дальше, можно было бы наворотить гораздо больше – научиться “ронять” серверы, вытаскивать логи падения и т.

д.И вы можете попробовать заработать.

Письма с багами можно отправлять на security@telegram.

Передаваемые через Telegram файлы уже перехватывалиВ июне Symantec рассказал об уязвимости Media File Jacking для Android-версиях Telegram и Whats.

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

Второе опасно.

Если отправлять файлы во внешнее хранилище, то их можно украсть с помощью внешних вредоносных программ.

А также заменить или отредактировать.

Так что скриншоты с номерами карт и кошельков таким способом точно передавать не стоит.

Как и приватные фото из душа.

Связи пользователей Telegram друг с другом тоже раскрывали.

Ещё один скандал вокруг Telegram разразился 30 октября 2018 года.

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

Сачи заявил: Telegram использует базу данных SQLite для хранения сообщений.

Прочитать её “в лоб” не получится, но имена и телефонные номера вполне можно проассоциировать друг с другом.

Конечно, это проблема не столько Telegram Desktop, сколько уровня защиты устройства пользователя в целом.

Но… Раздолбайство со стороны разработчиков, мягко говоря.

Хотя Павел Дуров не считает проблемой такое хранение данных.

У Telegram закрытый код, поэтому объективно проверить его безопасность не получается.

Разработчики Telegram заявляют:Всё хранится в зашифрованном виде, чаты хорошо зашифрованы, а ключи шифрования хранятся по частям в датацентрах в юрисдикции разных стран.

Исходный код клиентов для Telegram является открытым.

А вот код сервера открывать не рискнули, и это рождает массу вопросов.

Но клиент работает через API и никак не взаимодействуя напрямую с “безопасными датацентрами”.

Что происходит внутри этого черного ящика, неизвестно.

К тому же эксперты не верят, что ключи шифрования собираются на лету при отправке и приеме каждого сообщения.

Это как минимум вызвало бы определенные задержки, а Telegram, надо признать, работает очень быстро.

Telegram для iOS издает компания Telegram LLC, а для Android — Telegram FZ-LLC.

Компании основали в США и Великобритании, где действует так называемый Gag order.

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

В том числе о серверах, ключах шифрования, пользователях и др.

Telegram объявлял конкурс взлома на $200 тыс., которые нереально выиграть.

Братья Дуровы считали MTProto настолько неуязвимым, что в 2013 году даже пообещали награду в 200 тыс.

долларов за взлом этого протокола и чтение переписки между ними.

В переписке содержался адрес, на который нужно было отправить письмо.

Спустя несколько дней пользователь с ником x7mz, который даже не был экспертом в криптографии, обнаружил уязвимость в протоколе.

Она позволяла провести MITM-атаку на секретные чаты.

Правда, переписку пользователь не расшифровал, так что ему дали лишь 100 тыс.

Протокол в дальнейшем доработали и объявили новый конкурс.

Модель возможной атаки расширили – например, разрешили выступать в роли сервера MTProto и менять пересылаемые данные.

Но, по мнению экспертов, такие конкурсы – просто дешевая реклама.

Они не позволяют доказать безопасности шифрования и вводят пользователей в заблуждение.

Организаторы не дают известный или выбранный открытый текст, шифротекст, возможность вызова повтора и использование других традиционных тестовых методов.

Фактически вы можете отправить только одно зашифрованное сообщение – этого явно мало для полноценной атаки.

Присланные отчеты анализируют случайные люди.

К тому же 100-200 тыс.

долларов – слишком мало, чтобы это было интересно командам опытных криптоаналитиков.

Впрочем, дыры в MTProto находят регулярно (один, два, три).

И без финансовой мотивации.

Многие эксперты считают защиту в Telegram просто маркетингомВ Telegram не намерены рассказывать о протоколе MTProto 2.0, да и внешний аудит не проводили ни разу.

Ещё один момент: что происходит, когда пользователь Telegram отправляет сообщения, а адресат не в сети? Вероятно, сообщения отправляются на серверы Telegram, объединенные в виртуальное облако.

Они синхронизируются между собой.

Как только адресат появится в сети, он получит сообщения.

Таким образом, трафик в любом случае проходит через сервер.

Хотя многие эксперты считают, что логичнее было бы установить соединение “клиент – клиент” – например, пиринговое (P2P).

В результате получается, что связь в Telegram вообще не работает без постоянного использования серверов.

В других мессенджерах есть более элегантные и безопасные решения – например, когда серверы задействуют только для сравнения текущих IP-адресов собеседников и организации прямого соединения между ними.

Также специалисты считают, что алгоритм Диффи-Хеллмана в Telegram специально ослаблен на уровне генератора псевдослучайных чисел.

Эти числа не генерируются на вашем смартфоне или ПК – приложение запрашивает их с сервера.

Как там организована генерация, знают только разработчики.

Открытый исходный код клиента – ещё один большой вопрос.

Более-менее регулярно обновляется только репозиторий десктопной версии, да и то она урезанная.

Из чего собираются готовые дистрибутивы, оперативно проверить нельзя.

Привязка к телефону – последний гвоздь в крышку гроба.

Учетные записи в Telegram привязаны к номерам телефона.

Это сказывается и на анонимности, и на безопасности.

Коды подтверждения приходят в SMS.

Давно всем известная дыра в протоколе сотовой связи SS7 позволяет перехватывать и подменять их.

Перехватив код, можно получить доступ к переписке в обычных чатах.

Даже не придется ломать MTProto.

Сервер автоматически сменит ключ и дешифрует недоставленные сообщения.

И это как минимум! Ещё одна проблема — push-уведомления.

Именно они оповещают о новых входящих без запуска мессенджера.

Но сервер push-уведомлений – это фактически разрешенная вами атака «человека посередине».

И такая ситуация во всех популярных мессенджерах.

Что делать обычному пользователю Telegram?Не вести приватных бесед в мессенджерах.

Не передавать через них информацию, которая может быть использована против вас.

Альтернатива Telegram – например, Signal.

Его рекомендовали основатель Wiki.

Leaks Джулиан Ассандж и экс-сотрудник АНБ и ЦР Эдвард Сноуден.

Но и Signal не раз успешно атаковали.

Хотя это сложнее, чем взломать Telegram.

И личные встречи в чистом поле без свидетелей.

Джерело матеріала
loader