美國加州大學聖地牙哥分校一份研究,揭露出SSD固態硬碟廠商沒有告訴你的真相,儲存在SSD中的資料其實難以完全刪除,存在著資料外洩的風險,而且,不只SSD,大家常用的USB隨身碟、手機、相機等有使用快閃記憶體儲存的裝置,其實都潛藏同樣的風險
撰文⊙王宏仁、陳思翰
SSD廠商沒有告訴你的真相:SSD資料難以完全刪除(1)
SSD廠商沒有告訴你的真相:SSD資料難以完全刪除(2)
加州大學聖地牙哥分校一份研究揭露了SSD資料刪除不完全的安全問題,連美國國防部刪除資料的演算法,也不一定能有效刪除SSD硬碟中的特定文件
SSD廠商沒有告訴你的真相:SSD資料難以完全刪除
今年2月,聖地牙哥加州大學有位博士生Michael Wei,在儲存技術國際研討會(Fast 11)上發表了一份震驚全場的研究報告,他揭露了一個長期存在卻很少有人注意的SSD資料遺漏的安全問題,他說:「想要徹底銷毀SSD固態硬碟上的資料,其實不容易。沒有一種硬碟軟體刪除技術,可以有效刪除SSD硬碟中的特定文件。」
Michael Wei是加州大學聖地牙哥分校專門研究SSD硬碟的非揮發系統實驗室(Non-Volatile Systems Laboratory,NVSL)的成員,NVSL研究團隊發現,使用美國空軍刪除資料的方法,來清除SSD上的一個1GB檔案,仍舊有5.8~7.3% 的資料可以回復,若是USB隨身碟,甚至最高可以回復63.5%的資料。
NVSL研究團隊測試了13種各國官方採用的資料銷燬方法,包括刪除軟體常見的Gutmann模式、英國的British HMG IS5模式、德國的German VSITR模式、俄羅斯的German VSITR模式等,甚是美國國防部US DoD 5220.22-M。他們在SSD硬碟和USB隨身碟上寫入一個1GB大小的檔案,利用這13種方法刪除後,仍然可以回復數十MB甚至上百MB的資料,沒有一種方法能有效地徹底抹除這個檔案。
臺灣科技大學電子系助理教授吳晉賢表示,資料難以刪除的關鍵是,「SSD儲存資料的方式和傳統硬碟截然不同。」
SSD快閃記憶體儲存方式有三項限制
吳晉賢解釋,因為SSD使用快閃記憶體來儲存資料,電路特性會產生三個傳統硬碟所沒有的限制,這也導致SSD和硬碟儲存方式的差異
首先,資料不能重複寫入。在快閃記憶體上最小的儲存空間稱為一個Cell,一個Cell可以儲存一個位元的資訊,可以是1或0,這就是所謂的SLC儲存方式(Single Bit per Cell)。若要寫入新資料,必須充電來清除這個Cell的電位資訊以後,才可以重新寫入。不像硬碟磁盤上記錄資料的磁性可以反覆改變,也就說可反覆將資料寫入磁盤上同一個位置,達到重複寫入。另一種快閃記憶體技術MLC(Multi-level Cell),也是一樣在一個Cell上用不同電位來儲存2個位元的資訊,同樣也有不能重複寫入的特性。這是硬碟和SSD儲存方式第一個不同點。
第二,快閃記憶體刪除資料的方法也和硬碟磁盤不同,必須採取「逐一寫入整批抹除」的作法。
SSD寫入資料時最小的單位是Page,一個Page依SSD採用的快閃記憶體而有不同,可以是2,048、4,096或8,192Bit等,每次可以寫入1個Page的資料。但是,抹除資料時無法一次抹除1個Page的資料,而必須一整批Page同時抹除,這個整批抹除的單位就是Block,1個 Block通常是64或128個Page,也可以更多如128或256。
基本原則是,寫入時每次1個Page,抹除時則要每次1個Block。因為每次最少要抹除1個Block,即使這個Block只有寫入了幾個Page的資料,SSD還是會一次抹除這個Block中所有Page的資料。因為必須採取整批寫入的方式,所以SSD的抹除速度會比讀取速度慢很多。
若是要更新某一個Page資料的作法也相當繁複,必須先將整個Block中記錄的資訊取出,存放到快取記憶體中,再更新這段快取記憶體中的資料,最後再逐一將Page資料寫回這個Block中。
最後一個特性是快閃記憶體寫入資料有次數限制,例如有的快閃記憶體的電路特性可以寫入10萬次。當一個區域寫入次數達到這個限制以後,就無法再寫入,成為壞死區域(Bad Sector)。為了延長SSD的使用壽命,就必須避免寫入集中在少數區域,讓寫入資料平均分配到每一個Cell上。
用FTL中間層解決快閃記憶體的儲存限制
因為快閃記憶體這三個特性,所以,SSD採取了一種和傳統硬碟截然不同的存取架構,在檔案系統和實體資料儲存層之間,增加一個FTL層(Flash Translation Layer),FTL層會負責提供檔案系統和實體資料層之間的對應,讓作業系統仍舊看到和硬碟一樣的檔案系統。但是在實際儲存資料時,FTL層會將資料分散到不同的位置儲存,避免寫入動作集中在少數區域。
雖然SSD底層的實際寫入機制和硬碟不同,但FTL會模擬出像硬碟一樣的檔案系統,讓作業系統用同樣控制硬碟的指令,來控制SSD的寫入。
因為FTL層會移動資料實際存放的位置,這會造成資料覆寫的效果和傳統硬碟不同。
在傳統硬碟上,作業系統可以知道資料實際寫入的位置,若要覆蓋原來的資料,就在相同位置寫入資料。但是在SSD中,作業系統以為自己寫入相同位置的資料,但FTL層可能將第二次覆寫的資料,儲存到SSD中其他位置,而沒有蓋掉原來的資料,導致在SSD中無法透過資料覆寫來刪除原有資料。
SSD與傳統硬碟大不同
SSD存取資料的架構和傳統硬碟截然不同。SSD在檔案系統和實體資料儲存層之間,增加一個FTL層(Flash Translation Layer),FTL層會負責提供檔案系統和實體資料層之間的對應,讓作業系統仍舊看到和硬碟一樣的檔案系統,但是在實際儲存資料時,FTL層會將資料分散到不同的位置儲存,避免寫入動作集中在少數區域。
因為FTL層會移動資料實際存放的位置,這會造成資料覆寫的效果和傳統硬碟不同。作業系統以為自己寫入相同位置的資料,但FTL層可能將第二次覆寫的資料,儲存到SSD中其他位置,原來資料仍舊存在,難以透過資料覆寫來摧毀SSD中的舊資料。
寫入方法大不同
SSD寫入資料時,FTL層為了平均使用每一個內部位置,會移動實際儲存資料的位置,作業系統角度看到的位置,不一定是實際存放資料的位置和順序。但是,傳統硬碟沒有FTL,作業系統和硬碟實際位置相符。
覆寫方法大不同
傳統硬碟覆寫資料時會直接蓋掉舊有資料,但是在SSD中,FTL層會標記舊有位置的資料無效,再將要覆寫的資料儲存到另一個位置,無法透過覆寫來刪除資料。
還有另一個造成資料不易刪除的原因,是廠商特別為SSD設計的資料抹寫方式TRIM機制。因為SSD必須整批寫入的特性,導致抹寫速度遠比讀取速度慢。減少實際寫入的次數,除了能延長使用壽命也可以提高SSD的存取效能,所以,廠商讓SSD的TFL層先對需要刪除的資料加註記號,而不實際進行刪除,等到這個Block中多數Page的資料都需要刪除時,才真正實際抹除這個Block。
例如SSD要刪除大量小檔案時,若每刪除一個檔案就要抹除一次,一個Block可能需要抹寫數十次。改用TRIM的作法以後,可以逐次將需要刪除的檔案標記下來,等到系統有閒暇時再一次抹除。這樣的作法,更讓資料在SSD中實際存活的時間更久,甚至是,作業系統以為資料已經刪除,但實情剛好相反。
SSD為效能和使用壽命而降低抹除可靠性
因為SSD有寫入次數的壽命限制,寫入速度也遠遠慢於讀取速度,廠商特別為SSD設計了一種不同於傳統硬碟的資料抹寫方式,稱為TRIM機制。當作業系統要刪除一筆資料時,SSD的TFL層先對需要刪除的資料加註記號,但沒有實際進行刪除,等到儲存資料所處的Block區域有多數資料需要刪除時,才會真正實際抹除這個Block,利用TRIM減少耗時的實際抹除動作,也因此,在實際抹除之前,舊資料一直存在,遺漏風險就會比傳統硬碟更高。
傳統硬碟
傳統硬碟沒有TRIM機制,作業系統刪除資料時,就會同時刪除在硬碟實際位置上的資料,資料遺漏的風險比SSD的風險低。
SSD硬碟
SSD的TRIM機制會先透過標記方式註明待刪除的資料無效,讓作業系統誤以為刪除完成,其實資料還在,就算多次寫入,也不一定能覆蓋。
FTL是黑盒子,隱藏資料遺漏的隱憂
吳晉賢表示,FTL層就像是一個黑盒子,將作業系統的檔案系統和實際寫入動作隔離,作業系統不知道盒子裡會發生了什麼事情。
加州大學聖地牙哥分校NVSL研究團隊正是打開這個黑盒子以後,發現了SSD會有資料無法刪除的隱憂。
NVSL研究團隊購買了12款常見的SSD,容量從32GB到120GB不等,包括使用MLC和SLC快閃記憶體的產品。他們自製了一個快閃記憶體讀取裝置,來避開FTL層的控制,直接取得實際儲存在快閃記憶體中的資訊,再測試各種不同的資料刪除情境和作法,來比較FTL層的影響,找出SSD資料刪除的問題。
低階指令全面抹除有效,但SSD不一定支援
NVSL的研究發現,如果使用低階磁碟控制指令ATA Command中的刪除指令,針對整顆SSD資料進行全面抹除,通常可以有效抹除資料,但是,不是每一款SSD都能正確支援這種指令,在NVSL的測試中也有一款SSD執行ATA刪除指令後,SSD只是註記刪除位置,而沒有實際抹除。
部分檔案刪除難度高,國防等級刪除法也沒輒
有時不一定能採取全面抹除的作法,NVSL也考慮了另一種情況,在經常使用的SSD中,只刪除特定敏感性的文件。NVSL發現,若將上千個檔案寫入SSD 後,有些檔案可能被複製了16份,散布在SSD中不同位置,想要單獨刪除其中特定檔案的難度相當高。NVSL測試了13種各國官方認可的資料刪除方法,都無法徹底刪除測試檔案的資料,在SSD中仍舊有部分測試檔案的資料可以回復。
吳晉賢表示,一般電子科系的大學生,就有能力使用便宜的8051單晶片做出可以直接存取快閃記憶體資料的工具,成本也不高,要取出SSD中尚未抹除的資料並不難。
不過,他認為,就算取出資料也不一定能夠完全重建出原始的檔案內容,只有像圖檔這種會連續儲存,即使部分損毀也能呈現的資料格式,比較有機會復原,或者是能取得文件標頭資訊才有可能重建出可用的內容。簡而言之,資料就算取回,能有效回復的機會也不大,但並不是完全沒有可能。
軟體抹除與實體摧毀孰勝?專家看法分歧
若SSD不需要繼續使用,SSD廠商OCZ(飢餓鯊)亞太營運中心產品經理程威笛建議,實體摧毀也是一個可行的作法。他表示,快閃記憶體晶片其實非常脆弱,只要有些許破損就無法使用。不過,同樣也是生產SSD的廠商宜鼎國際研發處協理吳錫熙則有不同的看法,他認為硬體破壞仍有資料遺漏風險,透過軟體徹底抹除SSD內容的安全性更佳。
但是,全面抹除的作法非常耗時,程威笛表示,他曾利用HD Tune軟體中的Gutmann演算法來抹除一顆120GB的SSD,花了8小時才處理完畢。有些SSD廠商的抹除工具也只能支援自家產品,而不能抹除所有的SSD產品。
吳晉賢倒是提出了另一個可以徹底保護SSD資料的作法,他建議,最保險又方便的作法是加密,將資料加密後再放入SSD,未來只要摧毀解密金鑰,資料就算被回復也無法解讀。不過,資料加密會影響存取效能,或是耗用處理器運算能力。
不只是SSD有風險,NVSL團隊提醒,凡是採用快閃記憶體的產品,包括了SSD,USB隨身碟、相機的SD記憶卡、手機、iPad、iPhone等產品,都有同樣的資料遺漏風險。
這些生活中常見的3C產品,保存了各種個人資料、私密照片、簡訊、電話等,倘若儲存的資料會有刪除不完全的問題,有心人士就有可能利用檔案回復技術來偷取資料,甚至是借用朋友的USB隨身碟暫存資料,也有可能會導致外洩問題。越來越多商用刀鋒伺服器和筆記型電腦開始採用SSD,這也意味著,企業重要的內部資料可能會因這些SSD遺失而外洩。
雖然,SSD資料刪除的威脅和解決方法的成效,各方意見仍有分歧,這也反映出SSD使用的複雜性,原本企業採用SSD的目的是為了提高讀取效率,但也不能忽略可能伴隨的資料遺漏風險。企業採購和運用SSD時,必須先了解SSD潛藏的問題,才能掌握可能風險,更縝密地評估需求,找出適合企業的運用之道。
加密才能徹底避免外洩風險
臺灣科技大學電子系助理教授 吳晉賢
臺灣科技大學電子系助理教授吳晉賢認為,廠商為了提高SSD硬碟效率和壽命,會透過FTL層來分散和延後實際資料寫入的動作,這會讓SSD中的舊資料不容易徹底抹除。
雖然不同廠牌SSD在FTL層的運作方式略有差異,廠商也會各自發展出不同的分散或抹除演算法。導致FTL就像是一個黑盒子,作業系統無法真正曉得盒子裡發生的事情,也無法運用現有硬碟軟體技術徹底有效抹除SSD的資料。
一般電子科系的大學生,很容易就能取得快閃記憶體存取資料的方法,也有能力利用便宜的8051單晶片做出直接存取快閃記憶體資料的工具,成本也不高,要取出SSD中尚未抹除的資料並不難。
不過,他認為,就算能夠取得快閃記憶體中資料,也不一定能夠完全重建出原始的檔案內容。除非像是圖檔格式的資料,儲存到SSD時會連續寫入,圖檔資料容易集中,就有機會回復,有些圖片壓縮格式即使部分損毀也能呈現畫面內容,就容易發生資料外洩的情況。或者是取得文件標頭資訊才有可能重建出可用的內容。簡而言之,就算有心人士取得SSD中的舊資料,能有效回復的機會也不大,但並非完全不可能。
吳晉賢認為,硬體破壞是一個可以採行的方法,不過傳統硬碟可用的消磁方式對SSD無效。因為快閃記憶體的運作方式不是磁性作用,所以,無法透過消磁來破壞資料。
吳晉賢倒是提出了一個可以徹底保護SSD資料的作法,他建議,最保險又方便的作法是加密,將資料加密後再放入SSD,未來只要摧毀解密金鑰,資料就算被回復也無法解讀,未來,廠商也可能直接將加密技術放入FTL層,來避免SSD資料外洩的風險。不過,資料加密會影響存取效能,或是耗用處理器運算能力。
僅部分產品能靠指令抹除
通常SSD的使用者在刪除資料時,資料並不會真的從快閃記憶體內抹除掉,而是被標記成已抹除的資料,在SSD需要釋放空間時,才會真正將資料給抹去。像支援TRIM功能的SSD,會在閒置時自動抹除資料;而不支援該功能的,則要視該SSD上的演算法而定,它會計算出何時該進行資料抹除。
如果使用者要自己進行資料抹除,則可以使用ANSI標準的ATA Secure Erase指令。而一位不願具名的金士頓(Kingston)技術支援部工程師表示,雖然SSD都擁有原生的內部指令,但是也要看各家的快閃記憶體控制器是否提供該功能,無則不能使用。
針對ATA Secure Erase指令支援度,目前市面上的SSD粗分成三種。第一種是支援該指令,當SSD接收到指令時,會將快閃記憶體上的邏輯區塊位址抹除,而這會讓區塊位置標示成已抹除的狀態,等同於回復到剛出廠的狀態。第二種則不支援指令,這是因為有些快閃記憶體控制器,並沒有支援ATA的ANSI標準指令,這類情形較會出現在早期的SSD上。而第三種則是表面支援指令,也可以執行該指令,但實際上卻無法抹除。
金士頓表示,他們自家的產品支援ANSI標準的ATA Normal Secure Erase及ATA Enhanced Secure Erase指令。使用者可透過HDDerase這套軟體,在DOS模式下抹除SSD。而這兩個指令的作用上,前者是將邏輯區塊位址抹除,來達到銷毀資料的目的;而後者的功能較為進階,它是將SSD上加密的金鑰摧毀,這會讓加密的資料幾乎無法進行解碼。
不過需注意的是,SSD上的超額配置(over-provisioning)空間,是用來暫存及加速存取資料用。而這部份的快閃記憶體,並不受Secure Erase指令影響。所以在抹除時,該區塊有可能會殘存部分資料。
可抹除SSD的小程式
HDDerase僅能在DOS模式下運行,使用者能透過它執行Secure Erase指令。這套軟體能依照安全等級,執行共4種層級的抹除指令,依照等級排列為Normal File Deletion、DoD 5220 Block Erase、Secure Erase及NIST 800-88 Enhanced Secure Erase。
軟體抹除較硬體破壞徹底
對於資料抹除,並非各家都使用硬體方式破壞。像同樣生產SSD的廠商宜鼎國際(InnoDisk),該公司的研發處協理吳錫熙表示,因為他們的客戶有更高的機密考量需求,所以要求資料絕對不能有任何一絲外流的可能性。而在資料抹除上,他認為使用硬體方式破壞時,假設快閃記憶體沒有完全故障,還是有極低的可能性,能將資料從快閃記憶體內給取出。
也因為這樣,有客戶曾要求他們以軟體的方式,將SSD徹底抹寫或破壞掉。如此一來,就算這些處理後的硬體被有心人士取走時,也會發現快閃記憶體內毫無資料。雖然用軟體抹除已經能確保資料抹除,但他們發現依舊有少部分客戶,會在軟體抹除完後,再透過硬體層面破壞SSD。
吳錫熙表示,它們軟體破壞的方法,並非透過作業系統去下達指令,因為這太耗費時間。而且有些資料抹除方式,只是將作業系統內的檔案配置表(FAT,File Allocation Table)刪除,但資料依舊保存在快閃記憶體內。但只要透過Final Data這類檔案救援軟體,就能重建檔案配置表,進而將資料從快閃記憶體中取出。
所以他們抹除資料的方式,是直接針對SSD下達抹除指令。不但能真正將資料抹除外,而省去作業系統這層傳遞指令,抹除速度也快上許多。吳錫熙說,宜鼎自家的儲存產品擁有兩種抹除指令。
一種是Destroy指令,該指令能夠將SSD資料完全抹除,並且會將快閃記憶體內原有的壞塊資訊也抹寫掉。而執行Destroy後,整顆SSD將會回到尚未開卡前的狀態,不能使用之外,也無法進行讀取;而且,Destroy一顆128GB的SSD,大約只要6秒。而另一種Quick Erase指令,一樣是將SSD資料抹寫,但只是將區塊中的資料給清除。執行完後,使SSD能夠重複使用。而Quick Erase一顆128GB的SSD,大約需55秒。
靠軟體並不能徹底抹除資料
事實上,去掉外殼的SSD是非常脆弱的。SSD廠商OCZ(飢餓鯊)亞太營運中心產品經理程威迪表示,他們比較常遇到的問題,是如何保存和讀取資料,較少在破壞這一塊。而提出銷毀需求的客戶,多半是企業而非個人,他們幾乎都是用硬體方式直接破壞SSD實體裝置,來達到資料銷毀的目的。
而這些廠商為何不認同軟體抹除的效果?程威迪說,這是因為,透過軟體抹除雖然能有效地將資料破壞到不可辨識,但還是有很低的機率,能將些許資料復原。
再加上,目前市面上資料抹除軟體,很少是針對SSD的特性去設計,所以都是使用針對一般硬碟的抹除軟體。而因為兩者架構上的差異,在抹除時通常會遺漏掉SSD的部分儲存區。程威迪表示,雖然架構不同,但還是能有效地抹除近70%的資料。
除了資料抹除不完全外,再加上抹除所需時間久,所以廠商大多選擇硬體方式破壞。程威迪說,他自己實驗過,使用HD Tune軟體Pro版的Gutmann演算法,將一顆120GB的SSD進行抹除,約要花上8個小時才能處理完畢。而且這還只有抹除掉約70%的資料,如果要做到徹底抹除,所花的時間可能需更久。
程威迪說,在硬體破壞方面,只要將SSD外殼拆掉,外力敲擊就能造成致命性的傷害。這是因為快閃記憶體非常脆弱,像針腳只要折斷一部分,就會造成傳輸訊號不穩。而且快閃記憶體是將晶圓封裝起來的產品,只要晶圓有一點損傷就等同全毀。
利用敲擊這方式去破壞並沒有特別的訣竅,因為目前大多SSD都採用平均抹寫技術(Wear-Leveling),資料會分別存放在各快閃記憶體上。所以只要破壞SSD中的一片快閃記憶體,其餘記憶體的資料則等同失效。
4種銷毀SSD資料的方法
由於SSD的硬體架構和儲存方式都與一般硬碟不同,所以不管透過軟、硬體方式抹除資料時,都會有些許差異。像SSD的硬體架構,是由多片快閃記憶體及一組控制晶片所組成;這與由碟片、磁頭組成的一般硬碟完全不同。
也因為儲存介質不同,所以在物理的儲存方式上也有所差異。像SSD是透過電流,在快閃記憶體的閘極中留下電子,來儲存資料;而一般硬碟雖然也是使用電流,目的是改變碟片上的磁性,以便將資料存放在碟片上。而這些差異,會影響破壞方式的程度,像一般硬碟運作遭到衝擊時,極有可能因為磁頭位置偏差刮傷碟片,而造成永久性破壞;而SSD則無物理性的磁頭讀寫步驟,都是以電子訊號傳輸,故撞擊對於SSD的影響較不顯著。
將SSD拆開後,可以看到其內部是由一張電路板,上面組合多片快閃記憶體和控制晶片而成。而去除掉外殼的SSD很容易受到破壞,不論在撞擊、耐溫等層面,等同毫無保護。
但SSD也並非我們想像中堅固,如果將其外殼拆開,讓內部晶片、記憶體裸露。光是這樣,就很有可能造成SSD的損壞。這是因為SSD的主要儲存元件為快閃記憶體,而快閃記憶體則是封裝過後的晶圓。它非常脆弱,光是人體靜電就有可能造成損傷。更甭提以物理方式敲擊、折斷,而以這類方式破壞快閃記憶體,幾乎不可能救回資料。
而接下來,我們將介紹軟體抹除、鐵鎚敲擊、火燒、泡水及消磁,這些對於一般硬碟有具體傷害的破壞方法。而這些方式,它對於SSD的破壞程度會有多大。
方法 1 軟體抹除法
不論一般硬碟與SSD,都能透過軟體將硬碟上的資料給抹除。而軟體抹除方式有很多種,有的是將資料徹底抹去,清空磁碟空間;而有的則是將隨機產生的亂數資料,重複且多次地寫入磁區,來將資料損毀。而這兩種方式對於銷毀資料都有一定的效果,目的都是要讓資料不可使用。
而目前要使用軟體抹除,可以使用HD Tune及HDDerase這兩套軟體實做。像HD Tune上有四種抹除方式,如零填充、隨機填充、美國國防部DOD 5220.22-M標準及德國Gutmann演算法。
像零填充能夠將快閃記憶體內的資料,全部抹寫成0。但因為硬體設計關係,有時電壓並不能夠完整將電子移除,所以並不能保證資料被抹除。不過因為邏輯區塊位址也被抹寫,所以就算實體層找到區塊內有資料,也不能將資料取出。
而HDDerase這套軟體,則可以執行ANSI標準的ATA Secure Erase指令。而大多支援抹除指令的SSD,都能夠用它進行標準及進階的資料抹除。標準的抹除指令功能有點類似零填充,它是將邏輯區塊位址抹除,而進階的抹除指令則是摧毀SSD上的加密金鑰。
一般企業使用這兩套軟體抹除,已足夠銷毀大多數資料。但這方法的缺點是,透過軟體抹除需耗去大量時間,而且在安全性上依舊有餘慮。
SDD資料經過重複抹寫後,大多幾乎不可辨識。
方法 2 鐵槌敲擊法
鐵槌敲擊法對於SSD與一般硬碟皆有極高的破壞性,而且也是IT人員損毀門檻最低的一種方式。
使用鐵鎚敲擊一般硬碟時,只要將碟片敲打至變形,幾乎就無法取得碟片上的資料。這是因為磁頭與碟片的定位點已經歪掉,要重新找回定位點並讀取資料,幾乎不可能。
而用鐵鎚敲擊SSD更簡單,由於SSD硬碟非常脆弱,只要將其外殼拆下後,就形同毫無保護。拆開外殼後的SSD硬碟,會看到只有一片IC電路板,上面有著多片快閃記憶體。只要拿鐵鎚擊碎其中一片快閃記憶體,整顆SSD就等同報廢。這是因為SSD大多有平均抹寫技術,導致資料不像一般硬碟,會將資料連續寫入在相同的區塊。所以即使損毀其中一片,剩餘的資料亦不能組合成完整檔案。
在破壞難度上,SSD較一般硬碟輕鬆。這是因為SSD範圍較小,且快閃記憶體硬度也較低,能輕鬆擊破;不像一般硬碟需要將各個碟片分別取下,並將它敲至變形才可。
而破壞SSD不一定要拿鐵鎚敲擊,只要是重物或是尖銳物體,就足夠破壞快閃記憶體,其破壞門檻不但低,且為多個銷毀方式中最有效果的一種。
SSD內的快閃記憶體遭擊碎後,資料幾乎確定無法復原。
方法 3 焚毀法
通常焚毀法分為兩種,一種是送進焚化爐,將硬碟給徹底燒毀。但一般企業並不會有這種設備,所以通常會選擇第二種,自行使用噴槍焚燒硬碟。
而一般硬碟使用焚毀法時,只要破壞表面磁粉,就能將當中的資料損毀。但麻煩的地方在於,一般硬碟有多個碟片,要確保完全毀損就需將每張碟片的表面都均勻焚毀,否則還是有機會能將資料取出。
但SSD的焚燒難度較低,因為硬體不同於一般硬碟。SSD因為面積小,且快閃記憶體的耐熱溫度為攝氏70至85度。再加上SSD是由電路板和快閃記憶體組合而成,不像一般硬碟整體金屬含量高,較難焚毀。
所以在焚燒SSD時,可能不需要用到噴槍,只要使用打火機持續燃燒一段時間,就能夠成功焚毀SSD。而快閃記憶體經過焚毀後,效果等同於敲擊法,幾乎成為不可復原的狀態,理當資料不能取出。
雖然焚毀法對於SSD的難度較一般硬碟低,也較容易銷毀。但企業在使用該方法破壞時,仍有其危險度,請慎選銷毀的場地。
SSD因為耐熱溫度低且面積小,透過打火機持續加熱快閃記憶體,即可破壞。
方法 4 消磁及泡水
以一般硬碟而言,使用消磁及泡水這兩種方式,大多都能有效地造成大範圍傷害,並損傷部份資料。不過,這兩者對於SSD,雖然不敢保證毫無傷害,但能造成資料損傷的機會極低。
磁力須達到一定強度等級,才有可能讓快閃記憶體產生電流,進而達到損毀的目的。
以消磁而言,因為快閃記憶體是靠電壓來抹除和寫入。因為快閃記憶體內的資料是電子,理論上來說,如果磁場強度夠,是可以讓快閃記憶體的金屬層產生電流進而摧毀,並導致無法讀取。不過在使用消磁機時,並無法只針對快閃記憶體抹除資料,所以對SSD進行消磁可能無效。
由於泡水並不會破壞線路,所以資料毀損率不高。
而泡水對於一般硬碟傷害非常嚴重,因為水會破壞碟片上的磁粉。但是對於SSD,泡水的方式則不太行。這是因為水並沒有破壞到線路,只要印刷電路板是好的,基本上吹乾後導電就可以使用。但如果水分沒有清除完畢就通電,還是有可能會造成短路而故障。
簡單來說,SSD就像我們日常使用的隨身碟,有時不小心送進洗衣機,拿出來吹乾後還是能使用。但它也跟大多數使用電路板的設備一樣,如果泡到海水或是具腐蝕性的液體,幾乎等同報廢。
撰文⊙王宏仁、陳思翰
SSD廠商沒有告訴你的真相:SSD資料難以完全刪除(1)
SSD廠商沒有告訴你的真相:SSD資料難以完全刪除(2)
加州大學聖地牙哥分校一份研究揭露了SSD資料刪除不完全的安全問題,連美國國防部刪除資料的演算法,也不一定能有效刪除SSD硬碟中的特定文件
SSD廠商沒有告訴你的真相:SSD資料難以完全刪除
今年2月,聖地牙哥加州大學有位博士生Michael Wei,在儲存技術國際研討會(Fast 11)上發表了一份震驚全場的研究報告,他揭露了一個長期存在卻很少有人注意的SSD資料遺漏的安全問題,他說:「想要徹底銷毀SSD固態硬碟上的資料,其實不容易。沒有一種硬碟軟體刪除技術,可以有效刪除SSD硬碟中的特定文件。」
Michael Wei是加州大學聖地牙哥分校專門研究SSD硬碟的非揮發系統實驗室(Non-Volatile Systems Laboratory,NVSL)的成員,NVSL研究團隊發現,使用美國空軍刪除資料的方法,來清除SSD上的一個1GB檔案,仍舊有5.8~7.3% 的資料可以回復,若是USB隨身碟,甚至最高可以回復63.5%的資料。
NVSL研究團隊測試了13種各國官方採用的資料銷燬方法,包括刪除軟體常見的Gutmann模式、英國的British HMG IS5模式、德國的German VSITR模式、俄羅斯的German VSITR模式等,甚是美國國防部US DoD 5220.22-M。他們在SSD硬碟和USB隨身碟上寫入一個1GB大小的檔案,利用這13種方法刪除後,仍然可以回復數十MB甚至上百MB的資料,沒有一種方法能有效地徹底抹除這個檔案。
臺灣科技大學電子系助理教授吳晉賢表示,資料難以刪除的關鍵是,「SSD儲存資料的方式和傳統硬碟截然不同。」
SSD快閃記憶體儲存方式有三項限制
吳晉賢解釋,因為SSD使用快閃記憶體來儲存資料,電路特性會產生三個傳統硬碟所沒有的限制,這也導致SSD和硬碟儲存方式的差異
首先,資料不能重複寫入。在快閃記憶體上最小的儲存空間稱為一個Cell,一個Cell可以儲存一個位元的資訊,可以是1或0,這就是所謂的SLC儲存方式(Single Bit per Cell)。若要寫入新資料,必須充電來清除這個Cell的電位資訊以後,才可以重新寫入。不像硬碟磁盤上記錄資料的磁性可以反覆改變,也就說可反覆將資料寫入磁盤上同一個位置,達到重複寫入。另一種快閃記憶體技術MLC(Multi-level Cell),也是一樣在一個Cell上用不同電位來儲存2個位元的資訊,同樣也有不能重複寫入的特性。這是硬碟和SSD儲存方式第一個不同點。
第二,快閃記憶體刪除資料的方法也和硬碟磁盤不同,必須採取「逐一寫入整批抹除」的作法。
SSD寫入資料時最小的單位是Page,一個Page依SSD採用的快閃記憶體而有不同,可以是2,048、4,096或8,192Bit等,每次可以寫入1個Page的資料。但是,抹除資料時無法一次抹除1個Page的資料,而必須一整批Page同時抹除,這個整批抹除的單位就是Block,1個 Block通常是64或128個Page,也可以更多如128或256。
基本原則是,寫入時每次1個Page,抹除時則要每次1個Block。因為每次最少要抹除1個Block,即使這個Block只有寫入了幾個Page的資料,SSD還是會一次抹除這個Block中所有Page的資料。因為必須採取整批寫入的方式,所以SSD的抹除速度會比讀取速度慢很多。
若是要更新某一個Page資料的作法也相當繁複,必須先將整個Block中記錄的資訊取出,存放到快取記憶體中,再更新這段快取記憶體中的資料,最後再逐一將Page資料寫回這個Block中。
最後一個特性是快閃記憶體寫入資料有次數限制,例如有的快閃記憶體的電路特性可以寫入10萬次。當一個區域寫入次數達到這個限制以後,就無法再寫入,成為壞死區域(Bad Sector)。為了延長SSD的使用壽命,就必須避免寫入集中在少數區域,讓寫入資料平均分配到每一個Cell上。
用FTL中間層解決快閃記憶體的儲存限制
因為快閃記憶體這三個特性,所以,SSD採取了一種和傳統硬碟截然不同的存取架構,在檔案系統和實體資料儲存層之間,增加一個FTL層(Flash Translation Layer),FTL層會負責提供檔案系統和實體資料層之間的對應,讓作業系統仍舊看到和硬碟一樣的檔案系統。但是在實際儲存資料時,FTL層會將資料分散到不同的位置儲存,避免寫入動作集中在少數區域。
雖然SSD底層的實際寫入機制和硬碟不同,但FTL會模擬出像硬碟一樣的檔案系統,讓作業系統用同樣控制硬碟的指令,來控制SSD的寫入。
因為FTL層會移動資料實際存放的位置,這會造成資料覆寫的效果和傳統硬碟不同。
在傳統硬碟上,作業系統可以知道資料實際寫入的位置,若要覆蓋原來的資料,就在相同位置寫入資料。但是在SSD中,作業系統以為自己寫入相同位置的資料,但FTL層可能將第二次覆寫的資料,儲存到SSD中其他位置,而沒有蓋掉原來的資料,導致在SSD中無法透過資料覆寫來刪除原有資料。
SSD與傳統硬碟大不同
SSD存取資料的架構和傳統硬碟截然不同。SSD在檔案系統和實體資料儲存層之間,增加一個FTL層(Flash Translation Layer),FTL層會負責提供檔案系統和實體資料層之間的對應,讓作業系統仍舊看到和硬碟一樣的檔案系統,但是在實際儲存資料時,FTL層會將資料分散到不同的位置儲存,避免寫入動作集中在少數區域。
因為FTL層會移動資料實際存放的位置,這會造成資料覆寫的效果和傳統硬碟不同。作業系統以為自己寫入相同位置的資料,但FTL層可能將第二次覆寫的資料,儲存到SSD中其他位置,原來資料仍舊存在,難以透過資料覆寫來摧毀SSD中的舊資料。
寫入方法大不同
SSD寫入資料時,FTL層為了平均使用每一個內部位置,會移動實際儲存資料的位置,作業系統角度看到的位置,不一定是實際存放資料的位置和順序。但是,傳統硬碟沒有FTL,作業系統和硬碟實際位置相符。
覆寫方法大不同
傳統硬碟覆寫資料時會直接蓋掉舊有資料,但是在SSD中,FTL層會標記舊有位置的資料無效,再將要覆寫的資料儲存到另一個位置,無法透過覆寫來刪除資料。
還有另一個造成資料不易刪除的原因,是廠商特別為SSD設計的資料抹寫方式TRIM機制。因為SSD必須整批寫入的特性,導致抹寫速度遠比讀取速度慢。減少實際寫入的次數,除了能延長使用壽命也可以提高SSD的存取效能,所以,廠商讓SSD的TFL層先對需要刪除的資料加註記號,而不實際進行刪除,等到這個Block中多數Page的資料都需要刪除時,才真正實際抹除這個Block。
例如SSD要刪除大量小檔案時,若每刪除一個檔案就要抹除一次,一個Block可能需要抹寫數十次。改用TRIM的作法以後,可以逐次將需要刪除的檔案標記下來,等到系統有閒暇時再一次抹除。這樣的作法,更讓資料在SSD中實際存活的時間更久,甚至是,作業系統以為資料已經刪除,但實情剛好相反。
SSD為效能和使用壽命而降低抹除可靠性
因為SSD有寫入次數的壽命限制,寫入速度也遠遠慢於讀取速度,廠商特別為SSD設計了一種不同於傳統硬碟的資料抹寫方式,稱為TRIM機制。當作業系統要刪除一筆資料時,SSD的TFL層先對需要刪除的資料加註記號,但沒有實際進行刪除,等到儲存資料所處的Block區域有多數資料需要刪除時,才會真正實際抹除這個Block,利用TRIM減少耗時的實際抹除動作,也因此,在實際抹除之前,舊資料一直存在,遺漏風險就會比傳統硬碟更高。
傳統硬碟
傳統硬碟沒有TRIM機制,作業系統刪除資料時,就會同時刪除在硬碟實際位置上的資料,資料遺漏的風險比SSD的風險低。
SSD硬碟
SSD的TRIM機制會先透過標記方式註明待刪除的資料無效,讓作業系統誤以為刪除完成,其實資料還在,就算多次寫入,也不一定能覆蓋。
FTL是黑盒子,隱藏資料遺漏的隱憂
吳晉賢表示,FTL層就像是一個黑盒子,將作業系統的檔案系統和實際寫入動作隔離,作業系統不知道盒子裡會發生了什麼事情。
加州大學聖地牙哥分校NVSL研究團隊正是打開這個黑盒子以後,發現了SSD會有資料無法刪除的隱憂。
NVSL研究團隊購買了12款常見的SSD,容量從32GB到120GB不等,包括使用MLC和SLC快閃記憶體的產品。他們自製了一個快閃記憶體讀取裝置,來避開FTL層的控制,直接取得實際儲存在快閃記憶體中的資訊,再測試各種不同的資料刪除情境和作法,來比較FTL層的影響,找出SSD資料刪除的問題。
低階指令全面抹除有效,但SSD不一定支援
NVSL的研究發現,如果使用低階磁碟控制指令ATA Command中的刪除指令,針對整顆SSD資料進行全面抹除,通常可以有效抹除資料,但是,不是每一款SSD都能正確支援這種指令,在NVSL的測試中也有一款SSD執行ATA刪除指令後,SSD只是註記刪除位置,而沒有實際抹除。
部分檔案刪除難度高,國防等級刪除法也沒輒
有時不一定能採取全面抹除的作法,NVSL也考慮了另一種情況,在經常使用的SSD中,只刪除特定敏感性的文件。NVSL發現,若將上千個檔案寫入SSD 後,有些檔案可能被複製了16份,散布在SSD中不同位置,想要單獨刪除其中特定檔案的難度相當高。NVSL測試了13種各國官方認可的資料刪除方法,都無法徹底刪除測試檔案的資料,在SSD中仍舊有部分測試檔案的資料可以回復。
吳晉賢表示,一般電子科系的大學生,就有能力使用便宜的8051單晶片做出可以直接存取快閃記憶體資料的工具,成本也不高,要取出SSD中尚未抹除的資料並不難。
不過,他認為,就算取出資料也不一定能夠完全重建出原始的檔案內容,只有像圖檔這種會連續儲存,即使部分損毀也能呈現的資料格式,比較有機會復原,或者是能取得文件標頭資訊才有可能重建出可用的內容。簡而言之,資料就算取回,能有效回復的機會也不大,但並不是完全沒有可能。
軟體抹除與實體摧毀孰勝?專家看法分歧
若SSD不需要繼續使用,SSD廠商OCZ(飢餓鯊)亞太營運中心產品經理程威笛建議,實體摧毀也是一個可行的作法。他表示,快閃記憶體晶片其實非常脆弱,只要有些許破損就無法使用。不過,同樣也是生產SSD的廠商宜鼎國際研發處協理吳錫熙則有不同的看法,他認為硬體破壞仍有資料遺漏風險,透過軟體徹底抹除SSD內容的安全性更佳。
但是,全面抹除的作法非常耗時,程威笛表示,他曾利用HD Tune軟體中的Gutmann演算法來抹除一顆120GB的SSD,花了8小時才處理完畢。有些SSD廠商的抹除工具也只能支援自家產品,而不能抹除所有的SSD產品。
吳晉賢倒是提出了另一個可以徹底保護SSD資料的作法,他建議,最保險又方便的作法是加密,將資料加密後再放入SSD,未來只要摧毀解密金鑰,資料就算被回復也無法解讀。不過,資料加密會影響存取效能,或是耗用處理器運算能力。
不只是SSD有風險,NVSL團隊提醒,凡是採用快閃記憶體的產品,包括了SSD,USB隨身碟、相機的SD記憶卡、手機、iPad、iPhone等產品,都有同樣的資料遺漏風險。
這些生活中常見的3C產品,保存了各種個人資料、私密照片、簡訊、電話等,倘若儲存的資料會有刪除不完全的問題,有心人士就有可能利用檔案回復技術來偷取資料,甚至是借用朋友的USB隨身碟暫存資料,也有可能會導致外洩問題。越來越多商用刀鋒伺服器和筆記型電腦開始採用SSD,這也意味著,企業重要的內部資料可能會因這些SSD遺失而外洩。
雖然,SSD資料刪除的威脅和解決方法的成效,各方意見仍有分歧,這也反映出SSD使用的複雜性,原本企業採用SSD的目的是為了提高讀取效率,但也不能忽略可能伴隨的資料遺漏風險。企業採購和運用SSD時,必須先了解SSD潛藏的問題,才能掌握可能風險,更縝密地評估需求,找出適合企業的運用之道。
加密才能徹底避免外洩風險
臺灣科技大學電子系助理教授 吳晉賢
臺灣科技大學電子系助理教授吳晉賢認為,廠商為了提高SSD硬碟效率和壽命,會透過FTL層來分散和延後實際資料寫入的動作,這會讓SSD中的舊資料不容易徹底抹除。
雖然不同廠牌SSD在FTL層的運作方式略有差異,廠商也會各自發展出不同的分散或抹除演算法。導致FTL就像是一個黑盒子,作業系統無法真正曉得盒子裡發生的事情,也無法運用現有硬碟軟體技術徹底有效抹除SSD的資料。
一般電子科系的大學生,很容易就能取得快閃記憶體存取資料的方法,也有能力利用便宜的8051單晶片做出直接存取快閃記憶體資料的工具,成本也不高,要取出SSD中尚未抹除的資料並不難。
不過,他認為,就算能夠取得快閃記憶體中資料,也不一定能夠完全重建出原始的檔案內容。除非像是圖檔格式的資料,儲存到SSD時會連續寫入,圖檔資料容易集中,就有機會回復,有些圖片壓縮格式即使部分損毀也能呈現畫面內容,就容易發生資料外洩的情況。或者是取得文件標頭資訊才有可能重建出可用的內容。簡而言之,就算有心人士取得SSD中的舊資料,能有效回復的機會也不大,但並非完全不可能。
吳晉賢認為,硬體破壞是一個可以採行的方法,不過傳統硬碟可用的消磁方式對SSD無效。因為快閃記憶體的運作方式不是磁性作用,所以,無法透過消磁來破壞資料。
吳晉賢倒是提出了一個可以徹底保護SSD資料的作法,他建議,最保險又方便的作法是加密,將資料加密後再放入SSD,未來只要摧毀解密金鑰,資料就算被回復也無法解讀,未來,廠商也可能直接將加密技術放入FTL層,來避免SSD資料外洩的風險。不過,資料加密會影響存取效能,或是耗用處理器運算能力。
僅部分產品能靠指令抹除
通常SSD的使用者在刪除資料時,資料並不會真的從快閃記憶體內抹除掉,而是被標記成已抹除的資料,在SSD需要釋放空間時,才會真正將資料給抹去。像支援TRIM功能的SSD,會在閒置時自動抹除資料;而不支援該功能的,則要視該SSD上的演算法而定,它會計算出何時該進行資料抹除。
如果使用者要自己進行資料抹除,則可以使用ANSI標準的ATA Secure Erase指令。而一位不願具名的金士頓(Kingston)技術支援部工程師表示,雖然SSD都擁有原生的內部指令,但是也要看各家的快閃記憶體控制器是否提供該功能,無則不能使用。
針對ATA Secure Erase指令支援度,目前市面上的SSD粗分成三種。第一種是支援該指令,當SSD接收到指令時,會將快閃記憶體上的邏輯區塊位址抹除,而這會讓區塊位置標示成已抹除的狀態,等同於回復到剛出廠的狀態。第二種則不支援指令,這是因為有些快閃記憶體控制器,並沒有支援ATA的ANSI標準指令,這類情形較會出現在早期的SSD上。而第三種則是表面支援指令,也可以執行該指令,但實際上卻無法抹除。
金士頓表示,他們自家的產品支援ANSI標準的ATA Normal Secure Erase及ATA Enhanced Secure Erase指令。使用者可透過HDDerase這套軟體,在DOS模式下抹除SSD。而這兩個指令的作用上,前者是將邏輯區塊位址抹除,來達到銷毀資料的目的;而後者的功能較為進階,它是將SSD上加密的金鑰摧毀,這會讓加密的資料幾乎無法進行解碼。
不過需注意的是,SSD上的超額配置(over-provisioning)空間,是用來暫存及加速存取資料用。而這部份的快閃記憶體,並不受Secure Erase指令影響。所以在抹除時,該區塊有可能會殘存部分資料。
可抹除SSD的小程式
HDDerase僅能在DOS模式下運行,使用者能透過它執行Secure Erase指令。這套軟體能依照安全等級,執行共4種層級的抹除指令,依照等級排列為Normal File Deletion、DoD 5220 Block Erase、Secure Erase及NIST 800-88 Enhanced Secure Erase。
軟體抹除較硬體破壞徹底
對於資料抹除,並非各家都使用硬體方式破壞。像同樣生產SSD的廠商宜鼎國際(InnoDisk),該公司的研發處協理吳錫熙表示,因為他們的客戶有更高的機密考量需求,所以要求資料絕對不能有任何一絲外流的可能性。而在資料抹除上,他認為使用硬體方式破壞時,假設快閃記憶體沒有完全故障,還是有極低的可能性,能將資料從快閃記憶體內給取出。
也因為這樣,有客戶曾要求他們以軟體的方式,將SSD徹底抹寫或破壞掉。如此一來,就算這些處理後的硬體被有心人士取走時,也會發現快閃記憶體內毫無資料。雖然用軟體抹除已經能確保資料抹除,但他們發現依舊有少部分客戶,會在軟體抹除完後,再透過硬體層面破壞SSD。
吳錫熙表示,它們軟體破壞的方法,並非透過作業系統去下達指令,因為這太耗費時間。而且有些資料抹除方式,只是將作業系統內的檔案配置表(FAT,File Allocation Table)刪除,但資料依舊保存在快閃記憶體內。但只要透過Final Data這類檔案救援軟體,就能重建檔案配置表,進而將資料從快閃記憶體中取出。
所以他們抹除資料的方式,是直接針對SSD下達抹除指令。不但能真正將資料抹除外,而省去作業系統這層傳遞指令,抹除速度也快上許多。吳錫熙說,宜鼎自家的儲存產品擁有兩種抹除指令。
一種是Destroy指令,該指令能夠將SSD資料完全抹除,並且會將快閃記憶體內原有的壞塊資訊也抹寫掉。而執行Destroy後,整顆SSD將會回到尚未開卡前的狀態,不能使用之外,也無法進行讀取;而且,Destroy一顆128GB的SSD,大約只要6秒。而另一種Quick Erase指令,一樣是將SSD資料抹寫,但只是將區塊中的資料給清除。執行完後,使SSD能夠重複使用。而Quick Erase一顆128GB的SSD,大約需55秒。
靠軟體並不能徹底抹除資料
事實上,去掉外殼的SSD是非常脆弱的。SSD廠商OCZ(飢餓鯊)亞太營運中心產品經理程威迪表示,他們比較常遇到的問題,是如何保存和讀取資料,較少在破壞這一塊。而提出銷毀需求的客戶,多半是企業而非個人,他們幾乎都是用硬體方式直接破壞SSD實體裝置,來達到資料銷毀的目的。
而這些廠商為何不認同軟體抹除的效果?程威迪說,這是因為,透過軟體抹除雖然能有效地將資料破壞到不可辨識,但還是有很低的機率,能將些許資料復原。
再加上,目前市面上資料抹除軟體,很少是針對SSD的特性去設計,所以都是使用針對一般硬碟的抹除軟體。而因為兩者架構上的差異,在抹除時通常會遺漏掉SSD的部分儲存區。程威迪表示,雖然架構不同,但還是能有效地抹除近70%的資料。
除了資料抹除不完全外,再加上抹除所需時間久,所以廠商大多選擇硬體方式破壞。程威迪說,他自己實驗過,使用HD Tune軟體Pro版的Gutmann演算法,將一顆120GB的SSD進行抹除,約要花上8個小時才能處理完畢。而且這還只有抹除掉約70%的資料,如果要做到徹底抹除,所花的時間可能需更久。
程威迪說,在硬體破壞方面,只要將SSD外殼拆掉,外力敲擊就能造成致命性的傷害。這是因為快閃記憶體非常脆弱,像針腳只要折斷一部分,就會造成傳輸訊號不穩。而且快閃記憶體是將晶圓封裝起來的產品,只要晶圓有一點損傷就等同全毀。
利用敲擊這方式去破壞並沒有特別的訣竅,因為目前大多SSD都採用平均抹寫技術(Wear-Leveling),資料會分別存放在各快閃記憶體上。所以只要破壞SSD中的一片快閃記憶體,其餘記憶體的資料則等同失效。
4種銷毀SSD資料的方法
由於SSD的硬體架構和儲存方式都與一般硬碟不同,所以不管透過軟、硬體方式抹除資料時,都會有些許差異。像SSD的硬體架構,是由多片快閃記憶體及一組控制晶片所組成;這與由碟片、磁頭組成的一般硬碟完全不同。
也因為儲存介質不同,所以在物理的儲存方式上也有所差異。像SSD是透過電流,在快閃記憶體的閘極中留下電子,來儲存資料;而一般硬碟雖然也是使用電流,目的是改變碟片上的磁性,以便將資料存放在碟片上。而這些差異,會影響破壞方式的程度,像一般硬碟運作遭到衝擊時,極有可能因為磁頭位置偏差刮傷碟片,而造成永久性破壞;而SSD則無物理性的磁頭讀寫步驟,都是以電子訊號傳輸,故撞擊對於SSD的影響較不顯著。
將SSD拆開後,可以看到其內部是由一張電路板,上面組合多片快閃記憶體和控制晶片而成。而去除掉外殼的SSD很容易受到破壞,不論在撞擊、耐溫等層面,等同毫無保護。
但SSD也並非我們想像中堅固,如果將其外殼拆開,讓內部晶片、記憶體裸露。光是這樣,就很有可能造成SSD的損壞。這是因為SSD的主要儲存元件為快閃記憶體,而快閃記憶體則是封裝過後的晶圓。它非常脆弱,光是人體靜電就有可能造成損傷。更甭提以物理方式敲擊、折斷,而以這類方式破壞快閃記憶體,幾乎不可能救回資料。
而接下來,我們將介紹軟體抹除、鐵鎚敲擊、火燒、泡水及消磁,這些對於一般硬碟有具體傷害的破壞方法。而這些方式,它對於SSD的破壞程度會有多大。
方法 1 軟體抹除法
不論一般硬碟與SSD,都能透過軟體將硬碟上的資料給抹除。而軟體抹除方式有很多種,有的是將資料徹底抹去,清空磁碟空間;而有的則是將隨機產生的亂數資料,重複且多次地寫入磁區,來將資料損毀。而這兩種方式對於銷毀資料都有一定的效果,目的都是要讓資料不可使用。
而目前要使用軟體抹除,可以使用HD Tune及HDDerase這兩套軟體實做。像HD Tune上有四種抹除方式,如零填充、隨機填充、美國國防部DOD 5220.22-M標準及德國Gutmann演算法。
像零填充能夠將快閃記憶體內的資料,全部抹寫成0。但因為硬體設計關係,有時電壓並不能夠完整將電子移除,所以並不能保證資料被抹除。不過因為邏輯區塊位址也被抹寫,所以就算實體層找到區塊內有資料,也不能將資料取出。
而HDDerase這套軟體,則可以執行ANSI標準的ATA Secure Erase指令。而大多支援抹除指令的SSD,都能夠用它進行標準及進階的資料抹除。標準的抹除指令功能有點類似零填充,它是將邏輯區塊位址抹除,而進階的抹除指令則是摧毀SSD上的加密金鑰。
一般企業使用這兩套軟體抹除,已足夠銷毀大多數資料。但這方法的缺點是,透過軟體抹除需耗去大量時間,而且在安全性上依舊有餘慮。
SDD資料經過重複抹寫後,大多幾乎不可辨識。
方法 2 鐵槌敲擊法
鐵槌敲擊法對於SSD與一般硬碟皆有極高的破壞性,而且也是IT人員損毀門檻最低的一種方式。
使用鐵鎚敲擊一般硬碟時,只要將碟片敲打至變形,幾乎就無法取得碟片上的資料。這是因為磁頭與碟片的定位點已經歪掉,要重新找回定位點並讀取資料,幾乎不可能。
而用鐵鎚敲擊SSD更簡單,由於SSD硬碟非常脆弱,只要將其外殼拆下後,就形同毫無保護。拆開外殼後的SSD硬碟,會看到只有一片IC電路板,上面有著多片快閃記憶體。只要拿鐵鎚擊碎其中一片快閃記憶體,整顆SSD就等同報廢。這是因為SSD大多有平均抹寫技術,導致資料不像一般硬碟,會將資料連續寫入在相同的區塊。所以即使損毀其中一片,剩餘的資料亦不能組合成完整檔案。
在破壞難度上,SSD較一般硬碟輕鬆。這是因為SSD範圍較小,且快閃記憶體硬度也較低,能輕鬆擊破;不像一般硬碟需要將各個碟片分別取下,並將它敲至變形才可。
而破壞SSD不一定要拿鐵鎚敲擊,只要是重物或是尖銳物體,就足夠破壞快閃記憶體,其破壞門檻不但低,且為多個銷毀方式中最有效果的一種。
SSD內的快閃記憶體遭擊碎後,資料幾乎確定無法復原。
方法 3 焚毀法
通常焚毀法分為兩種,一種是送進焚化爐,將硬碟給徹底燒毀。但一般企業並不會有這種設備,所以通常會選擇第二種,自行使用噴槍焚燒硬碟。
而一般硬碟使用焚毀法時,只要破壞表面磁粉,就能將當中的資料損毀。但麻煩的地方在於,一般硬碟有多個碟片,要確保完全毀損就需將每張碟片的表面都均勻焚毀,否則還是有機會能將資料取出。
但SSD的焚燒難度較低,因為硬體不同於一般硬碟。SSD因為面積小,且快閃記憶體的耐熱溫度為攝氏70至85度。再加上SSD是由電路板和快閃記憶體組合而成,不像一般硬碟整體金屬含量高,較難焚毀。
所以在焚燒SSD時,可能不需要用到噴槍,只要使用打火機持續燃燒一段時間,就能夠成功焚毀SSD。而快閃記憶體經過焚毀後,效果等同於敲擊法,幾乎成為不可復原的狀態,理當資料不能取出。
雖然焚毀法對於SSD的難度較一般硬碟低,也較容易銷毀。但企業在使用該方法破壞時,仍有其危險度,請慎選銷毀的場地。
SSD因為耐熱溫度低且面積小,透過打火機持續加熱快閃記憶體,即可破壞。
方法 4 消磁及泡水
以一般硬碟而言,使用消磁及泡水這兩種方式,大多都能有效地造成大範圍傷害,並損傷部份資料。不過,這兩者對於SSD,雖然不敢保證毫無傷害,但能造成資料損傷的機會極低。
磁力須達到一定強度等級,才有可能讓快閃記憶體產生電流,進而達到損毀的目的。
以消磁而言,因為快閃記憶體是靠電壓來抹除和寫入。因為快閃記憶體內的資料是電子,理論上來說,如果磁場強度夠,是可以讓快閃記憶體的金屬層產生電流進而摧毀,並導致無法讀取。不過在使用消磁機時,並無法只針對快閃記憶體抹除資料,所以對SSD進行消磁可能無效。
由於泡水並不會破壞線路,所以資料毀損率不高。
而泡水對於一般硬碟傷害非常嚴重,因為水會破壞碟片上的磁粉。但是對於SSD,泡水的方式則不太行。這是因為水並沒有破壞到線路,只要印刷電路板是好的,基本上吹乾後導電就可以使用。但如果水分沒有清除完畢就通電,還是有可能會造成短路而故障。
簡單來說,SSD就像我們日常使用的隨身碟,有時不小心送進洗衣機,拿出來吹乾後還是能使用。但它也跟大多數使用電路板的設備一樣,如果泡到海水或是具腐蝕性的液體,幾乎等同報廢。
2 意見:
2011年6月15日 晚上10:37
下一個ATA Security Erase ...瞬間=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2011年6月30日 下午4:54
ATA Security Erase 一些相關資料 http://www.ithome.com.tw/itadm/article.php?c=66722&s=5