如何从iPhone中提取和解密Signal的会话历史

gejigeji Web安全 2019年10月8日发布
Favorite收藏

导语:Signal是一款Open Whisper Systems公司开发的应用软件,Signal的优势在于信息加密,用户发送的任何文字、视频和图片都会进行端对端加密。

Signal是一款Open Whisper Systems公司开发的应用软件,Signal的优势在于信息加密,用户发送的任何文字、视频和图片都会进行端对端加密。Signal的早期版本只有移动端应用,如果你想在电脑上使用Signal,只能通过Chrome浏览器中的应用才能使用。不过现在,Signal发布了独立的桌面端应用程序,只需要下载客户端,你就能在电脑上使用Signal了。电脑配置要求至少运行64位系统的Windows 7,MacOS 10.9Mavericks或支持APT(高级软件包工具)的Linux发行版,它作为一款很受欢迎的私密聊天软件,律师、记者以及机要人士都将其作为主要的通讯工具(斯诺登也曾夸过的),目前Signal已经拥有超过50万的用户。由于强调安全性,Signal经常被那些想要隐藏某些内容的人当作通讯工具。 Elcomsoft Phone Viewer现在可以通过物理(文件系统)采集来解密从iPhone提取的Signal数据库,不过要想实现该目标,过程确实有点复杂。

究竟是什么使得Signal如此难以破解? 首先,让我们看一下人们如何访问其他即时通讯程序中发生的用户通信。

拦截:MITM攻击

第一种方法是拦截,攻击者可以尝试拦截传输中的会话。不过在Signal中,这是非常困难的,因为每个人都使用的是端对端加密。虽然从技术上讲,流量是可以被拦截的,但解密它需要在终端用户设备上安装一个恶意应用程序(例如臭名昭著的NSO Group间谍软件)。如果没有政府的直接干预或提议的加密后门,人们几乎不可能通过MITM攻击来拦截消息传递。最重要的是,即使你的iPhone是安全的,运行iOS、Android或桌面应用程序的另一端设备也可能受到攻击。如果对方设备受到攻击,你与对方的所有通信也将毫无隐私可言。

Signal针对MITM攻击实施了特殊的保护措施,使得证书欺骗变得无用,并使基于恶意软件的攻击复杂化。

采用云提取

幸运的是,对于取证者而言,大多数即时通讯工具都是使用自己的云服务来同步和存储通信内容。比如,Apple通过iCloud同步iMessage,Microsoft将Skype会话保留在用户的Microsoft帐户中,Telegram拥有自己的云服务以同步除私人聊天之外的所有会话。虽然这些公司都告诉用户,他们的数据是安全加密存储的,但除了苹果以外,所有公司都愿意在接到法律请求时向执法部门提供数据。苹果之所以没有,是他们无法获得加密密钥,不过这并没有阻止我们采用云提取。

借助随时可用的云存储,用户可以通过提供合法请求或使用用户的帐户凭证登录来访问用户的会话历史。这意味着取证者也可以以类似的方法获得imessage(苹果公司推出的即时通信软件,可以发送短信、视频等,其拥有非常高的安全性)中的内容。

注意,Signal不存储消息、会话历史或加密密钥。除了请求中的某些元数据外,没有什么可请求的,即使使用用户的凭据登录也没有任何可访问的。

利用备份进行提取

有些通信程序确实会保留会话历史记录,而有些则没有。例如,如果在设备设置中未启用“ iCloud中的消息”选项,才可以从受密码保护的备份中提取iMessage。目前,我们还没有看到Telegram上的会话备份,但是WhatsApp允许其数据库存储在iCloud备份中,也可以存储在iOS的iCloud Drive或Android的Google Drive中的独立备份中。对独立备份进行加密后,可以使用Elcomsoft eXplorer for WhatsApp将其解密。

Signa可能与其他通信程序发生发生冲突,因为它不允许在本地备份中使用其会话历史记录或加密密钥,即使是受密码保护的会话历史记录或加密密钥也是如此。

通过设备进行提取

提取正常工作的数据库始终有效。 WhatsApp,Skype,Telegram和iMessage数据库以纯SQLite格式存储;它们永远不会被加密(除了使用系统的全磁盘加密特性)。

与所有其他Messenger不同,Signal对其工作数据库进行加密,加密密钥是在用户第一次登录设备时生成的。然后,密钥存储在钥匙串中,并由高保护级别进行保护。如果没有这个密钥,用户只能提取附件(图片、文档、语音信息等)。

为什么Signal是安全的?

就像Telegram,Skype和WhatsApp一样,Signal通过安全的端对端加密来保护通信。与市场上其他即时通讯应用程序不同的是,Signal从未将会话与云同步。此外,Android和iOS平台的应用程序会注意永远不会将会话历史备份到相应的云服务中(分别是Google Drive和iCloud)。因此,在云计算中什么也得不到,而且执法部门实际上也无法要求苹果、谷歌或Signal本身提供有关用户通信的相关信息。锦上添花的是,Signal不允许本地(通过iTunes或第三方工具)备份其工作数据库,甚至没有加密的备份。

根据Signal开发人员的说法:

Signal消息和呼叫总是端到端加密的,并经过精心设计以确保通信安全。我们无法读取你的信息或查看你的电话,其他人也无法读取。

然而,应用程序必须仍然能够访问会话,这意味着它们必须存储在设备的某个地方

问题是,在三种攻击媒介(逻辑、物理和云)中,云和逻辑提取均不可用,所以提取包含用户通信的Signal数据的唯一方法是物理提取。

加密问题

从iPhone的文件系统图像中提取出Signal数据库后,由于Signal采用的是自定义加密方案,使得数据的访问极其困难。没有密码保护数据库,加密密钥在初始化过程中由随机种子生成,然后存储在具有高防护类的iOS钥匙串中。高保护级别意味着密钥不会被导出到iCloud(实际上,它是导出的,但是必须使用设备唯一的硬件密钥加密),并且在分析受密码保护的备份时无法解密。

破解Signal加密

为了解密通过文件系统提取从iPhone中提取的Signal会话数据库,你还需要从钥匙串中提取加密密钥。如果你使用的是Elcomsoft iOS Forensic Toolkit,请确保捕获钥匙串以及文件系统映像。

要解密和分析Signal会话历史,请在Elcomsoft Phone Viewer中打开文件系统映像,并使用提取的钥匙串文件解密Signal数据库。然后,Elcomsoft Phone Viewer将解密数据库,并很快显示其内容。

请按照以下步骤解密Signal数据库:

1.准备好以下解密的必备内容:文件系统映像(.tar或.zip)和使用Elcomsoft iOS Forensic Toolkit提取的解密钥匙串(默认情况下为keychaindump.xml)。

2.启动Elcomsoft Phone Viewer,然后打开文件系统映像。

3.一旦文件系统映像完全加载完毕,就可以查看Signal图标,请注意图标上的红色“加密”标识。

1.png

4.点击Signal图标,系统将提示你提供钥匙串文件的路径。选择钥匙串文件解密数据库,图标将更改为“解密”(红色“加密”标识)。

2.png

5.一旦数据库解密,你就可以浏览和查看其中存储的内容。

3.1.png

3.2.png

3.3.png

3.4.png

本文翻译自:https://blog.elcomsoft.com/2019/08/how-to-extract-and-decrypt-signal-conversation-history-from-the-iphone/如若转载,请注明原文地址: https://www.4hou.com/web/20527.html
点赞 0
  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论