Сверхзащищенный мессенджер Signal тайно сохраняет историю и ключи шифрования открытым текстом

image
Иллюстрация thehackernews.com

Signal обрел популярность после того, как стал известен в качестве «любимого мессенджера» Эдварда Сноудена. В 2015 г. он рассказал, что ежедневно пользуется приложением Signal для связи с журналистами.

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

Делай раз


Исследователь в области информационной безопасности Мэтью Сюиш поделился открытием, что один из самых защищенных крипто-мессенджеров «подложил» своим пользователям «свинью» впечатляющих размеров. Мессенджер Signal в процессе миграции от расширения для Chrome до полноценного десктопного клиента экспортирует сообщения пользователя в незащищенные текстовые файлы.

Мэтью Сюиш обнаружил этот опасный баг при работе в macOS, когда обновлял Signal. Журналисты BleepingComputer пошли дальше и выяснили, что такая же точно проблема проявляется и в Linux Mint.

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

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

Делай два


Но этого было мало! Вторую проблему в Signal Desktop выявил другой исследователь, Нэйтан Сёчи.

Нэйтан Сёчи узнал, что во время установки Signal Desktop создается зашифрованная база данных db.sqlite с архивом сообщений пользователя. Ключ шифрования для базы данных генерируется мессенджером без взаимодействия с пользователем и используется каждый раз, когда нужно прочитать базу с архивом сообщений. Кто бы мог подумать, что ключ хранится локально и открытым текстом? Этот ключ можно найти на PC в файле %AppData%\Signal\config.json и на Mac в ~/Library/Application Support/Signal/config.json.

image

Делай три, Signal синим пламенем гори!


По-видимому, на этом проблемы с Signal не заканчиваются. Например, ещё один эксперт, Кит МакКэммон указывает, что Signal Desktop плохо справляется с удалением вложений из «исчезающих» сообщений.

Using Signal Desktop? Search your local filesystem for media attached to disappearing messages. Rejoice when you find that media files are never removed.

Signal does not aim to protect against filesystem access. Which would be fine, if this were apparent to anyone at all. . .

 — Keith (@kwm) October 22, 2018


Функция «исчезающих» сообщений задумывалась разработчиками Signal как дополнительный эшелон безопасности, но на деле работает она очень ненадёжно. По заявлению МакКэммона, все вложения остаются на диске пользователей Signal даже после того, как должны были быть удалены.

© Habrahabr.ru