李首慶 李光耀
摘 要:本文闡述一種電子設(shè)計(jì)師平臺(tái)條件下研制的仿真航空導(dǎo)航Garmin G1000數(shù)據(jù)底層隱藏技術(shù)軟件,通過軟件混淆方法、Logestic映射和單分量預(yù)測誤差擴(kuò)展等技術(shù)實(shí)現(xiàn)移動(dòng)代碼和圖像的隱藏,本文重點(diǎn)介紹隱藏技術(shù)的優(yōu)越性、可視化操作。
關(guān)鍵詞:數(shù)據(jù)隱藏;G1000;仿真
1 引言
本文研究的數(shù)據(jù)隱藏技術(shù)是在該中心實(shí)驗(yàn)條件下仿真的Garmin G1000系統(tǒng)數(shù)據(jù)底層隱藏功能。Garmin G1000系統(tǒng)是由美國Garmin公司研制的新一代中央集成式電子系統(tǒng),鑒于國外的新技術(shù)保護(hù),該系統(tǒng)所有設(shè)備均需返廠維修,這對(duì)于保障飛行安全,保證飛機(jī)維修時(shí)效性和控制飛機(jī)維修成本很不利。本文研究的數(shù)據(jù)隱藏技術(shù)通過軟件混淆方法、潛入原理等實(shí)現(xiàn)移動(dòng)代碼和圖像的隱藏,與Garmin G1000系統(tǒng)數(shù)據(jù)隱藏功能相似。
2 數(shù)據(jù)隱藏技術(shù)的優(yōu)越性
本文研究的數(shù)據(jù)隱藏技術(shù)具有普適性、合法性、隱蔽性、高效性和可恢復(fù)性。具體表現(xiàn)在數(shù)據(jù)隱藏技術(shù)在NTFS文件系統(tǒng)下都能通用,不影響文件系統(tǒng)的正常功能和性能,能保證所隱藏的數(shù)據(jù)不被覆蓋。
3 數(shù)據(jù)隱藏技術(shù)的理論基礎(chǔ)和可視化操作
3.1 數(shù)據(jù)隱藏技術(shù)的理論基礎(chǔ)
Garmin G1000系統(tǒng)的移動(dòng)代碼可用中間的代碼形式發(fā)布。故數(shù)據(jù)隱藏技術(shù)采用了軟件混淆的方法進(jìn)行保護(hù)。軟件混淆能通過混淆編譯器對(duì)編譯好的 class文件進(jìn)行混淆,實(shí)現(xiàn)編譯和混淆兩個(gè)步驟。
3.2 數(shù)據(jù)隱藏技術(shù)的可視化操作
文采用病毒檢驗(yàn)法描述數(shù)據(jù)底層隱藏技術(shù)的一個(gè)典型可視化操作。在實(shí)驗(yàn)分區(qū)X根目錄下建立一個(gè)文件夾M,命名為Hide,在其中放入一個(gè)病毒文件Virus.exe,用NOD32 Antivirus檢測可發(fā)現(xiàn)該病毒。
3.2.1 數(shù)據(jù)隱藏技術(shù)的可視化操作第一階段具體步驟
讀取X分區(qū)引導(dǎo)扇區(qū)數(shù)據(jù),獲取每簇扇區(qū)數(shù)和0號(hào)文件$MFT文件記錄起始簇,從而計(jì)算出5號(hào)文件$Root根目錄文件記錄項(xiàng)分區(qū)內(nèi)偏移和11號(hào)$Extend文件記錄項(xiàng)分區(qū)內(nèi)偏移,讀取11號(hào)MFT文件記錄,獲取該記錄內(nèi)偏移0x10-0x11處的序列號(hào)A,并保存。由獲取的5號(hào)$Root根目錄文件記錄分區(qū)內(nèi)偏移,獲取5號(hào)文件記錄,得到該記錄的$INDEX_ALLOCATION屬性運(yùn)行,計(jì)算出根目錄各個(gè)索引分配緩沖區(qū)的偏移和大小。遍歷根目錄各個(gè)索引緩沖區(qū),得到M文件夾Hide的索引項(xiàng)記錄,從該索引緩沖區(qū)頭部得到更新序列數(shù)組和更新序列號(hào),將更新序列數(shù)組的中的每一項(xiàng)依次寫入該索引緩沖區(qū)中每個(gè)扇區(qū)末尾處。保存M文件夾索引項(xiàng)記錄,并從該記錄中獲取M文件夾MFT文件記錄號(hào),前挪該緩沖區(qū)中M文件夾記錄后的所有索引記錄并覆蓋M文件夾索引記錄,達(dá)到刪除M文件夾索引項(xiàng)記錄的目的,更新本索引緩沖區(qū)更新序列數(shù)組和每扇區(qū)結(jié)尾處數(shù)據(jù)。
第一階段相關(guān)分區(qū)實(shí)驗(yàn)仿真數(shù)據(jù)如圖1所示。
3.2.2 數(shù)據(jù)隱藏技術(shù)的可視化操作第二階段具體步驟
獲取0號(hào)MFT文件記錄,從該記錄的$DATA數(shù)據(jù)屬性(0x80)運(yùn)行中計(jì)算出分區(qū)內(nèi)所有MFT文件記錄的分布情況。根據(jù)第一階段中保存的索引項(xiàng)記錄中的M文件夾MFT文件記錄號(hào)和分區(qū)內(nèi)MFT文件記錄分布情況,獲取M文件夾的MFT文件記錄,將更新序列數(shù)組中的每一個(gè)值依次寫入M文件夾MFT文件記錄每個(gè)扇區(qū)末尾。將M文件夾MFT文件記錄$FILE_NAME屬性的父目錄文件記錄號(hào)修改為0xB0,并將序列號(hào)修改為序列號(hào)A,遍歷M文件夾MFT文件記錄各個(gè)扇區(qū),將每個(gè)扇區(qū)的最后兩個(gè)字節(jié)依次寫入更新數(shù)組,覆蓋原更新數(shù)組,將更新序列號(hào)寫入M文件夾MFT文件記錄的每個(gè)扇區(qū)末尾。將本階段中得到的M文件夾索引項(xiàng)記錄父目錄文件記錄號(hào)修改為0xB0,將序列號(hào)修改為序列號(hào)A。讀取11號(hào)文件記錄,獲取該MFT文件記錄的實(shí)際大小、$INDEX_ROOT屬性總大小、索引項(xiàng)的總大小、索引項(xiàng)的分配大小和相對(duì)于$INDEX_ROOT屬性偏移為0x10-0x13處的屬性長度值。將更新序列數(shù)組中的項(xiàng)依次寫入該MFT文件記錄的每個(gè)扇區(qū)末尾。在該MFT文件記錄的$INDEX_ROOT屬性中插入M文件夾索引記錄,修改MFT文件的記錄信息。更新本索引緩沖區(qū)更新序列數(shù)組和每扇區(qū)結(jié)尾處數(shù)據(jù)。發(fā)送特性信息或重啟使得操作系統(tǒng)強(qiáng)制刷新文件目錄緩存,重新加載新的文件存儲(chǔ)結(jié)構(gòu)。
3.2.3 數(shù)據(jù)隱藏技術(shù)的可視化操作檢驗(yàn):
使用ESET NOD32 Antivirus檢查全分區(qū),沒有發(fā)現(xiàn)利用該技術(shù)隱藏的病毒文件Virus.exe。再通過Windows搜索功能驗(yàn)證,搜索全分區(qū),也找不到利用該技術(shù)隱藏的病毒文件Virus.exe。然而在WinHex下看到Hide文件夾已經(jīng)位于,$Extend目錄下。既證明了被隱藏文件的底層存在性。
4 結(jié)語
本文簡要介紹Garmin G1000數(shù)據(jù)底層隱藏仿真技術(shù)的優(yōu)越性、可視化操作,以期對(duì)Garmin G1000系統(tǒng)國產(chǎn)化有所借鑒。
[參考文獻(xiàn)]
[1]任可,茍江.GAMIN1000航空電子系統(tǒng)原理及維護(hù)方法[J].自動(dòng)化與儀器儀表,2009,(2),87-89.
[2]向廣利,姚琴,朱平.基于同態(tài)的動(dòng)態(tài)數(shù)據(jù)隱藏[J].武漢理工大學(xué)學(xué)報(bào),2009,(12),96-99.
[3]史楊,曹立明,王小平.混淆算法研究綜述[J].同濟(jì)大學(xué)學(xué)報(bào)(自然科學(xué)版),2005,(6),813-819.