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