Pull to refresh

Comments 61

Их основная проблема не в этой «уязвимости» и не в этой атаке, а в том, что они делают слишком громкие заявления о «безопасности» своего клиента (вы только их главную посмотрите), «забывая» несколько оговорок:


  • Для «безопасности» всем поголовно стоит включать 2fa, потому что смс не является безопасным методом аутентификации.
  • Не секрет-чаты не являются безопасными, то есть — не более безопасными как и любой другой c2s-s2c мессенджер с шифрованием между клиентом и сервером и хранением логов на стороне сервера.
  • Секрет-чаты являются безопасными только при ручной сверке отпечатков, который там запрятан за верхнюю плашку, причём о необходимости проведения этого телеграм при старте секрет-чата не напоминает.
  • Оно всё в любом случае безопасно не более чем сам ваш телефон (как аппарат, не протокол) и не более безопасно чем магазин приложений (он в подавляющем большинстве ситуации может в любой момент пушнуть вам клиент с закладкой, если очень захочет). Это, впрочем, для массового пользователя нерешаемая проблема.

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

Любым инструментом можно пользоваться неправильно. Если обезьяна забивает микроскопом гвозди, проблема ли это микроскопа? Нужно ли обвешивать микроскоп ярлычками — при забивании гвоздей крепко держитесь за тубус, перед нанесением удара по гвоздю переведите блок объективов в положение офф, после забивания гвоздя не забудьте протереть окуляр и надеть на инструмент чехол?
Не знаю почему вы это считаете именно их проблемой, а не проблемой пользователей, которые не понимают что делают. У меня даже стало появляться ощущение, что они это сознательно делают. Для отделения «агнцев от козлищ», тскзть… Или, там, тупые преступные группировки помогать разоблачать…

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


Но ещё большее — не понимает, а это продукт для массовой аудитории. Вон и человек, о вскрытии чей переписки тут идёт речь — либо не понимал, либо не волновался о приватности переписки вообще.


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


Цитаты с их главной страницы:


Why switch to Telegram?
Private: Telegram messages are heavily encrypted and can self-destruct.
Distributed: Telegram servers are spread worldwide for security and speed.
Secure: Telegram keeps your messages safe from hacker attacks.

Про приватность — первой в списке. Вообще, на странице очень много утверждений про приватность и безопасность. Сноска в футере, например:


Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed.

И, внимание: ни одного упоминания секрет чатов. Зато есть упоминание веб-версии, где секрет-чатов, как и какой-либо «приватности» нет вообще — для всего остального логи на сервере в открытом виде, плюс ещё и аутентификация по умолчанию исключительно через смс.


Для среднестатистического пользователя это выглядит как «я пользуюсь телеграмом, он безопасен, так написано и мне так друг Вася/Петя/Маша сказал/сказала, я в безопасности». Проблема — в этом.

Это маркетинг, он везде и всюду. В целом, они, конечно, зря не сделали сноски с упоминанием особенностей двух видов чата, однако вы ведь не хотите сказать, что обычные чаты в Telegram совсем никак не защищены от перехвата? Я не видел статей / новостей, где перехватывали бы чаты, все — о СМС-перехвате. Полагаю, хорошим тоном было бы напоминать пользователю регулярно включить 2fa, а лучше сделать это обязательным. Про секретные чаты много написано в FAQ: https://telegram.org/faq#q-how-secure-is-telegram
Тем, кто реально печётся о приватности, едва ли составит труда зайти дальше, чем главная страница и узнать особенности работы telegram'а. Остальным достаточно маркетингового буллшита.
что обычные чаты в Telegram совсем никак не защищены от перехвата

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

