Как работает шифрование telegram
Перейти к содержимому

Как работает шифрование telegram

  • автор:

 

Криптостойкие андроиды. Почему шифрование в Signal, WhatsApp, Telegram и Viber не защитит твою переписку от взлома

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

Еще в 2004 году наш соотечественник Никита Борисов совместно с Ианом Голдбергом разработал универсальный криптографический протокол для систем мгновенного обмена сообщениями. Протокол получил название OTR (Off-the-Record Messaging) и начал открыто распространяться под лицензией GPL в виде готовой библиотеки. В дальнейшем OTR стал основой других популярных протоколов с дополнительными методами повышения безопасности. В частности, протокола Signal, ранее известного как TextSecure. На базе Signal работает и большинство других современных мессенджеров.

Принципы шифрования переписки

Концептуально все криптографические способы защиты переписки должны обеспечивать как минимум два базовых свойства: конфиденциальность и целостность сообщений. Конфиденциальность подразумевает, что только собеседники могут расшифровать сообщения друг друга. Ни интернет-провайдер, ни разработчик мессенджера, ни какая-то иная третья сторона не должны иметь технической возможности выполнять дешифровку за разумное время. Целостность обеспечивает защиту от случайных искажений и целенаправленных атак подмены. Любое измененное при передаче сообщение будет автоматически отклонено принимающей стороной как поврежденное и утратившее доверие.

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

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

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

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

Прямая и обратная секретность реализованы в современных механизмах управления ключами. В протоколе Signal для этого используется алгоритм «Двойной храповик» (Double ratchet, DR). Он был разработан в 2013 году консультантом по криптографии Тревором Перрином (Trevor Perrin) и основателем Open Whisper Systems Мокси Марлинспайком (Moxie Marlinspike).

Название является отсылкой к механической шифровальной машине Enigma, в которой использовались храповики — шестеренки с наклонными зубцами, двигающиеся только в одном направлении. За счет этого в шифровальной машине исключалось состояние шестеренок, повторяющее одно из недавно использованных.

По аналогии с ними «цифровой храповик» также препятствует повторному использованию прежних состояний шифрсистемы. DR часто меняет сессионные ключи, при этом не давая повторно использовать ранее сгенерированные. Этим он как раз и обеспечивает прямую и обратную секретность, то есть дополнительную защиту отдельных сообщений. Даже в случае удачного подбора одного сессионного ключа атакующая сторона сможет расшифровать только зашифрованные им сообщения, а это всегда малая часть переписки.

В протоколе Signal реализовано и множество других интересных механизмов, описание которых выходит за рамки статьи. С результатами его аудита можно ознакомиться здесь.

Signal и его аналоги

Предоставляемое Signal сквозное шифрование сегодня применяется как в одноименном мессенджере от Open Whisper Systems, так и во многих сторонних: WhatsApp, Facebook Messenger, Viber, Google Allo, G Data Secure Chat — все они используют оригинальную или слегка модифицированную версию Signal Protocol, иногда давая им собственные названия. Например, у Viber это протокол Proteus — по сути, тот же Signal с другими криптографическими примитивами.

Однако при схожей реализации сквозного шифрования приложение может компрометировать данные другими способами. Например, WhatsApp и Viber имеют функцию резервного копирования истории переписки. Вдобавок WhatsApp отправляет статистику общения на серверы Facebook. Защита у локальной и облачной копии переписки формальная, а метаданные вообще никак не шифруются — об этом открыто говорится в лицензионном соглашении.

По метаданным видно, кто с кем общается и как часто, какие устройства для этого использует, где при этом находится и так далее. Это огромный пласт косвенной информации, которую можно использовать против собеседников, считающих свой канал связи защищенным. Например, АНБ неважно, какими именно словами подозреваемый поздравил Ассанжа с оставлением Обамы в дураках и что Джулиан ему ответил. Важно то, что они переписываются.

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

В оригинальном приложении Signal всем участникам беседы в таком случае отправляется уведомление о смене ключа. В WhatsApp и других мессенджерах эта настройка по умолчанию отключена, так как она не несет большинству пользователей значимой информации. Также ключ меняется при долгом отсутствии собеседника онлайн — это и баг, и фича одновременно.

Включение уведомления о смене ключа в WhatsApp

Включение уведомления о смене ключа в WhatsApp

Другие статьи в выпуске:

Xakep #217. Сценарий для взлома

Как писал по этому поводу исследователь из Калифорнийского университета в Беркли Тобиас Бёлтер (Tobias Boelter), при атаке на сервис возможно создать новый ключ и получить сообщения вместо адресата. Более того, то же самое могут сделать и сами операторы серверов WhatsApp — например, по запросу спецслужб.

Разработчики протокола Signal опровергают выводы Бёлтера и встают на защиту WhatsApp. По их словам, подмена ключа дает доступ только к недоставленным сообщениям. Слабое утешение.

Включить уведомление о смене ключа можно в настройках, вот только на практике этот режим параноика вряд ли что-то даст. Мессенджер уведомляет о смене ключа только после повторной отправки сообщений. Считается, что так удобнее самим пользователям.

Способы вскрытия

Допустим, мы вняли этим аргументам. Примем в качестве рабочего предположения, что протокол Signal не имеет практически значимых уязвимостей. И что же? Проблема шифрования переписки остается, поскольку у Signal, WhatsApp, да и у других мессенджеров сквозное шифрование гарантирует конфиденциальность только в том случае, когда у атакующей стороны нет ничего иного, кроме перехваченных сообщений в зашифрованном виде.

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

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

В реальных условиях охотники за чужой перепиской не ограничены какими-либо правилами. Они не обязательно станут искать дыры в самом протоколе сквозного шифрования, а будут ломать то, что проще. Использовать социальный инжиниринг (поэтому я и написал про живых людей), уязвимости в ОС (в Android их тысячи), драйверах и стороннем ПО — любые мыслимые трюки. Нормальные герои всегда идут в обход, и сотрудники трехбуквенных ведомств не исключение.

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

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

Естественно, мы по десять раз на день подходим к этому столу, берем свои (а иногда и чужие — по ошибке) смартфоны и кладем их заряжаться дальше. Однажды мне потребовалось узнать, что пишет в мессенджерах Вася. Было подозрение, что он сливает информацию по проектам, а наша служба безопасности лишь разводила руками. Сквозное шифрование — неприступная стена. Концепция BYOD у нас не прижилась. Запретить же пользоваться мессенджерами и смартфонами вообще тоже пытались, но ничего хорошего из этого не вышло. Слишком много коммуникаций на них завязано сегодня. Поэтому с одобрения службы безопасности (п. 100500: «. в исключительных случаях имеет право. ») я просто выбрал удобный момент и сделал вот что:

  1. Дождался, когда Вася пойдет за едой. Это минимум три минуты, а мне хватит и двух.
  2. Спокойно беру его смартфон и сажусь обратно на свое место.
  3. Смартфон заблокирован, но я знаю графический ключ. Вася его сотни раз использовал при мне. Поневоле запомнишь эту «букву зю».
  4. Запускаю на своем компьютере браузер и перехожу на страницу веб-интерфейса WhatsApp. На ней генерируется QR-код синхронизации.
  5. Открываю на смартфоне Васи WhatsApp. Иду в «Чаты → Настройки → WhatsApp Web».
  6. Сканирую смартфоном QR-код.
  7. Всё. Полная история чатов Васи загружена в моем браузере.
  8. Удаляем следы и возвращаем чужой смартфон на место.

