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