Комментарии 71
«Сверхзащищенный мессенджер Signal тайно сохраняет историю и ключи шифрования открытым текстом»
Прочитав заголовок статьи подумал о том, что сигнал тайно сохраняет сообщения и ключи открытым текстом на удаленных серверах, но похоже здесь речь о другом. Получив локальный доступ к устройству можно много чего сделать
мессенджер Signal тайно сохраняет историю и ключи шифрованияКак есть на самом деле:
Человек, создавший баг в багтрекере, сделал экспорт для обновления с (вероятно, очень старой, с несовместимой базой) версии программы на версию новее, 3 дня назад. Авторы пока не ответили на этот баг. Кроме того, пишут:
Messages and attachments are not meaningfully encrypted on-disk in the latest Signal Desktop even without exporting/upgrading
i'm not a signal dev and do not intend to support or refute their choices, just noting an observation.
Что значит, я тут мимокрокодил и заметил, что оно не шифруется, но я не разработчик и не знаю зрада это чи перемога.
Сигналу следовало бы лучше информировать своих пользователей о дизайне локального способа хранения потенциально конфиденциальных данных.
Что значит, я тут мимокрокодил и заметил, что оно не шифруется, но я не разработчик и не знаю зрада это чи перемога.Я не утверждал обратного.
Сигналу следовало бы лучше информировать своих пользователей о дизайне локального способа хранения потенциально конфиденциальных данных.Покуда десктопные ОС позволяют программе, запущенной от учетной записи, получить доступ ко всем файлам этой учетной записи, способы локального хранения не играют значительной роли, и типичные реализации шифрования с использованием пароля на запуск программы могут только замедлить расшифровку данных, но не предотвратить её.
Сохраняет ли Signal историю и ключи шифрования тайно? Вероятно, нет. Заголовок не соответствует действительности.
способы локального хранения не играют значительной роли, и типичные реализации шифрования с использованием пароля на запуск программы могут только замедлить расшифровку данных, но не предотвратить её.Почему, если пароль использовался бы для шифрования файлов? Или речь о том, что и пароль можно подобрать за конечное время?
Можно считать что Дуров был прав, или это не тот случай?
The encryption of Signal (=WhatsApp, FB) was funded by the US Government. I predict a backdoor will be found there within 5 years from now.
— Pavel Durov (@durov) June 8, 2017
Тем более что отличить хороший бэкдор от обычной ошибки/непроработанности непросто.
У них там бекдор.
— создатель централизованного мессенджера с проприетарным шифрованием, про децентрализованный опенсорсный мессенджер
проприетарным шифрованиемПри том, точно так же опенсорсным.
Если у вас есть есть доступ к железу на котором крутится что-то «безопасное», то оно в любом случае не может считаться «безопасным». Как бы не новость.
p.s. Но, конечно, косяк :)
Занятно, что именно сегодня пакет Signal потребовал обновиться.
Я это сказал к тому, что оправдание «при наличии доступа на локальное устройство» в реальности очень слабая отговорка.
Безопасность — комплексная мера, с разделением уровней доступа в софте и даже физическим ограничением доступа к железу, кто этого не понимает обвиняет кого только можно, но не себя, вот только от этого он не станет прав и продолжит терять данные.
А вот, к примеру, Тор всегда предупреждает, о необходимости принятия дополнительных мер по анонимизации.
По криптокошельку вот ссылка на историю vxlabs.com/2017/06/10/extracting-the-jaxx-12-word-wallet-backup-phrase Там ровно такая же история, там создатели начали оправдываться и говорить, что «наш кошелек вовсе не то, что вы могли подумать», но только после того, как куча людей уже попали на бабки. А нужно было предупреждать всех при первом запуске программы.
В любом случае, если на систему занесли вредонос, боржом пить поздно. В такой ситуации нужен уже следующий пункт инструкции: как минимизировать ущерб, если вас всё-таки pwn'ули.
Даже не смешно. Единственный реальный вариант — запрашивать у юзера мастер-пароль, который используется для получения ключа шифрования. Если приложение такого пароля не запрашивает при каждом запуске — локальные данные этого приложения, по определению, не могут быть адекватно защищены.
Вообще, защита локальных данных — это довольно скользкая тема. От мессенджера я лично ожидаю исключительно защиты данных при передаче по сети (в т.ч. от разработчиков мессенджера, чтобы исключить хранение моей переписки у них на серверах). От менеджера паролей, gnupg, ssh, криптокошелька — надёжной защиты данных хранящихся у меня на винте и хотя бы формальных попыток защитить пароли/ключи находящиеся в памяти этих приложений. Шифрование логов мессенджера у меня на винте для меня задача не очевидная — вопрос от каких именно рисков это шифрование должно помогать? При ответе на этот вопрос нередко выясняется, что основной риск — это физический доступ к компу посторонних, но для защиты от этого самое адекватное решение это шифрование диска целиком.
Единственное, с чем я согласен в статье — то, что вложения в самоуничтожающиеся сообщения не удалялись — это фейл.
А если tpm нет? К тому же это все равно security through obscurity — если ключ в какой-то момент находится в памяти его можно достать точно так же как например кейлоггер может записать мастер пароль. Единственное для чего делают локальное шифрование — это защита от белок-паникеров "Аааа!!! Не зашифровано!!! Опасность! Бэкдор! Ужас!"
OMEMO если используется Jabber. OTR для остальных протоколов. Вероятно, Matrix тоже подходит. Для совсем гиков можно ещё Keybase. Шифрование в популярных мессенджерах вроде вотсапа или телеграм у меня лично вызывает большие сомнения, из таких разве что Signal выглядит приемлемым на крайний случай, но лучше не рисковать и ограничиться OMEMO и OTR.
Не забываем, что OMEMO сделан на базе протокола Signal
Ничего не имею против протокола Signal, но привязка самого клиента к номеру телефона, самому телефону, контактам — это на любителя. Я предпочитаю мессенджеры, которым не нужно сообщать номер телефона.
на обращение с вопросом «как зашифровать»Проблема же не в том, как зашифровать. Проблема в том, как расшифровать так, чтобы больше никто не мог расшифровать.
PS. Я действительно не понимаю, как может помочь шифрование внутри прикладного софта. Вариант а) пароль записан тут же рядом на диске, или на флешке, или в usb-ключе, т.е. человек с физическим доступом к железу — расшифрует. Вариант б) пароль записан на бумажке. Тогда при каждой перезагрузке сервера, например, из-за пропадавшего питания завести систему может только специально обученный офицер с бумажкой. И пока он по всем серверам не пробежится — система так и будет лежать. Ну ок. Ещё варианты?
А не удалять временные файлы это конечно фейл. Но где их не бывает?
Я к тому, что это не компрометирует сигнал. Просто его, «оказывается», нужно использовать только на доверенной машине. А как ещё?
1. Основная часть ключа хранится (и происходит шифрование, точнее в случае кошелька формирование цифровых подписей) — на отдельном аппаратном девайсе. И генерируется и хранится она на этом устройстве в неизвлекаемом виде
2. Дополнительная часть ключа («соль») выводится из пароля вводимого пользователем для доступа к кошельку. Эта часть нигде не хранится кроме памяти пользователя. Вводится перед каждым использованием и пересылается на устройство.
В результате взлом компьютера и хищение/перехват вводимого пароля ничего не дают, т.к. основной ключ в отдельном устройстве и на компьютер вообще никогда не передается.
Физическая утеря/кража устройства доступа к защищаемым данным злоумышленникам тоже не даст, т.к. у них не будет доступа ко 2й части ключа хранимой в памяти владельца.
Единственный более-менее реальный вектор атаки — это похищение устройства одновременно вместе с его владельцем и применением к последнему условного терморектального криптоанализа.
Аааааа! Паника!!! Ssh тайно хранит приватный ключ прямо на диске в незашифрованном виде!
А точнее не из-за того ли, что их десктопные «клиенты» — это электрон, который упакован в браузер, который работает в докер-контейнере, который крутится в виртуальной машине?
На самом деле, тамошние сто одёжек не такие (я просто не помню точных подробностей), но в целом слоёный пирог там тот ещё.
Сверхзащищенный мессенджер Signal «тайно» сохраняет историю и ключи шифрования открытым текстом