崔彥杰
摘 要 隨著信息技術的發展和人們對計算機文件存儲的依賴,文件泄漏和非法恢復的事件頻頻發生,如何有效地保障數據安全一直是計算機安全領域的重要課題。本文簡要介紹了計算機數據銷毀的常用方法,并基于Windows系統的數據存儲原理和結構,設計和實現了一個文件擦除程序。經測試,該程序可以有效地防止已刪除數據的非法恢復。
關鍵詞 信息安全 數據銷毀 數據覆寫 C#
中圖分類號:TP319.3 文獻標識碼:A DOI:10.16400/j.cnki.kjdkz.2016.09.075
Research and Design of Computer Classified Data Destruction
CUI Yanjie
(School of Foreign Language, Changshu Institute of Technology, Changshu, Jiangsu 215500)
Abstract With the development of information technology, more and more people rely on computers for file storage. In this situation, files leakage and illegal data recovery events occurred frequently, thus, how to effectively protect the data security has been an important issue in the field of computer security. This paper gives a brief introduction of the common methods of computer data destruction, designs and develops a file-erasing program based on the principle and structure of the data storage in Windows systems. Test results demonstrate this program can effectively prevent the illegal recovery of deleted data.
Key words information security; data destruction; data overwrite; C#
0 引言
隨著信息技術和辦公自動化水平的不斷發展,無論是政府部門、企事業單位還是普通個人的信息存儲都由以往的紙質文件逐漸替換為以計算機硬盤、U盤為主要存儲介質的電子文件,而隨著社會上因計算機文件泄漏而導致的各類安全事件和丑聞的頻頻發生,以及數據恢復軟件被越來越多普通大眾所認識和應用,人們對計算機信息安全的關注也達到了前所未有的程度,計算機數據安全這一之前少數人關注的領域,也逐漸走進了大眾視野。因此如何有效地刪除計算機中的敏感數據,如涉密文件、電腦送修時的個人隱私文件等,成為信息安全領域的重要課題。
本文首先介紹計算機數據銷毀的基本方法,然后利用C#語言設計并實現一個基于Windows操作系統的文件擦除程序,并進行了驗證和測試。
1 數據銷毀方法
計算機數據銷毀的方法分為兩類,一類是物理銷毀法,一類是軟件銷毀法。
1.1 物理銷毀法
物理銷毀法主要是通過外力等物理手段損壞數據的存儲介質,從而達到銷毀數據的目的,主要方法有:
(1)消磁法。消磁法只對磁性數據存儲介質有效,如磁盤、磁帶等,這種方法利用強磁場破壞磁性存儲介質的磁性結構,從而銷毀介質中原有的數據。但是由于磁性結構的破壞,這些磁性存儲介質也會失去數據存儲能力。
(2)搗碎法。搗碎法(或剪碎法)顧名思義,就是利用設備或工具,將存儲介質搗碎或剪碎成細小的顆粒,從而達到銷毀數據的目的,這種方法現在依然被用來處理光盤。
(3)焚毀法。焚毀法利用高溫使存儲介質化為灰燼,數據當然也就不復存在了。
通過以上物理銷毀法的介紹可以看出,其原理都是通過破壞存儲介質的物理結構從而對數據進行銷毀,這些方法的特點是:數據銷毀徹底、數據銷毀速度快。
但是由于數據銷毀的同時,也要損失相應的存儲設備,因此物理銷毀法比較適用于對文件保密要求較高的軍工、政府部門或商業機構,并不適用于普通大眾,畢竟大多數人不會因為一個隱私文件就去銷毀一塊幾百塊乃至上千塊的硬盤。因此本文主要使用第二類數據銷毀的方法——軟件銷毀法。
1.2 軟件銷毀法
軟件銷毀法利用計算機軟件對數據進行覆蓋寫入操作從而銷毀原數據,因此也可以稱為數據覆寫法或數據擦除法。
軟件銷毀法的工作原理基于Windows系統的數據存儲結構。在Windows操作系統中,無論磁盤的文件系統采用的是FAT還是NTFS格式,其文件存儲時都是將文件分為兩個部分:文件目錄索引和文件數據實體。當我們刪除一個文件時,系統在目錄索引部分將文件標記為已刪除,并將該文件所占用的簇標記為可用,此時被刪除的文件數據實體依然完好地存放在磁盤上,利用常見的數據恢復軟件可以輕松地將刪除的文件恢復出來。因此軟件銷毀法的工作就是對文件的數據實體部分進行數據覆蓋,從而避免文件被非法恢復。
軟件銷毀法的主要優點是不損壞存儲設備,操作簡單方便,適用范圍廣。缺點是銷毀處理速度慢,覆寫次數少時,數據銷毀不徹底,銷毀的數據依然有可能會被還原。
造成軟件消除法安全隱患的原因是在磁盤上寫入數據時,讀寫磁頭使用的信號有強弱之分,在寫入一位數據時,為了不影響相鄰位的數據,寫入的信號并不強,不足以完全覆蓋原有的數據。另外磁盤讀寫磁頭進行寫入操作時,寫入數據的位置并不十分精確,在磁道的邊緣可以檢測到原有的數據,這些殘留的數據利用專業的設備可以檢測出來,從而得到原文件的副本。
然而隨著磁盤中文件數據覆蓋次數的增加,以上通過這些殘留信號來還原文件的可能性也逐漸降低,美國國防部的《DoD 5220.22M標準》中,對通過數據覆寫來銷毀文件信息時,要求的數據覆寫次數為7次以上。該標準僅適用于磁盤,對于U盤上的數據來說,其通過存儲芯片中的電位高低來表示二進制數0和1,電位發生變化后,不會有任何信號殘留,因此原理上U盤中的數據只需進行一遍覆寫操作即可對數據進行徹底銷毀。
2 文件擦除程序的設計
2.1 程序設計思路
通過以上的介紹,我們已經知道了軟件銷毀法的基本原理和銷毀效果,在此基礎上本文設計了一個程序,利用二進制數據0和1來對文件的數據部分進行覆寫,從而擦除掉文件原有的數據。程序開發時使用C#語言,開發環境為Microsoft Visual Studio 2010。
2.2 程序工作方式
本文編譯好的程序在安裝時會向注冊表中寫入一些信息,用于在文件和文件夾右鍵菜單中添加相應的軟件啟動選項,用戶通過點擊文件或文件夾右鍵菜單中的相應選項啟動軟件,同時將文件或文件夾路徑作為參數傳入軟件中,如果需要擦除的是文件,則軟件直接對該文件進行擦除,如果需要擦除的是文件夾,則循環擦除文件夾中所有文件(包括子目錄中的文件)后,刪除該文件夾。
程序提供的擦除選項有兩種:快速擦除和安全擦除。快速擦除使用的是隨機的二進制數0或1對文件數據進行一次覆寫,安全擦除則對文件數據進行三次覆寫:第一次使用二進制數0覆寫,第二次使用二進制數1覆寫,第三次使用隨機的二進制數0或1覆寫。由于文件擦寫的次數越多,耗時越長,而且本文設計的軟件主要面向普通的計算機使用者,他們所面臨的安全隱患主要是數據恢復軟件的非法恢復,因此軟件僅設計了以上兩種擦寫選項,而且后續的測試表明,用戶對文件進行一次快速擦除后,目前常用的數據恢復軟件就無法對文件進行恢復了。軟件對文件的覆寫效果如圖1所示,圖中分別展示了某個文件在處理前和分別用二進制0、1、隨機值覆寫后的十六進制數據。
該程序在擦除文件時的主要工作流程如下:首先程序獲取需要擦除的文件長度,計算文件所占用的扇區數量(每個扇區512字節),未滿1扇區的,按1扇區計算,以免數據擦除不徹底。然后以扇區為單位,按照用戶選擇的擦除方法,對文件數據進行覆寫。最后將文件數據長度置0,并從文件目錄索引中刪除該文件。
3 程序測試與效果
程序測試環境:Windows XP,Windows 7,Windows 8,Windows 10。對文件進行和文件夾擦除操作的主要運行截圖如圖2所示。
在使用本文實現的文件擦除程序擦除文件和文件夾后,作者使用了4款目前常用的數據恢復軟件對磁盤進行了文件恢復操作,用到的軟件有:Final Data企業版3.0,Easy Recovery 11.1, Disk Genius 4.8和7-Data Recovery Suit 3.7。經測試,在對文件進行快速擦除(一次隨機值覆寫)后,以上軟件均已無法對文件進行有效恢復。
4 結語
數據銷毀無論在國防軍事、政府部門、商業領域還是個人信息安全領域都有著廣泛的應用。通過本文開發的文件擦除程序對計算機文件進行擦除操作,能夠非常有效地阻止用戶的個人信息、隱私以及工作機密文件的泄漏,從而進一步提高計算機信息安全,減少財產損失。
參考文獻
[1] 盧偉.涉密數據銷毀現狀分析及解決方法[J].黑龍江科學,2015(4).
[2] 王小科,李繼業等.C#開發寶典[M].北京:電子工業出版社,2012.5.
[3] 陳尚義.磁盤數據泄密威脅分析和銷毀方法[J].信息安全與通信保密,2010(9).
[4] 唐迪,魏英.存儲介質數據銷毀技術研究[J].信息安全與技術,2012(1).
[5] 張鵬,秦飛舟.數據銷毀技術綜述[J].電腦知識與技術,2015(28).