Думаю, те, кто «в теме», должны понимать, что обратная сторона тру-приватности — неудобства. Попробуйте продвигать в массы мессенджер без синхронизации между устройствами, станете королём полторы человек, которые готовы терпеть неудобства в обмен на приватность. Современному человеку достаточно ощущения приватности, когда «что-то там шифруется и вроде как защищено». Однако, в отличие от тех же WhatsApp с Viber, Telegram предлагает немного реальней защиту, если она вам нужна. Включить секретные чаты по-умолчанию равносильно потерять большую часть немногочисленных пользователей, которые сразу же убегут, как только не увидят историю своих прошлых чатов с другого устройства. А вопрос доверия всегда будет, если вам нужна синхронизация и прочие радости житейские — где-то это ведь должно храниться. Кто-то доверяет Facebook'у и общается через WhatsApp, кто-то доверяет Google и общается через Hangouts, кто-то доверяет Дурову и общается через Telegram, и это норма. Telegram и не утверждал, что стремится к p2p или чему-то подобному. Не переоценивайте тягу современного большинства к приватности — им больше нужно ощущение приватности, а не зашифрованность по самые яйца, с p2p и ключами.
Попробуйте продвигать в массы мессенджер без синхронизации между устройствами

Синхронизация между устройствами нужна и приватность её не отменяет. Теоретических проблем там нету.


Современному человеку достаточно ощущения приватности, когда «что-то там шифруется и вроде как защищено».

Шильдик «ошень безопасно»?


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

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

Синхронизация между устройствами нужна и приватность её не отменяет. Теоретических проблем там нету.

Синхронизация предполагает либо p2p между своими устройствами, либо хранение данных на промежуточном сервере. Первое пользователю неудобно: пока один из девайсов выключен, на него/с него ничего не придёт. Второе уже подразумевает отсутствие гарантий, каким бы ни был сервис. Принуждение установки пароля для синхронизации приведёт к тому же эффекту, что описал chesterset (причём описал предельно адекватно), плюс сделает недоступной функцию поиска (или её придётся вынести на client-side, что имеет множество недостатков).

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

Историю можно удалить в любой момент, причём как вместе с аккаунтом, так и потерев частное сообщение (но оно удалится только с одной стороны — у вас).
Синхронизация предполагает либо p2p между своими устройствами, либо хранение данных на промежуточном сервере. Первое пользователю неудобно: пока один из девайсов выключен, на него/с него ничего не придёт.

См. https://habrahabr.ru/company/eset/blog/308640/#comment_9776062


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


Историю можно удалить в любой момент, причём как вместе с аккаунтом, так и потерев частное сообщение (но оно удалится только с одной стороны — у вас).

Нет, я не про то. Я про то, что у них приватные только те чаты, которые не сохраняют и не синхронизируют логи.

Возникает проблема доверия. Обычные чаты хранят историю на серверах, и теоретически, чисто гипотетически, получить доступ к ней какой-то человек, помимо меня, может. Проблемы доверия вообще возникать не должно, и технические средства для этого давно есть, даже в том же Telegram — секретные чаты с временными ключами, но реализованы они неудобно, странно: пользователю не напоминают о необходимости проверки отпечатков; аутентифицируется секретный чат, а не его пользователи (отпечатки пользователей можно было бы подтверждать единожды).
секретные чаты с временными ключами, но реализованы они неудобно
В десктоп клиенте вообще не реализованы (по крайней меря для Win/Linux).

Я вот не вижу смыла в Telegram тк модель с центральным сервером заведома не безопасная, что бы они там не заявляли. Смысл использования теряется еще более если учесть что используется некая кастомная реализации криптографии (считается плохим тоном), частично закрытый код, необходимость привязки к телефону. Очевидно компаниям не интересно делать чаты без центральногьо сервера, интерес ведь именно в базе пользователей, поэтому вероятно p2p чаты пилят всякие гики, а не компании.
Принцип Federation (связи между серверами, а не клиентами), на котором построена почта и XMPP, имеет свои преимущества и недостатки. Такой подход экономит трафик и энергию на клиентском устройстве, и вы не завязаны на какой-то один сервер и всегда, при желании, можете либо воспользоваться другим, либо поднять свой.
Я считаю, что P2P-чаты не подходят для мобильных устройств в чистом их виде, слишком много проблем. Да и для не-мобильных тоже проблемы есть. Вот как, например, быть с оффлайн-сообщениями? Отказаться от них? Хранить их какое-то время в общем пуле сообщений и передавать на все ноды? Первый вариант неудобен, второй вариант генерирует много трафика и сильно замедлит клиент, если его не запускали несколько дней, особенно на мобильном устройстве.
Отказаться от них?

