基于可执行文件的数据安全隐密写入探究
2015-12-29曹霞
曹霞
(湖南省质量技术监督局信息中心,湖南长沙,410011)
基于可执行文件的数据安全隐密写入探究
曹霞
(湖南省质量技术监督局信息中心,湖南长沙,410011)
可执行文件具有冗余空间大的特点,这为可执行文件写入数据信息提供了可行性。然而如何更加安全有效地将用于特定作用的数据信息隐密写入可执行文件之中,这是一道涉及信息安全应用的重要课题,本文就此展开探讨,较为详细地分析了基于可执行文件数据信息安全隐密写入技术基本原理,并给出了较为详实的实现方案,同时也为隐蔽通信研究、数字指纹技术研究、软件数据信息水印技术等提供了一些有价值的参考。
可执行文件;数据安全;隐密写入;策略探讨
1、引言
查阅国内外信息技术有关文献资料,有关在文件中进行数据信息隐藏的研究主要集中于文本文件、图像文件、音频文件与视频文件中,而将数据信息隐藏于可执行文件方面的技术研究则极为稀少,源于可执行文件结构较为复杂,稍有不慎就有可能对可执行文件造成破坏,促使可执行文件无法正常运行,甚至有可能被病毒查杀软件所误杀。然而,越是人们较为稀少研究的领域,越具有技术挑战性,为数据信息安全隐藏提供了更为良好的机会。笔者通过对可执行文件的结构进行深度分析,发现可执行文件中存在大量空余空间,为数据信息隐藏提供了非常良好的条件。下面就个人研究情况进行简要说明,提出一种基于可执行文件的数据安全隐密写入技术,为信息技术条件下的用户隐蔽通信研究、数字指纹技术研究、软件数据信息水印技术提供一定参考。
2、基于可执行文件数据信息安全隐密写入技术基本原理分析
通过对可执行文件的组织架构分析发现,可执行文件组成结构较为复杂,但其文件头的节中存有较多的空白空间,集中表现为以下6类:①可执行文件的文件头部以及其它结构中具有大量不起作用也没有使用的字段空间;②可执行文件头与DOS头部之间存在冗余空间;③可执行文件第一个节和最后一个节表项之间的存在冗余空间;④可执行文件头和第一个节表项之间存在冗余空间;⑤可执行文件每个节末对齐会产生冗余空间;⑥可执行文件的资源节中存在四种冗余。由此可见,可以将数据信息隐密写入到以上6类冗余空间中,不仅对可执行文件的结构不会产生改变,而且不会影响到可执行文件的正常运行,还为数据信息安全通信或应用提供了良好条件。
通过综合分析发现,可以主要从以下3类方式方法来进行数据信息的安全隐密写入:①直接将数据信息嵌入到可执行文件中的冗余空间内;②通过在可执行文件中扩展一些大小不确定的数据块,由此获取较为充足的冗余空间,从而将数据信息隐密写入其中;③通过在可执行文件的原有节的后面增加新的节,从而将数据信息隐密写入该节中。
3、基于可执行文件的数据信息安全隐密写入模型分析
基于可执行文件的数据信息安全隐密写入的模型基本思想,在于将数据信息安全隐密地嵌入到可执行文件的现有冗余空间或扩展获取到的冗余空间之中,以达到既有效保护隐密写入的数据信息安全,又不影响可执行文件的正常使用。基于可执行文件的数据信息安全隐密写入的模型如下图1所示。
图1 基于可执行文件的数据信息安全隐密写入的模型示意图
由此模型示意图可以看出,模型过程包括“数据信息安全隐密写入过程”与“安全隐密写入数据信息提取过程”两个部分,在“数据信息安全隐密写入过程”中,先通过一定数据加密算法对被隐藏数据信息进行加密,得到加密的被隐藏数据信息,进而通过“隐密写入算法”将其写入可执行文件的冗余空间中。而“安全隐密写入数据信息提取过程”,则通过隐密数据信息提取算法获得加密的被隐藏数据信息,继而通过解密算法还原最初被隐藏的数据信息。
4、基于可执行文件的数据信息安全隐密写入的实现方案
根据前面分析的基于可执行文件数据信息安全隐密写入技术基本原理以及数据信息安全隐密写入的模型可知,可执行文件中自身存在可以被利用的冗余空间或可以被开发的冗余空间,即既有的非构造冗余空间与人为构造冗余空间。由于人为构造冗余空间具有嵌入数据信息量较大的特性,对可执行文件的大小改变较大,因而很容易引起用户的怀疑而被发现,导致隐蔽性与安全性难以有效保障。因此,在数据安全隐密写入实施方案中,为确保被隐藏的数据信息安全,应选择在可执行文件的既有的非构造冗余空间内写入数据信息的方案,致使可执行文件大小不会发生改变,从而增强隐密写入数据信息的安全性。
由于可执行文件中的每一个节均依据FileAligment参数达成对齐目的,且每个节的大小并不是FileAligment的整数倍,因而对齐之后的结果便可能导致每个节后出现大量没有利用的冗余空间,在本方案中即将加密过后的数据信息写入到这些冗余空间中,以达到数据信息安全隐密写入的目的。在具体实现过程中最为关键的是准确获得以下5个数据:①通过字段PointToRawData获取可执行文件的节的起始地址;②通过VirtualSize字段获取可执行文件某节实际占用空间的大小;③通过SizeOfRawData获得可执行文件节对齐后的尺寸大小;④获得节中的冗余空间大小为SizeOfRawData-VirtualSize;⑤获得节中的冗余空间的起始地址为PointToRawData+VirtualSize。有了以上数据便可以确保数据信息隐密写入的安全性与可靠性,较为详实的实现步骤如下。
4.1 选择合适的可执行文件载体,通过遴选文件大小适中,直接点击可以运行的可执行文件,打开可执行文件,考察判断该可执行文件是否为真正的可执行文件,判断方法为依据该文件的DOS头部的e_magic字段和PE头部的Signature字段,如果e_magic字段的数值为“MZ”并且Signature字段的数值为“PE ”,则判断该文件为可执行文件,如果不是可执行文件则反馈信息,要求重新选择可执行文件为载体,直到选择成功为止,或终止操作,否则,进入下一步骤;
4.2 当前选择可执行文件成功之后,所要做的工作就是对可执行文件组织结构进行分析,重点对可执行文件内部节的数量和每节中冗余空间进行分析,获取所有冗余空间的起始地址以及冗余空间的总量大小,并考察冗余空间是否可以存储下隐密写入数据信息,如果没有足够的存储空间,则反馈预警信息,提示冗余空间无法安全存储加密数据信息,自动终止操作。否则,转入下一步骤;
4.3 对隐密写入的数据信息进行初始处理,在本方案中引入DES数据加密算法对拟将隐密写入的数据信息进行加密处理,继而进入下一步骤。
4.4 通过PointToRawData字段、SizeOfRawData字段和VirtualSize字段的值,准确地获取可执行文件冗余空间的起始位置,并依据冗余空间的大小,采取链表的形式需经过加密的将要隐密写入该可执行文件的数据信息填充到冗余空间中。
5、结语
本文所探讨的基于可执行文件的数据安全隐密写入技术,系统信息安全范畴,论文较为详细地分析了基于可执行文件数据信息安全隐密写入技术基本原理,并给出了较为详实的实现方案,以及有关实现流程与步骤,为数据信息隐藏研究提供了一些有益的参考,与此同时也为信息技术条件下的用户隐蔽通信研究、数字指纹技术研究、软件数据信息水印技术等方面的研究亦提供了一些有价值的参考。
[1]翁淮南,端木庆峰,王衍波,张凯泽,王熹.基于PE文件资源数据的信息隐藏方案[J].计算机工程,2014,(12).
[2]徐晓静,徐向阳,梁海华,黄友荣.PE文件资源节的信息隐藏研究与方案实现[J].计算机应用,2014,(9).
[3]杨金风,岳俊梅.基于信息隐藏技术的Windows文件隐藏大师的开发[J].电脑知识与技术(学术交流),2014,(10).
Safe and Convert Read-in of Data Based on Executable File
CAO Xia
(Information Center of Hunan Qaulity Technology Supervision Bureau,Changsha410011,Hunan)
The executable file features with the great redundant space,which provides the feasibility of reading in data information in the executable file.It is an important project for the safe application of information that how we can read in the data information of special use into the executable file effectively and safely.This paper discusses this project,and analyzes the basic technology theory,and proposes the detailed implementation scheme and the related implementation process and steps.
executable file;data safety;convert read-in;strategy discussion
TP309
A
1671-5004(2015)04-0020-02
2015-6-13
曹霞(1979-),女,湖南郴州人,湖南省质量技术监督局信息中心工程师、硕士,研究方向:信息技术与管理。