Теперь я вижу всю прошлую и текущую переписку Васи. Я буду видеть ее как минимум до конца дня, пока WhatsApp не сменит ключ или Вася вручную не отключит веб-сессию. Чтобы ее отключить, он должен заподозрить неладное, затем войти в тот же пункт меню WhatsApp Web. Там он увидит сообщение о последней веб-сессии. которое будет совершенно неинформативным. В нем указывается только город (по GeoIP), браузер и ОС. У нас с Васей все эти переменные полностью совпадают (одна лаборатория, одна сеть, типовые компы с одинаковым софтом). Поэтому повода для беспокойства эта запись ему не дает.

Открытые сессии WhatsApp на других устройствах

Открытые сессии WhatsApp на других устройствах

Веб-сессия удобна для текущего наблюдения. Дополнительно можно сделать резервную копию чатов — уже для протокола.

Сохраняем резервную копию сообщений

Сохраняем резервную копию сообщений

Еще через несколько дней Вася перешел на Telegram. Метод контроля его переписки в общих чертах был тот же.

  1. Берем его смартфон, разблокируем привычной «буквой зю» и открываем Telegram.
  2. Заходим в своем браузере на сайт Telegram.
  3. Вводим номер телефона Васи.
  4. Ловим код подтверждения, пришедший в его Telegram.
  5. Вводим его в окне своего браузера.
  6. Удаляем сообщение и все следы.

Вскоре Вася поставил Viber, и мне пришлось проделать новый трюк.

  1. Берем на пару минут его смартфон.
  2. Открываем Viber → «Настройки → Вызовы и сообщения → Журнал электронных сообщений».
  3. Копируем архив на флешку (OTG) или отправляем его себе любым другим способом. Благо Viber предоставляет их десятки.
  4. Возвращаем смартфон и удаляем следы.

Дело в том, что у Viber нет веб-версии. Можно было бы установить десктопную и так же связать ее с мобильным аккаунтом Viber Васи, но я выбрал тот метод, который проще было реализовать.

Вася «сел на измену» и поставил Signal. Черт, это же образцовый мессенджер, рекомендованный Шнайером, Сноуденом и Фондом электронных рубежей! Он даже скриншоты чата не дает сделать самому пользователю. Как же быть?

Снова дожидаемся удобного момента и запускаем Signal на Васином смартфоне. Мессенджер требует ввести парольную фразу, которую я не знаю. но я знаю Васю! Пробую его день рождения — не подходит. Пробую код от нашего лабораторного дипломата — подошел. Даже скучно. Идем в настройки мессенджера и останавливаемся, словно витязь на распутье. Оказывается, вариантов добраться до чатов много. Например, Signal позволяет одной командой экспортировать всю переписку, причем только в открытом виде.

Экспортные ограничения? Не слышали!

Экспортные ограничения? Не слышали!

Затем можно направиться в «Настройки → Привязанные устройства» и повторить трюк, уже проделанный с WhatsApp ранее. Signal точно так же открывает веб-сессию через QR-код. Для этого даже есть отдельное расширение в Google Chrome.

Клонируем все чаты Signal в Chrome

Клонируем все чаты Signal в Chrome

Бонусом из веб-сессии Signal можно утащить все контакты. Пригодятся.

Импортируем контакты через веб-сессию Signal

Импортируем контакты через веб-сессию Signal

Итог: я не знаю ключей шифрования Васи (да он и сам их не знает!), но могу читать его прошлую и текущую переписку во всех мессенджерах. Вася ничего не подозревает и продолжает верить в то, что «сквозное шифрование» гарантирует ему полную конфиденциальность.

С физическим доступом к смартфону получить контроль над любым мессенджером становится просто, но даже он необязателен для взлома переписки. Можно заманить жертву на фишинговую ссылку и удаленно протроянить смартфон — в старых версиях Android и предустановленном браузере дыр хватает. Троян получит рут (сейчас это рутинная автоматическая процедура), начнет делать скриншоты, дампы памяти. или просто облегчит резервное копирование всех чатов очередного мессенджера в открытом виде.

Telegram

Про этот мессенджер стоит поговорить отдельно по целому ряду причин. Во-первых, он использует другой протокол сквозного шифрования — MTProto. После избавления от детских болезней (раз, два, три) и публикации большей части исходных кодов его можно рассматривать как перспективную альтернативу протоколу Signal.

Во-вторых, само приложение Telegram не хранит локальные копии переписки. Вся она загружается с сервера. Поэтому скопировать лог чатов, как в Viber и многих других мессенджерах, не получится.

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

Проверить это можно только косвенно, сменив устройство. На новом смартфоне после авторизации в Telegram удастся восстановить всю переписку, кроме секретных чатов. Происходит так потому, что ключ шифрования переписки в секретных чатах привязан к конкретному устройству. Во всяком случае, так утверждается в официальном FAQ.

Что же делать, если Вася будет использовать секретные чаты Telegram с автоматически удаляющимися сообщениями? Как вариант, воспользоваться одной особенностью Android под названием Screen after Previous Screens.

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

Утилита RetroScope с открытым исходным кодом умеет вытаскивать из памяти смартфона десяток последних снапов экрана (или больше, если повезет), среди которых попадается что угодно — включая секретные чаты Telegram (в том числе уже удаленные) и чаты Signal, которые вообще нельзя заскринить штатным образом.

Криптофоны

Android — сложная операционная система, а степень защиты любой системы соответствует таковой для самого слабозащищенного компонента. Поэтому на рынке появляются криптофоны — максимально защищенные смартфоны. Silent Circle выпустила две версии Blackphone. BlackBerry создала Priv, а Macate Group представила в прошлом году GATCA Elite.

Парадокс в том, что, пытаясь сделать Android надежнее, все эти компании создают его более консервативную, усложненную. и менее надежную версию. Например, в Blackphone приходится использовать старые версии приложений из проекта AOSP, в которых накапливается много известных уязвимостей. Обновлять их вручную оперативно не получится, а ставить магазин приложений — это самому создавать брешь в охранном периметре.

Доходит до абсурда: предустановленное приложение для защищенной переписки SilentText долгое время использовало библиотеку libscimp, в которой давно выявлена утечка памяти. Достаточно было отправить модифицированное сообщение, чтобы его команды выполнились от локального пользователя и предоставили удаленный доступ к содержимому Blackphone.

Проблема сотовых операторов