This. Но не в интерфейсе.
Сохранять их в очереди на стороне того, кто послал, отправлять по появлению обоих в сети одновременно.
Всё равно на мобильниках все почти всегда в онлайне, так что это не принесёт столько проблем, сколько хранение их в глобальном пуле.


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


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


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

>Это я понимаю, что без сверки ключей соединения по независимому каналу, которому вы доверяете (например, личная встреча) эта «безопасность» яйца выеденного не стоит. Вы это тоже понимаете. Достаточно большое количество моих знакомых это понимает. Но ещё большее — не понимает

А вы полагаете, это понимают пользователи вацапа, где секретчаты типа по-умолчанию, но вся история хранится на серверах? Это история про security through obscurity — должно быть понимание механизма. Если его нет, то нечего и пользоваться им. Для массового потребления _достаточно_ того, что соединения шифрованы.

>Вон и человек, о вскрытии чей переписки тут идёт речь — либо не понимал, либо не волновался о приватности переписки вообще.

Именно так. Человек либо не понимал что делает, либо его это не волновало. И виноват в этом — обана, — телеграмм!

>Для среднестатистического пользователя это выглядит как «я пользуюсь телеграмом, он безопасен, так написано и мне так друг Вася/Петя/Маша сказал/сказала, я в безопасности». Проблема — в этом.

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

Извините, а где я сказал, что whatsapp лучше? ;-)


И виноват в этом — обана, — телеграмм!

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


Безопасность — не та область, где всё работает само потому, что так вася-петя сказал. Само не работает, надо чётко понимать что именно делаешь и даже когда понимаешь, можешь допустить ошибку (как ужасный пират робертс). А пока даже понимания нет, нет смысла и инструмент в руки давать.

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


Больше того, если следовать вашей позиции, то разваливается вообще всё. «А где ты слышал о законах термодинамики, Нео?».


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

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


Хороший пример: вы можете примерно оценить, какая часть пользователей компьютеров, или даже только интернет-банков сможет вам рассказать, как работает TLS? Нет, им не нужно всем поголовно это объяснять, им достаточно инструкций на уровне «сделай то-то», «увидел зелёный значок и совпадающий домен — хорошо, не увидел — плохо». Больше того это — нормально.


А данная ситуация сейчас выглядит примерно как «вот новая бензопила, она безопасная и не отрезает ноги!», «продаём не отрезающую ноги бензопилу — безопасно для вас и ваших детей!», «ой, а что это вам ногу отрезало — вы не читали сорок вторую страницу инструкции, сноску мелким шрифтом? Там была подробная инструкция как не отрезать себе ноги, надо было делать всё по ней».


И да, в его основном и наболее частом применении — телеграм не является безопасным. Да, он поддерживает безопасные чаты, но так и нужно было писать — «поддерживает безопасные чаты, см. туда-то» и в этих чатах нужно было добавить напоминание о сверке отпечатков. А не как сейчас.

>Извините, а где я сказал, что whatsapp лучше? ;-)

Он делает строго как вы хотите — секретные чаты по-умолчанию. Но толку от этого никакого.

>В том числе, причины я описал выше. Слабая аутентификация по умолчанию плюс «маркетинг»

Нет. Причина в том, что человека это не волновало.

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

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

>И я оцениваю вероятность наличия закладок

Закладки? Я что-то прпустил?

>Хороший пример: вы можете примерно оценить, какая часть пользователей компьютеров, или даже только интернет-банков сможет вам рассказать, как работает TLS?

Это о-очень хороший пример! Просто отличный! Нам известно два с половиной случая когда скомпроментировали телеграмм. И только спецслужбы. А можете оценить количество денег, украденых из банков и у клиентов через интернет? Ничего не наводит на размышления? Совсем ничего?

> Нет, им не нужно всем поголовно это объяснять, им достаточно инструкций на уровне «сделай то-то», «увидел зелёный значок и совпадающий домен — хорошо, не увидел — плохо»

Вообще-то, недостаточно.

