朱云娜,徐 玲
(1.遼寧廣播電視大學(xué)信息工程學(xué)院,沈陽110161;2.中國電子科技集團公司第四十七研究所,沈陽110032)
基于Windows的數(shù)據(jù)安全刪除
朱云娜1,徐 玲2
(1.遼寧廣播電視大學(xué)信息工程學(xué)院,沈陽110161;2.中國電子科技集團公司第四十七研究所,沈陽110032)
Windows操作系統(tǒng)采用文件管理系統(tǒng)來對存儲介質(zhì)中的數(shù)據(jù)信息進行管理,F(xiàn)AT32(文件配置表)和NTFS(新技術(shù)文件系統(tǒng))是Windows操作系統(tǒng)中應(yīng)用非常廣泛的兩種文件管理系統(tǒng)。隨著信息技術(shù)的發(fā)展,通過Windows操作系統(tǒng)對數(shù)據(jù)進行刪除已經(jīng)不能滿足用戶將數(shù)據(jù)安全徹底刪除的要求。針對FAT32和NTFS對數(shù)據(jù)的管理方式和存儲結(jié)構(gòu)的特點,詳細分析了Windows系統(tǒng)下數(shù)據(jù)不能完全刪除的原因,通過檢索目錄項和檢索元文件確定數(shù)據(jù)在FAT32和NTFS文件系統(tǒng)的位置,采用0/1多次深入覆寫的方法覆蓋磁盤上的數(shù)據(jù),設(shè)計出對數(shù)據(jù)進行安全刪除的算法,同時根據(jù)該算法開發(fā)了相應(yīng)的Windows應(yīng)用程序,實現(xiàn)了基于Windows的數(shù)據(jù)安全刪除。
FAT32文件系統(tǒng);NTFS文件系統(tǒng);0/1多次深入覆寫;Windows操作系統(tǒng);數(shù)據(jù)安全;安全刪除
Windows作為美國微軟公司推出的操作系統(tǒng),從1985年問世至今,無論在個人應(yīng)用方面,還是企業(yè)應(yīng)用方面都占據(jù)著壟斷地位。數(shù)據(jù)作為計算機應(yīng)用的核心,其安全也成為了計算機安全的核心問題。對于數(shù)據(jù),用戶會產(chǎn)生如何將那些已經(jīng)使用過并不再使用的關(guān)鍵數(shù)據(jù)進行安全徹底刪除的問題,伴隨數(shù)據(jù)恢復(fù)技術(shù)的不斷進步,通過Windows操作系統(tǒng)對數(shù)據(jù)進行刪除已經(jīng)不能滿足用戶將數(shù)據(jù)安全徹底刪除的要求。由于Windows操作系統(tǒng)通過文件管理系統(tǒng)來管理存儲介質(zhì)中的數(shù)據(jù),因此,將通過對文件管理系統(tǒng)的詳細深入分析,設(shè)計出基于Windows的數(shù)據(jù)安全刪除方法。
文件管理系統(tǒng)是操作系統(tǒng)的重要組成部分,負責(zé)數(shù)據(jù)的存儲、組織和訪問;文件管理系統(tǒng)可以提高訪問效率、安全存儲和便捷操作等功能。
Windows操作系統(tǒng)通常采用的文件管理系統(tǒng)有FAT32和NTFS兩種。
FAT32是一種由微軟發(fā)明并擁有部分專利的文件系統(tǒng),供MS-DOS使用,也是所有非NT核心的微軟窗口使用的文件系統(tǒng)。FAT32擁有簡單、消耗資源少的優(yōu)點,幾乎所有電腦的操作系統(tǒng)都支持。這些特性使它成為理想的U盤和存儲卡文件系統(tǒng),也適合用做不同操作系統(tǒng)中的數(shù)據(jù)交流[1]。
NTFS是一種由微軟發(fā)明并擁有全部專利的文檔系統(tǒng),同時NTFS也被應(yīng)用為Windows NT以及之后的Windows 2000、Windows XP、Windows Server 2003、Windows Server 2008、Windows Vista和Windows 7的標準文件系統(tǒng)。NTFS具有可靠的安全性與穩(wěn)定性,進而取代了文件分配表文件系統(tǒng),成為Microsoft的Windows系列操作系統(tǒng)專門提供文件系統(tǒng)。NTFS對原有文件系統(tǒng)作了若干改進,例如,支持元數(shù)據(jù),并且使用了高級數(shù)據(jù)結(jié)構(gòu),以便于改善性能、可靠性和磁盤空間利用率,并提供了若干附加擴展功能,如訪問文件系統(tǒng)日志與控制列表;NFTS采用了B+樹的結(jié)構(gòu)來管理文件在磁盤上的位置,由于采用了B+樹結(jié)構(gòu),保證了文件目錄增大時,NTFS也不會出現(xiàn)明顯的性能下降[2]。
3.1 文件管理系統(tǒng)使用的單位
文件通常使用到的單位包括扇區(qū)(磁盤上的每個磁道被等分為若干個弧段,每一個弧段就為磁盤的一個扇區(qū))和簇(一個簇包含2的N次方個扇區(qū),具體大小由操作系統(tǒng)規(guī)定)。扇區(qū)為文件管理系統(tǒng)使用的最基本空間單位,通常情況下每扇區(qū)為512字節(jié)。簇為Windows操作系統(tǒng)對磁盤文件管理的最小空間單位,通常情況下,F(xiàn)AT32每簇包含16個扇區(qū),NTFS每簇包含8個扇區(qū)[3]。計算機中的數(shù)據(jù)存儲是通過文件的形式保存的,由于操作系統(tǒng)管理空間單位是簇,而一個簇即使沒有完全使用,其他文件也不能使用,這就導(dǎo)致了文件占用空間通常會比文件的實際大小要多,造成空間浪費。
3.2 FAT32文件管理系統(tǒng)
FAT32文件系統(tǒng)以分區(qū)為單位對數(shù)據(jù)進行管理,文件管理系統(tǒng)從分區(qū)的第1個扇區(qū)(邏輯0扇區(qū))即引導(dǎo)扇區(qū)提取系統(tǒng)所需的數(shù)據(jù),F(xiàn)AT32文件系統(tǒng)的引導(dǎo)扇區(qū)包含跳轉(zhuǎn)指令、OEM代號、BPB表、引導(dǎo)程序、結(jié)束標志[4]。
根據(jù)BPB表中的數(shù)據(jù)信息可以得到當前分區(qū)數(shù)據(jù)區(qū)的起始扇區(qū),當前分區(qū)的根目錄如圖1所示。
圖1 分區(qū)根目錄
根目錄所對應(yīng)的信息如圖2所示,從中可以看出,每個文件(文件夾)都會對應(yīng)一個目錄項,而目錄項會根據(jù)名稱的長度占用不同的大小,當文件(文件夾)的名稱很短時,目錄項只占用32字節(jié),當文件或文件夾的名稱較長時,目錄項會占用32的整數(shù)倍字節(jié)。
圖2 FAT32根目錄信息
3.3 NTFS文件管理系統(tǒng)
NTFS文件系統(tǒng)同樣以分區(qū)為單位對數(shù)據(jù)進行管理,NTFS從分區(qū)的第1個扇區(qū)(邏輯0扇區(qū))即引導(dǎo)扇區(qū)提取系統(tǒng)所需的數(shù)據(jù),NTFS文件系統(tǒng)的引導(dǎo)扇區(qū)包含跳轉(zhuǎn)指令、OEM代號、BPB表、引導(dǎo)程序、結(jié)束標志[5]。當分區(qū)被格式化為NTFS文件系統(tǒng)后,NTFS文件系統(tǒng)會生成很多保存重要信息的文件,這些文件被稱為NTFS文件系統(tǒng)的元文件,元文件名稱的第一個字符為“$”,用戶是無法通過操作系統(tǒng)訪問和修改的,對用戶是隱藏的[6]。
NTFS文件系統(tǒng)以文件的形式來管理數(shù)據(jù),每一個文件都對應(yīng)一條文件記錄,NTFS文件系統(tǒng)擁有16個元文件,而且元文件保存的位置和順序是固定的[7]。$MFT:$MFT自身管理;$MFTMirr:$MFT前四條文件記錄的鏡像;$LogFile:日志文件,保證系統(tǒng)失敗時能夠恢復(fù)NTFS卷;$Volume:卷文件,包含NTFS版本信息和磁盤損壞標志位;$Attrdef:屬性定義表,保存文件是否可以被索引和恢復(fù)等信息;$ROOT:根目錄,保存分區(qū)內(nèi)所有文件和目錄的索引;$Bitmap:位圖文件,每一bit表示分區(qū)中的一個簇;$Boot:引導(dǎo)文件,保存操作系統(tǒng)的引導(dǎo)程序代碼;$BadClus:壞簇文件,記錄損壞簇信息,防止使用損壞的簇;$Secure:安全文件,保存整個分區(qū)的安全描述符數(shù)據(jù)庫;$UpCase:大寫文件,保存一個大小寫字符轉(zhuǎn)換表;$Extended meadata directory:擴展元數(shù)據(jù)目錄;$Extend\$Reparse:重解析點文件;$Extend\$UsnJrnl:變更日志文件;$Extend\Quota:配額管理文件;$Extend\$ObjId:對象ID文件。
無論是NTFS文件系統(tǒng)建立的元文件,還是用戶創(chuàng)建的文件,每個文件都會對應(yīng)一條文件記錄,而每一條文件記錄的大小是固定的,占用2個扇區(qū)(1KB);文件記錄由文件記錄頭與屬性列表組成,文件記錄頭的長度與各種信息的偏移量是固定的,而屬性列表是可變的;而且屬性有常駐與非常駐之分[8]。
10H屬性:文件的基本屬性,文件的創(chuàng)建、修改時間,硬鏈接數(shù)等信息;20H屬性:用來描述文件的屬性列表;30H屬性:用來描述文件的名稱等信息;40H屬性:用來保存文件記錄的全局ID信息;50H屬性:用來保存SID信息和組SID信息;60H屬性:保存文件記錄所在卷的名稱;70H屬性:保存文件記錄所在卷的版本和狀態(tài)信息;80H屬性:保存文件的數(shù)據(jù)內(nèi)容,文件數(shù)據(jù)較多時會采用非常駐;90H屬性:保存索引信息A0H屬性:保存索引信息,文件比較多的情況下使用,通常為非常駐;B0H屬性:保存虛擬簇的使用情況表;C0H屬性:保存重解析點信息;D0H屬性:擴展情況描述屬性;E0H屬性:擴展屬性;100H屬性:EFS加密屬性。
4.1 算法思想
FAT32文件管理系統(tǒng)通過檢索目錄項信息可以獲取文件的目錄項位置與文件數(shù)據(jù)的起始扇區(qū)與數(shù)據(jù)占用簇數(shù);NTFS文件管理系統(tǒng)通過檢索$ROOT元文件,通過文件記錄中的索引信息逐級遞歸便可以獲取分區(qū)內(nèi)文件的文件記錄位置與文件數(shù)據(jù)的起始扇區(qū)與數(shù)據(jù)占用簇數(shù)[9]。通過向指定扇區(qū)多次0/1覆寫,可刪除文件數(shù)據(jù),安全徹底刪除文件信息。本算法執(zhí)行的邏輯流程圖如圖3所示。
3.2 算法實現(xiàn)核心代碼
通過Windows提供的API接口GetLogicalDrive Strings()與GetDriveType(),獲取計算機中的硬盤與移動硬盤信息。以下代碼以NTFS文件系統(tǒng)為例。
圖3 算法流程圖
充分研究了在Windows操作系統(tǒng)下計算機上硬盤中的數(shù)據(jù)不能被徹底刪除的原因,在此基礎(chǔ)上詳細分析了Windows操作系統(tǒng)中常用的文件管理系統(tǒng)FAT32和NTFS的文件存儲方式與文件組織結(jié)構(gòu),并采用了0/1覆寫的方式安全覆蓋了數(shù)據(jù)內(nèi)容,同時根據(jù)該算法開發(fā)了相應(yīng)的Windows應(yīng)用程序,極大地彌補了Windows操作系統(tǒng)自帶刪除功能的不足,充分保證了數(shù)據(jù)可以被安全刪除。
[1] 羅流毅.FAT32文件系統(tǒng)總結(jié)[J/OL].http://wenku.baidu.com/view/fd51f7bbfd0a79563c1e7297.html.Luo LiuYi.FAT32 file system summary[J/OL].http://wenku.baidu.com/view/fd51f7bbfd0a79563c1e7297.html.
[2] 張明旺.基于NTFS文件系統(tǒng)的數(shù)據(jù)恢復(fù)技術(shù)[J].福建電腦,2012(5):81-82.Zhang Mingwang.Data recovery technology based on NTFS file system[J].Fujian computer,2012(5):81-82.
[3] 戴士劍,涂彥輝.數(shù)據(jù)恢復(fù)技術(shù)[M].北京:電子工業(yè)出版社,2005.Dai Shijian,Tu Yanhui.data recovery technology[M].Beijing:Electronic Industry Press,2005.
[4] 唐迪,魏英.存儲介質(zhì)數(shù)據(jù)銷毀技術(shù)研究[J].技術(shù)探討,2012(1):8-10.TangDi,WeiYing.Research on the Technology of Storage Medium Data Destruction[J].Technology and Study,2012(1):8-10.
[5] 黃隴,李虎.Windows核心編程[M].北京:機械工業(yè)出版社,2008.HuangLong,LiHu.Windows core programming[M].Beijing:Machinery Industry Press,2008.
[6] 白楊,陳啟祥.NTFS下涉密數(shù)據(jù)軟清除方法的研究與實現(xiàn)[J].軟件導(dǎo)刊,2010(4):159-161.BaiYang,Chen Qixiang.Research and implementation of the removal of classified data under NTFS[J].Software Guide,2010(4):159-161.
[7] 周潤妮.計算機硬盤軟故障數(shù)據(jù)恢復(fù)技術(shù)淺探[J].西昌學(xué)院學(xué)報(自然科學(xué)版),2012(2):78-81.Zhou Runni.Exploration on Data Recovery of Soft Faults of Computer Hard Disk[J].Journal of Xichang College(NATURAL SCIENCE EDITION),2012(2):78-81.
[8] 聶元銘,曾志,黃燕宏.計算機數(shù)據(jù)修復(fù)與維護[M].北京:科學(xué)出版社,2006.Nie Yuanming,ZengZhi,Huang Yanhong.Computer data repair and maintenance[M].Beijing:Science Press,2006.
[9] 李培.硬盤數(shù)據(jù)恢復(fù)技術(shù)的研究實現(xiàn)[J].制造業(yè)自動化,2010(12):194-196.LiPei.Research and practice of hard disk data recovery technology[J].Manufacturing automation,2010(12):194-196.
Data Security Deleted Based on Windows Operating System
Zhu Yunna1,Xu Ling2
(1.Information Engineering Institute,LiaoNing Broadcast and TV University,Shenyang 110161,China;2.The 47th Research Institute of China Electronics Technology Group Corporation,Shenyang 110032,China)
The Windows operating system uses the file management system to manage the data information in the storage medium.The file management system both FAT32(file allocation table 32)and NTFS(new technology file system)are applied widely in Windows operating system.With the development of information technology,the data deletion by Windows operating system cannot meet the user's requirements of complete and security deletion for the data.According to the characteristics of FAT32 and NTFS Data Management and storage structure,the reason that the windows system data cannot be completely removed is analyzed.By searching the directory and file meta to determine the location of the data in the FAT32 and NTFS file systems,using 0/1 multiple depth override methods to cover disk data,the algorithm for data securty deletion is designed and corresponding windows application program is developed to realize security deletion based on windows data.
File allocation table 32;New technology file system;Total 0 and total 1 multiple Depth Overrides;Windows operating system;Data security;Security deletion
10.3969/j.issn.1002-2279.2015.04.015
TP309.3
A
1002-2279(2015)04-0057-04
朱云娜(1980-),女,山東省肥縣人,碩士研究生,研究方向:計算機應(yīng)用。
2015-04-02