Двухфакторная аутентификация была призвана усложнить взлом аккаунта, но на деле она лишь переложила проблемы безопасности на хрупкие плечи сотовых операторов и создала новые бреши. К примеру, в апреле прошлого года два сотрудника «Фонда борьбы с коррупцией» (ФБК) сообщили о взломах своих аккаунтов Telegram. Оба пострадавших использовали двухфакторную аутентификацию. Они считают, что взлом их аккаунтов произошел при непосредственном участии МТС. Предполагается, что недобропорядочные сотрудники сотового оператора клонировали SIM-карты и передали их злоумышленникам. Это позволило получить им СМС-коды подтверждения для авторизации в Telegram.

Клонирование SIM-карты — тривиальная процедура, выполняемая в любом салоне оператора связи. Я много раз пользовался ей для замены испорченной симки. и не всегда у меня спрашивали паспорт. Более того, между активацией новой симки и отключением старой есть небольшое временное окно. Об этом я узнал случайно, когда забыл отдать испорченную симку и она вдруг ожила у меня уже после выдачи новой.

Уязвимости старых версий Android

Любое криптографическое приложение может безопасно использоваться только в том случае, если запущено в доверенной среде. Смартфоны с ОС Android этому условию не удовлетворяют совершенно. WhatsApp, Telegram и другие мессенджеры готовы запускаться даже на старой Android 4.0 Ice Cream Sandwich, эксплоитов для которой просто тьма. Если же мессенджеры ограничат возможность запуска только последними версиями Android, то лишатся 99% пользователей.

Шифрование де-юре и де-факто

Использование сквозного шифрования во всех популярных мессенджерах стало стандартом де-факто. Его юридический статус в настоящее время не вполне определен. С одной стороны, свобода переписки и запрет на цензуру гарантируются конституцией во многих странах. С другой — такое шифрование противоречит новым российским законам из «пакета Яровой» и законодательным актам «антитеррористической направленности» в США. Google, Facebook и другие компании обязаны соблюдать законы тех стран, в которых работают. Если их принудят дать доступ к переписке, они будут вынуждены «сотрудничать» с правительством.

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

На мой взгляд, это лишь игра на публику. Как говорил Братец Кролик: «Только не бросай меня в терновый куст!» Хотя используемый мессенджерами протокол защищенной передачи данных Signal и его аналоги считаются надежными (а порой и прошедшими серьезный аудит), реальная степень криптографической защиты переписки в них оказывается невысокой из-за человеческого фактора и дополнительных функций в самих приложениях. Формально архивация чатов, их дублирование в облако, перенос на другое устройство и автоматическая смена ключей создавались ради удобства. вот только чьего именно?

А как же PGP?

Первое, что обычно приходит на ум при упоминании зашифрованной переписки, — это PGP. Однако далеко не все реализации этой популярной криптосистемы с открытым ключом в равной степени безопасны. Различные методы ослабления криптостойкости официально использовались США для экспортных продуктов, а неофициально — и для всех массовых. Компания Symantec, купившая у Филиппа Циммермана права на PGP и закрывшая исходный код своих продуктов, просто обязана соблюдать действующие ограничения американского законодательства и следовать негласным «рекомендациям» своего правительства.

Поэтому сторонники приватности долгое время считали заслуживающими доверия лишь авторские версии PGP 2.x, которые использовали для шифрования сессионных ключей алгоритм RSA или IDEA. Однако после того как в 2010 году методом решета числового поля удалось за приемлемое время вычислить ключ RSA длиной 768 бит, их надежность тоже перестала считаться достаточно высокой.

Внимание современных хактивистов и прочих правозащитников переключилось на свободные реализации PGP с открытым исходным кодом. Большинство из них позволяет выбирать из нескольких алгоритмов и генерировать более длинные ключи. Однако и здесь не все так просто. Более длинный ключ еще не гарантирует большей криптостойкости системы. Для этого в ней должны отсутствовать другие недостатки, а все биты ключа быть в равной степени случайными. На практике это часто оказывается не так.

Битовую последовательность ключа всегда формирует какой-то известный генератор псевдослучайных чисел. Обычно это предустановленный в ОС или взятый из готовых библиотек ГПСЧ. Его случайное или преднамеренное ослабление — самая часто встречающаяся проблема. Некогда популярный Dual_EC_DRBG (использовавшийся и в большинстве продуктов компании RSA) непосредственно был разработан в АНБ и содержал закладку. Выяснили это спустя семь лет, уже когда Dual_EC_DRBG использовался повсеместно.

Все реализации PGP, соответствующие стандарту OpenPGP (RFC 2440 и RFC 4880), сохраняют базовую совместимость друг с другом. На смартфонах с ОС Android добавить шифрование PGP к почте можно, например, с помощью приложения OpenKeychain.

OpenKeychain

OpenKeychain

OpenKeychain имеет открытый исходный код, проверенный компанией Cure53 на безопасность, прозрачно интегрируется с почтовым клиентом K-9 Mail, Jabber-клиентом Conversations и даже может передавать зашифрованные файлы в приложение EDS (Encrypted Data Store), о котором мы писали в прошлой статье цикла.

Выводы

Защиту от перехвата сообщений третьей стороной сегодня в Android эффективно реализуют как классические почтовые приложения (использующие OpenPGP), так и современные мессенджеры, в основе которых лежит принцип сквозного шифрования. При этом конфиденциальность сообщений сохраняется ровно до тех пор, пока у атакующей стороны нет дополнительных преимуществ — таких как физический доступ к устройству или возможность удаленно протроянить его.

Разговоры о том, насколько надежен сам протокол Signal, чем он лучше Proteus или MTProto, интересны лишь самим криптографам. Для пользователей они лишены практического смысла до тех пор, пока в мессенджерах можно делать незашифрованные копии переписки и клонировать текущие сессии. Даже если все приложения для переписки станут настолько же бронированными (и неудобными), как оригинальный мессенджер Signal, все равно останется множество уязвимостей на уровне ОС Android и человеческий фактор.

Вопросы безопасности Telegram ⁠ ⁠

Это будет достаточно необычная статья, потому что стандартно я на странице с полезными статьями публикую учебные материалы. Здесь же – что-то вроде “нас часто спрашивают” вкупе с “чтобы сэкономить время на постоянных объяснениях”.

Мессенджер Телеграм недавно попал под блокировку со стороны Роскомнадзора – по причине того, что руководство отказалось сотрудничать с правоохранительными органами, которые по решению суда запросили какую-либо информацию о 6 абонентах. Следствие запросило любую информацию – даты и IP-адреса входов, списки контактов и прочее – но руководство Телеграма решило исполнить мы свободные и против Системы, а ряд СМИ и вовсе переврал ситуацию, рассказывая о

Что же по факту с вопросами безопасности Телеграм?

Telegram, MTProto 2.0, и все-все-все

Технологичность

При блокировке Телеграм первым делом началось муссирование тезиса о безусловной, полной и окончательной хайтековости этого сервиса. Аудиторию буквально унавоживали ковровыми бомбардировками про “Это уникальный, прорывной, не имеющий аналогов, безупречный, супер-сервис” – ну а потом, по готовой почве, уже работали очевидным выводом “… а значит запрет его – это анти-технологичность, скатывание вниз в кромешный ад и ужас, средневековье и прочее”.