>Больше того это — нормально.

Расскажите это тем, у кого увели деньги.

>А данная ситуация сейчас выглядит примерно как «вот новая бензопила, она безопасная и не отрезает ноги!»,

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

> да, в его основном и наболее частом применении — телеграм не является безопасным

Является. В его основном и наиболее частом понимании.
Это как с ружьём. Оно безопасно в его основном применении. Но идиоты, выстреливающие себе в ногу находятся регулярно. Ружьё виновато, правда? А может не так? Может для того, чтобы безопасно пользоваться ружьём недос аточно просто купить хорошее ружьё? Может надо ещё некие правила обращения с ним соблюдать? Информационная безопасность — ровно то же самое. Недостаточно просто взять инструмент. Необходимо ещё и регламент его использования соблюдать и протоколы.
->Неверно. Например, большую часть исходников софта, которым я пользуюсь, я даже не смотрел лично

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

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


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

Ну ок =).


Расскажите это тем, у кого увели деньги.

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


Ни на одной пиле, что бензо, что не бензо, нет надписи — наши пилы отрезают вам ноги.

Да, но на них нету надписей, что они этого не делают и безопасны. А на телеграме — есть


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

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


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


Я смотрю на ситуацию с противоположенной стороны — телеграм не является инструментом, в заметной мере повышающим безопасность общения всех пользователей в целом.


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

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

Смешались вместе люди кони… Мы про разработку чего-то связанного с безопасностью? Откуда здесь графические компиляторы???
И, да, когда я встраивал себе starTLS, я смотрел как это устроено. Там десятки мест, где можно выстрелить себе в ногу. Если бы не смотрел, меня следовало бы уволить с волчьим билетом.

>Я не думаю, что у них увели деньги из-за их непонимания механизма работы TLS, если они следовали тривиальным рекомендациям

Наоборот. У этого оболдуя увели аккаунт, поскольку он НЕ следовал тривиальным рекомендациям. А с банковскими клиентами всё куда проще — от MitM да троянов. Но полоска же зелёная!

>Да, но на них нету надписей, что они этого не делают и безопасны. А на телеграме — есть

Телеграм безопасен ровно в оговорённых рамках. Есть надпись, что спецслужбы могут перехватить смс (сторонний сервис вообще!)? Нет. Есть надпись, что пилой преступник может отпилить вам ногу? Как, тоже нет?

>Это всё замечательно и было бы применимо, если бы продукт был специализированным. Обращению с ружьём учат.

Информационной безопасности учат. А вы можете купить воздушку. Это тоже ружьё. И им тоже можно прострелить ногу.

>Телеграм же — массовый продукт, но для рядовых пользователей он своих обещаний не выполняет

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

>Вы смотрите с точки зрения адекватности инструмента для вас лично

Инструмент адекватен общему подходу у безопасности. Если вы не понимаете принципов, ни один волшебный инструмент за вас всё не сделает. Просто так всё устроено, что в комплексе мер безопасности участвует человек. Если он этого не понимает, то вся система уязвима через его уязвимость. Вы, конечно, можете верить в какую-то волшебную пулю, но безопасности это вам не прибавит от слова совсем.
Смешались вместе люди кони… Мы про разработку чего-то связанного с безопасностью?

Нет, мы про то, насколько пользователям чего-то надо в это что-то вникать. Что значит «связанный с безопасностью»? Это массовый продукт, он должен быть безопасен для всех и явно давать пользователям понять, что надо делать, для того, чтобы не оказаться в плохой ситуации. У меня ядро операционки связано с безопасностью и браузер связан с безопасностью — там шифрование используется.


MitM
Но полоска же зелёная!

Покажите мне MitM, пожалуйста, при зашифрованном соединении. С учётом того, что домен таки верен и что браузер поддерживается и не окаменел ещё.

Покажите мне MitM, пожалуйста, при зашифрованном соединении. С учётом того, что домен таки верен и что браузер поддерживается и не окаменел ещё.

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


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

>Нет, мы про то, насколько пользователям чего-то надо в это что-то вникать.

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

