iPhones.ru

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

Ксения Шестакова avatar | 26
FavoriteLoading В закладки
Почему 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, доступна в публичном репозитории на GitHub). JTR позволил распарсить Telegram local code (pin приложения) за секунды, получить нужные файлы и данные для взлома. 

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

При этом реальный владелец аккаунта даже не видел, что его взломали.

 

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

В общем, хакер успел провести ещё несколько экспериментов, пока аккаунт в Telegram не заблокировали и не удалили секретные чаты. Небыстро, прямо скажем. 

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

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

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

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

Кроме того, хакеру удалось обойти шифрование самого устройства. И получить данные Telegram для доступа к секретным чатам. 

Серверы Telegram уже взламывали, причём публично

Ещё один Habr-пост – от пользователя Bo0oM, написан в июле 2019 года. Хакер заявил, что взломал сервер Telegram через стандартные уязвимости и искренне удивился, как отвратительно компания относится к безопасности. 

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

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

И вы можете попробовать заработать. Письма с багами можно отправлять на  [email protected]

Передаваемые через Telegram файлы уже перехватывали

В июне Symantec рассказал об уязвимости Media File Jacking для Android-версиях Telegram и WhatsApp. Оказалось, что мессенджеры сохраняют изображения в своем внутреннем хранилище, либо во внешнем разделе памяти. Второе опасно

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

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

Связи пользователей 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. Его рекомендовали основатель WikiLeaks Джулиан Ассандж и экс-сотрудник АНБ и ЦР Эдвард Сноуден. 

Но и Signal не раз успешно атаковали. Хотя это сложнее, чем взломать Telegram. 

Другой вариант – мессенджеры с поддержкой OTR: Adium, Conversations Legacy, Xabber, Pidgin (с плагином), Conversations и др. И личные встречи в чистом поле без свидетелей. 

1 Звезд2 Звезды3 Звезды4 Звезды5 Звезд (66 голосов, общий рейтинг: 4.74 из 5)
undefined
iPhones.ru
Разбираемся, что там на самом деле с безопасностью в Telegram.
Здесь можно оставить комментарий! Для этого авторизуйтесь или зарегистрируйтесь на iPhones.ru.

26 комментариев