Если честно, то на рынке сейчас пара десятков крупных мессенджеров и сотни прочих, поменьше. Взяв тот же Skype мы увидим тьму возможностей – от совместного использования десктопа, видеоконференций, затейливых схем соединения голосовых звонков и конференц-связи с обычной телефонной сетью до интеграции с LiveID, PowerPoint, использования HoloLens и прочим. Взяв ту же древнюю ICQ – ну или какой-нибудь Pidgin – можно вообще поразиться объёму функциональности и списку доступных плагинов для таких систем.

Почему же так упорно вбивается тезис “Телеграм – это абсолютно прорывное и технологичное, пользование им – это признак принадлежности к будущему и хайтеху”? Безусловно, данный метод – объявление какого-либо продукта или сервиса “признаком принадлежности к касте особых людей” – давнишний и всегда рабочий. Но в данном случае, думаю, всё ещё проще.

Дело в том, что в настоящее время наблюдается культ комфорта и некий комфортоцентризм любого UX. Абсолютно всё, что проще, объявляется святым и прорывным. Если какое-то действие делалось в 5 кликов мышки, а в новой версии ПО делается в 4 – то это прорыв и хайтех, без вариантов и обсуждений. Интерфейс в стиле “детская книжка с крупными буквами и разноцветными картинками, 3-5 строчек текста на странице” – идеал.

В случае с Телеграм мы видим как раз крайне урезанный по функционалу, для середины 2018 года, программный продукт – но простой. Крайне простой, шустро работающий и имеющий минимум настроек.

Поэтому технологичностью объявляется именно это. Хотя полностью было бы корректнее – Телеграм – это технологичный [с точки зрения простоты интерфейса и упрощённый по функционалу] продукт.

Ну а теперь к безопасности.

Безопасность Телеграм

Вопросы безопасности базируются на изучении открытой документации и открытых исходниках некоторых клиентских приложений. Основной акцент, как понятно – на протоколе MTProto 2.0 и e2e-шифровании в “секретных чатах”.

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

Вопросы безопасности Telegram Ит безопасность, Телеграмма, Павел Дуров, Длиннопост

Вопрос по алгоритму Диффи-Хеллмана-Меркля

Для генерации сессионных ключей выбран алгоритм Диффи-Хеллмана-Меркля, что неудивительно. Удивительно то, что его почему-то называют “гарантией отсутствия возможности доступа к информации сессии”.

Алгоритм Диффи-Хеллмана-Меркля уязвим для атаки MitM, “человек посередине” изначально, и был уязвим для неё всегда. Дабы не переписывать документацию на 100500 раз задокументированный протокол, оставлю здесь ссылку на русский вариант его подробного описания и буду в дальнейших рассуждениях предполагать, что вы по ней сходили.

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

Но если сервер может модифицировать данные во время согласования ключей “на лету”, то всё наоборот – алгоритм DH ничего не может сделать.

В самом деле, промежуточный участник может согласовать с каждым из двоих свой ключ, имитируя “вы напрямую друг с другом общаетесь”. Единственная защита от этого – сверка ключевого материала после установки сессии и до начала отправки по ней секретных данных. Данная возможность в Telegram есть – но учитывая, что пересогласование ключей идёт достаточно часто – раз в 100 сообщений – многие ли действительно вручную сверяют этот параметр? По сути нужен механизм, который бы после каждого rekey позволял бы как-то по другому каналу удостовериться, что у каждого из 2 участников ключ сменился на одинаковый. Пока его нет – сервер в любой момент может сделать вышеупомянутое действие, никакой гарантии или возможности сделать проверку на невозможность такого действия – нет.

Утверждение о “раз там DH, то в принципе никак сервер не может получить доступ к данным” – ложное. Оно нуждается в дополнении “если проводится постоянный дополнительный контроль на фазе работы протокола и по завершению работы оного”. Сам алгоритм не просто уязвим, а полностью беззащитен перед MitM. Он спасает от eavesdropping, это – другое.

Пока мы не имеем исходный код серверной части и не уверены, что именно из этого исходного кода собрано то, что по факту работает на серверах Телеграм, обсуждать безопасность конечных пользователей нет смысла – сам факт использования DH ничего не решает. Сервер может выборочно применять MitM-атаку на нужные сессии пользователей – этого никто не заметит, так как клиенты очень часто меняют ключи сессии и никак не журналируют этот факт

Вопрос по сетевым параметрам сессии

В Телеграм отсутствует возможность прямой связи 2 абонентов. Она была и в древнем ICQ, и у других сервисов – и действительно убирает возможность “подслушать” со стороны сервера. Несмотря на очевидность схемы “не хочешь, чтобы абонентов могли читать – сделай так, чтобы сервер использовался для согласования параметров и установки сессии, а сама сессия была бы у них напрямую” – пусть с ограничениями возможностей, с задействованием UPnP и прочего – в Телеграм такой возможности почему-то нет в принципе. Трафик всегда проходит через сервера Телеграм.

Почему так – вопрос. Ведь такая возможность сразу же и полностью убрала бы все вопросы “может ли сервер иметь доступ к данным”.

Вопрос по криптографическим параметрам сессии

Клиент не генерит простое число для DH. Он запрашивает его у сервера и лишь поверхностно проверяет. Вопрос генерации “хороших простых чисел” и проверки их на “хорошесть” я разобрал в статье про SSH, скажем простое – при утверждаемом в документации “меняем ключ на каждые 100 сообщений” секретные чатики должны были бы ощутимо подлагивать, потому что пересогласование приводит к получению нового числа и перепроверке его на простоту. Судя по тому, что это не происходит, имеет место какая-то ускоренная/упрощённая проверка присланного сервером числа. Почему так?

По сути, все современные используемые тесты на простоту являются вероятностными. Провести полноценный тест – т.е. честно тестово поделить число масштаба 2^2048 на все простые числа до него – вычислительно невозможно. И по причине сложности деления, и по причине нахождения всех простых чисел меньше указанного. Чтобы проще представлялись масштабы, 2^2048 – это десятичное число с чуть более чем 600 знаками. Составление же даже таблицы “все простые числа до 2^100” и сохранение её локально – уже проблема как вычислительная, так и хранения.

Раз с полноценными тестами у нас ничего не выйдет даже если клиентская система будет заранее к ним готовиться (она, говоря проще, будет тогда только готовиться к ним, и больше ничего, на эту задачу можно отправить сколько угодно вычислительной мощности), то в дело вступают вероятностные тесты. Два самых популярных – это Соловея-Штрассена и Миллера-Рабина. Оба этих теста умеют говорить “Данное число точно составное”, либо “Данное число предположительно простое”. Именно в таких формулировках, т.е. не-прошедшее тест число – точно на что-то делится кроме себя и единицы. А вот прошедшее – вроде как не делится.

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

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

Но верующие в “безопасность Телеграм” не заморачиваются такими деталями – джентльменам ведь верят на слово, так?

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

Казалось бы – ведь как раз когда это число одно, и прошито в коде продукта, то вот тут-то и небезопасно. А сменяемое число – это хорошо. На самом деле нет.

