你知道么?時下最新潮的固態硬盤或許并不安全。很少有專家認為:擦除存儲在固態硬盤上的數據比擦除存儲在普通硬盤上的數據來得困難。
研究發現,為存儲在固態硬盤上的數據確保安全是項困難的任務;覆蓋或密碼擦除似乎是銷毀固態硬盤的最有效方法。
就在上周一項大學研究結果出來之前,很少有專家認為:擦除存儲在固態硬盤上的數據比擦除存儲在普通硬盤上的數據來得困難。
業內專家們被這項研究大吃一驚,但是強調市面上有些固態硬盤本生具有加密功能,就算硬盤報廢后,也能防止里面的數據被人看到;一些固態硬盤銷毀方法比另一些更有效。
安全技術專家Bruce Schneier說:“我不認為誰都了解這一點。”
加州大學圣迭戈分校的研究人員開展的這項研究表明,銷毀固態硬盤的數據是項困難的任務,甚至幾乎不可能實現。雖然數次覆蓋數據能確保可以擦除許多固態硬盤上的數據,但研究人員發現他們還是能夠恢復一些產品上的數據。
固態硬盤控制器制造商SandForce的產品營銷高級主管Kent Smith表示,肯定可以保護固態硬盤上數據的一個辦法就是密碼擦除(cryptographic erasure)。
密碼擦除需要先對固態硬盤進行加密,那樣只有持有密碼的用戶才能訪問里面的數據。固態硬盤報廢后,用戶可以刪除硬盤上的加密密鑰,這就排除了解密或者訪問數據的可能性。
Smith說:“除非你能破解128位AES加密算法,否則根本沒辦法獲取數據。報廢后的硬盤現在仍是完全可以使用的硬盤,能夠再次開始寫數據。那只是一剎那的工夫。”
采用SandForce技術的固態硬盤提供的另一種安全方法是,擦除所有NAND閃存。
Smith說:“我們不但執行密碼擦除,還檢查可能存儲用戶數據的每一個邏輯塊地址(LBA)和每一個位置。這需要更長的時間,因為你得擦除閃存。這可能需要幾分鐘。”
SandForce的控制器(大多數知名固態硬盤廠商都使用它)包括自帶的128位AES加密功能,讓用戶可以設置密碼。但一些固態硬盤并不自帶基于硬件的加密功能。
還可以通過兩種方法對硬盤進行數據擦除,一個是安全擦除單元(SEU)命令,另一個是不久將發布的SATA規范的附加命令:Sanitize Device Set。
Secure Erase是嵌入式SATA存儲設備,允許用戶將數據從可能存儲在普通硬盤或NAND閃存產品上的所有位置刪除。
用戶選擇SEU命令后,Device Configuration Identity里面的所有邏輯塊地址都被擦除,固態硬盤將用戶數據存儲在Device Configuration Identity。此外,加密密鑰被歸零或被銷毀,因而任何現有的數據都是亂碼數碼,所有映射數據也被擦除,那樣硬盤甚至無法找到之前的亂碼數據。控制器可為任何新寫入的數據自動創建新的加密密鑰。
加州大學圣迭戈分校的研究人員在報告中寫道:“密碼銷毀的效果不但取決于設計人員杜絕‘旁路’攻擊的能力——旁路攻擊讓攻擊者可以提取密鑰或者以其他方式繞開加密機制,還取決于所用加密系統(如AES)的安全性。”
AES(高級加密標準)是舊版DES(數據加密標準)的后續技術。美國政府采用了這項標準,分別使用128位強度和256位強度來加密機密文件和絕密文件。
但僅僅提供AES加密還不夠;安全性主要取決于如何采用加密技術。
這之所以很重要,一方面是由于用戶并不總是希望使用與生成有效密鑰所需要的長度一樣長的密碼。如果用戶選擇的密碼所用字符少于生成128位密鑰或256密鑰所需的字符(一個字符是8位,所以我們談論的分別是16個字符或32個字符的密碼),其余字符常常變成零。
這種情況下,IDC公司的安全內容和威脅管理產品調研主管Charles Kolodgy表示,密碼更容易被猜出來。
Kolodgy建議用戶創建口令短語(passphrase),而不是創建密碼。 他說:“第一步是滿足外頭90%的用戶的需要。”之后,最好的解決辦法就是硬盤上有一個隨機密碼字符生成器。
即使你使用的硬盤本身自帶加密功能,Schneier認為,還是無法判斷廠商的安全是否萬無一失,“除非廠商投入了巨資研發加密技術”。
Schneier主張購買盡量便宜的硬盤,然后使用自由軟件對里面的數據進行加密,比如TruCrypt或者像PGPDisk這些成本比較低的產品。
加州大學圣迭戈分校的研究人員一致認為,密碼擦除是個好方法,可以確保固態硬盤報廢后或者準備重新使用時,數據已被銷毀。
研究人員測試了12款固態硬盤,結果發現用來擦除單個文件的軟件技術沒一個有效。利用本地銷毀命令擦除整個固態硬盤是最有效的,但前提是使用得當;軟件技術大多數時候管用,但不是總是管用。
研究人員沒有具體透露測試中所用的產品。
加州大學圣迭戈分校的非易失性存儲系統實驗室設計了一個程序,繞開固態硬盤上的閃存轉換層(FTL),直接訪問原始的NAND閃存芯片,看看任何一種特定的銷毀技術是否成功。
固態硬盤的FTL通過ATA或SCSI接口,在邏輯塊地址(LBA)與NAND閃存的物理頁面之間進行數據映射工作。
這所大學的研究人員在一份題為《可靠擦除閃存型固態硬盤上的數據》的報告中寫道:“所有單個文件覆蓋銷毀協議都失效了:文件中4%至75%的內容仍留在SATA固態硬盤上。”
U盤的情況好不了多少。進行覆蓋操作后,0.57%至84.9%的數據仍留在U盤上。
研究人員甚至試圖覆蓋固態硬盤上的閑置空間,對硬盤進行碎片整理,以便重新分布數據,鼓勵FTL重新使用更多的物理存儲位置,但結果證明這是無效的。
他們使用固態硬盤自帶的Erase Unit命令進行測試后發現,12款固態硬盤中只有4款真正被擦除了。一款固態硬盤聲稱已銷毀,不過研究人員還是可以恢復里面的數據。
在單獨的覆蓋測試中(有些固態硬盤的測試時間長達58小時),研究人員發現剩余8款固態硬盤中只有1款被真正銷毀。經過兩次覆蓋后,所有固態硬盤中只有1款被擦除干凈。就算覆蓋了20次后,有一款硬盤中仍留有1%的數據。
研究人員發現,銷毀普通硬盤則比較簡單。消費級普通硬盤可以重新格式化和覆蓋。對于商業用戶來說,消磁器可以有效地擦除所有數據,這種裝置采用了強磁場對磁盤碟片進行消磁處理。
但固態硬盤的工作原理與普通硬盤不一樣。
在普通硬盤上,寫扇區和擦除扇區是相同的;這意味著當主機覆蓋數據時,它會進入到與原始數據寫入的同一個數據塊。
閃存則由許多頁面和塊組成。數據寫入到8KB頁面中,而擦除操作在2MB塊(又叫“段”)中進行。因而,擦除進行后,整個2MB塊必須被標記為刪除。
所以,數據寫到NAND閃存時,這是分為兩步的過程,名為讀-修改-擦除-寫周期。首先,現有數據必須被擦除,然后舊數據連同新數據可以寫到內存中的不同頁面。不過,寫入新數據時,舊數據其實并沒有被擦除;它只是被標記為刪除。
制造商使用“廢料收集”算法,以便晚些時候(通常是硬盤空閑時),回去擦除標記為刪除的數據。所有NAND閃存設備都采用這種工作原理。在此期間,重復數據留在NAND閃存上。
市場研究公司Forward Insights的分析師Gregory Wong說:“而有些硬盤不擦除所有那些重復數據。”
比如在現在的大多數固態硬盤上,損耗均衡算法用來在固態硬盤上更均勻地分布數據,以便NAND閃存上的任何一個部位不會出現損耗。問題是,損耗均衡也會讓數據擦除失效,因為會在首次寫入數據與隨后被覆蓋之間的這個時間段重新安置塊。
固態硬盤行業目前在竭力要求美國標準與技術研究所(NIST)重新定義一些軍事級擦除覆蓋協議,以便識別不用覆蓋閃存,就可以通過密碼來擦除的加密硬盤。
Smith說:“但這一幕不會馬上就會看到。政府機構在很長的時間后才會積極采用標準。”
原文鏈接:http://news.watchstor.com/industry-130561.htm