(廣東省陽江市衛生學校 廣東 529500)
存儲技術的進步使得法醫檢驗人員在數字法醫過程中獲取數據越來越困難。數據不再由單一云服務提供商存儲:它們現在存儲在不同用戶機器上跨越大地理區域的多個位置。傳統上,數字取證側重于從物理可用存儲介質中獲取數據,如硬盤驅動器、光盤或安全數字卡。雖然這些媒體最初給法醫鑒定人員帶來了挑戰,但今天的從業者理解了這項技術及其記錄的文件系統,從而形成了主流的數字取證過程和幾個成熟的工具,這些工具以相當可行的方式幫助自動化了數字證據的獲取、認證和分析。如今,云存儲服務,如谷歌驅動、Dropbox、OneDrive 等,被廣泛采用,發展仍處于上升趨勢。雖然由服務提供商集中管理,但由于各種法律挑戰的限制[1],調查人員很難恢復數據,需要向托管信息的云存儲服務發出授權,這些信息包含數千甚至數百萬位機密用戶數據[2]。為了應對這一挑戰,從業者和研究人員采用了由云存儲服務提供商實施的應用編程接口,允許通過互聯網從這些服務中恢復文件和元數據,假設調查方已經認證了對云存儲服務的合法訪問。
研究人員識別了公有云存儲服務(StaaS)軟件包ownCloud 創建的構件。這種免費的云服務在學術機構中很流行,可以在多種桌面和移動平臺上實現,對ownCloud StaaS 實例的取證分析提出了技術建議。發現了ownCloud 的客戶端構件,如同步和文件管理元數據、緩存文件、云服務和認證數據、加密元數據、瀏覽器構件、移動客戶端構件和網絡分析。在服務器端,他們還發現了諸如管理和文件管理元數據、存儲文件、加密元數據、云日志記錄和身份驗證數據等構件。雖然這些研究對于進一步推進數字取證知識體系非常重要,但開發工具以幫助從云獲取數字證據對從業者來說是至關重要的。
解決了先前云存儲取證研究(主要在客戶端進行)中發現的挑戰。盡管如此,基于網絡的狀態評估應用程序對于現有的取證工具來說是一個特別困難的測試,這些工具幾乎只關注以客戶為中心的調查,并將本地存儲作為主要的證據來源。鑒于狀態評估的性質,存在一個問題,因為法醫調查人員可能會遺漏存儲在云服務上的關鍵證據。這些研究人員提供了一個基于應用編程接口的工具kumodd,是為從谷歌驅動、微軟OneDrive、Dropbox 和box 獲取數據而創建的。該工具可以為調查人員提供存儲在云驅動器上的文件列表,一旦調查人員能夠確定潛在的證據文件,這些文件可以以合法的方式下載,用于進一步分析。
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、簽名、付款目的地以及其他幾個在法醫調查中可能有一定意義的項目。
基于區塊鏈的分布式存儲取證面臨許多挑戰,其中之一是恢復對起訴有用的文件和元數據,必須應對這一挑戰,因為不能保證此類數據可以在嫌疑人的本地存儲上恢復。鑒于STORJ 是一種新的服務,需要一種明確的調查方法來幫助審查員在不損害案件結果的情況下對證據進行法醫重建。這意味著在STORJ 網絡上從客戶端機器和客戶那里恢復證據和文物的合理方法的構建是一個迫切的研究領域。到目前為止,還沒有任何工作能夠識別這個服務產生的所有工件。最后,提出了一個應用研究方向,它提供了一個與STORJ 的API 接口的工具,并且可以恢復對案例潛在至關重要的元數據和文件。