Дело в том, что когда prime у DH прошито на клиентской части, то его можно разово на аудите продукта проверить на “насколько оно простое” и, в случае провала тщательной проверки, забраковать всю систему. На клиентской системе вы не можете “на лету” генерить стойкие prime для “старших” групп DH – для этого у вас банально не хватит вычислительных мощностей. Настолько, что даже “установить 1 сессию раз в секунду” будет проблемой. Вы можете пройти по этой ссылке и попробовать создать prime для DH и проверить их на качество, оценив и затраченное время, и процент prime, которые оказались не prime.

Поэтому число вам присылает добрый сервер, а вы его “по быстрому” проверяете. Добрый сервер никто не удерживает от того, чтобы для специальных сессий – по желанию сервера – присылать особые, проходящие клиентский тест на простоту числа, не являющиеся простыми. Такие существуют в природе.

В пользовательском интерфейсе Телеграм отсутствует возможность увидеть текущее p, использованное при последнем прогоне протокола DH. Также отсутствуют какие-либо исследования, в которых присылаемые сервером числа журналировались и впоследствии проверялись на простоту чем-то более мощным, чем тестом, встроеным в клиентское ПО. Ничего не мешает серверу Телеграм прислать вам лично такие параметры DH, которые сделают криптоанализ сессии тривиальным. Вы этого просто не увидите. Старые параметры не хранятся на клиенте, но могут храниться на сервере.

К вопросу о том, насколько вопрос “какой prime используем на DH-обмене” является серьёзным, можно глянуть RFC 5114. Т.е. выверенные “реально и действительно простые числа” опубликованы и надлежат к использованию в ряде специфичных проектов. Авторство, кстати – NIST, после утверждения со стороны NSA.

Время шуток про тащмаёра и сертифицированную свободу, не так ли?

Вопрос по исходным кодам

Исходники клиентской части Телеграма доступны, но тут вступает в силу основная проблема СПО.

От теоретической доступности исходников и продвижения тезисов вида “а раз исходник доступен, то ясное дело – миллионы полупрозрачных экспертов постоянно вычитывают код и постоянно находят в нём уязвимости и сразу же что-то заметят” до практического аудита кода – пропасть. В реальности все просто ходят с флагом “а главное что исходники доступны”, но ничего не делают – ждут, пока кто-то другой будет разбираться.

Вопрос “насколько то, что выложено на гитхабе, действительно является текущей версией Телеграм” – актуален. Вдобавок актуален вопрос “нет ли в коде буквально крохотных различий, благодаря которым сервера Телеграм могут различить “свой стандартный” клиент и “то, что собрано из исходников”. Если так, то можно иметь идентичный протокол MTProto 2.0, но при использовании “самосборного” клиента применять другую логику поведения со стороны сервера. Мы никак не можем это узнать, т.к. сервер – “чёрный ящик”. Надо проводить полновесное исследование, сравнивая фактический машинный код и поведение у “обычного” телеграм-клиента и у собранного из исходников с гитхаба.

Вопрос по энтропии

Говоря проще, у клиентского ПО есть некий критерий “мой генератор энтропии плоховат, возьму с сервера”.

 

В документации телеграма, а также в документации на клиентское ПО нигде не указано, как именно клиент принимает такое решение. Вопрос исчерпания пула энтропии – вполне реальный, тут никто не спорит; другое дело, что противомерой является не, допустим, создание своего пула с RKG или чем-то подобным, а-ля kernel 4.8 с /urandom и бесконечной выдачей на основе ChaCha20, а “пусть тогда сервер выдаст”. Это удивительный ход для продукта, подчёркивающего безопасность и децентрализованность.

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

В документации указывается, что полученная с сервера энтропия должна XOR’иться с клиентской – так, мол, идёт “только усиление”, ведь 2 энтропии в XOR – это ещё более энтропия.

Да, 2 энтропии в XOR – это хорошо. Но две энтропии. А в данном случае одна из них – предсказуемый генератор – у нас клиент же запрашивает у сервера энтропию в ситуации “мой родной источник стал гнать одни единички” и подобной, так? – плюс полученное с сервера – уже плохо.

Пример – если у вас генератор выдаёт случайные числа, регулярно по некоему критерию проводит оценку “насколько они случайные”, и в случае, если он выдаст число 58, алгоритм понимает “Вышло не случайное” и запрашивает энтропию у сервера, и потом её XOR’ит с имеющейся (т.е. известным числом 58), то никакого улучшения безопасности от этой дополнительной операции XOR мы не увидим. По сути, мы имеем дело с имитацией усиления энтропии, взятой с сервера – ведь она XOR’ится только с предсказуемой.

Ну а как только клиент перейдёт на запрос энтропии с сервера – дальнейшее обсуждать смысла нет. Вполне очевидно, что скормив клиенту строчку “случайных” байт и сохранив её у себя, сервер идентично воспроизведёт все последующие действия и по установке сессии, и по генерации ключевого материала. Стартовав с синхронизированным генератором ПСЧ-то, да.

Вопрос по обновлениям

Клиентская часть Телеграм достаточно часто обновляется. У подавляющего большинства современных пользователей есть рефлекс, состоящий в “любое обновление – это всё станет лучше, быстрее, безопаснее, добавят функционала и исправят ошибки”, поэтому обновления применяются или автоматически, или вручную по критерию “увидел что есть – сразу поставил”. Если посмотреть размер обновлений, то они достаточно крупные – в десятках мегабайт. Т.е. никто не парится особо с дельтами, diff и прочим – обновляют модули целиком.

Безусловно, обновления делают всё, что перечислено выше – и закрывают обнаруженные уязвимости, и исправляют ошибки, и добавляют функционал. Вопрос только в том, что никто не проверяет, что по факту приходит с обновлениями. Ведь куда как проще сослаться на “там исходники выложены”, правда? А всякие мелкие детали – насколько скачанное обновление совпадает с выложенными в открытый доступ исходниками той же версии – они заминаются. Ведь это надо изучать, проверять. Кто это будет делать? Я не нашёл людей, которые на постоянной основе изучают код клиента Телеграм и хотя бы пытаются сопоставлять декларируемое в плане функционала/изменений с фактическим.

Но попытка обсудить этот вопрос натыкается на глухое урчание со стороны пользователей Телеграм. Притом тех, кто замечательно обсуждает, допустим, закрытый программный код других продуктов. Здесь фактически мы видим психологический момент – некую “подсадку” на ощущение приобщённости к “переднему краю хайтеха”. Эта подсадка достаточно масштабна, её эхо видно и в обычном “а, у тебя телефон не последней модели, ну значит не тянешь, а я-то вот с хайтехом в обнимку”, и в удобном самообмане вида “скачал новую версию софта X – всё реально залетало прямо”. Благодаря этому вырабатывается инстинкт “всё обновить на самые распоследние версии, ведь это по сути приближает меня к некоему хайтеху и будущему”, который после – как и любое предсказуемое поведение пользователей – удобно монетизировать.