>Что значит «связанный с безопасностью»? Это массовый продукт, он должен быть безопасен для всех и явно давать пользователям понять, что надо делать, для того, чтобы не оказаться в плохой ситуации.

То есть вы используете шифрование без понимания как это работает? У меня для вас (и ваших пользователей) плохие новости.

>браузер связан с безопасностью — там шифрование используется

Тоже хороший пример. Если вы будете разрабатывать ваше веб-приложение не понимая как устроена защита с помощью шифрования и прочих сертификатов в браузере, то, скорее всего, ваше приложение будет уязвимо. Я раз столкнулся с историей, когда часть сайта был под https, часть — нет, аутентификация и платежи(!) проходили в шифрованой части, некритичные вещи — в нешифрованой (считалось, что так наэкономятся ресурсы) и переключение между ними происходило с принудительной (по сути, кроссдоменной) передачей идентификатора серверной сессии (это не так просто — те, кто делают веб-контейнеры знают, как всё работает и делают всё, чтобы так не делали, но если постараться, то можно взломать и защиту). Ну, вот так не подумали, а ведь вроде бы всё правильно — браузер связан с безопасностью, там шифрование используется, все критичные части под этим шифрованием и мы в него не лезем и его ни кто не ломает. Но получившаяся система уязвима. По-вашему, браузер виноват? Нет же, виноват пользователь (в данном случае разработчик веб-системы), не разобравшийся в том, что одного только шифрования, вообще-то, недостаточно.

>Покажите мне MitM, пожалуйста, при зашифрованном соединении. С учётом того, что домен таки верен и что браузер поддерживается и не окаменел ещё.

Так это, обязательно-принудительный импорт «государственного сертификата» в Казахстане. Для вашей пользы и повышения вашей (на самом деле, нет, не вашей) безопасности. Лояльным пользователям явно дают понять что делать, для того, чтобы не оказаться в плохой ситуации. Всё строго как вы говорите. И если результат вас не интересует, то у меня для вас ещё одна плохая новость!
Ещё, по-моему, кто-то из мобильных операторов был замечен в попытках подсунуть свой сертификат.
А почему вы решили, что в WhatsApp вся история хранится на серверах?
WhatsApp chat histories are not stored on our servers; we cannot retrieve any deleted messages for you. You can use our iCloud backup feature to back up and restore your chat history.
Не знаю про iPhone, а на андроид бэкап по умолчанию выключен.
Так что в который раз, с настройками по умолчанию WhatsApp значительно лучше телеграма. Немного печалит история с номерами телефона и Facebook, но даже с учётом этого WhatsApp все ещё пока безопаснее.
А почему вы решили, что в WhatsApp вся история хранится на серверах?

А почему вы решили обратное? Потому что разработчики вам так сказали?


WhatsApp chat histories are not stored on our servers;

Я не знаю, что он там пересылает через TLS-соединение, не могу прочитать исходный код, у меня даже описания протокола нет.

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

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


Telegram хранит, да. Но они честно об этом говорят, что хранение нужно для поиска и мультидевайсности. Не хотите оставлять текст на сервере? Пожалуйста, Secret chat. Более того, "открытый текст" только для серверов, человек всё равно увидит кашу из непонятных символов.


Так что WA со своим псевдошифрованием с дружбой с фейсбуком в любом случае проигрывает.

Они используют Signal Protocol; в сотрудничестве с OpenWhisper. Если вам интересно, то описание протокола шифрования доступно; там не один бит.

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

По сути мы выбираем между точно плохим протоколом (telegram, все на серверах по умолчанию, плохая валидация секретных чатов), и возможно плохим протоколом (если facebook врёт и купил молчание open whisper systems и никто не стал whistleblower). Мне выбор очевиден.

Остальное содержание вашего сообщения — это эмоциональное; фейсбук плохой, все врут, все сливают. С этим сложно спорить, потому что с теориями заговора вообще сложно спорить. Вот вам ещё одна: телеграм создали в ФСБ в сотрудничестве с Дуровым, и именно по этой причине они продвигают как «безопасную» программу, которая по умолчанию хранит на серверах историю и имеет довольно слабую реализацию секретных чатов (в части верификации собеседника). Слабо оспорить? :)
я переводил статью об этом не так давно

