APP下载

基于区块链的云存储数字取证

2021-04-24

网络安全技术与应用 2021年4期
关键词:法医客户端区块

(广东省阳江市卫生学校 广东 529500)

1 引言

存储技术的进步使得法医检验人员在数字法医过程中获取数据越来越困难。数据不再由单一云服务提供商存储:它们现在存储在不同用户机器上跨越大地理区域的多个位置。传统上,数字取证侧重于从物理可用存储介质中获取数据,如硬盘驱动器、光盘或安全数字卡。虽然这些媒体最初给法医鉴定人员带来了挑战,但今天的从业者理解了这项技术及其记录的文件系统,从而形成了主流的数字取证过程和几个成熟的工具,这些工具以相当可行的方式帮助自动化了数字证据的获取、认证和分析。如今,云存储服务,如谷歌驱动、Dropbox、OneDrive 等,被广泛采用,发展仍处于上升趋势。虽然由服务提供商集中管理,但由于各种法律挑战的限制[1],调查人员很难恢复数据,需要向托管信息的云存储服务发出授权,这些信息包含数千甚至数百万位机密用户数据[2]。为了应对这一挑战,从业者和研究人员采用了由云存储服务提供商实施的应用编程接口,允许通过互联网从这些服务中恢复文件和元数据,假设调查方已经认证了对云存储服务的合法访问。

2 云存储取证

2.1 云存储取证:OwnCloud 案例研究

研究人员识别了公有云存储服务(StaaS)软件包ownCloud 创建的构件。这种免费的云服务在学术机构中很流行,可以在多种桌面和移动平台上实现,对ownCloud StaaS 实例的取证分析提出了技术建议。发现了ownCloud 的客户端构件,如同步和文件管理元数据、缓存文件、云服务和认证数据、加密元数据、浏览器构件、移动客户端构件和网络分析。在服务器端,他们还发现了诸如管理和文件管理元数据、存储文件、加密元数据、云日志记录和身份验证数据等构件。虽然这些研究对于进一步推进数字取证知识体系非常重要,但开发工具以帮助从云获取数字证据对从业者来说是至关重要的。

2.2 云取证:工具开发研究和未来展望

解决了先前云存储取证研究(主要在客户端进行)中发现的挑战。尽管如此,基于网络的状态评估应用程序对于现有的取证工具来说是一个特别困难的测试,这些工具几乎只关注以客户为中心的调查,并将本地存储作为主要的证据来源。鉴于状态评估的性质,存在一个问题,因为法医调查人员可能会遗漏存储在云服务上的关键证据。这些研究人员提供了一个基于应用编程接口的工具kumodd,是为从谷歌驱动、微软OneDrive、Dropbox 和box 获取数据而创建的。该工具可以为调查人员提供存储在云驱动器上的文件列表,一旦调查人员能够确定潜在的证据文件,这些文件可以以合法的方式下载,用于进一步分析。

3 STORJ 与区块链

STORJ 是一个实现端到端加密的P2P 云存储网络[3],允许用户在不依赖第三方提供的情况下传输和共享数据,比如谷歌驱动器。人们可能会认为STORJ 系统是“存储的Airbnb”,用户在网络上向其他用户租用未使用的驱动器空间。它是一个开源项目,它设计的是使用Satoshi-style 区块链来创建分布式云存储,通常使用在密码货币中。由于区块链和STORJ 是相对较新的,很少有研究来确定在用户系统上留下的法医制品。在比特币调查中[4],数字法医审查员必须识别客户端工件和恢复数据的方法。区块链分布式存储与传统的云存储服务不同,因为它利用了STORJ 网络上其他用户的磁盘空间。该文件没有被上传到中心云存储提供的文件,而是将其划分为更小的片段,称为shards,它被发送到多个计算机上。

Kademlia 是一个分布式哈希表(DHT),用于分散的P2P 计算机网络。它允许用户通过每个节点特有的一系列列表,向网络上的多台计算机(也称为节点)快速上传文件或从这些计算机下载文件。每个节点都有自己的ID 和网络上其他节点的列表。节点ID 不仅用于标识,Kademlia 算法也使用节点ID 来定位值(通常是文件散列或关键字),节点ID 提供了一个到文件散列的直接映射,并存储了关于在哪里可以获得文件或资源的信息。