В результате разработчик ПО может установить такой темп обновлений, что аудит текущей актуальной версии будет не иметь смысла – всегда будет более новая, и любые вопросы “а почему в версии 8.7.1 по факту, если посмотреть отладчиком, работает так?” упрутся в “да у всех уже 8.7.3, поэтому нет смысла обсуждать старьё 8.7.1” и “а есть версия новее – в ней стопудово всё уже исправили”. Вкупе с выложенными исходниками (какой версии? насколько соответствующими распространяемому через сервис обновлений комплекту исполняемых модулей?) ситуация превращается в патовую – разработчик ПО может делать всё что угодно, добавлять в клиентскую часть что хочется, а также убирать оттуда ранее добавленное. Сочетание:

Выложенных исходников некоей версии продукта;

Масштабности исходного кода;

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

По факту же только один факт – в самом начале блокировок от Роскомнадзора, к Телеграм-клиенту пришёл патч размером где-то в 30 мегабайт. Основной тезис про обновления выглядел так – “в новую версию добавили улучшения связанные с пуш-уведомлениями, для обхода блокировки”. Кто-то вообще проверял, так ли это? Реально механизм пуш-уведомлений (он, кстати, в клиенте уже был) потребовал такого масштабного добавления программного кода? Размер обновления – больше дистрибутива Windows 95. Кто-то проверял, а не было ли что-то “слишком очевидное” удалено из клиентской части таким обновлением?

Предположу, что нет. Ведь джентльменам верят на слово – раз обновление чего-то, объявленного технологичным, знаковым для “успешности”, символом “свободы”, то всё это просто после обновления становится ещё лучше, а поставившие получают удовлетворение от сделанной задачи – “у меня самая распоследняя версия, кайф”.

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

Видел ли кто-то, кстати, альтернативный Телеграм-клиент, который бы не представлял собой клон достаточно старого исходника с изменениями в UI? (см. склад подобных вот тут)?

К примеру – если декларируется, что end-to-end шифрование в secret chat’ах никак не читается сервером – можно ведь взять исходник клиента и добавить ещё один уровень безопасности, дополнительно шифруя блок отдаваемой на сервер информации ключом, согласуемым через другое приложение. Идея очевидна, но почему-то не реализована.

Ну, а это каждый решает для себя.

Это же всего лишь вопросы, правда?

Которым уже не первый месяц, если что.

И нуль ответов на оные со стороны декларирующих себя вроде-как-разбирающимися-в-безопасности юзерами телеграма. Как странно выходит – т.е. репостить ртом лозунги “Телеграм супербезопасен ибо супербезопасен все так считают поэтому нет смысла обсуждать” – у всех выходит, а чуть в конкретику углубление – какие-то панические “вывсёврёётииииии” и “нет смысла обсуждать ибо против Свободы” выскакивают.

В итоге, с тезисами вида

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

Безопасен ли Телеграм: прослушивается ли спецслужбами и насколько защищен

Безопасность данных подписчиков Telegram зависит от возможностей мессенджера, бесперебойной работы программы и самих пользователей. Приложение защищает информацию о клиентах несколькими способами.

Telegram безопасен

Как работает шифрование

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

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

криптография

В мессенджере используется два типа шифрования:

  • клиент-клиент, т.е в обход сервера (для секретных чатов).
  • клиент-сервер и сервер-клиент (для облачных пользователей);

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

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

секретные чаты

Корреспонденция не поступает и не хранится на сервере. Никто не может его прочитать (кроме отправителя и получателя). Секретные сообщения надежно защищены и через некоторое время удаляются сами, но для этого рекомендуется при отправке установить таймер самоуничтожения.

Помогают ли длинные пароли

До недавнего времени доступ к Telegram в Российской Федерации был возможен без пароля. При входе сервер отправлял подписчикам облачный код на номер телефона. Эту комбинацию символов нужно было ввести в активную строку. Запись производилась с правильным введением отправленного облачного кода. Второй и последующие разы можно было без проблем войти в Telegram. Никакой дополнительной аутентификации не требовалось.

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

доступ к сим-карте

Мы рекомендуем вам настроить функцию, которая позволяет вам вводить пароль при входе в свою учетную запись. Установка дополнительного пароля находится в «Настройках». Пароль должен состоять не менее чем из 8 символов. Чем он длиннее, тем надежнее. При входе в свой профиль вам потребуется двойная аутентификация, то есть ввести облачный код и пароль. Двухступенчатая защита увеличивает степень защиты данных.

Взлом серверов

Взломать сервер Telegram не так-то просто. Разработчики мессенджера даже несколько раз объявляли конкурс и предлагали хакерам денежное вознаграждение. Правда, приз в несколько сотен тысяч долларов за взлом сервера Telegram никто не получил.

взломать сервер Telegram

Иногда программа дает сбой, не позволяет отправлять сообщения, а отправленную информацию невозможно открыть или прочитать. Это часто случается, если Telegram перегружен запросами. В этом случае вам нужно подождать некоторое время (несколько минут или часов), и программа заработает. Серверы Telegram расположены в пяти разных странах. Взломать их практически невозможно. Однако время от времени программа может давать сбой. Через некоторое время эта проблема исчезнет сама по себе.

Перехват файлов

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

Перехват файлов телеграмм

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

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

Безопасен ли Телеграм: прослушивается ли спецслужбами и насколько защищен

Пользователь Хабра ne555 год назад подробно рассказал, как взломать Telegram. Он обошел сквозное шифрование мессенджера в Android и отправил разработчикам отчет об ошибке.

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

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

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

Безопасен ли Телеграм: прослушивается ли спецслужбами и насколько защищен

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

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

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

Чтобы выявить связи любого выбранного абонента, прослушать его голосовую почту, прочитать переписку, необходимо сначала войти в его учетную запись. Самый простой способ войти в систему – использовать облачный пароль. Вы можете войти в определенную учетную запись пользователя с другого устройства. Вы также можете получить чужой пароль, взломав страницу с помощью хакерской программы. Сотовый протокол SS7 уязвим. Хакеры могут использовать специальную программу для перехвата пароля, отправленного на телефон в виде SMS.

телеграмма

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

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

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

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

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

Многие эксперты считают защиту в Telegram просто маркетингом

Telegram не намерен говорить о протоколе MTProto 2.0 и никогда не проводил внешний аудит.

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

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

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

Кроме того, эксперты считают, что алгоритм Диффи-Хеллмана в Telegram сознательно ослаблен на уровне генератора псевдослучайных чисел. Эти номера не генерируются на вашем смартфоне или ПК: приложение запрашивает их с сервера. Как там организовано поколение, знают только разработчики.

Клиент с открытым исходным кодом – еще одна большая проблема. Более-менее регулярно обновляется только репозиторий настольной версии, и снова он размонтируется. Из каких готовых дистрибутивов они собраны, быстро проверить невозможно.

Привязка к телефону

Аккаунты Telegram привязаны к номерам телефонов. Это влияет как на анонимность, так и на безопасность.

Коды подтверждения отправляются через SMS. Известная дыра в протоколе сотовой связи SS7 позволяет их перехватывать и заменять.

Перехватывая код, вы получите доступ к переписке в обычных чатах. Вам даже не нужно ломать MTProto. Сервер автоматически изменит ключ и расшифрует недоставленные сообщения. И это минимум!