Речь об этой статье? Если да, то, возможно, она частично неактуальна, т.к. в начале 2016-го было обновление протокола именно в плане защищенности (опять же, со слов разработчиков)


Они используют Signal Protocol; в сотрудничестве с OpenWhisper.

Ну нельзя верить в подобные заявления при закрытых исходниках. Щепетильная тема же.


Остальное содержание вашего сообщения — это эмоциональное; фейсбук плохой, все врут, все сливают

Частично. Тот уровень "внедрения" в жизнь, который пытается сотворить ФБ, действительно вызывает опасения у любого (оценочное суждение) здравомыслящего человека. Но, конечно, слив "мякотки" из точных и всеобъемлющих данных о 1,5 млрд человек, это же всего лишь теория заговора, да? :)


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

А вот тут всё просто. Хранит на серверах историю? Пожалуйста, смотрите видео с котиками и сообщения типа "хлеб купил". Зато мультидевайсность и прочие плюшки, именно тот случай, когда есть и удобство, и безопасность. Сравнение отпечатков в секретных чатах легко реализуется сторонними средствами, вплоть до показа вживую.
По крайней мере, исходники клиентов открыты и если бы был какой-то подвох в механизме создания секретного чата, его бы обнаружили умные люди.


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


Ну и оффтоп
телеграм создали в ФСБ
Да простит мне местная аудитория, но уж лучше "свои", чем "чужие", даже если и так. Хотя, такой "контроль" — всё равно плохо. (Принцип двух зол)
Речь об этой статье?

Нет, об этой. Еще есть новая теоретическая атака. Здесь неплохой summary. Я не использую телеграм, но если вы используете, то можете легко проверить. По крайней мере в части валидации картинки. Кажется, сам протокол не поменялся; только появились всякие фишки типа link preview.

Есть много литературы на тему того, почему нужно шифровать вообще все и всегда. Просто в качестве примера: при слежке часто достаточно знать, что факт (секретной) переписки состоялся. Такая информация в telegram тоже хранится на сервере. Если вообще все зашифровано, то даже хранение метаданных намного в меньшей степени компрометирует privacy. Я никаких секретных бесед не веду, но мне греет душу факт, что мою переписку, предположительно, никто не может прочитать.

Я согласен с вами, что было бы лучше, если бы whatsapp был открыт, или хотя бы его протокол; и лучше бы, если бы WhatsApp не принадлежал Facebook. На мой взгляд как раз «чужие» лучше, чем «свои»; потом что «свои» многократно себя скомпрометировали, а «чужие» просто зарабатывают на рекламе.

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

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

Ссылка одна и та же :)


По крайней мере в части валидации картинки. Кажется, сам протокол не поменялся;

Длину ключа увеличили в 2 раза, плюс добавили текстовое его представление. Вот как это выглядит, прошу прощения за качество, пришлось стримить через inkwire, т.к. в Android 5+ нельзя скриншотить секретные чаты.


Такая информация в telegram тоже хранится на сервере

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


Про "своих" и "чужих" большое спасибо за мнение, но всё, что дальше, уже политота и запрещено правилами.


Здесь неплохой summary

И опять же, последний его апдейт в декабре 2015-го, что немного неактуально, имхо.

А что нужно сделать чтобы чат на телефоне был действительно безопасен?
Представим что вашей перепиской заинтересовались серьезные люди которые могут обходить любые «законные» ограничения (государство, спецслужбы).
1. Допустим мы сделали end-to-end encryption, но никто не мешает перехватывать весь ваш трафик на уровне провайдера и расшифровать когда станут доступны ключи. Значит ли это что ключи нужны всегда новые и нужно их уничтожать на обоих концах соединения?
2. Пусть всегда будет 2FA, но вы можете авторизовать дополнительное устройство. Тут можно организовать перехват СМС или «вежливо» попросить вашего оператора сотовой связи. Значит ли это что запросы на добавление должны идти через одно устройство и в случае его утери вы теряете доступ ко всей переписке, либо такую функцию нужно вообще отключить?
3. Ваш телефон могут банально украсть, обойти PIN защиту блокировщика экрана, подделать отпечатки пальца и т.д. Вытащить ключи и расшифровать всю переписку. Даже могут «попросить» вас это сделать. Как защититься от взлома аппарата и владельца? Делать специальный код стирающий все и везде?
Насколько глубока кроличья нора?
Берем дешевый VPS в нормальной стране. Регистрируем номер в другой нормальной стране. Ставим туда телеграм. Пробрасываем VNC. Готово. Но естественно это не отменяет ректально-паяльного метода. Тут уже ничем не защитить.

