一种基于pe文件的隐蔽信道的检测和限制方法

文档序号:8381259阅读:376来源:国知局
一种基于pe文件的隐蔽信道的检测和限制方法【
技术领域
】[0001]本发明涉及信息安全
技术领域
,特别是涉及一种基于PE文件的隐蔽信道的检测和限制方法。【
背景技术
】[0002]随着计算机硬件和密码学理论的发展,基于传统加密技术的信息传输的安全性日益受到威胁。目前隐蔽信道技术已经成为信息安全领域一个重要的分支,其研究主要针对网页、图像、音视频和文本等互联网载体,并且取得了较大的研究成果。2000年以来,随着Windows视窗操作系统在个人电脑领域占据绝对优势,PE(PortableExecutableFormat)文件成为了互联网上传输的最主要的软件产品。近些年,基于PE文件的隐蔽信道技术成为了信息隐藏技术最主要的研究方向之一。吴振强等人首次将PE文件作为掩护媒体引入信息隐藏领域,并且给出了基于PE文件的信息隐藏方案(1.吴振强,冯绍东,马建峰.PE文件的信息隐藏方案与实现.计算机工程与应用,2005.27:148-150)。根据PE文件资源节的结构特点,徐晓静等人提出了一种新的信息隐藏方案(2.徐晓静,徐向阳,梁海华等.PE文件资源节的信息隐藏研究与方案实现.计算机应用,2007.3:321-623)。冯立军提出并实现了一种通过增加位图调色板中的颜色数来嵌入数据的信息隐藏算法,设计并实现了一种利用重定位项顺序表示数据的信息隐藏算法(3.冯立军,PE文件格式的信息隐藏技术研究与实现,电子科技大学硕士学位论文,2011.3.)。[0003]基于PE文件的隐蔽信道技术主要目标是在PE文件中嵌入隐蔽信道,并且保证PE文件结构的可执行性。已有的在PE文件中嵌入隐蔽信道的方法有下面几种:(1)在PE文件中新添加的节中嵌入隐蔽信息;(2)在PE文件头的DOSHeader段中嵌入隐蔽信息;(3)在PE文件边界对齐时所产生的冗余空间中嵌入隐蔽信息;(4)在PE文件资源节的位图部分中嵌入隐蔽信息;(5)在PE文件重定位节中嵌入隐蔽信息。[0004]但是,截止目前还没有检测和限制基于PE文件的隐蔽信道的方法。【
发明内容】[0005]本发明主要解决的技术问题是提供一种基于PE文件的隐蔽信道的检测和限制方法,通过在深入分析基于PE文件边界对齐时所产生的冗余空间中嵌入隐蔽信息、在PE文件资源节的位图部分中嵌入隐蔽信息、在PE文件重定位节中嵌入隐蔽信息的基础上,提出了一种检测和限制基于PE文件的隐蔽信道的方法,在基于PE文件的隐蔽信道的检测和限制方法的普及上有着广泛的市场前景。[0006]为解决上述技术问题,本发明提供一种基于PE文件的隐蔽信道的检测和限制方法,包括以下步骤:(1)发送端读取文件:将待发送的PE文件读入内存,并把PE文件分拆为5个部分:D0SMZ头、DOSStub、PE头、SectionsTable和Section,然后分别执行以下步骤用以从各部分提取校验码的初始数据:(I.1)从DOSMZ头和DOSStub提取数据:DOSMZ头包括字段e_lfanew,DOSStub包括ImageBase,从DOSMZ头中提取含有字段e_lfanew的16个字节数据,从DOSStub提取相对于ImageBase的地址为70h_7fh的数据,(1.2)从PE头提取数据:PE头包括NTFile,从PE头中提取相对于NTFile的地址为OOh-Ofh的数据,从PE头提取相对于NTFile的地址为IO-Ifh的数据,从PE头提取相对于NTFile的地址为20-2fh的数据,从PE头提取相对于NTFile的地址为30-3fh的数据,从PE头提取相对于NTFile的地址为40-4fh的数据,从PE头提取相对于NTFile的地址为50-5fh的数据,(1.3)从SectionsTable提取数据:SectionsTable包括资源表和重定位表,从SectionsTable中提取第一结构体和第二结构体,其中所述第一结构体包括资源表的起始地址和资源表的大小,并从资源表的起始地址开始提取16个连续字节,所述第二结构体包括重定位表的起始地址和重定位表的大小,并从重定位表的起始地址开始提取16个连续字节,(1.4)对资源表的关键字段提取数据:令所述资源表的起始地址为AddressU所述资源表的大小为Sizel,令ResourceAddress=NTFile+Addressl,执行算法:(a)令J=I,(b)判断ResourceAddress与ResourceAddress+Sizel的大小关系,(c)当ResourceAddress小于ResourceAddress+Sizel,计算ResourceAddress+i*16并赋值给ResourceAddress,然后将ResourceAddress开始的16个连续字节复制给DJ,再令J+1赋值给J,然后返回步骤(b)继续执行,(d)当ResourceAddress大于或者等于ResourceAddress+Sizel,结束执行,设此算法结束后J=m,(1.5)对重定位表的关键字段提取数据:令所述重定位表的起始地址为AddreSS2、所述重定位表的大小为Size2,令BaseRelocAddress=NTFile+Address,执行算法:(e)令J=l,(f)判断BaseRelocAddress与BaseRelocAddress+Size2的大小关系,(g)当BaseRelocAddress小于BaseRelocAddress+Size2,计算BaseRelocAddress+i*16并赋值给BaseRelocAddress,然后将BaseRelocAddress开始的16个连续字节复制给DJ,再令J+1赋值给J,然后返回步骤(f)继续执行,(h)当BaseRelocAddress大于或者等于BaseRelocAddress+Size2,结束执行,设此算法结束后J=n,SectionsTable中包括NTHeader,所述NTHeader包括248个字节数据,并将所述248个字节数据定义为F8,令Temp=NTFile+F8,然后从地址为Temp处提取16个连续的16字节数据;(2)数据加权:【主权项】1.一种基于PE文件的隐蔽信道的检测和限制方法,其特征在于,包括以下步骤:(1)发送端读取文件:将待发送的PE文件读入内存,并把PE文件分拆为5个部分:DOSMZ头、DOSStub、PE头、SectionsTable和Section,然后分别执行以下步骤用以从各部分提取校验码的初始数据:(1.1)从DOSMZ头和DOSStub提取数据:DOSMZ头包括字段e_lfanew,DOSStub包括ImageBase,从DOSMZ头中提取含有字段e_lfanew的16个字节数据,从DOSStub提取相对于ImageBase的地址为70h_7fh的数据,(1.2)从PE头提取数据:PE头包括NTFile,从PE头中提取相对于NTFile的当前第1页1 2 
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1