Еще одна проблема – push-уведомления. Именно они предупреждают о прибытии, не запуская мессенджер. Но сервер push-уведомлений на самом деле является разрешенной вами атакой типа “злоумышленник посередине”. И так обстоит дело во всех популярных мессенджерах.

Что делать обычному пользователю Telegram?

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

Альтернативой Telegram, например, является Signal. Его рекомендовали основатель WikiLeaks Джулиан Ассанж и бывший офицер АНБ и ЧР Эдвард Сноуден.

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

Как деанонимизацией в Telegram пользуются силовики?

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

Массовая деанонимизация мессенджеров началась в 2020 году. Сотрудники службы безопасности обратились к предполагаемым администраторам канала Telegram Cello Case, где произошла утечка компромата, и изъяли SIM-карту, привязанную к учетной записи. То же самое произошло после фальшивых публикаций на Незыгаре о введении комендантского часа. Данные о директорах впоследствии были опубликованы на других каналах.

Как обезопасить себя от деанонимизации?

Вот несколько советов от правоохранительных органов:

• Иметь как минимум две учетные записи: для тех, кому вы доверяете, и для остальных

• Используйте двухфакторную аутентификацию. Это означает, что для доступа к своей учетной записи вы должны сначала ввести имя пользователя и пароль, а затем написать специальный код по SMS или электронной почте

• Клонируйте необходимые учетные записи на гаджете резервного копирования

Что можно узнать, имея номер телефона?

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

Как увеличить безопасность приложения?

Пользователи Telegram, использующие возможности мессенджера для личной переписки, могут ввести пароль при входе и не беспокоиться о безопасности своих данных. Взлом личных страниц происходит крайне редко. Хакеры работают за высокие денежные комиссии. Информация, не содержащая коммерческой тайны, никого не интересует.

безопасность

Нередко взламывают деловую переписку, которую ведут сотрудники компании с помощью Telegram. Мессенджер предлагает своим клиентам возможность хранить и отправлять документы, фотокопии, фотографии, текстовые, голосовые и видео файлы. Рекомендуется защитить конфиденциальную информацию от взлома. Не рекомендуется доверять конфиденциальную информацию мобильным приложениям.

Способы защитить вашу переписку в Telegram:

  • установка дополнительного пароля для доступа к Telegram (двойная аутентификация);
  • использовать секретный чат для переписки;
  • установка антивирусной программы на устройство;
  • использование защищенного протокола передачи данных HTTPS;
  • безопасность беспроводной сети.

Правда, информацию на компьютере или смартфоне можно прочитать при включенном устройстве. В этом случае рекомендуется установить пароль для доступа к устройству.

пароль для входа в телефон

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

Ни одна программа не может гарантировать 100% защиту от взлома. Конфиденциальную информацию Telegram лучше не доверять. Приложения, поддерживающие OTR, считаются более надежными (например, Conversations, Adium, Xabber и другие).

Как общаться в Telegram безопасно

Чтобы общаться в Telegram максимально безопасно, воспользуйтесь нашими советами:

  • Общаясь с другими пользователями, используйте «Секретный чат». Однако обратите внимание, что все сгенерированные сообщения не будут храниться на сервере и, следовательно, будут доступны только на конечном устройстве.
  • Чтобы не показывать свой номер телефона другим пользователям, скройте его. Сделать это можно в меню «Настройки» – «Конфиденциальность» – «Номер телефона».
  • Кроме того, вы можете скрыть свой онлайн-статус, чтобы вас не видели в сети.

Можно ли удалить информацию из баз?

Да, полное удаление человека из базы стоит 100-200 тысяч рублей. На защиту от проникновения стоит 12 тысяч рублей в год.

Способы сделать использование мессенджера еще более безопасным

Мы выяснили, насколько безопасен Telegram. Но разработчики предоставили пользователям сервиса дополнительные инструменты, чтобы сделать общение по-настоящему безопасным. Они работают как коллективно, так и по отдельности.

Создавайте секретные чаты для большей безопасности

Для переписки в секретных чатах применяется специальный метод шифрования: пользователь – пользователь. Что предлагает:

  1. Сообщения архивируются только на устройствах отправителя и получателя. Они не сохраняются на серверах обмена сообщениями.
  2. Еще большая анонимность в Telegram. Ни одна третья сторона никогда не сможет получить доступ к истории переписки, ни даже обычный злоумышленник, ни даже разработчики мессенджера.
  3. Сообщения из чата нельзя пересылать третьим лицам, так как здесь не работает кнопка «Переслать.
  4. Создать скриншоты из окна секретного чата сложно, и если одна сторона все еще может это сделать, другая сторона получит соответствующее уведомление.

* Разработчик до сих пор не обещает 100% защиты от проверки переписки.

Создать секретный чат несложно:

Безопасен ли Телеграм: прослушивается ли спецслужбами и насколько защищен
Безопасен ли Телеграм: прослушивается ли спецслужбами и насколько защищен

Включайте опцию самоуничтожения сообщений по таймеру

В секретном чате можно активировать самоуничтожение сообщений по таймеру. В этом случае ваши сообщения после прочтения получателем будут удалены через определенный промежуток времени. Минимальный период таймера – 1 секунда, максимальный – 1 неделя. Сообщения удаляются как на вашем устройстве, так и на устройстве получателя. Так ваша безопасность в Telegram будет еще выше.

Примечание. Если таймер исходящих сообщений составляет менее 1 минуты, получатель сможет просматривать отправленные вами фотографии, только удерживая их пальцем. Это создает дополнительные трудности при попытке сделать снимок экрана с экрана.

Подключайте двухэтапную авторизацию

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

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

включить функцию очень просто:

  • Откройте настройки конфиденциальности – Двухэтапная проверка;

Безопасен ли Телеграм: прослушивается ли спецслужбами и насколько защищен
Безопасен ли Телеграм: прослушивается ли спецслужбами и насколько защищен

  • Затем нажмите «Установить дополнительный пароль» и введите желаемое значение.

Безопасен ли Телеграм: прослушивается ли спецслужбами и насколько защищен
Безопасен ли Телеграм: прослушивается ли спецслужбами и насколько защищен

Поэтому наличия сим-карты на руках у злоумышленника будет недостаточно для доступа к вашему профилю в мессенджере. Ваши личные данные в безопасности

А для еще большей безопасности можно установить код-пароль

Код-пароль – это возможность закрыть доступ к мессенджеру любому, кто попадет в руки к телефону. Например, ребенок берет в руки смартфон, чтобы посмотреть фотографии или поиграть в игру: зачем беспокоиться, что он что-то удалит из переписки или отправит себе сообщение там, где ему это не нужно (например, начальнику). Просто измените настройки приватности, и система запросит пароль при запуске приложения. И вопрос о том, читает ли ваша семья Telegram в ваше отсутствие, отпадет сам собой.

Безопасен ли Телеграм: прослушивается ли спецслужбами и насколько защищен
Безопасен ли Телеграм: прослушивается ли спецслужбами и насколько защищен

