一种针对防火墙的污点分析漏洞检测方法技术

技术编号:23056153 阅读:31 留言:0更新日期:2020-01-07 15:44
一种针对防火墙的污点分析漏洞检测方法,包括如下步骤:对于防火墙固件的文件系统进行提取;对目标防火墙程序引入污点;根据汇编指令的分类,定义污点传播规则;根据污点传播规则,定义污点检测规则,从而检测目标防火墙程序是否遭受攻击。该污点分析漏洞检测方法,针对物联网设备中的MIPS(Microprocessor without interlocked piped stages architecture)架构的防火墙设备,现有技术对于这方面的研究还比较少,弥补了该领域的技术空白。该方法将污点传播规则和污点检测规则用形式化的描述表示,有较高的准确性与低误报率。

A vulnerability detection method of stain analysis for firewall

【技术实现步骤摘要】
一种针对防火墙的污点分析漏洞检测方法
本专利技术针对物联网设备中的防火墙提出了一种针对防火墙的污点分析漏洞检测方法,主要用来检测防火墙设备的漏洞,属于物联网安全领域。
技术介绍
我们身处信息化时代,网络的发展一日千里,网络在带给我们好处和方便的同时,也会给我们带来许多的风险。木马、病毒肆虐,网页篡改、频繁的黑客攻击、各种各样的流氓软件、间谍软件,在上网的设备中兴风作浪。作为物联网设备和网络的一个严格的“门卫”,防火墙对于安全的重要性不言而喻。防火墙负责看守者系统的各个端口,帮助我们拦截所有有疑问的程序或数据包,进而判断是否可以放行或是否删除。但如果防火墙被攻破,那么攻击者就可以利用防火墙获得关键信息。因此防火墙的安全性是整个Internet网络的重中之重。在深入分析智能设备底层的安全原理时,不可避免的需要直接接触硬件本身。常见的物联网(全称InternetofThings,简称IOT)产品,一般采用嵌入式Linux系统开发,对嵌入式设备的芯片研究主要目的之一就是获得硬件系统的固件。嵌入式设备的可执行程序被称之为固件。固件一般存储在ROM之中,ROM是只读存储器(Read-OnlyMemory)的简称,是一种只能读出事先所存储的数据的固态半导体存储器。固件通常由汇编语言编写而成,担任着一个系统最基础最底层的工作。固件的存在,使得人们能够很方便的使用嵌入式设备,但同样伴随着安全风险。根据调查发现,由于个人、企业、政府在使用防火墙设备后,很少更新固件版本,因此黑客更容易针对这些老旧版本的设备进行攻击,从而造成机密信息的泄露,个人财产的损失。目前的动态污点分析平台也存在准确率和性能两方面问题。其中准确率体现在“过污染”引起的误报,以及“欠污染”引起的漏报问题。
技术实现思路
随着物联网设备的激增,网络攻击手段的增加和人们对于网络安全的轻视,使得物联网设备的安全性越来越重要,本专利技术提出一种针对防火墙的污点分析漏洞检测方法,用来解决防火墙的安全问题。通过使用本专利技术提出的方法,可以提高防火墙设备的安全性,进而保证用户的信息和财产安全。一种针对防火墙的污点分析漏洞检测方法,包括如下步骤:步骤1:对于防火墙固件的文件系统进行提取;步骤2:对目标防火墙程序引入污点;步骤3:根据汇编指令的分类,定义污点传播规则;步骤4:根据污点传播规则,定义污点检测规则,从而检测目标防火墙程序是否遭受攻击。进一步地,步骤1包括:步骤1-1:获取防火墙固件;步骤1-2:确定防火墙固件中文件系统的类型;步骤1-3:将固件中的文件系统提取出来。进一步地,步骤2包括:在防火墙程序启动时将所有变量、内存单元、寄存器等初始化为非污染,然后通过DynamoRIO代码插桩工具进行动态代码插桩,将接收或者读入的数据标志为污点源。进一步地,步骤3中定义的污点传播规则的形式化描述包括读访问内存指令的污点传播规则、写访问内存指令的污点传播规则和非内存访问指令的污点传播规则。进一步地,所述读访问内存指令的污点传播规则为:Pload(Insload)::=Pload(Ra,Rv)::=isTaint(Ra)∨isTaint(Rv);其中,Pload(Insload)表示读访问内存指令的污点传播规则,Insload表示读访问内存指令,Pload(Ra,Rv)表示关于读访问内存地址及读访问内存地址内容的污点传播规则,Ra表示读访问内存地址,Rv表示读访问的内存地址Ra处的存储内容,isTaint()表示寄存器、内存数据以及常量的集合V到污点属性集合T={True,False}的映射,isTaint(Ra)表示关于读访问内存地址的污点映射,isTaint(Rv)表示关于读访问的内存地址Ra处的存储内容的污点映射;该规则表示,对于读访问内存指令,如果访问的内存地址或者访问内存的内容被污染,则Insload中目的操作数就被污染。进一步地,所述写访问内存指令的污点传播规则为:Pstore(Insstore)::=Pstore(Wa,Wv)::=isTaint(Wa)∨isTaint(Wv),其中,Pstore(Insstore)表示写访问内存指令的污点传播规则,Insstore表示写访问内存的指令,Pstore(Wa,Wv)表示关于写访问的内存地址和写入内存地址的内容的污点传播规则,Wa表示写访问的内存地址,Wv表示将写入内存地址Wa处的内容,isTaint()表示寄存器、内存数据以及常量的集合到污点属性集合T={True,False}的映射,isTaint(Wa)表示关于写访问内存地址的污点映射,isTaint(Wv)表示关于写访问写入内存内容的污点映射;该规则表示,对于写访问内存指令,如果写访问的内存地址或者即将写入内存的内容被污染,则Insstore中目的操作数就被污染。进一步地,所述非内存访问指令的污点传播规则为:其中,Pumem(Insumem)表示对非内存访问指令的污点传播规则,Insumem表示非内存访问指令,Pumem(Operandsrc)表示对非内存访问指令中源操作数的污点传播规则,Operandsrc表示指令Insumem中源操作数的集合,isTaint(opi)表示关于Insumem指令中源操作数的污点映射,isTaint()表示寄存器、内存数据以及常量的集合到污点属性集合T={True,False}的映射,表示检测所有非内存访问指令中源操作数的污点映射,opi表示集合Operandsrc中的元素,n表示opi的个数;该规则表示,对于非内存访问指令,如果存在元素opi∈Operandsrc,此时isTaint(opi)=True,表示Insumem中目的操作数被污染。进一步地,步骤4中定义的污点检测规则的形式化描述包括跳转指令的污点检测规则和内存访问指令的污点检测规则。进一步地,所述跳转指令的污点检测规则为:Pbranch(Insbranch)::=Pbranch(ba,bv)::=isTaint(ba)∨isTaint(bv);其中,Pbranch(Insbranch)表示跳转指令的污点检测规则,Insbranch表示跳转指令,Pbranch(ba,bv)表示关于跳转指令的目的地址和目的地址处内容的污点检测规则,ba表示跳转指令的目的地址,bv为跳转地址ba处的指令内容,isTaint()表示寄存器、内存数据以及常量的集合到污点属性集合T={True,False}的映射,isTaint(ba)表示关于跳转地址的污点映射,isTaint(bv)表示关于跳转地址处的指令内容的污点映射,isTaint(ba)∨isTaint(bv)表示检测跳转地址或者检测跳转地址处的指令内容是否被污染;该规则表示,如果跳转地址被污染或者跳转地址处的指令内容被污染,则判定目标程序可能遭受攻击。进一步地,所述内存访问指令的污点检测规则为:Pmem(I本文档来自技高网
...

【技术保护点】
1.一种针对防火墙的污点分析漏洞检测方法,其特征在于,包括如下步骤:/n步骤1:对于防火墙固件的文件系统进行提取;/n步骤2:对目标防火墙程序引入污点;/n步骤3:根据汇编指令的分类,定义污点传播规则;/n步骤4:根据污点传播规则,定义污点检测规则,从而检测目标防火墙程序是否遭受攻击。/n

【技术特征摘要】
1.一种针对防火墙的污点分析漏洞检测方法,其特征在于,包括如下步骤:
步骤1:对于防火墙固件的文件系统进行提取;
步骤2:对目标防火墙程序引入污点;
步骤3:根据汇编指令的分类,定义污点传播规则;
步骤4:根据污点传播规则,定义污点检测规则,从而检测目标防火墙程序是否遭受攻击。


2.根据权利要求1所述的一种防火墙的污点分析漏洞检测方法,其特征在于:步骤1包括:
步骤1-1:获取防火墙固件;
步骤1-2:确定防火墙固件中文件系统的类型;
步骤1-3:将固件中的文件系统提取出来。


3.根据权利要求1所述的一种防火墙的污点分析漏洞检测方法,其特征在于:步骤2包括:在防火墙程序启动时将所有变量、内存单元、寄存器等初始化为非污染,然后通过DynamoRIO代码插桩工具进行动态代码插桩,将接收或者读入的数据标志为污点源。


4.根据权利要求1所述的一种针对防火墙的污点分析漏洞检测方法,其特征在于:步骤3中定义的污点传播规则的形式化描述包括读访问内存指令的污点传播规则、写访问内存指令的污点传播规则和非内存访问指令的污点传播规则。


5.根据权利要求4所述的一种针对防火墙的污点分析漏洞检测方法,其特征在于:所述读访问内存指令的污点传播规则为:
Pload(Insload)::=Pload(Ra,Rv)::=isTaint(Ra)∨isTaint(Rv);
其中,Pload(Insload)表示读访问内存指令的污点传播规则,Insload表示读访问内存指令,Pload(Ra,Rv)表示关于读访问内存地址及读访问内存地址内容的污点传播规则,Ra表示读访问内存地址,Rv表示读访问的内存地址Ra处的存储内容,isTaint()表示寄存器、内存数据以及常量的集合V到污点属性集合T={True,False}的映射,isTaint(Ra)表示关于读访问内存地址的污点映射,isTaint(Rv)表示关于读访问的内存地址Ra处的存储内容的污点映射;
该规则表示,对于读访问内存指令,如果访问的内存地址或者访问内存的内容被污染,则Insload中目的操作数就被污染。


6.根据权利要求4所述的一种针对防火墙的污点分析漏洞检测方法,其特征在于:所述写访问内存指令的污点传播规则为:
Pstore(Insstore)::=Pstore(Wa,Wv)::=isTaint(Wa)∨isTaint(Wv),
其中,Pstore(Insstore)表示写访问内存指令的污点传播规则,Insstore表示写访问内存的指令,Pstore(Wa,Wv)表示关于写访问的内存地址和写入内存地址的内容的污点传播规则,Wa表示写访问的内存地址,Wv表示将写入内存地址Wa处的内容,isTaint()表示寄存器、内存数据以及常量的集合到污点属性集合T={True,False}的映射,isTaint(Wa)表示关于写访问内存地址的污点映射,isTaint(Wv)表示关于写访问写入内存内容的污点映射;
该规则表示,对于写访问内存指令,如果写访问的内存地址或者即将写入内存的内容被污染,则Insstore中目...

【专利技术属性】
技术研发人员:肖甫陈嘉琦周剑沙乐天盛碧云李群
申请(专利权)人:南京邮电大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1