一种智能化模糊测试方法、装置及系统制造方法及图纸

技术编号:26970077 阅读:30 留言:0更新日期:2021-01-05 23:59
本发明专利技术公开了一种智能化模糊测试方法、装置及系统,涉及计算机技术领域,所述方法包括:通过符号执行将被测目标的输入变量转换为符号化表达式;对多路输入变量的所述符号化表达式进行执行路径约束;根据约束后的执行路径生成测试用例;执行所述测试用例,并获取所述测试用例的执行状态及测试数据。本发明专利技术实施例能够解决现有模糊测试存在检测效率低下的问题。

【技术实现步骤摘要】
一种智能化模糊测试方法、装置及系统
本专利技术涉及计算机
,具体涉及一种智能化模糊测试方法、装置及系统。
技术介绍
由于电力系统中设计漏洞和软件漏洞的存在,从信息侧实施的针对电力信息物理系统(电力CPS)的恶意攻击很有可能突破防护措施,引起更大规模的扰动和故障。因此,发掘当前电力CPS的协议及系统的漏洞,对于电力CPS的防护是极为必要的。当前物联网的安全漏洞检测手段已趋于成熟,其中的各项技术同样也可用于电力CPS的漏洞检测中,其漏洞检测技术主要分为静态分析和动态分析,静态分析的对象主要是目标源代码;动态分析的对象主要是可执行的二进制文件,其中,动态二进制分析方案主要采用模糊测试,模糊测试的原理是将大量的畸形数据输入到目标程序中,通过监测被测程序的异常来发现被测程序中可能存在的安全漏洞,它是一个典型的自动或半自动的过程。传统的模糊测试虽能检测出程序漏洞,但是目前在电力物联网方面基于模糊测试的漏洞挖掘,均属于黑箱测试,即监视协议服务器端和客户端的测试过程和返回结果,该过程会产生大量无效样本,且该方法并没有搜集任何程序在处理输入本文档来自技高网...

【技术保护点】
1.一种智能化模糊测试方法,其特征在于,所述方法包括:/n通过符号执行将被测目标的输入变量转换为符号化表达式;/n对多路输入变量的所述符号化表达式进行执行路径约束;/n根据约束后的执行路径生成测试用例;/n执行所述测试用例,并获取所述测试用例的执行状态及测试数据。/n

【技术特征摘要】
1.一种智能化模糊测试方法,其特征在于,所述方法包括:
通过符号执行将被测目标的输入变量转换为符号化表达式;
对多路输入变量的所述符号化表达式进行执行路径约束;
根据约束后的执行路径生成测试用例;
执行所述测试用例,并获取所述测试用例的执行状态及测试数据。


2.如权利要求1所述的智能化模糊测试方法,其特征在于,所述通过符号执行将被测目标的输入变量转换为符号化表达式,包括:
利用S2E平台记录被测目标的软件内部污点数据流和程序指令控制流,获取输入污点变量;
通过符号执行得到执行路径上的输入污点变量的符号化表达式。


3.如权利要求1所述的智能化模糊测试方法,其特征在于,所述对多路输入变量的所述符号化表达式进行执行路径约束,包括:
根据多路输入变量的所述符号化表达式生成畸形化约束条件;
根据所述畸形化约束条件,对输入污点变量进行路径约束求解,得到指定代码路径。


4.如权利要求1所述的智能化模糊测试方法,其特征在于,所述智能化模糊测试方法还包括:
利用测试用例知识库提供测试用例模板,基于所述测试用例模板生成测试用例,所述测试用例知识库包括畸变数据库和测试用例模板库;
所述畸变数据库用于提供畸变数据,从而生成畸形化约束条件;
所述测试用例模板库用于提供测试用例模板,从而生成测试用例。


5.如权利要求1所述的智能化模糊测试方法,其特征在于,所述智能化模糊测试方法还包括:
在测试用例的执行过程中,采用漏洞检测算法对安全漏洞进行检测,进行检测的过程包括:
检测在测试用例执行过程中,被释放的堆内存指针是否被重用;
如果被释放的堆内存指针被重用,则判定存在安全漏洞。


6.根据权利要求5所述的智能化模糊测试方法,其特征在于,检测被释放的堆内存指针是否被重用之前,所述方法还包括:
拦截堆管理API,监控堆内存的分配和释放;
跟踪指针的传播,匹配指针和所述堆内存的映射关系;
在堆内存被...

【专利技术属性】
技术研发人员:张道娟钱珂翔王文辉张錋陈连栋
申请(专利权)人:全球能源互联网研究院有限公司国网河北省电力有限公司信息通信分公司国网河北省电力有限公司国家电网有限公司
类型:发明
国别省市:北京;11

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

1