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'а. Остальным достаточно маркетингового буллшита.
что обычные чаты в Telegram совсем никак не защищены от перехвата
Да, обычные чаты в Telegram совсем никак не защищены от перехвата Telegram-ом, это довольно очевидно. Иначе бы веб-версия не работала и не подгружала логи, например, но это просто для наглядности, на самом деле это следует из отсутствия проверки ключей по независимому от Telegram-а каналу.
Попробуйте продвигать в массы мессенджер без синхронизации между устройствами
Синхронизация между устройствами нужна и приватность её не отменяет. Теоретических проблем там нету.
Современному человеку достаточно ощущения приватности, когда «что-то там шифруется и вроде как защищено».
Шильдик «ошень безопасно»?
Включить секретные чаты по-умолчанию равносильно потерять большую часть немногочисленных пользователей, которые сразу же убегут, как только не увидят историю своих прошлых чатов с другого устройства.
То, что они связали в одно удаление истории и шифрование — проблема исключительно телеграма, а не этой вселенной.
Синхронизация между устройствами нужна и приватность её не отменяет. Теоретических проблем там нету.
Синхронизация предполагает либо p2p между своими устройствами, либо хранение данных на промежуточном сервере. Первое пользователю неудобно: пока один из девайсов выключен, на него/с него ничего не придёт. Второе уже подразумевает отсутствие гарантий, каким бы ни был сервис. Принуждение установки пароля для синхронизации приведёт к тому же эффекту, что описал chesterset (причём описал предельно адекватно), плюс сделает недоступной функцию поиска (или её придётся вынести на client-side, что имеет множество недостатков).
То, что они связали в одно удаление истории и шифрование — проблема исключительно телеграма, а не этой вселенной.
Историю можно удалить в любой момент, причём как вместе с аккаунтом, так и потерев частное сообщение (но оно удалится только с одной стороны — у вас).
Синхронизация предполагает либо p2p между своими устройствами, либо хранение данных на промежуточном сервере. Первое пользователю неудобно: пока один из девайсов выключен, на него/с него ничего не придёт.
См. https://habrahabr.ru/company/eset/blog/308640/#comment_9776062
Я не вижу в этом особой проблемы, если честно. И не пока один из девайсов выключен, а пока все девайсы пользователя выключены, ему ничего не придёт. Как только один включится — на него придёт очередь доставки от всех собеседников, у которых включен хоть один девайс. Как только включится другой — на него синкнется история с первого девайса.
Историю можно удалить в любой момент, причём как вместе с аккаунтом, так и потерев частное сообщение (но оно удалится только с одной стороны — у вас).
Нет, я не про то. Я про то, что у них приватные только те чаты, которые не сохраняют и не синхронизируют логи.
секретные чаты с временными ключами, но реализованы они неудобноВ десктоп клиенте вообще не реализованы (по крайней меря для Win/Linux).
Я вот не вижу смыла в Telegram тк модель с центральным сервером заведома не безопасная, что бы они там не заявляли. Смысл использования теряется еще более если учесть что используется некая кастомная реализации криптографии (считается плохим тоном), частично закрытый код, необходимость привязки к телефону. Очевидно компаниям не интересно делать чаты без центральногьо сервера, интерес ведь именно в базе пользователей, поэтому вероятно p2p чаты пилят всякие гики, а не компании.
Я считаю, что P2P-чаты не подходят для мобильных устройств в чистом их виде, слишком много проблем. Да и для не-мобильных тоже проблемы есть. Вот как, например, быть с оффлайн-сообщениями? Отказаться от них? Хранить их какое-то время в общем пуле сообщений и передавать на все ноды? Первый вариант неудобен, второй вариант генерирует много трафика и сильно замедлит клиент, если его не запускали несколько дней, особенно на мобильном устройстве.
Отказаться от них?
This. Но не в интерфейсе.
Сохранять их в очереди на стороне того, кто послал, отправлять по появлению обоих в сети одновременно.
Всё равно на мобильниках все почти всегда в онлайне, так что это не принесёт столько проблем, сколько хранение их в глобальном пуле.
При этом если у пользователя несколько устройств — синкать очередь отправки между ними, то есть если дома стоит постоянно включенный PC — очередь на доставку будет всегда онлайн (как и сообщения, приходящие пользователю), даже если мобильный мигает.
Да и пользователь всегда сможет лично создать себе постоянно включенную ноду, если очень захочет.
Да, в таком решении есть минусы, но мне кажется, что их здесь меньше, чем в остальных.
А вы полагаете, это понимают пользователи вацапа, где секретчаты типа по-умолчанию, но вся история хранится на серверах? Это история про security through obscurity — должно быть понимание механизма. Если его нет, то нечего и пользоваться им. Для массового потребления _достаточно_ того, что соединения шифрованы.
>Вон и человек, о вскрытии чей переписки тут идёт речь — либо не понимал, либо не волновался о приватности переписки вообще.
Именно так. Человек либо не понимал что делает, либо его это не волновало. И виноват в этом — обана, — телеграмм!
>Для среднестатистического пользователя это выглядит как «я пользуюсь телеграмом, он безопасен, так написано и мне так друг Вася/Петя/Маша сказал/сказала, я в безопасности». Проблема — в этом.
Проблема в этом самом пользователе. Безопасность — не та область, где всё работает само потому, что так вася-петя сказал. Само не работает, надо чётко понимать что именно делаешь и даже когда понимаешь, можешь допустить ошибку (как ужасный пират робертс). А пока даже понимания нет, нет смысла и инструмент в руки давать.
Неоднозначная позиция, согласен. но, по-моему, куда более честная, чем у того же вацапа.
А вы полагаете, это понимают пользователи вацапа, где секретчаты типа по-умолчанию, но вся история хранится на серверах?
Извините, а где я сказал, что whatsapp лучше? ;-)
И виноват в этом — обана, — телеграмм!
В том числе, причины я описал выше. Слабая аутентификация по умолчанию плюс «маркетинг» (как выразились выше), умалчивающий критические детали.
Безопасность — не та область, где всё работает само потому, что так вася-петя сказал. Само не работает, надо чётко понимать что именно делаешь и даже когда понимаешь, можешь допустить ошибку (как ужасный пират робертс). А пока даже понимания нет, нет смысла и инструмент в руки давать.
Неверно. Например, большую часть исходников софта, которым я пользуюсь, я даже не смотрел лично — но их смотрели другие люди. И я оцениваю вероятность наличия закладок в открытых компонентах как довольно низкую, именно из-за того, что я в целом доверяю остальным людям (как сообществу). И да, по многим вопросам я даже доверяю отдельным людям, которые в каких-то областях являются куда опытнее меня. Это нормально.
Больше того, если следовать вашей позиции, то разваливается вообще всё. «А где ты слышал о законах термодинамики, Нео?».
А пока даже понимания нет, нет смысла и инструмент в руки давать.
Сможете рассказать, например, про физику передачи сигнала в кабелях в деталях или про то, как устроен процессор внутри на уровне отдельных блоков транзисторов? Ладно, плохой пример.
Хороший пример: вы можете примерно оценить, какая часть пользователей компьютеров, или даже только интернет-банков сможет вам рассказать, как работает TLS? Нет, им не нужно всем поголовно это объяснять, им достаточно инструкций на уровне «сделай то-то», «увидел зелёный значок и совпадающий домен — хорошо, не увидел — плохо». Больше того это — нормально.
А данная ситуация сейчас выглядит примерно как «вот новая бензопила, она безопасная и не отрезает ноги!», «продаём не отрезающую ноги бензопилу — безопасно для вас и ваших детей!», «ой, а что это вам ногу отрезало — вы не читали сорок вторую страницу инструкции, сноску мелким шрифтом? Там была подробная инструкция как не отрезать себе ноги, надо было делать всё по ней».
И да, в его основном и наболее частом применении — телеграм не является безопасным. Да, он поддерживает безопасные чаты, но так и нужно было писать — «поддерживает безопасные чаты, см. туда-то» и в этих чатах нужно было добавить напоминание о сверке отпечатков. А не как сейчас.
Он делает строго как вы хотите — секретные чаты по-умолчанию. Но толку от этого никакого.
>В том числе, причины я описал выше. Слабая аутентификация по умолчанию плюс «маркетинг»
Нет. Причина в том, что человека это не волновало.
>Неверно. Например, большую часть исходников софта, которым я пользуюсь, я даже не смотрел лично
Если вы разработчик софта, связанного с безопасностью, то с вашим продуктом я бы не стал связываться однозначно. Это просто означает, что вы не понимаете что делаете.
>И я оцениваю вероятность наличия закладок
Закладки? Я что-то прпустил?
>Хороший пример: вы можете примерно оценить, какая часть пользователей компьютеров, или даже только интернет-банков сможет вам рассказать, как работает TLS?
Это о-очень хороший пример! Просто отличный! Нам известно два с половиной случая когда скомпроментировали телеграмм. И только спецслужбы. А можете оценить количество денег, украденых из банков и у клиентов через интернет? Ничего не наводит на размышления? Совсем ничего?
> Нет, им не нужно всем поголовно это объяснять, им достаточно инструкций на уровне «сделай то-то», «увидел зелёный значок и совпадающий домен — хорошо, не увидел — плохо»
Вообще-то, недостаточно.
>Больше того это — нормально.
Расскажите это тем, у кого увели деньги.
>А данная ситуация сейчас выглядит примерно как «вот новая бензопила, она безопасная и не отрезает ноги!»,
Тоже хороший пример. Бензопилы именно так и продаются. Приходишь в магазин и покупаешь. Ни на одной пиле, что бензо, что не бензо, нет надписи — наши пилы отрезают вам ноги. Возможно, вы найдёте это на 42-й странице.
> да, в его основном и наболее частом применении — телеграм не является безопасным
Является. В его основном и наиболее частом понимании.
Это как с ружьём. Оно безопасно в его основном применении. Но идиоты, выстреливающие себе в ногу находятся регулярно. Ружьё виновато, правда? А может не так? Может для того, чтобы безопасно пользоваться ружьём недос аточно просто купить хорошее ружьё? Может надо ещё некие правила обращения с ним соблюдать? Информационная безопасность — ровно то же самое. Недостаточно просто взять инструмент. Необходимо ещё и регламент его использования соблюдать и протоколы.
->Неверно. Например, большую часть исходников софта, которым я пользуюсь, я даже не смотрел лично
Если вы разработчик софта, связанного с безопасностью, то с вашим продуктом я бы не стал связываться однозначно. Это просто означает, что вы не понимаете что делаете.
Вы читали исходники ядра вашей операционки, включая все драйвера от всего, чем вы пользуетесь, код графической системы, компилятора, библиотек декодирования изображений, и код используемой вами системы виртуализации? Весь?
с вашим продуктом я бы не стал связываться однозначно
Ну ок =).
Расскажите это тем, у кого увели деньги.
Я не думаю, что у них увели деньги из-за их непонимания механизма работы TLS, если они следовали тривиальным рекомендациям.
Ни на одной пиле, что бензо, что не бензо, нет надписи — наши пилы отрезают вам ноги.
Да, но на них нету надписей, что они этого не делают и безопасны. А на телеграме — есть
Информационная безопасность — ровно то же самое. Недостаточно просто взять инструмент. Необходимо ещё и регламент его использования соблюдать и протоколы.
Это всё замечательно и было бы применимо, если бы продукт был специализированным. Обращению с ружьём учат.
Телеграм же — массовый продукт, но для рядовых пользователей он своих обещаний не выполняет, он даже не делает никаких попыток сделать для них ситуацию безопаснее — этим можно воспользоваться только если знаешь, чего ищешь, заранее.
Вы смотрите с точки зрения адекватности инструмента для вас лично — с этим я соглашусь, телеграм можно считать инструментом, через которую продвинутые пользователи могут получить безопасный (с небольшими оговорками, но от них на массовых телефонах не убежать) канал общения.
Я смотрю на ситуацию с противоположенной стороны — телеграм не является инструментом, в заметной мере повышающим безопасность общения всех пользователей в целом.
Это, кстати, одна из причин, почему я поддерживаю достаточно популярный программный продукт, раз уж вы об этом заговорили.
Смешались вместе люди кони… Мы про разработку чего-то связанного с безопасностью? Откуда здесь графические компиляторы???
И, да, когда я встраивал себе starTLS, я смотрел как это устроено. Там десятки мест, где можно выстрелить себе в ногу. Если бы не смотрел, меня следовало бы уволить с волчьим билетом.
>Я не думаю, что у них увели деньги из-за их непонимания механизма работы TLS, если они следовали тривиальным рекомендациям
Наоборот. У этого оболдуя увели аккаунт, поскольку он НЕ следовал тривиальным рекомендациям. А с банковскими клиентами всё куда проще — от MitM да троянов. Но полоска же зелёная!
>Да, но на них нету надписей, что они этого не делают и безопасны. А на телеграме — есть
Телеграм безопасен ровно в оговорённых рамках. Есть надпись, что спецслужбы могут перехватить смс (сторонний сервис вообще!)? Нет. Есть надпись, что пилой преступник может отпилить вам ногу? Как, тоже нет?
>Это всё замечательно и было бы применимо, если бы продукт был специализированным. Обращению с ружьём учат.
Информационной безопасности учат. А вы можете купить воздушку. Это тоже ружьё. И им тоже можно прострелить ногу.
>Телеграм же — массовый продукт, но для рядовых пользователей он своих обещаний не выполняет
Выполняет. То, что нужно массовому рядовому пользователю, выполняет. И может выполнять бОльшее, но для этого требуется соблюдать дополнительные регламенты.
>Вы смотрите с точки зрения адекватности инструмента для вас лично
Инструмент адекватен общему подходу у безопасности. Если вы не понимаете принципов, ни один волшебный инструмент за вас всё не сделает. Просто так всё устроено, что в комплексе мер безопасности участвует человек. Если он этого не понимает, то вся система уязвима через его уязвимость. Вы, конечно, можете верить в какую-то волшебную пулю, но безопасности это вам не прибавит от слова совсем.
Смешались вместе люди кони… Мы про разработку чего-то связанного с безопасностью?
Нет, мы про то, насколько пользователям чего-то надо в это что-то вникать. Что значит «связанный с безопасностью»? Это массовый продукт, он должен быть безопасен для всех и явно давать пользователям понять, что надо делать, для того, чтобы не оказаться в плохой ситуации. У меня ядро операционки связано с безопасностью и браузер связан с безопасностью — там шифрование используется.
MitM
Но полоска же зелёная!
Покажите мне MitM, пожалуйста, при зашифрованном соединении. С учётом того, что домен таки верен и что браузер поддерживается и не окаменел ещё.
Покажите мне MitM, пожалуйста, при зашифрованном соединении. С учётом того, что домен таки верен и что браузер поддерживается и не окаменел ещё.
Хотя нет — это возможно при выпуске левого сертификата, конечно, и это проблема системы TLS, она фундаментально сломана в это месте. С заменой её на что-то лучшее пока всё сложно, это да.
Но сейчас речь идёт про банковских клиентов, и это немного не тот уровень пока что. Так что всё равно покажите реальную историю, или метод, который не предполагает злонамеренного центра сертификации.
Пользователям смотря чего. Вы можете себя тешить мыслью, что есть какой-то такой волшебный софт, который позволяет идиотам забить на регламенты и протоколы и при этом всё у них будет получаться с помощью магии. Но такого нет, тк человек является существенным звеном в этой системе. Ровно так же, как человек является существенным звеном в системе, позволяющей не отстрелить себе ногу при использовании ружья. А то, чего вы хотите от системы — некоторую защищённость от просмотра не сильно оснащённой третьей стороной, телеграмм обеспечивает. Более того, прямых взломов даже оснащённой третьей стороной не зафиксировано — все «взломы» сторонних сервисов.
На дверном замке не написано, что можно спилить петли у двери или вообще влезть в окно. Замок более или менее хорошо защищает именно от того, для защиты чего он спроектирован. Комплексная безопасность жилища — куда более широкое понятие. В данном случае спилили петли.
>Что значит «связанный с безопасностью»? Это массовый продукт, он должен быть безопасен для всех и явно давать пользователям понять, что надо делать, для того, чтобы не оказаться в плохой ситуации.
То есть вы используете шифрование без понимания как это работает? У меня для вас (и ваших пользователей) плохие новости.
>браузер связан с безопасностью — там шифрование используется
Тоже хороший пример. Если вы будете разрабатывать ваше веб-приложение не понимая как устроена защита с помощью шифрования и прочих сертификатов в браузере, то, скорее всего, ваше приложение будет уязвимо. Я раз столкнулся с историей, когда часть сайта был под https, часть — нет, аутентификация и платежи(!) проходили в шифрованой части, некритичные вещи — в нешифрованой (считалось, что так наэкономятся ресурсы) и переключение между ними происходило с принудительной (по сути, кроссдоменной) передачей идентификатора серверной сессии (это не так просто — те, кто делают веб-контейнеры знают, как всё работает и делают всё, чтобы так не делали, но если постараться, то можно взломать и защиту). Ну, вот так не подумали, а ведь вроде бы всё правильно — браузер связан с безопасностью, там шифрование используется, все критичные части под этим шифрованием и мы в него не лезем и его ни кто не ломает. Но получившаяся система уязвима. По-вашему, браузер виноват? Нет же, виноват пользователь (в данном случае разработчик веб-системы), не разобравшийся в том, что одного только шифрования, вообще-то, недостаточно.
>Покажите мне MitM, пожалуйста, при зашифрованном соединении. С учётом того, что домен таки верен и что браузер поддерживается и не окаменел ещё.
Так это, обязательно-принудительный импорт «государственного сертификата» в Казахстане. Для вашей пользы и повышения вашей (на самом деле, нет, не вашей) безопасности. Лояльным пользователям явно дают понять что делать, для того, чтобы не оказаться в плохой ситуации. Всё строго как вы говорите. И если результат вас не интересует, то у меня для вас ещё одна плохая новость!
Ещё, по-моему, кто-то из мобильных операторов был замечен в попытках подсунуть свой сертификат.
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 со своим псевдошифрованием с дружбой с фейсбуком в любом случае проигрывает.
Настройки по умолчанию имеют значение. Даже у секретных чатов 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 и вами могут читать, и, возможно, писать.
О, хорошие, годные вопросы.
- Допустим мы сделали end-to-end encryption, но никто не мешает перехватывать весь ваш трафик на уровне провайдера и расшифровать когда станут доступны ключи. Значит ли это что ключи нужны всегда новые и нужно их уничтожать на обоих концах соединения?
Это решаемая проблема — да, по уже установленному безопасному каналу ключи можно обновлять даже в автоматическом режиме, уничтожая старые. При краже ключей всё равно начнутся очень большие неприятности, конечно, но старый трафик не будет расшифрован.
Пусть всегда будет 2FA
К чёрту 2FA и вообще сервер-сайт аутентификацию. Можно построить p2p сеть, где аутентификация в таком виде вообще не нужна, а подключение с другого устройства будет происходить только передачей ключа с имеющегося. При этом, если устройств больше двух, можно даже продумать схему, которая позволит выйти из ситуации кражи одного из них с минимальными возможными потерями, при реакции пользователя на это (хотя, если логи мы храним — их укравшие телефон в разблокированном состоянии получат).
Логи хранить в зашифрованном виде на ваших устройствах и на устройствах собеседников, подписанные вами обоими. Тогда при входе в сеть с телефона, который был выключен — логи подгрузятся с вашего другого устройства или с устройств ваших собеседников.
При этом явно отмечать контакты как не подтверждённые/подтверждённые/скомпрометированные.
Это всё реализуемо.
- Ваш телефон могут банально украсть, обойти PIN защиту блокировщика экрана, подделать отпечатки пальца и т.д. Вытащить ключи и расшифровать всю переписку. Даже могут «попросить» вас это сделать. Как защититься от взлома аппарата и владельца? Делать специальный код стирающий все и везде?
См. выше про кражу телефона. Переписку в таком случае злоумышленники получат — можно тупо стукнуть пользователя по голове, пока они читают сообщения — от этого даже теоретически нельзя сейчас защититься. Можно этому пытаться воспрепятствовать через блокировку и шифрование фс — но, опять же, это можно обойти, так что будем защищаться только о того, от чего можно защититься.
По тому же, по другому — только в случае заведомой компрометации.
И что значит — предлагаю? Это работает много где, старые сеансовые ключи далеко не всегда восстанавливаются при получении основного ключа постфактум и при доступе к полной записи логов.
Существует такая вещь как Perfect forward secrecy. Это свойство некоторых алгоритмов согласования ключа означает, что даже полный перехват всего трафика не поможет третьему лицу узнать ключ, если только он заранее не озаботился организовать MitM-атаку.
Протокол Диффи-Хеллмана — далеко не единственный способ, поэтому я конкретно пальцем и не тыкал =). Но как пример — да.
Вот вам другой пример: генерируем два приватных ключа, по одному на пользователя, посылаем друг другу публичные, общая картинка — визуализация конкатенации отпечатков этих двух ключей в алфавитном порядке.
Дальше генерируем сессийные приватные ключи, посылаем друг другу публичные, подписанные приватными ключами пользователей.
Общаемся, шифруя трафик сессийными ключами друг друга. В конце разговора (или по таймауту) выкидываем приватные части сессийных ключей, если нужно продолжить — создаём новые.
Даже если приватный ключ пользователя утечёт — расшифровать трафик будет нельзя, так как приватного сессийного ключа в принципе уже нигде не будет.
В такой схеме это только 1:1 разговоры, конечно, но для конференций тоже варианты есть.
Еще вопрос: как безопасно хранить локальные логи?
Допустим на ваш телефон незаметно (например через взлом магазина приложений) поставили закладку.
Она умеет копировать зашифрованные данные с диска и отправлять их по сети.
А также получать доступ к памяти и читать расшифрованные чаты или напрямую ключи.
Почему сейчас это не используют?
Tox что-то пилит, например, у них что-то получается, но рекомендовать пока не могу — последний раз, как смотрел, было сырое плюс несколько неверных моментов. Но это давно было, надо посмотреть повнимательнее.
Ну и посмотрите как cjdns работает, хотя оно и не мессенджер.
Знаете, вся эта дискуссия сподвигла меня таки собрать свои мысли по поводу в кучу, вот что получилось:
https://github.com/ChALkeR/whinings/blob/master/Instant-messaging.md.
Аккуратно, я там ною, плюс оно написано совсем недавно и поэтому сырое — я ещё буду расширять, править и вычитывать.
Я предупредил =).
Для этого придуман key ratcheting, который автоматически устраивает ротацию ключей шифрования. В OTR он есть. Signal также использует свой алгоритм — https://whispersystems.org/blog/advanced-ratcheting/. В Telegram ротации ключей нет.
> 3. Ваш телефон могут банально украсть, обойти PIN защиту блокировщика экрана, подделать отпечатки пальца и т.д. Вытащить ключи и расшифровать всю переписку. Даже могут «попросить» вас это сделать. Как защититься от взлома аппарата и владельца? Делать специальный код стирающий все и везде?
Ни один мессенджер не может дать гарантий секретности, если телефон находится в руках у злоумышленника. Можно гарантировать сохранность переписки при прослушке данных третьей стороной, не более. Full drive encryption дает довольно надежную защиту в случае, если злоумышленнику попал в руки уже выключенный телефон.
Для защиты от расшифровки "задним числом" существует https://ru.wikipedia.org/wiki/Perfect_forward_secrecy
Но мне кажется такими темпами в ближайшем времени что-то кардинально изменится в этой области, так как это проблема не только мессенджеров, но и многих банков, например.
del, не туда ответил, извините.
А им никто не сказал, что это надо, понимаете?
Небезопасные настройки по умолчанию — та ещё гадость. Много баз данных, например, утекло из-за них.
Вопрос-то, скорее, в другом. Очень правильна, по моему мнению, политика «если пользователь хочет что-то сделать — не мешай ему». Да почти треть пользователей телеграмма видя по-умолчанию дополнительные действия для аутентификации (будь то двухфактораная авторизация, отпечатки пальцев, графические пароли и т.д.) — закрыли бы мессенджер и удалили бы его в тот же момент. Соответственно оставшимся было бы еще сложнее, ибо объяснить знакомым людям, которым это не надо, зачем им доп.защита — не представляется возможным. Как соответствие человек просто не может вести диалоги в этом приложении, ибо не с кем.
При этом телеграмм вполне себе может, если пользователь этого хочет, в дополнительную защиту, в self-destruction и остальное. Т.е. возвращаемся к тому, что «если пользователь хочет что-то сделать — не мешай ему».
При регистрации не предлагается ввести пароль, это да. Его потом нужно через настройки задавать.
С момента его установки, подключение к аккаунту любых новых устройств требуют пароль, как второй фактор. Перехват SMS спец. службами не поможет получить доступ.
Включение 2FA в десктоп-клиенте поддерживается.
Ей-богу, не создан телеграм для секьюрного общения. Пока есть центральный сервер, пока есть аккаунты на этом сервере — нет никакой секьюрности.
На Telegram обнаружена очередная успешная атака