Отлично! Это вам дало только то, что теперь ваши разговоры может ещё и оператор вашего VPS прочитать, писать от вас, или ключ куда-нибудь вытащить. Да и вообще что угодно делать.
Ну и плюс вы же VNC по зашифрованному каналу гоните, да? Если нет — то тогда все, кто между VPS и вами могут читать, и, возможно, писать.

О, хорошие, годные вопросы.


  1. Допустим мы сделали end-to-end encryption, но никто не мешает перехватывать весь ваш трафик на уровне провайдера и расшифровать когда станут доступны ключи. Значит ли это что ключи нужны всегда новые и нужно их уничтожать на обоих концах соединения?

Это решаемая проблема — да, по уже установленному безопасному каналу ключи можно обновлять даже в автоматическом режиме, уничтожая старые. При краже ключей всё равно начнутся очень большие неприятности, конечно, но старый трафик не будет расшифрован.


Пусть всегда будет 2FA

К чёрту 2FA и вообще сервер-сайт аутентификацию. Можно построить p2p сеть, где аутентификация в таком виде вообще не нужна, а подключение с другого устройства будет происходить только передачей ключа с имеющегося. При этом, если устройств больше двух, можно даже продумать схему, которая позволит выйти из ситуации кражи одного из них с минимальными возможными потерями, при реакции пользователя на это (хотя, если логи мы храним — их укравшие телефон в разблокированном состоянии получат).


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


При этом явно отмечать контакты как не подтверждённые/подтверждённые/скомпрометированные.


Это всё реализуемо.


  1. Ваш телефон могут банально украсть, обойти PIN защиту блокировщика экрана, подделать отпечатки пальца и т.д. Вытащить ключи и расшифровать всю переписку. Даже могут «попросить» вас это сделать. Как защититься от взлома аппарата и владельца? Делать специальный код стирающий все и везде?

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

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

По тому же, по другому — только в случае заведомой компрометации.
И что значит — предлагаю? Это работает много где, старые сеансовые ключи далеко не всегда восстанавливаются при получении основного ключа постфактум и при доступе к полной записи логов.

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

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

Протокол Диффи-Хеллмана — далеко не единственный способ, поэтому я конкретно пальцем и не тыкал =). Но как пример — да.


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


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


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


В такой схеме это только 1:1 разговоры, конечно, но для конференций тоже варианты есть.

А можно поподробнее про p2p сеть вместо 2fa? Почему сейчас это не используют?
Еще вопрос: как безопасно хранить локальные логи?
Допустим на ваш телефон незаметно (например через взлом магазина приложений) поставили закладку.
Она умеет копировать зашифрованные данные с диска и отправлять их по сети.
А также получать доступ к памяти и читать расшифрованные чаты или напрямую ключи.
Почему сейчас это не используют?

Tox что-то пилит, например, у них что-то получается, но рекомендовать пока не могу — последний раз, как смотрел, было сырое плюс несколько неверных моментов. Но это давно было, надо посмотреть повнимательнее.


Ну и посмотрите как cjdns работает, хотя оно и не мессенджер.

Знаете, вся эта дискуссия сподвигла меня таки собрать свои мысли по поводу в кучу, вот что получилось:
https://github.com/ChALkeR/whinings/blob/master/Instant-messaging.md.


Аккуратно, я там ною, плюс оно написано совсем недавно и поэтому сырое — я ещё буду расширять, править и вычитывать.
Я предупредил =).

