曲速未来 消息:Signal Desktop在简单的视线中留下消息解密密钥区块链

区块链安全档案 2018-10-27 15:22
分享到:
导读

曲速未来表示:SignalDesktop应用程序用于加密本地存储的消息的过程中的错误使它们对攻击者敞开大门。

区块链安全咨询公司 曲速未来 表示:Signal Desktop应用程序用于加密本地存储的消息的过程中的错误使它们对攻击者敞开大门。

安装Signal Desktop后,它将创建一个名为db.sqlite的加密SQLite数据库,用于存储用户的消息。程序在安装时自动生成此数据库的加密密钥,而无需用户进行任何交互。

图2.在记事本中打开加密数据库

由于每次Signal Desktop打开数据库时都需要加密密钥,因此它将以纯文本形式存储到PC上和Mac上的名为%AppData%\Signal\config.json的本地文件中〜/Library/Application Support/信号/config.json。

当打开config.json文件时,任何想要它的人都可以使用解密密钥。

图3.带有解密密钥的Config.json文件

根据在Signal Desktop中发现问题的Nathaniel Suchy所说,这使得用户的数据库对任何可以访问计算机的攻击者或恶意软件都是开放的。

为了说明这个问题,研究人员安装了Signal Desktop应用程序并发送了一些测试消息。首先,打开config.json文件以检索加密密钥。

然后,使用名为SQLite Database Browser的程序打开位于%AppData%\ Roaming \ Signal \ sql \ db.sqlite的数据库。然后,程序会提示输入解密密钥。

当研究人员从config.json文件输入解密密钥时,数据库被打开,就可以完全访问其内容。

加密数据库是保护用户个人消息的好方法,但是当任何人都可以轻松访问密钥时,它会崩溃。据说,这个问题可以通过要求用户输入密码来轻松解决,该密码将用于生成永远不会存储在本地的加密密钥。

“通过要求用户设置密码并使用该密码加密密钥,可以轻松减轻这种情况”。研究人员说。

区块链安全咨询公司 曲速未来 提醒:使用用户生成的加密密钥是云备份,密码管理器,加密钱包和身份验证协议等服务的常见做法,因为只有用户才能访问密钥。但是,这种方法唯一需要注意的是,如果用户丢失密钥,数据将永远丢失。 

这个错误发生在前几天报告的一个不同的Signal问题之后,当从Signal Chrome扩展升级到Signal Desktop时,未加密的消息存储在文本文件中。

加密 密钥 Signal 用户 数据库
分享到:

1.TMT观察网遵循行业规范,任何转载的稿件都会明确标注作者和来源;
2.TMT观察网的原创文章,请转载时务必注明文章作者和"来源:TMT观察网",不尊重原创的行为TMT观察网或将追究责任;
3.作者投稿可能会经TMT观察网编辑修改或补充。