区块链是一项相对较新的技术,它是一个公共账本,用于跟踪比特币和莱特币等数字货币的交易。它的强大之处不仅在于它的高度加密,而且在于它在计算机链上的分布,这使得攻击它变得更加困难(攻击成本昂贵),每次使用其中一种货币进行交易时,一组确认交易已发生的数据就会保存在区块链中。多个事务组成一个块,该块按时间顺序保存到一系列其他块中,创建了一个区块链。事务中的数据包括文件哈希、分片副本的网络位置和Merkle 根,这是网络可以在文件位置和完整性上达成共识的地方,每次需要协商时,都会在整个网络中广播消息,并由网络上的节点进行验证。

鉴于大多数联网计算机都有未使用的硬盘空间,用户可能会在网络上出售这些多余的磁盘空间。这个平台上的文件将通过哈希来处理,如果STORJ 上仍有该文件的一份副本,网络上的数据将能够抵抗审查、篡改和数据故障。首先,使用SHA256-CTR 加密一个文件。然后将其分割成更小的标准化字节倍数(8 或32MB),以匿名化文件。文件大小或多个较小的文件组合在一起形成一个shard(加密的原始文件的一小部分),并填充任何额外的空间,每个shard 然后被散列并传输到网络,流程描述图如图1 所示。

图1 文件处理流程图

在传输到STORJ 网络之前,必须首先在STORJ 客户和尽可能多的STORJ 生产商之间达成协议,取决于所需的文件大小和冗余,该协议还将取决于生产商提供的仓储服务的质量。随着存储技术的进步,对数据恢复的方法进行了研究和应用,获取物理驱动器仍然是必要的,但是对设备的分析提供了很高程度的确定性,即在设备上发现的证据是真实的。从高层次的角度来看,仍然是在处理计算机和磁盘驱动器,但是,深入研究技术细节时,必须考虑STORJ 的复杂性和可伸缩性。在这种情况下,数字取证不再简单地从磁盘驱动器获取图像,而是需要利用应用编程接口来恢复数据。使用STORJ,需要考虑多个方面来进行完整的法医检查。

为了允许STORJ 网络上的其他用户使用机器的存储,必须首先下载STORJ 共享,这是一个为Windows 设计的应用程序,允许用户分配磁盘空间用于租赁,还必须创建一个比特币地址来接收STORJCoin (STORJ 的数字货币)。一旦配置好这两个项目,机器就会运行一个多月,允许STORJ 用户将他们的碎片上传到机器上。在这个过程中,分析了另一个STORJ 应用程序,它允许用户与他们的帐户进行交互。STORJ 网站不允许用户直接操作文件,这通常在Google Drive、Dropbox 等中实现。这需要在Windows 上下载几个工具,即Bash for Windows、npm、Node.js,完成后,可以通过私有/公共椭圆曲线数字签名算法密钥连接到在STORJ 网络上的帐户。设置完成后,开始恢复所有相关和有趣的工件。确认是否可以从指定的磁盘存储空间中直接读取任何碎shard,看到的第一份文件是.ldb 文件,包含客户端机器和另一个要上传文件的STORJ 用户之间的事务。经过分析,没有数据指出shard 可能来自的文件类型。从交易中,可以识别十六进制合同号、ID、签名、付款目的地以及其他几个在法医调查中可能有一定意义的项目。

4 总结与展望

基于区块链的分布式存储取证面临许多挑战,其中之一是恢复对起诉有用的文件和元数据,必须应对这一挑战,因为不能保证此类数据可以在嫌疑人的本地存储上恢复。鉴于STORJ 是一种新的服务,需要一种明确的调查方法来帮助审查员在不损害案件结果的情况下对证据进行法医重建。这意味着在STORJ 网络上从客户端机器和客户那里恢复证据和文物的合理方法的构建是一个迫切的研究领域。到目前为止,还没有任何工作能够识别这个服务产生的所有工件。最后,提出了一个应用研究方向,它提供了一个与STORJ 的API 接口的工具,并且可以恢复对案例潜在至关重要的元数据和文件。

猜你喜欢

法医客户端区块
虫虫法医
区块链:一个改变未来的幽灵
区块链:主要角色和衍生应用
如何看待传统媒体新闻客户端的“断舍离”?
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
区块链+媒体业的N种可能
读懂区块链
大枢纽 云平台 客户端——中央人民广播电台的探索之路
78例颅脑损伤死亡法医病理学分析