> 1. Допустим мы сделали end-to-end encryption, но никто не мешает перехватывать весь ваш трафик на уровне провайдера и расшифровать когда станут доступны ключи. Значит ли это что ключи нужны всегда новые и нужно их уничтожать на обоих концах соединения?

Для этого придуман key ratcheting, который автоматически устраивает ротацию ключей шифрования. В OTR он есть. Signal также использует свой алгоритм — https://whispersystems.org/blog/advanced-ratcheting/. В Telegram ротации ключей нет.

> 3. Ваш телефон могут банально украсть, обойти PIN защиту блокировщика экрана, подделать отпечатки пальца и т.д. Вытащить ключи и расшифровать всю переписку. Даже могут «попросить» вас это сделать. Как защититься от взлома аппарата и владельца? Делать специальный код стирающий все и везде?

Ни один мессенджер не может дать гарантий секретности, если телефон находится в руках у злоумышленника. Можно гарантировать сохранность переписки при прослушке данных третьей стороной, не более. Full drive encryption дает довольно надежную защиту в случае, если злоумышленнику попал в руки уже выключенный телефон.
Их главная на столько же громкая, как и заглавие этой статьи. Приписывать дырявость перехвата смс к мессенджеру это бред, имхо.
Но мне кажется такими темпами в ближайшем времени что-то кардинально изменится в этой области, так как это проблема не только мессенджеров, но и многих банков, например.
Еще были заявления, что Китай их никогда не заблокирует, что свобода слова и все такое… Тем временем уже второй год в Китае Телеграм не работает. :/
Как и многие другие ресурсы, но they did all they could.
Т.е. большая часть юзверей даже не подумали над тем, чтобы включить двухфакторную авторизацию. //_-)

А им никто не сказал, что это надо, понимаете?


Небезопасные настройки по умолчанию — та ещё гадость. Много баз данных, например, утекло из-за них.

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

При этом телеграмм вполне себе может, если пользователь этого хочет, в дополнительную защиту, в self-destruction и остальное. Т.е. возвращаемся к тому, что «если пользователь хочет что-то сделать — не мешай ему».
О какой анонимности или безопасности может идти речь в мессенджерах использующих телефонный номер как идентификатор? Думаю ни о какой.
Не заблуждайтесь, никто не говорил, что телеграм или whatsapp — это про анонимность.
Вот возможность атаки через перехват смс — да, такое есть и успешно применялось. Это проблема.
Помимо sms аутентификации ставьте пароли, господа.
не уверен, что поможет. пароль на телефоне не ставится автоматом на десктоп клиент, например. смысла от пароля в данной ситуации нет.
Если пароль задали, то на любых версиях (десктоп, телефон) его требуется вводить.
При регистрации не предлагается ввести пароль, это да. Его потом нужно через настройки задавать.
опять же — вы точно про обычный пароль а не 2FA? обычный пароль у меня не синхронизировался между устройствами. в такой ситуации он приносит больше вреда, чем пользы, имхо. например с включенным обычным паролем на телефоне ты не видишь что приходит в сообщениях, а это уже плохо, так как при попытке активировать телеграм на другом устройстве обычно приходит сообщение в сам телеграм, и такое сообщение можно пропустить.
Пароль, как 2FA, ставится пост-фактум.
С момента его установки, подключение к аккаунту любых новых устройств требуют пароль, как второй фактор. Перехват SMS спец. службами не поможет получить доступ.

Включение 2FA в десктоп-клиенте поддерживается.
я пишу про обычный пароль с обычной авторизацией
Я тоже имел в виду 2FA пароль.
Шикарная новость! Что, tox-хейтеры все равно продолжают жрать пашин кактус?
Ей-богу, не создан телеграм для секьюрного общения. Пока есть центральный сервер, пока есть аккаунты на этом сервере — нет никакой секьюрности.
Что по мне, если сервис или программа а) просит номер телефона для любой цели, б) не предоставляет возможности импортировать свои приватные ключи, а вместо этого чем-то своим все защищает, в) почти всегда при упоминании о безопасномхранении любой части информации из переписки в приватном, защищенном облаке, то ни о какой приватности или безопасности речь точно не идет.
Sign up to leave a comment.