崔彥杰
摘 要 隨著信息技術(shù)的發(fā)展和人們對計算機文件存儲的依賴,文件泄漏和非法恢復(fù)的事件頻頻發(fā)生,如何有效地保障數(shù)據(jù)安全一直是計算機安全領(lǐng)域的重要課題。本文簡要介紹了計算機數(shù)據(jù)銷毀的常用方法,并基于Windows系統(tǒng)的數(shù)據(jù)存儲原理和結(jié)構(gòu),設(shè)計和實現(xiàn)了一個文件擦除程序。經(jīng)測試,該程序可以有效地防止已刪除數(shù)據(jù)的非法恢復(fù)。
關(guān)鍵詞 信息安全 數(shù)據(jù)銷毀 數(shù)據(jù)覆寫 C#
中圖分類號:TP319.3 文獻(xiàn)標(biāo)識碼: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 引言
隨著信息技術(shù)和辦公自動化水平的不斷發(fā)展,無論是政府部門、企事業(yè)單位還是普通個人的信息存儲都由以往的紙質(zhì)文件逐漸替換為以計算機硬盤、U盤為主要存儲介質(zhì)的電子文件,而隨著社會上因計算機文件泄漏而導(dǎo)致的各類安全事件和丑聞的頻頻發(fā)生,以及數(shù)據(jù)恢復(fù)軟件被越來越多普通大眾所認(rèn)識和應(yīng)用,人們對計算機信息安全的關(guān)注也達(dá)到了前所未有的程度,計算機數(shù)據(jù)安全這一之前少數(shù)人關(guān)注的領(lǐng)域,也逐漸走進(jìn)了大眾視野。因此如何有效地刪除計算機中的敏感數(shù)據(jù),如涉密文件、電腦送修時的個人隱私文件等,成為信息安全領(lǐng)域的重要課題。
本文首先介紹計算機數(shù)據(jù)銷毀的基本方法,然后利用C#語言設(shè)計并實現(xiàn)一個基于Windows操作系統(tǒng)的文件擦除程序,并進(jìn)行了驗證和測試。
1 數(shù)據(jù)銷毀方法
計算機數(shù)據(jù)銷毀的方法分為兩類,一類是物理銷毀法,一類是軟件銷毀法。
1.1 物理銷毀法
物理銷毀法主要是通過外力等物理手段損壞數(shù)據(jù)的存儲介質(zhì),從而達(dá)到銷毀數(shù)據(jù)的目的,主要方法有:
(1)消磁法。消磁法只對磁性數(shù)據(jù)存儲介質(zhì)有效,如磁盤、磁帶等,這種方法利用強磁場破壞磁性存儲介質(zhì)的磁性結(jié)構(gòu),從而銷毀介質(zhì)中原有的數(shù)據(jù)。但是由于磁性結(jié)構(gòu)的破壞,這些磁性存儲介質(zhì)也會失去數(shù)據(jù)存儲能力。
(2)搗碎法。搗碎法(或剪碎法)顧名思義,就是利用設(shè)備或工具,將存儲介質(zhì)搗碎或剪碎成細(xì)小的顆粒,從而達(dá)到銷毀數(shù)據(jù)的目的,這種方法現(xiàn)在依然被用來處理光盤。
(3)焚毀法。焚毀法利用高溫使存儲介質(zhì)化為灰燼,數(shù)據(jù)當(dāng)然也就不復(fù)存在了。
通過以上物理銷毀法的介紹可以看出,其原理都是通過破壞存儲介質(zhì)的物理結(jié)構(gòu)從而對數(shù)據(jù)進(jìn)行銷毀,這些方法的特點是:數(shù)據(jù)銷毀徹底、數(shù)據(jù)銷毀速度快。
但是由于數(shù)據(jù)銷毀的同時,也要損失相應(yīng)的存儲設(shè)備,因此物理銷毀法比較適用于對文件保密要求較高的軍工、政府部門或商業(yè)機構(gòu),并不適用于普通大眾,畢竟大多數(shù)人不會因為一個隱私文件就去銷毀一塊幾百塊乃至上千塊的硬盤。因此本文主要使用第二類數(shù)據(jù)銷毀的方法——軟件銷毀法。
1.2 軟件銷毀法
軟件銷毀法利用計算機軟件對數(shù)據(jù)進(jìn)行覆蓋寫入操作從而銷毀原數(shù)據(jù),因此也可以稱為數(shù)據(jù)覆寫法或數(shù)據(jù)擦除法。
軟件銷毀法的工作原理基于Windows系統(tǒng)的數(shù)據(jù)存儲結(jié)構(gòu)。在Windows操作系統(tǒng)中,無論磁盤的文件系統(tǒng)采用的是FAT還是NTFS格式,其文件存儲時都是將文件分為兩個部分:文件目錄索引和文件數(shù)據(jù)實體。當(dāng)我們刪除一個文件時,系統(tǒng)在目錄索引部分將文件標(biāo)記為已刪除,并將該文件所占用的簇標(biāo)記為可用,此時被刪除的文件數(shù)據(jù)實體依然完好地存放在磁盤上,利用常見的數(shù)據(jù)恢復(fù)軟件可以輕松地將刪除的文件恢復(fù)出來。因此軟件銷毀法的工作就是對文件的數(shù)據(jù)實體部分進(jìn)行數(shù)據(jù)覆蓋,從而避免文件被非法恢復(fù)。
軟件銷毀法的主要優(yōu)點是不損壞存儲設(shè)備,操作簡單方便,適用范圍廣。缺點是銷毀處理速度慢,覆寫次數(shù)少時,數(shù)據(jù)銷毀不徹底,銷毀的數(shù)據(jù)依然有可能會被還原。
造成軟件消除法安全隱患的原因是在磁盤上寫入數(shù)據(jù)時,讀寫磁頭使用的信號有強弱之分,在寫入一位數(shù)據(jù)時,為了不影響相鄰位的數(shù)據(jù),寫入的信號并不強,不足以完全覆蓋原有的數(shù)據(jù)。另外磁盤讀寫磁頭進(jìn)行寫入操作時,寫入數(shù)據(jù)的位置并不十分精確,在磁道的邊緣可以檢測到原有的數(shù)據(jù),這些殘留的數(shù)據(jù)利用專業(yè)的設(shè)備可以檢測出來,從而得到原文件的副本。
然而隨著磁盤中文件數(shù)據(jù)覆蓋次數(shù)的增加,以上通過這些殘留信號來還原文件的可能性也逐漸降低,美國國防部的《DoD 5220.22M標(biāo)準(zhǔn)》中,對通過數(shù)據(jù)覆寫來銷毀文件信息時,要求的數(shù)據(jù)覆寫次數(shù)為7次以上。該標(biāo)準(zhǔn)僅適用于磁盤,對于U盤上的數(shù)據(jù)來說,其通過存儲芯片中的電位高低來表示二進(jìn)制數(shù)0和1,電位發(fā)生變化后,不會有任何信號殘留,因此原理上U盤中的數(shù)據(jù)只需進(jìn)行一遍覆寫操作即可對數(shù)據(jù)進(jìn)行徹底銷毀。
2 文件擦除程序的設(shè)計
2.1 程序設(shè)計思路
通過以上的介紹,我們已經(jīng)知道了軟件銷毀法的基本原理和銷毀效果,在此基礎(chǔ)上本文設(shè)計了一個程序,利用二進(jìn)制數(shù)據(jù)0和1來對文件的數(shù)據(jù)部分進(jìn)行覆寫,從而擦除掉文件原有的數(shù)據(jù)。程序開發(fā)時使用C#語言,開發(fā)環(huán)境為Microsoft Visual Studio 2010。
2.2 程序工作方式
本文編譯好的程序在安裝時會向注冊表中寫入一些信息,用于在文件和文件夾右鍵菜單中添加相應(yīng)的軟件啟動選項,用戶通過點擊文件或文件夾右鍵菜單中的相應(yīng)選項啟動軟件,同時將文件或文件夾路徑作為參數(shù)傳入軟件中,如果需要擦除的是文件,則軟件直接對該文件進(jìn)行擦除,如果需要擦除的是文件夾,則循環(huán)擦除文件夾中所有文件(包括子目錄中的文件)后,刪除該文件夾。
程序提供的擦除選項有兩種:快速擦除和安全擦除??焖俨脸褂玫氖请S機的二進(jìn)制數(shù)0或1對文件數(shù)據(jù)進(jìn)行一次覆寫,安全擦除則對文件數(shù)據(jù)進(jìn)行三次覆寫:第一次使用二進(jìn)制數(shù)0覆寫,第二次使用二進(jìn)制數(shù)1覆寫,第三次使用隨機的二進(jìn)制數(shù)0或1覆寫。由于文件擦寫的次數(shù)越多,耗時越長,而且本文設(shè)計的軟件主要面向普通的計算機使用者,他們所面臨的安全隱患主要是數(shù)據(jù)恢復(fù)軟件的非法恢復(fù),因此軟件僅設(shè)計了以上兩種擦寫選項,而且后續(xù)的測試表明,用戶對文件進(jìn)行一次快速擦除后,目前常用的數(shù)據(jù)恢復(fù)軟件就無法對文件進(jìn)行恢復(fù)了。軟件對文件的覆寫效果如圖1所示,圖中分別展示了某個文件在處理前和分別用二進(jìn)制0、1、隨機值覆寫后的十六進(jìn)制數(shù)據(jù)。
該程序在擦除文件時的主要工作流程如下:首先程序獲取需要擦除的文件長度,計算文件所占用的扇區(qū)數(shù)量(每個扇區(qū)512字節(jié)),未滿1扇區(qū)的,按1扇區(qū)計算,以免數(shù)據(jù)擦除不徹底。然后以扇區(qū)為單位,按照用戶選擇的擦除方法,對文件數(shù)據(jù)進(jìn)行覆寫。最后將文件數(shù)據(jù)長度置0,并從文件目錄索引中刪除該文件。
3 程序測試與效果
程序測試環(huán)境:Windows XP,Windows 7,Windows 8,Windows 10。對文件進(jìn)行和文件夾擦除操作的主要運行截圖如圖2所示。
在使用本文實現(xiàn)的文件擦除程序擦除文件和文件夾后,作者使用了4款目前常用的數(shù)據(jù)恢復(fù)軟件對磁盤進(jìn)行了文件恢復(fù)操作,用到的軟件有:Final Data企業(yè)版3.0,Easy Recovery 11.1, Disk Genius 4.8和7-Data Recovery Suit 3.7。經(jīng)測試,在對文件進(jìn)行快速擦除(一次隨機值覆寫)后,以上軟件均已無法對文件進(jìn)行有效恢復(fù)。
4 結(jié)語
數(shù)據(jù)銷毀無論在國防軍事、政府部門、商業(yè)領(lǐng)域還是個人信息安全領(lǐng)域都有著廣泛的應(yīng)用。通過本文開發(fā)的文件擦除程序?qū)τ嬎銠C文件進(jìn)行擦除操作,能夠非常有效地阻止用戶的個人信息、隱私以及工作機密文件的泄漏,從而進(jìn)一步提高計算機信息安全,減少財產(chǎn)損失。
參考文獻(xiàn)
[1] 盧偉.涉密數(shù)據(jù)銷毀現(xiàn)狀分析及解決方法[J].黑龍江科學(xué),2015(4).
[2] 王小科,李繼業(yè)等.C#開發(fā)寶典[M].北京:電子工業(yè)出版社,2012.5.
[3] 陳尚義.磁盤數(shù)據(jù)泄密威脅分析和銷毀方法[J].信息安全與通信保密,2010(9).
[4] 唐迪,魏英.存儲介質(zhì)數(shù)據(jù)銷毀技術(shù)研究[J].信息安全與技術(shù),2012(1).
[5] 張鵬,秦飛舟.數(shù)據(jù)銷毀技術(shù)綜述[J].電腦知識與技術(shù),2015(28).