Disk-Encryption

觀察加密磁碟密文的變化量是否有眾所周知的攻擊名稱?

  • March 29, 2017

假設我的硬碟上有兩個分區,一個是未加密的,一個是加密的。我們還假設我在睡覺或離開時關閉了電腦,並且攻擊者可以物理訪問我的電腦。事實上,攻擊者每天都會在我不知情的情況下獲取磁碟映像的副本。顯然,攻擊者不知道加密磁碟分區的密碼,所以攻擊者只能觀察密文的變化(現在假設攻擊者不知道鍵盤記錄器的存在或者不想冒險讓我注意到它)。

現在,有一個特定的 100 MB 文件侵犯了版權和商業機密。我不想刪除它,但我有點懷疑我的電腦在未經我允許的情況下被使用,所以我將它儲存到加密分區中,將其從未加密分區中刪除。

現在,攻擊者將觀察到加密分區的 100 MB 密文與舊密文不同。事實上,攻擊者從日常的磁碟鏡像中可以看出,加密磁碟的變化量通常為零,而這幾乎是唯一的例外。攻擊者還將觀察到 100 MB 的文件已從未加密的分區中刪除。因此,攻擊者得出結論,我仍然擁有該文件。

我的問題是:這種針對全盤加密的攻擊有名字嗎?是否有任何全盤加密方案能夠抵抗這種攻擊,例如通過使用新的每塊密鑰隨機重寫塊,即使沒有實際更改明文塊?

我不確定正式名稱,但我可以評論您的其他問題。很大程度上取決於您進行加密的級別。我知道三種主要方法:

  1. 磁碟數據本身是加密的,
  2. 文件系統對儲存在其中的數據進行加密,但它本身以純文字形式儲存在磁碟上(例如CryFS),
  3. 單個文件被加密,但目錄結構和文件系統級元數據(大小、時間戳等)不是(例如EncFS)。這基本上就是勒索軟體所做的。

一般來說,這些方法都沒有將整個磁碟的數據加密為一個長密文。他們在某種程度上將其分解,無論是按扇區(在 1 的情況下)、按文件(在 3 的情況下)還是任意塊(在 3 的情況下)。這樣做有一個實際的原因:如果加密單元(塊、扇區、塊、文件等)中的任何部分發生更改,則加密單元中的所有密文都應該更改。如果您的整個磁碟是一個加密塊,那麼僅查看文件(修改訪問時間)可能會導致整個磁碟被重寫。

您通常可以假設作業系統會在安裝磁碟後立即(甚至可能定期)將一些元數據放入磁碟,因此密文每天都會發生變化。然而,不會是整個磁碟發生變化,只是某些部分會在一段時間後成為勤奮的觀察者可以預測的。

現在…… 100MB 明文的消失與 100+MB 密文的出現(一個健全的磁碟加密系統將有數據認證成本)是一個非常強烈的指標,表明您加密了敏感文件。根據使用的確切方案,有些事情會使這複雜化。首先,加密分區上的變化量將四捨五入到最小的加密單元(可能非常大)。其次,如果一個方案沒有連續儲存您的新文件(有意或無意地碎片化),那麼將創建/更改超過 100MB 的新密文。最後一個因素會使敏感文件是否剛剛被加密但根本不適用於方案#3 更加令人懷疑。

當然,如果攻擊者知道您正在使用的方案並且只是失去了密鑰,那麼他們將非常有把握地知道您只是移動了文件。我能想到的唯一方法會讓您懷疑您是否仍然擁有該文件是您是否能夠通過以下方式以不同的形式儲存該文件:

  • 壓縮它以減小寫入大小
  • 任意填充以增加大小

不過,您仍然會有定時信號。這更像是一個操作問題。如果您要能夠在敵對環境中有意義地使用加密分區,就必須避免這種不太可能的巧合。即使該文件不在另一個分區上,一個有爭議的文件線上發布與在您的分區上出現類似數量的密文相吻合是相當有啟發性的。

您可以讓腳本隨機創建、刪除和接觸文件、旋轉加密 IV、跨塊邊界移動數據等,因此您最終每天都會收到幾百 MB 更改的密文,而從您的角度來看,沒有任何實際發生。如果你足夠聰明,你可以讓這個系統通過各種空白隱藏文件逐漸為你的敏感文件創建一個開口,然後隨著時間的推移慢慢地將它“垃圾收集”回一個連續的文件。但是,您必須非常聰明才能使此過程不會成為有關分區明文的資訊的旁道。


PS:如果有人有一種方法可以在您不知情的情況下定期提取整個磁碟映像,那麼他們將其替換為對他們來說更方便的文件系統可能同樣可行(想想“在安裝時解密然後只假裝加密此後”)同樣謹慎。

這主要是為了處理攻擊者可以通過不斷成像隱藏在空閒塊中的加密的加密磁碟來發現多少:

https://www.youtube.com/watch?v=MS2e4FuBcqA

引用自:https://crypto.stackexchange.com/questions/44213