G1000数据隐藏技术仿真初研
2014-10-27李首庆李光耀
李首庆 李光耀
摘 要:本文阐述一种电子设计师平台条件下研制的仿真航空导航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.