一种CiscoIOS启发式模糊测试技术的制作方法

文档序号:13876215阅读:202来源:国知局

本发明属于ciscoios技术领域。



背景技术:

随着互联网时代的到来和通信技术的发展,利用开放的网络环境进行通信已经成为时代发展的趋势;路由器是互联网络中的核心交换设备,是网络互联的基础;在系统处理能力提高的同时,系统的连接能力也在不断的提高;但在连接能力信息、流通能力提高的同时,基于网络连接的安全问题也日益突出,整体的网络安全主要表现在以下几个方面:网络的物理安全、网络拓扑结构安全、网络系统安全、应用系统安全和网络管理的安全。



技术实现要素:

细粒度污点分析技术:动态污点分析主要包括2个方面:污点数据的标定和污点数据的传播;污点数据的标定一般通过对系统的特定api函数(如recv,fread等)进行劫持来实现;污点数据的传播则需要定义一套污点的传播规则,而且通常需要维护一块影子内存(shadowmemory)来存储污点的状态信息;

1.基本定义:根据污点传播的精细程度,污点分析又分为粗粒度污点分析和细粒度污点分析;粗粒度污点分析对于每一个数据其污点状态只有“0”或“1","0”表示干净,数据未被污染;"1”表示数据被污染;而细粒度污点分析指为每个污点数据单元分配唯一的标签,需要标识其依赖于哪些污点数据,从而能够跟踪每个污点字节的传播过程;

2.细粒度污点传播规则:当污点数据从一个位置传递到另一个位置时,则认为发生了污点传播;而污点传播规则定义了寄存器和内存数据的污点属性通过污点操作相关指令进行传播的方式;细粒度的污点分析,需要在传播过程中,传递污点数据对污点数据源的依赖关系。

启发式模糊测试技术:测试用例生成是模糊测试技术的关键,对于传统模糊测试而言,主要采用黑盒测试的方式,在生成测试用例时,并没有结合口标程序的内部状态信息;对ciscoios而言,外部输人主要是网络协议数据报文,因此仅针对网络协议进行漏洞挖掘;基于动态污点分析技术,跟踪ciscoios对协议数据报文的处理过程并反馈运行时信息,指导测试用例的生成,实现启发式测试用例生成技术,从而提高模糊测试的效率;

1.技术原理:对于一个正常的协议数据报文而言,包括协议安全相关字段和协议安全无关字段;协议安全相关字段是指在口标程序处理过程中,可能影响到程序内部的安全敏感操作的协议字段;协议安全无关字段是指在口标程序处理过程中,对内部的安全敏感操作不会构成影响的协议字段;对于安全敏感操作,一般指一些不安全函数(如strcpy,printf等)和内存分配函数(如malloc,realloc等)调用;

2.安全敏感操作判定规则:由启发式测试用例生成的原理可知,安全敏感操作的界定决定了协议安全相关字段的获取;因此,根据口标程序的特点,对安全敏感操作进行具体地判定非常重要;

大多数漏洞都是因为程序没有对外部输人(下文称为污点)进行严格的审查,造成程序内部的函数调用地址、内存访问地址、安全敏感函数的参数等受到污点数据的影响;将以下5类操作称为安全敏感操作(假设r3为污点数据):

(1)内存读访问地址被污染:如lwzr4,oxc(r3),通过变异读访问地址依赖的字段,可能造成读访问的内存不存在,引发读访问异常;如果读取的内存内容,接下来作为函数调用的地址,可能引发代码执行或者异常,如以下指令序列:

l1:lwzr4,oxc(r3)

l2:mtctrr4

l3:bctrl

l1将(r3+oxc)指向的32位内容,加载到寄存器r4,之后l2将r4的值赋给寄存器ctr,l3直接跳转到ctr指向的地址处执行;

(2)内存写访问地址被污染:如atwr4,oxc(r3),通过变异写访问地址依赖的字段,可能造成写访问的内存不存在或者改写破坏内存,引发写异常或关键数据破坏;

(3)跳转、调用口的地址被污染:如mtctr、r3、bctrl;第1条指令将寄存器r3的值传递给ctr寄存器;第2条指令意思是跳转到ctr寄存器所指向的地址处执行,并设置1r寄存器为下一条指令的地址,执行完后,返回到1r指向的地址处执行;通过变异所依赖的字段,可能导致程序执行任意代码;

(4)跳转、调用口的地址处内容被污染:类似于(3),通过变异口的地址处内容所依赖的字段,可能导致程序执行任意代码;

(5)安全敏感函数的参数被污染:安全敏感函数主要包括不安全函数(如strcpy,sprintf)、内存分配函数(如malloc,realloc,calloc)以及内存拷贝函数(如memcpy)等,具体函数需要根据口标程序的特点来选取;如malloc函数的size参数被污染,通过变异size所依赖的字段,控制内存分配的大小,可能造成size整型异常,进而可能引发缓冲区溢出;

上述5种安全敏感操作中,操作(1),操作(2)本质上是内存访问的地址依赖于污点数据,操作(3),操作(4)是程序跳转、调用口的地址或内容依赖于污点数据,操作(5)是安全敏感函数的参数依赖于污点数据;

将满足上述安全敏感操作判定规则的行为进行报警,记录具体行为以及安全相关字段信息;在生成测试用例时,使用如边界值等异常元素对安全相关字段进行变异,实现启发式测试用例生成技术。



技术特征:

技术总结
本发明针对思科互联网操作系统(Cisco IOS)中,系统安全漏洞已经成为信息安全风险的主要根源之一,为此开发了一种基于细粒度污点分析的启发式模糊测试技术;基于细粒度污点分析的安全敏感操作判定规则,为获取启发式信息提供依据;采用启发式测试用例生成的方法,设计并实现Cisco IOS漏洞挖掘技术系统CTaintMiner,系统具备较好的漏洞挖掘能力,验证了启发式模糊测试方法的有效性。

技术研发人员:余漫游
受保护的技术使用者:长沙有干货网络技术有限公司
技术研发日:2016.08.17
技术公布日:2018.03.06
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1