И в заключение напоминаем о необходимости соблюдать гигиену в Интернете: мы выходим в Интернет только с работающим антивирусом, мы не останавливаемся на сайтах с летающими баннерами и ни в коем случае не нажимаем на эти баннеры. Также следует быть внимательными при выборе сайтов для загрузки программ.

Безопасен ли Телеграмм?

Сохранение анонимности и тайны личной переписки — это естественное желание каждого пользователя интернета и сервисов, работающих посредством выхода в интернет. А безопасен ли Телеграмм и какова вероятность, что кто-то сможет перехватывать и читать / прослушивать сообщения? Ниже мы расскажем все, что знаем на эту тему.

Как работает Телеграмм

Безопасность Телеграмм обеспечивается за счет использования криптографического протокола MTProto Proxy . Мы не будем углубляться в цифры и узкоспециальные термины, а объясним особенности работы протокола более доступно:

  1. Для подключения вместо стандартной связки “логин+пароль” используется секретный ключ. Он создается в момент регистрации клиента в системе и надежно шифруется.
  2. Всего используется два вида шифрования: сервер-клиентское, для обмена обычными сообщениями, и сквозное (клиент-клиент) — такое шифрование в Телеграмме активируется, когда пользователь переходит в секретный чат.
  3. Весь трафик, передаваемый через каналы Телеграмм, выглядит он очень похоже на стандартное TCP/SSL соединение, однако внутри — нераспознаваемая “каша” из зашифрованных данных.
  4. MTProto Proxy — это узкоспециальный тип прокси. Работать через него может только Телеграмм, а другие приложения не поддерживаются. Кроме того, через MTProto Proxy нельзя передавать обычный интернет-трафик.

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

В связи с последними действиями Роскомнадзора, Телеграм заблокирован в России. Программисты мессенджера стараются обойти это, чтобы программа работала стабильно на всей территории страны, однако бывает, что соединение не срабатывает и тогда нужно использовать дополнительные прокси, о том, как настроить прокси в Телеграмме читайте в другой нашей статье!

Насколько безопасен этот мессенджер

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

  1. Насколько анонимен Телеграмм? Личные данные пользователей мессенджера не разглашаются ни при каких условиях — такова политика руководства компании. В любом случае, дать доступ в систему шифрования мессенджера равнозначно передаче всех инструментов управления им запрашивающей стороне. Что, естественно, недопустимо.
  2. Прослушивается ли Телеграмм? Нет. как мы уже сказали, особенности шифрования исключают возможность доступ третьих лиц к трафику, передаваемому между двумя пользователями.
  3. Могут ли вычислить по Телеграмм мое местонахождение? Нет. Пользователя смартфона или планшета гораздо проще отследить по номеру телефона и по сигналам, передаваемым самим устройством. Поэтому для поиска кого-либо использовать мессенджер (который прочитать невозможно, к тому же) несообразно.
  4. Отслеживается ли Телеграмм властями и есть ли риск, что будут разработаны программы / обучены люди, способные его взломать? Логично предполагать, что попытки отслеживать деятельность разработчика предпринимаются. Однако за все годы существования системы, проблемы у ее пользователей возникли только единожды. Да и те, согласно информации на оф. сайте компании, стали следствием технических проблем — отключения подачи электричества к оборудованию.

Кстати говоря, за последние несколько лет на официальном сайте Телеграмм два раза разработчиками объявлялся конкурс: тому, кто сможет взломать протокол этого мессенджера, Павел Дуров вручит денежный приз. В первый раз было заявлено $ 200 000 , во второй — $ 300 000 . Однако получить вознаграждение никому так и не удалось — победителей выявлено не было. Как видите, уверенность этих ребят в том, что они создали и чем занимаются по сей день, вполне обоснована.

Способы сделать использование мессенджера еще более безопасным

Насколько безопасен Телеграмм мы выяснили. Но разработчики предоставили пользователям сервиса дополнительные инструменты, позволяющие сделать общение по-настоящему безопасным. Они работают как все вместе, так и по отдельности.

Создавайте секретные чаты для большей безопасности

К перепискам в секретных чатах применяется особый способ шифрования: пользователь — пользователь. Что это дает:

  1. Сообщения хранятся только на устройствах отправителя и получателя. На серверах мессенджера они не сохраняются.
  2. Еще большая анонимность в Телеграмм. Никакая третья сторона никогда не сможет получить доступ к истории переписки — ни обычный злоумышленник, ни даже разработчики мессенджера.
  3. Сообщения из чата не могут быть пересланы третьему лицу, так как кнопка “Переслать” здесь не работает.
  4. Создание скринов с окна секретного чата затруднено*, а если одной из сторон это все же удалось сделать, второй стороне придет соответствующее уведомление.

*100% безопасности от заскринивания переписок разработчик все же не обещает.

Создать секретный чат не сложно:

Включайте опцию самоуничтожения сообщений по таймеру

В секретном чате вы можете активировать самоуничтожение сообщений по таймеру. В этом случае ваши сообщения, после прочтения их получателем, будут удаляться через назначенный промежуток времени. Минимальный срок по таймеру — 1 секунда, максимальный — 1 неделя. Сообщения удаляются и на вашем устройстве, и на устройстве получателя. Так ваша безопасность Telegram станет еще выше.

Обратите внимание: если на исходящие сообщения таймер стоит менее, чем на 1 минуту, получатель сможет просматривать отправленные вами фотографии, только удерживая их пальцем. Это создает ему дополнительные затруднения при попытках сделать скриншот с экрана.

Подключайте двухэтапную авторизацию

Как вы понимаете, если злоумышленник получает доступ к вашей сим-карте, то он запросто может авторизироваться в вашем профиле Телеграмм на любом устройстве. Но если вы включите двухэтапную авторизацию, такой “фокус” у злодея не пройдет. Как это работает:

  • Вы активируете двухэтапную авторизацию. В процессе понадобится придумать и ввести в специальную форму пароль. Пароль будет сохранен в системе.
  • При последующих попытках авторизироваться система сначала в обычном порядке запросит код подтверждения (он приходит на телефон), а затем пароль, который знаете только вы.

Включить возможность очень просто:

  • Откройте настройки Конфиденциальность — Двухэтапная аутентификация;

  • Далее кликните на Установить дополнительный пароль и введите желаемое значение.

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

А для еще большей безопасности можно установить код-пароль

Код-пароль — это возможность закрыть доступ в мессенджер тем, кому попадет в руки телефон. Например, ребенок берет смартфон, чтобы посмотреть фотографии или поиграть к в игру: зачем вам переживать, что он что-то удалить из переписки или сам отправит сообщение куда не нужно (например, начальнику). Просто измените настройки конфиденциальности и при запуске приложения система будет запрашивать пароль. И вопрос, читают ли Телеграмм в ваше отсутствие домашние отпадет сам собой.

И в завершение напоминаем о необходимости соблюдения интернет-гигиены: в сеть выходим только с работающим антивирусом, на сайтах с вылетающими баннерами не задерживаемся и ни в коем случае не кликаем по этим баннерам. Также следует внимательно относиться к выбору сайтов для скачивания программ.

 

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

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