Публикуем статью, присланную нашим читателем на сайт pramen.io, в которой дается критический анализ уровня приватности популярного мессенджера Телеграм, позиционирующего себя как безопасное средство общения.
Поводом для написания этой статьи стало удивляющее широко распространенное использование мессенджера Telegram приправленное уверенностью, что он является безопасным. Проблема в том, что дела обстоят совсем не так, а для любого рода общественных или политических активистов такая уверенность может стать огромной ошибкой и привести к непоправимым последствиям. Давайте попробуем разобраться в вопросе в чуть больших деталях. Сведения ниже — это компиляция статей и заметок, которая должна отражать суть вопроса.
Telegram безопасный мессенджер? Кто вообще такое придумал?
В октябре 2013 года в арабской блогосфере появились посты блогера Халеда о только что появившемся в App Store мессенджере Telegram. После этих постов всего за пару недель аудитория Telegram выросла до 100 000 пользователей. Маркетинг проекта строился на идее «защищённости» под лозунгом «Taking back our right to privacy» и всячески вселял в пользователей уверенность, что никакие спецслужбы не смогут прочесть их сообщения. О мессенджере создавались маркетинговые сюжеты на тему безопасности и они приносили свой эффект. В июне 2014 года Telegram назвали самым быстрорастущим стартапом Европы, а в феврале 2015-го он преодолел отметку в 100 млн пользователей. Если сегодня мы введем в поисковую строку гугла «Telegram самый безопасный мессенджер», то в поисковой выдаче запестрят заголовки статей о 5-6-9-10 самых безопасных мессенджерах на ресурсах не имеющих никакого отношения к информационным технологиям, но выглядящим как желтушные новостные порталы периодически составляющие рейтинги лучших 10 фотографий котиков за текущую неделю. Как же так, мессенджер не привлек внимания специалистов по безопасности и людей из сферы информационных технологий? Ведь в нем есть секретные чаты со встроенным шифрованием? Да еще и конкурс по поиску уязвимостей проводили с большим призом, который никто не выиграл. Почему о нем не пишут на профильных ресурсах? Или эти ресурсы не попадают в поисковую выдачу всемогущего гугла?
Конкурс безопасности
Давайте сначала разберемся с этим самым конкурсом (https://telegram.org/crypto_contest), о котором так много трубили в новостях.
Брюс Шнайер, главный офицер по безопасности в IBM еще в далеком 1998 году написал статью с заголовком «Ловушка конкурсов по взлому» (оригинал:
https://www.schneier.com/crypto-gram/archives/1998/1215.html, перевод: https://habrahabr.ru/post/206738/). Статья рекомендуется к прочтению целиком, но в двух словах ее смысл можно попытаться выразить таким образом: конкурсы нечестны по своим условиям, которые не соотносятся с возможными условиями реальной атаки;
— Анализ никак не контролируется, поэтому если никто не выиграл конкурс, это означает лишь, что никто не выиграл конкурс;
— Вознаграждения в конкурсах редко являются стимулом, т.к. большинство компаний-спонсоров соревнований малоизвестны, и люди не верят, что судейство будет честным. Да и победа в конкурсе, конечно, не гарантирована:
— Кто-то может вас обойти, оставив вас без вознаграждения за всю вашу работу. Криптоаналитики скорее готовы анализировать системы, где им платят за саму их работу по анализу, или где они смогут опубликовать статью, объясняющую их результаты;
— Рабочее время криптоаналитика стоит довольно дорого, а гарантии оплаты выигрыша в конкурсе никогда нет, так зачем человеку жертвовать своим временем ради пиар-акции компании?
— Успешное прохождение объектом такого конкурса не дает гарантии, что в нем нет дыр. Настоящей мерой надежности можно считать лишь общий объем проведенного анализа, а не то, проводился или нет конкурс. А анализ — процесс долгий и трудный. Люди доверяют криптографическим алгоритмам (DES, RSA), протоколам (Kerberos), и системам (PGP, IPSec) не из-за конкурсов, но благодаря годам (даже десятилетиям) взаимного рецензирования и анализа. И анализировались эти алгоритмы не из-за неуловимого приза, а потому, что были интересны или широко использовались.
— Найденную уязвимость можно попытаться продать дороже, чем предлагает компания.
Тем не менее Telegram так горды проведением своего конкурса и куда только возможно успели распихать новости, что у них никто не нашел уязвимостей.
Свой протокол
«Они просто сделали свой собственный протокол, — рассказал изданию Daily Dot в прошлом году Мэттью Грин, профессор криптографии в университете Джона Хопкинса. — Если верить их блогу, у них есть парочка гениальных математиков, которые хоть и не криптографы, но достаточно умны, чтобы составить собственный протокол (речь идет о Николае Дурове, который указан в блоге Telegram как автор протокола — https://telegram.org/faq#q-who-are-the-people-behind-telegram ). Это немного за рамками понимания. Криптограф этим пользоваться не станет. Я не говорю, что протокол плохой, он просто странный». Первое правило криптографии это НЕ ВЫКАТЫВАТЬ СВОЙ КРИПТОАЛГОРИТМ, особенно если вы не криптограф. Telegram использует свой собственный протокол MProto для общения с сервером с мобильных устройств (https://core.telegram.org/techfaq#q-why-did-you-go-for-a-custom-protocol). В команде разработчиков протокола есть математики, но ни одного криптографа.
Т.е. в создании криптографического протокола для ультра-защищенного мессенджера не принимало участия ни одного криптоаналитика. В этом нет ничего плохого, но в таких случаях в приличном обществе принято предупреждать, что продукт должен использоваться на свой страх и риск.
«Они используют доморощеный протокол MTproto, и я не видел ни одного убедительного доказательства его надежности», — говорит Алан Вудвард, профессор университета Суррея. Вудвард раскритиковал Telegram за недостаток открытости вокруг своего протокола шифрования. «На сегодня у нас нет достаточно информации о том, насколько он безопасен или небезопасен. Все из-за непрозрачности. Среди криптографов существует
нормальная практика раскрытия своих алгоритмов, но здесь мы блуждаем во тьме. Если у вас нет достаточного опыта, не стоит писать свой собственный алгоритм. Никто по-настоящему не понимает, почему они это сделали». И это не просто слова о гипотетической «слабости» протокола. В нем УЖЕ находили ужасно глупую ошибку, которая могла бы быть и бэкдором, связанным с генерацией ключей для шифрования сообщений: https://habrahabr.ru/post/206900/ «Если все эксперты молятся на протокол Open Whisper Systems, который используют Signal и WhatsApp, нет причин
создавать свой собственный шифр, — говорит Кристофер Согоян, исследователь и активист в сфере конфиденциальности. — Это основы компьютерной безопасности. Зачем делать что-то свое, если уже есть нечто идеальное и сто раз перепроверенное».
Авторизация
Если вы пользуетесь Telegram, то вы и так знаете, что основным методом авторизации является… получение одноразового кода по SMS. Т.е. единственный секрет, которым вы владеете, и который должен гарантировать ТОЛЬКО ваш доступ к аккаунту является сим-карта телефона. Во многих случаях сим-карта зарегистрирована на владельца аккаунта, т.е. если у кого-то есть возможность узнать ваш номер телефона, то угадывать логин не надо. Надо лишь перехватить SMS с кодом авторизации. Спецслужбы любых стран не только могут, но и часто пользуются возможностью перехватывать или читать SMS-сообщения людей. И им для этого не нужно даже прилагать особых усилий. Например вот в этой заметке упоминается как немецким правоохранителям удалось зарегистрировать новое устройство для существующего аккаунта Telegram путем перехвата SMS-сообщения с кодом активации. После чего им удалось получить доступ ко всему содержимому данных аккаунта, включая, переписку: https://habrahabr.ru/company/eset/blog/308640/
Но на самом деле не надо даже быть спецслужбой, чтобы перехватить SMS. В данной заметке описывается атака на мобильные сети, с последующим перехватом SMS сообщений https://habrahabr.ru/company/pt/blog/283052/. Использовать одноразовые коды авторизации присылаемые по SMS на номер телефона, который является логином аккаунта это ужасно глупая и опасная идея разработчиков Telegram. Вроде бы не так давно они добавил возможность установить для своего аккаунта так называемую двух-факторную аутентификацию, т.е. необходимость ввести обычный постоянный пароль помимо одно-разового SMS-кода. Не прошло и года как им в голову пришла эта замечательная идея.
Вот только она совершенно ужасно реализована. В данной статье автор помимо прочего описывает как он обошел двухфакторную аутентификацию Telegram: https://ain.ua/2016/06/07/kak-zashhishhennye-messendzhery-zashhishheny-ot-krazhi-sms Если атакующий может прехватывать SMS, то может угнать ваш аккаунт и получит все контакты и переписку из обычных несекретных чатов. Ваши собеседники не смогут понять что что-то не так и злоумышленник сможет общаться с ними от вашего лица. Надеюсь вы уже запомнили правило «НЕ ВЫКАТЫВАТЬ СВОЙ КРИПТОАЛГОРИТМ». Оно применимо так же и к методам аутентификации.
Приложение сыплет метаданными, «как чемпион». Метаданные — это техническая информация о сеансах связи, например, время отправки сообщения, его длина и т. д. Ранее появлялась информация, что исследователь по безопасности обнаружил, что злоумышленник может узнать, когда пользователь Telegramа находится онлайн, а когда офлайн, что в свою очередь позволяет определить, с кем вы общаетесь и когда используете приложение.
В ноябре 2015 г. исследователь по безопасности Ола Флисбек раскрыла способ определения участвующих в беседе через Telegram пользователей на базе метаданных, которые из мессенджера удалось легко извлечь с помощью командной строки. Исследователь сообщает, что официальные приложения Telegram излишне «болтливы». К примеру, клиент для Android рассылает уведомления всему списку контактов всякий раз, когда он становится «приортитетным» приложением в системе, или наоборот перестает им быть. Если у атакующего и жертвы есть несколько общих контактов, одних только этих данных хватит, чтобы понять, кто с кем разговаривал. Хакер, фактически, может «оформить подписку» на все метаданые жертвы,
просто добавив её в свой список контактов в Android. К сожалению, взаимного согласия Telegram в таком случае не спрашивает. Более того, жертва ничего об этом не узнает, так как никаких уведомлений не будет, и хакер вообще не отобразится в списке контактов Telegram. Собрав достаточно метаданных, можно разобраться в том, когда конкретные люди разговаривали друг с другом. Казалось бы, проблема незначительная, но для мессенджера, который ставит во главу угла защиту данных и полную конфиденциальность своих пользователей, это все-таки проблема. https://github.com/vysheng/tg — воспользовавшись клиентом CLI из этого гитхаб-репозитория можно увидеть все эти «невидимые» данные.
Другие печеньки от мастеров безопасности
Данные уязвимости, как и упомянутые выше, могли быть уже закрыты, но они как нельзя лучше демонстрируют степень защищенности Telegramа, самого безопасного мессенджера всех времен и народов. Человек, который контролирует канал, может перехватывать все геолокационные вложения, обходя секретный чат: https://habrahabr.ru/post/207380/7 Раскрытие вашего номера собеседнику: https://habrahabr.ru/post/312722/ Хранение данных секретного чата в незашифрованном виде: https://habrahabr.ru/post/244735/. Все сообщения, вставленные из буфера обмена, в том числе в секретных чатах, пишутся в лог на устройстве: https://habrahabr.ru/post/306298/. Исследователи смогли прочесть зашифрованные сообщения Telegram. Они
обнаружили, что в оперативной памяти приложение хранит сообщения в незашифрованном виде: http://safe.cnews.ru/news/top/2016-06-27_telegram_nazvan_samym_opasnym_messendzherom_v
Выводы
Что же можно в итоге сказать о Telegram? Это мобильный мессенджер с прикольными стикерами и удобным интерфейсом, но ни в коем случае не средство безопасной коммуникации. Его разработчики заявляют о его защищенности, хотя, судя по озвученному выше, понятия не имеют о информационной безопасности. Стоит отдать должное маркетологам раскручивавшим продукта, они потрудились на славу. Но проблема в том, что использование Telegram может быть опасным даже для коммуникации, которую вы не считаете необходимым защищать или скрывать. Примеры уязвимостей, приведенные выше, могут быть уже исправлены, но они были обнаружены намного позже заявлений разработчиков Telegramа о его безопасности.
Постскриптум
Замечательная статья для прочтения «Почему ваш любимый мессенджер должен умереть» (https://habrahabr.ru/post/272937/)
Ссылки на источники, которые могли потеряться в тексте:
http://www.dailydot.com/layer8/telegram-isis-encryption-cryptography/
https://ain.ua/2016/07/05/pochemu-vam-nado-perestat-polzovatsya-telegram-pryamo-sejchas)
https://oflisback.github.io/telegram-stalking/
https://xakep.ru/2015/12/01/telegram-metadata/
___
Присылайте свои статьи для публикации на нашем сайте через форму свободной публикации https://pramen.io/ru/anonimnaya-publikatsiya или на е-мэйл pramen@riseup.net.
Ребят, а куда хроники сусветнага супрацива пропали?
анком — Пакуль не будзе. Не хапае рэсурсаў на гэтую працу.
Автор задрот. От души покритиковал, а альтернативу на предложил. Понятно что телеграмм не идеален. Как и мы.
Все аргументы почему не стоит участвовать в конкурсе — «вам не заплатят». В наше время такой аргумент не актуален. Если не заплатят — большую шумиху за пару дней поднимите.
Остальные замечания касаются мелочей. Если мессенджер действительно не безопасный — взломайте Дуровых и получите 100к. Пи~деть, не мешки ворочать)
И действительно странно… Автор, раз небезопасен Телеграмм, почему тогда вы его не взломаете и от Дурова не получите премию? Понаписали всего подряд, а не понятно одно, раз все так печально с Телеграммом, то почему тогда вам его и не взломать? Что то вы лукавите, там мне думается…..))))
Эй, коментаторы, вы читать не умеете? Что значит взломайте телеграмм? То что нет доступа непосредственно к переписке ещё не означает безопасности.
«Человек, который контролирует канал, может перехватывать все геолокационные вложения, обходя секретный чат: https://habrahabr.ru/post/207380/7 Раскрытие вашего номера собеседнику: https://habrahabr.ru/post/312722/ Хранение данных секретного чата в незашифрованном виде: https://habrahabr.ru/post/244735/. Все сообщения, вставленные из буфера обмена, в том числе в секретных чатах, пишутся в лог на устройстве: https://habrahabr.ru/post/306298/. »
Если для вас это «понаписали всё подряд» и вы даже не понимаете какие тут угрозы, то не знаю о чём дальше говорить. Альтернативы есть. Например, джаббер + ОТР, но это не тема этой статьи