Форум →
  1. S647 avatar
    S647 10 октябрь 2019
    0

    Я кстати, последнее время заметил проблему в нем. Хочу зайти через рабочий компьютер в telegram web(пусть даже это будет зеркало) и когда пароль должен придти в его в итоге нет. Причём аналогичную схему делал и через телефон (заходил в web версию через браузер) и все нормально приходило.

    Войди на сайт, чтобы ответить
    Ответить
  2. sibalk avatar
    sibalk 10 октябрь 2019
    2

    «Другой вариант – мессенджеры с поддержкой OTR: Adium, Conversations Legacy, Xabber, Pidgin (с плагином), Conversations и др.»

    Зачем ссылки на Google Play на сайте iphones? Для iOS только Signal?
    Что про wire скажете?

    walkman00 avatar
    walkman0010 октябрь 2019
    0

    @sibalk, поддержу. Ни одного вменяемого XMPP-мессенджера на iOS не нашел, но давать ссылку на Гугл – издевательство :)

    Войди на сайт, чтобы ответить
    Ответить
  3. ZloySega avatar
    ZloySega 10 октябрь 2019
    9

    думал в конце будет ссылка на тамтам

    ShamanskyRobert avatar
    ShamanskyRobert10 октябрь 2019
    1

    @ZloySega, на Mail.ru Агент ))

    Войди на сайт, чтобы ответить
    Ответить
  4. Sasha Versus avatar
    Sasha Versus 10 октябрь 2019
    0

    Привет от Threema ;)

    Войди на сайт, чтобы ответить
    Ответить
  5. Disney avatar
    Disney 10 октябрь 2019
    1

    Это скорей для политиков, оппозиционеров, бизнесменов встреча в чистом поле (хотя и там могут прослушать, перехватить и тд). Для большинства людей прятать то особо и нечего, максимум политические репосты. Хотя, статья очень интересная))))

    Войди на сайт, чтобы ответить
    Ответить
  6. Trooper avatar
    Trooper 10 октябрь 2019
    5

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

    Антон Гpахольский avatar
    Антон Гpахольский10 октябрь 2019
    9

    @Trooper, бот всегда говорил и будет говорить, а другие боты его лайкать. только толку от твоей жизни, бот, ноль

    Войди на сайт, чтобы ответить
    Ответить
  7. v1z avatar
    v1z 10 октябрь 2019
    12

    Неплохая попытка, маил ру, но нет.

    Войди на сайт, чтобы ответить
    Ответить
  8. joker2k2 avatar
    joker2k2 10 октябрь 2019
    5

    фигня вся статья.
    пока наркотой в телеге торгуют – значит норм безопасность.
    как свалят массово – значит взломали.
    вот и все.

    гдето читал правприменительную практику по таким делам (не тут ли?)- там нет переписок, если только чел сам не дал свой телефон прочитать.
    так что норм безопасность, не сцыте

    triller avatar
    triller10 октябрь 2019
    1

    @joker2k2, наркотой и по смс торгуют, там тоже никто не прочитает?)))

    joker2k2 avatar
    joker2k210 октябрь 2019
    3

    @triller, чет не слышал про такое ) это менты наверное )) сами читают, сами торгуют )

    triller avatar
    triller10 октябрь 2019
    0

    @joker2k2, да тут же статья была, что многие совсем о безопасности не заботятся))

    Войди на сайт, чтобы ответить
    Ответить
  9. iphoneriddick avatar
    iphoneriddick 10 октябрь 2019
    0

    Телега ваша у Билайна не работает уже несколько дней. Усе

    AzbukaIT avatar
    AzbukaIT10 октябрь 2019
    1

    @iphoneriddick, в смысле? У меня на билайне пашет

    Войди на сайт, чтобы ответить
    Ответить
  10. Alek756 avatar
    Alek756 10 октябрь 2019
    4

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

    Шта?

    Menzoberonzan avatar
    Menzoberonzan10 октябрь 2019
    7

    @Alek756, это называется “как попытаться пересказать Habr своими словами и приуныть в процессе”. Автору на Хабре тоже немного накидал еще в июле, но с ним хоть спорить интересно в отличие от.

    Войди на сайт, чтобы ответить
    Ответить
  11. AlexMcSaev avatar
    AlexMcSaev 10 октябрь 2019
    0

    Можно не читать сразу после слов MITM и телеграм.. А ничего что данные шифруются серверным вшитым ключом, при передаче – если не заешь его то ты никак не встроишься в цепочку.. Всегда можно сверить ключи с собеседником например отправив их другим каналом – почтой через архив к примеру защищённой длинным паролем. Вы всегда можете удостовериться что никого по середине не было.

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

    Войди на сайт, чтобы ответить
    Ответить
  12. Lioric avatar
    Lioric 10 октябрь 2019
    0

    “личные встречи в чистом поле без свидетелей” – с поправкой: без какой-либо техники. А назначать встречу через незнакомца, который, через другого незнакомца передаст координаты. При встрече общаться молча, переписываясь на бумаге, в палатке, оклеенной металлом, чтобы ни дрон, ни спутник текст не распознал. И, конечно же, в конце, уничтожить переписку, без возможности восстановления.

    П.С.: голубиная почта – тоже вариант, но менее надёжный.))

    Войди на сайт, чтобы ответить
    Ответить
  13. ram_ler avatar
    ram_ler 10 октябрь 2019
    2

    Детский сад! Какие приватные защищенные мессенджеры в свободном доступе? Погуглите что такое Патриотический акт и что он позволяет. А теперь задайте себе вопрос – как может существовать свободно распространяемый мессенджер в магазинах, работающих в американском правовом поле, и принадлежащим американским компаниям?
    ЛЮБОЙ мессенджер из ЭплСтора или ГуглПлея, при необходимости, взламывается и раскрывается – это факт!

    ПС не давайте читать эту статью Артём Баусов @Dralker – у него еще запас бумажных самолетиков наготове )))

    walkman00 avatar
    walkman0010 октябрь 2019
    1

    @ram_ler, задайте вопрос, как могут существовать свободно распространяемые протоколы шифрования? :) Поищите историю PGP, например, и не путайте свои домыслы с реальностью. А, еще про Кузнечик почитайте, тоже в тему.

    Войди на сайт, чтобы ответить
    Ответить
  14. walkman00 avatar
    walkman00 10 октябрь 2019
    0

    Сложно отделить истину, так перемешанную с мифами.

    Войди на сайт, чтобы ответить
    Ответить
  15. TAIFUN avatar
    TAIFUN 10 октябрь 2019
    0

    Достаточно провести поверхностный анализ этого мессенджера;
    1. Закрытый исходный код. Это не даёт провести аудит. Так что, разговоры об анонимности этой платформы – это только разговоры.

    2. Привязка мобильника к аккаунту. О какой анонимности может идти речь в этом случае?! Реально анонимные мессенджеры не используют никаких привязок к мобильному телефону и e-mail.. они генерируют уникальный ID. Кстати, по этой же причине распиареный Signal, который якобы Сноудэн боготворит – шляпа.
    3. Нельзя уйти в invisible.
    4. Мониторинг и доступ к телефонной книге.
    5. Резервное копирование.
    6. Цензура. Удаляют каналы.

    Войди на сайт, чтобы ответить
    Ответить
  16. Waka avatar
    Waka 10 октябрь 2019
    8

    Автор пишет хорошие статьи по OSINT, но данная статья крайне поверхностная.
    Грустно, что так много ошибок.
    Взять схему работы Диффи-Хеллмана. Она вообще не понята.
    Передача приватного ключа, серьёзно? Вы понимаете, почему он вообще называется приватным?
    p и g – это псевдослучайные константы, а не публичные ключи, публичные ключи тут A и B. Приватные ключи – a и b – никто никуда не передаёт. И суть его не в передаче открытых ключей, а в том, что он позволяет выработать _секретный_ ключ для дальнейшего использования без непосредственной его передачи между сторонами.

    Ещё вы пишете про ne555. Ёлки, то, что у него всё было рутовано – это очень серьёзное уточнение, если у злоумышленника есть рут – то вообще вся безопасность устройства скомпрометирована. Гейм овер, дальше нет никаких рубежей безопасности.

    “Если на вашем смартфоне нет сканера отпечатка, вы не сможете настроить или отключить её в Telegram.” – так понятное дело, нафига вообще иметь настройку фичи, аппаратно отсутствующей в устройстве?

    Вы упоминаете Бума. Там баг интересный, но всё, что он нашёл – это типичная sql-injection (уже более-менее серьёзно, но не конец света) и немного раскрытия информации. Вот цитата из его статьи о критичности уязвимостей:
    “Пользователей я не взломал (твоя переписка в безопасности), развить атаку дальше не мог, сервер с дампами рандомных пользователей (именно краш-дампы без информации об айдишнике в телеграме, телефоне, сообщениях и чатах) — сомнительная ценность. По идее, можно было бы качать краши и самому изучать и эксплуатировать их.”
    И нет ничего ужасного в использовании апача – он не так популярен сейчас, как nginx, но скорее потому, что он удобнее, шустрее и в целом более гибкий в настройке (и это если не говорить о последних багах nginx). При грамотном администрировании работает Apache без нареканий и есть не просит.

    Привязка к телефону – это гвоздь? Но ведь номер используется для _идентификации_ пользователя. Да, вам приходит код, но во-первых, двухэтапную аутентификацию ещё никто не отменял (в чём разумно упрекнуть создателей телеграма – так это в отсутствии поддержки различных вторых факторов вроде аппаратных модулей или хотя бы гугловского аутентификатора), а во-вторых, SS-7 очень трудно эксплуатировать – для такого нужно быть оператором сотовой связи (или как иметь минимум нехилые связи в уже существующем).
    Да и вообще, если вы залогинены – второй фактор приходит к вам в тот же телеграм, а не по смс.

    Вот насчёт советов обычному пользователю телеграм – с вами трудно не согласиться. Хотя бы потому, что вы находитесь в абсолютно недоверенной среде, и раз уж вы не доверяете телеграму – то как вы можете доверять вашей клавиатуре (которая вполне может содержать скрытый кейлоггер), или компонентам системы с привилегиями повыше ваших, или вообще самой системе?
    Всё это вы принципиально не можете проверить на предмет наличия недекларированных возможностей, и тут вас ни signal, ни собственноручно написанный мессенджер не спасёт. И об этом стоит помнить.

    Собственно, статья несёт в себе верную мысль, но экспертного мнения катастрофически не хватает (за Диффи-Хеллмана особенно больно было), очень много поверхностных утверждений.

    И это не говоря про врезки с “там эксперты сказали…”

    Войди на сайт, чтобы ответить
    Ответить
  17. Serj avatar
    Serj 11 октябрь 2019
    2

    Аахахах )) Спасибо за хорошеее настроение сутра))
    Статья бред, все добра )

    Войди на сайт, чтобы ответить
    Ответить
Помни о правилах — если начал оффтопить, то не удивляйся потом.

Нашли орфографическую ошибку в новости?

Выделите ее мышью и нажмите Ctrl+Enter.