APP下载

基于导向性漏洞挖掘的优化策略

2021-05-07金童

数字技术与应用 2021年3期
关键词:程序分析

金童

(北方工业大学,北京 100144)

0 引言

模糊测试是一种基于缺陷注入的自动化软件漏洞挖掘技术通过向待测试的目标软件输入测试用例并执行程序,监控程序的运行状况,同时记录并进一步分析目标程序发生的异常,进而通过分析造成目标程序崩溃的测试用例来发现目标程序潜在的漏洞。

在模糊测试的过程中,测试用例执行、异常监视这两个重要的过程完全可以自动化实现。

模糊测试在挖掘的漏洞数量方面具有很大优势,与此同时,其不足也十分明显。比如:对访问控制漏洞无能为力、无法发现糟糕的设计逻辑、无法识别多阶段安全漏洞和无法识别多点触发漏洞。

模糊测试的高效性严格依赖输入测试样本的质量,因此模糊测试的核心就是核心测试样本的生成,其有两个关键点:(1)优质的测试样本种子;(2)合理的畸变策略。针对第(1)个关键点,以目标为导向选择确定优质测试样本种子,比如:能够发现未执行过的路径或者执行率较低的路径;向某个特定待测试区域不断逼近等。

目前常用的漏洞挖掘技术分为静态分析、动态分析、二进制比对、模糊测试等。静态分析是指在不运行软件的前提下进行的一种分析技术。其主要通过对目标程序的词法、语法、语义分析来发现软件中潜在的安全漏洞,特别是函数调用中参数的来源以及函数返回值,通过对参数进行来源分析与跟踪,很容易发现其中未对参数进行边界检查而造成的缓冲区溢出、堆溢出等类型的安全漏洞。……

登录APP查看全文

猜你喜欢

程序分析
隐蔽失效适航要求符合性验证分析
试论我国未决羁押程序的立法完善
电力系统不平衡分析
失能的信仰——走向衰亡的民事诉讼程序
“程序猿”的生活什么样
英国与欧盟正式启动“离婚”程序程序
电力系统及其自动化发展趋势分析
创卫暗访程序有待改进
中西医结合治疗抑郁症100例分析
恐怖犯罪刑事诉讼程序的完善