导读:本文包含了符号执行论文开题报告文献综述、选题提纲参考文献及外文文献翻译,主要关键词:符号,测试,模糊,递归,缓存,路径,条件。
符号执行论文文献综述
郑华利,刘钊远,田野[1](2019)在《一种基于符号执行的测试用例生成方法》一文中研究指出针对符号执行中存在的路径爆炸问题,提出一种冗余路径删除方法,该方法利用Hoare逻辑中的后置条件引导符号执行以生成有效的测试用例。首先利用最弱前置条件来计算已探索的路径,然后通过后置条件引导符号执行以识别程序中多个共享的路径后缀,并在测试用例生成时进行消除。最后通过对多个基准程序进行实验,结果表明论文方法在一定程度上能够减少程序的路径探索数目和执行时间,削弱了符号执行中的路径爆炸问题。(本文来源于《计算机与数字工程》期刊2019年09期)
何香凝,郭荣佐,黄君[2](2019)在《基于符号执行的家居网关协议级能耗建模》一文中研究指出为分析智能家居网关协议转换过程中的能量消耗情况,利用符号执行对路径敏感的特性,提出一种基于符号执行的协议级能耗分析模型。用符号执行将协议转换部分的不可达路径排除,用指令级能耗分析模型对家居网关协议层级的能耗进行分析。在STM32F103硬件平台上,对Modbus/TCP和Modbus/RTU协议进行转换,实验结果表明,该模型计算得到的能耗与实际测量的能耗误差在4.9%左右,能够较准确评估家居网关在协议级的能量消耗,为智能家居网关的低功耗设计提供指导。(本文来源于《计算机工程与设计》期刊2019年09期)
邹权臣,吴润浦,马金鑫,王欣,辛伟[3](2019)在《符号执行中的约束求解问题研究进展》一文中研究指出在符号执行中,约束求解主要负责路径可达性进行判定及测试输入生成的工作,但路径爆炸问题带来的频繁调用,以及SMT求解器本身的能力和效率的不足,使得约束求解占用了符号执行中主要的性能开销,约束求解问题也成为符号执行中面临的主要瓶颈问题之一.本文介绍了符号执行和约束求解的基本概念,并分析了符号执行中约束求解问题的由来,对近年来的约束求解问题研究进展进行了归类,涉及的技术包括非相关约束分支切片、约束简化、快速不满足性检查及多求解器支持等.对这方面的研究进行了展望和总结.提出未来工作应在提高路径约束逻辑精简率、提高约束求解结果存储和重用的效率、约束求解并行化以及约束求解配置预测等方面展开.(本文来源于《北京理工大学学报》期刊2019年09期)
李超,胡建伟,崔艳鹏[4](2019)在《基于符号执行的缓冲区溢出漏洞自动化利用》一文中研究指出软件规模与数量的快速增长给软件安全研究带来了严峻的挑战,以人工方式分析漏洞已难以完成漏洞危害性的评估。分析缓冲区溢出漏洞的形成原理,提出一种缓冲区溢出漏洞自动化利用方法。该方法采用符号执行检测漏洞,为缓解符号执行中状态爆炸问题,使用危险函数切片减少状态数量。对于检测到的漏洞,通过构建约束表达式和约束求解自动生成exploit。针对进程中不存在空间足够的可控内存块的情况,以shellcode分段存放的方式利用漏洞。实验结果表明,该方法可有效缓解符号执行路径爆炸问题,自动检测漏洞并生成适用性较好的exploit。(本文来源于《计算机应用与软件》期刊2019年09期)
杨超,郭云飞,扈红超,刘文彦,霍树民[5](2019)在《基于符号执行的软件缓存侧信道脆弱性检测技术》一文中研究指出缓存侧信道攻击的基础是程序针对不同敏感信息将访问不同的缓存地址.本文提出基于符号执行的缓存侧信道脆弱性检测技术,通过符号化敏感信息的数据传播过程定位潜在的脆弱点,并通过比较其可能的不同缓存访问地址,判断上述代码在缓存攻击中的可利用性.本文开发了原型系统CSCVulDiscover,并针对RSA等3种密码算法的12类实现代码进行测试,总共发现了125个脆弱点.(本文来源于《电子学报》期刊2019年06期)
梁永隽[6](2019)在《基于黑盒抽象的复杂代码符号执行研究》一文中研究指出随着现代信息社会的高速发展,软件已经进入人们生活的方方面面,为保障软件质量而对软件进行充分测试的重要性也随之愈发凸显。符号执行是近年来在软件测试领域被广泛使用的技术之一。该技术使用符号化变量而不是具体值变量作为代码的执行输入,在程序路径的分析过程中不断收集分支语句产生的路径约束,然后调用底层求解器对路径约束集合进行求解从而生成触发对应代码路径的测试用例。然而在处理现实世界中复杂的真实程序时,符号执行仍面临不少挑战。一方面,传统约束求解器的求解能力严重制约着符号执行处理复杂路径约束的能力。另一方面,当程序中包含复杂路径结构,如函数调用、循环语句等,符号执行会陷入大量路径的搜索与求解中。这些都极大地影响了符号执行技术在复杂程序上的应用。针对以上问题,本文在前期工作基于机器学习的符号执行框架的基础上,提出了一种基于黑盒抽象的新型符号执行方法。该方法不仅可以处理简单路径约束,也可将函数调用、循环语句等复杂代码片段编码为黑盒路径约束,然后通过底层机器学习指导的约束求解器进行采样、验证求解,提高符号执行对复杂代码的测试生成能力。本文的主要工作如下:●面向函数调用的黑盒抽象符号执行:为提高符号执行对包含函数调用的复杂代码的支持能力,本文提出了一种基于机器学习的函数黑盒抽象执行方法。该方法将符号执行过程中指定函数调用的路径编码为黑盒函数约束。在求解包含黑盒函数的路径约束时,符号执行框架对函数进行黑盒执行,获得的返回值被反馈给底层基于机器学习的约束求解模块进行验证学习求解。借助于函数黑盒抽象执行方法,符号执行框架跳过了对指定函数调用的展开分析,将资源投入在对主程序的路径分析中,更好地支持了包含大量函数调用的真实程序的测试覆盖。●面向循环语句的黑盒抽象符号执行:为降低符号执行在处理循环等复杂路径结构的开销,本文提出了一种对循环等复杂代码片段的预处理方法并在该方法基础上对函数黑盒符号执行功能进行了拓展。通过对循环语句等复杂代码结构的静态分析,复杂代码片段被编码替换为等价功能的黑盒函数调用。在后期符号执行过程中,这些替换的黑盒函数被指定进行黑盒执行,减轻了符号执行框架处理函数内部循环语句的负担。●基于黑盒抽象的复杂代码测试生成系统:为评估黑盒抽象符号执行的效果,本文实现了一个面向Java语言的复杂代码测试生成系统MLB-BS,并将其与传统符号执行测试工具系统进行了一系列实验对比。实验数据表明,MLB-BS在测试覆盖度表现上优于其他工具,尤其是在包含复杂代码结构的大型程序系统的测试覆盖上达到了良好的效果。(本文来源于《南京大学》期刊2019-05-25)
杨昌鑫[7](2019)在《符号执行技术在未知协议脆弱性检测中的应用研究》一文中研究指出未知协议是指协议格式规范等相关信息资料不公开的通信协议。出于保密性需求的考虑,目前越来越多的通信过程选择制定和采用未知协议进行信息数据的传输。但由于未知协议在实现和实际应用过程中可能存在各种类型的安全威胁,且在实际网络环境中,目前的网络安全设备多基于已知的协议报文格式进行检测和防护,导致未知协议在实际通信应用过程中面临着极大的安全威胁。因此,对未知协议进行脆弱性检测研究具有十分重要的现实意义和研究价值。符号执行技术是一种重要的程序分析技术,其具有自动化程度高、指令代码覆盖范围大、分析结果更加精细和准确等特点,目前已被广泛的应用于软件测试、漏洞挖掘等领域。基于此,论文研究并提出将符号执行技术应用于未知协议的脆弱性检测过程。论文所做的研究工作主要包括:1)针对未知协议输入报文格式集合解析的问题,提出了基于动态符号执行技术的输入报文格式解析方法,实现了对未知协议输入报文格式、协议域信息结构等内容的有效提取;2)针对未知协议状态机分析的问题,提出了基于协议会话路径执行树的协议状态机分析方法,通过分析协议会话过程的路径约束关系,以树结构中父子节点之间的逻辑关系表征协议会话状态之间的迁移过程,有效实现了对未知协议状态机信息的分析和构建。3)针对协议脆弱性检测阶段模糊测试用例生成的问题,提出了基于符号表达式的模糊测试用例生成策略,通过解析符号执行引擎收集的符号化映射关系来构造和生成脆弱性检测所需的模糊测试用例,有效提高了测试用例的有效性及针对性。4)基于所做的研究和提出的方法,论文以开源框架Angr和SPIKE为基础,设计并实现了方法的原型系统ASPtest,并设计实验测试验证了方法的有效性和ASPtest系统的可用性。实验阶段,论文对公开协议FTP和SMTP在假设无先验知识的情况下进行了测试和分析,成功解析出FTP协议和SMTP协议的报文格式结构及状态机信息,并检测到两者存在的缓冲区溢出漏洞。此外,论文还对SDBot远控木马的通信协议进行了实验分析,成功解析出协议格式结构并检测到其存在的缓冲区溢出漏洞。(本文来源于《北京邮电大学》期刊2019-05-24)
许珂磊[8](2019)在《符号执行循环和递归制导技术研究》一文中研究指出符号执行是近年来一种比较热门的程序分析和测试方法,能够自动探索程序的路径空间,分析进入各路径的约束条件并生成测试用例,具有自动化程度高、路径覆盖率高等优点,在程序分析、自动化测试等领域都有广泛的应用。路径爆炸问题是目前符号执行技术面临的最大的挑战和瓶颈。当程序中的可达路径数量十分庞大时,现有的计算机计算能力很难在规定的时间和空间内分析和处理完程序中所有的路径。循环和递归是引起路径爆炸问题的两个主要原因。在符号执行过程中,循环中的每一次迭代在经过循环条件时,会生成一条继续循环的路径和一条离开循环的路径,导致路径数量成倍增加;递归结构中至少包含一个深入递归的分支和一个从递归返回的分支,每一次递归调用都会生成至少两条路径,一条路径深入递归,另一条路径从递归中返回,也会导致路径数量成倍增加。在符号执行中,循环的迭代次数和递归的调用次数通常不是固定值,且取值范围非常广、可能的取值非常多,这就导致了在符号执行中,循环和递归结构会引起路径数量迅速膨胀。本文通过结合制导技术和状态合并技术,缓解符号执行中循环和递归引起的路径爆炸问题。一方面,使用制导技术分析程序中循环和递归的结构生成制导信息,引导符号执行向循环和递归深处进行,发现隐藏在循环和递归深处的错误。另一方面,使用状态合并技术合并循环和递归中的路径,压缩程序路径空间的大小,缓解循环和递归引起的路径爆炸问题。除此之外,本文还提出了一种可视化方法,定义了描述循环和递归结构的方法,设计了描述循环和递归路径的图形组件,通过图像的方式展示符号执行在循环和递归中的制导过程和执行路径。本文对开源符号执行工具KLEE进行扩展,实现了循环制导和递归制导方法,并在Malardalen WCET程序集、Debie程序、Scimark2.0程序集以及递归程序集上,设计了两组实验来评估循环制导方法和递归制导方法的有效性。该实验以KLEE默认方法为参照,发现在多数情况下循环制导方法和递归制导方法能够提高符号执行处理循环和递归结构的效率,对缓解符号执行中循环和递归引起的路径爆炸问题具有良好的效果。(本文来源于《南京大学》期刊2019-05-20)
谢肖飞,李晓红,陈翔,孟国柱,刘杨[9](2019)在《基于符号执行与模糊测试的混合测试方法》一文中研究指出软件测试是保障软件质量的常用方法,如何获得高覆盖率是测试中十分重要且具有挑战性的研究问题.模糊测试与符号执行作为两大主流测试技术已被广泛研究并应用到学术界与工业界中,这两种技术都具有一定的优缺点:模糊测试随机变异生成测试用例并动态执行程序,可以执行并覆盖到较深的分支,但其很难通过变异的方法生成覆盖到复杂条件分支的测试用例.而符号执行依赖约束求解器,可以生成覆盖复杂条件分支的测试用例,但在符号化执行过程中往往会出现状态爆炸问题,因此很难覆盖到较深的分支.有工作已经证明,将符号执行与模糊测试相结合可以获得比单独使用模糊测试或者符号执行更好的效果.分析符号执行与模糊测试的优缺点,提出了一种基于分支覆盖将两种方法结合的混合测试方法——Afleer,结合双方优点从而可以生成具有更高分支覆盖率的测试用例.具体来说,模糊测试(例如AFL)为程序快速生成大量可以覆盖较深分支的测试用例,符号执行(例如KLEE)基于模糊测试的覆盖信息进行搜索,仅为未覆盖到的分支生成测试用例.为了验证Afleer的有效性,选取标准程序集LAVA-M以及实际项目o SIP作为评测对象,以漏洞检测能力以及覆盖能力作为评测指标.实验结果表明:(1)在漏洞检测能力上,Afleer总共可以发现755个漏洞,而AFL仅发现1个;(2)在覆盖能力上,Afleer在标准程序集上以及实际项目中都有不同程度的提升.其中,在o SIP中,Afleer比AFL在分支覆盖率上提高2.4倍,在路径覆盖率上提升6.1倍.除此之外,Afleer在o SIP中还检测出一个新的漏洞.(本文来源于《软件学报》期刊2019年10期)
刘昭[10](2019)在《基于符号执行的Fuzzing漏洞检测系统的研究与设计》一文中研究指出随着互联网产业的不断发展,软件已经融入人们日常生活的各个方面。生活需求的多样性引导着软件功能的多样性,相关业务的复杂度和源代码数目也逐渐增高。多样性背后的安全问题引起了研究人员的广泛关注,软件的安全问题直接影响着用户的信息财产安全,一旦攻击者通过软件漏洞控制用户的信息财产,将会导致十分严重的后果。所以增强软件安全性变得尤为重要,漏洞检测是增强软件安全性的首要步骤,快速准确的检测到漏洞可以及时降低风险,因此研究漏洞检测技术具有很强的使用价值。本文主要研究基于符号执行的模糊测试技术,探索提升模糊测试效率的有效方法。通过阅读大量文献,总结主流软件测试技术,研究不同软件测试技术的基本原理,对比国内外符号执行与模糊测试的研究成果,探究其优点与不足,总结模糊测试与符号执行的测试过程,为下一步研究工作奠定基础。本文主要完成的工作如下:首先,提出了一种新的基于符号执行的模糊测试方法。本文经过对模糊测试技术与符号执行原理的深入研究,探索如何将模糊测试与符号执行相结合,提出一种新的融合方法。该方法通过预处理筛选出可能存在漏洞的代码块,之后使用模糊测试检测代码块的漏洞,最后使用符号执行技术探索触发路径,生成具体的测试用例。在模糊测试过程中,符号执行还会指导测试用例的生成,降低了基于随机变异生成测试用例的无效性,减少了触发重复漏洞的概率,提高整体测试的效率。其次,本文研究了优化措施辅助测试系统的运行。1)在静态分析中引入危险系数公式,通过多方面危险因素的判定,降低代码块筛选的难度。2)着重优化了模糊测试的变异策略,针对模糊测试执行流程中使用随机变异策略产生大量重复测试用例的问题,提出将基于随机的变异方式与基于语法的变异策略相结合的方式,提高了测试用例生成的质量。3)优化符号执行流程中求解器模块的单一求解问题,研究并行求解器方法,使其能够并行实现多种约束求解的功能。最后,基于本文研究内容实现了原型工具LambFuzz,并对真实环境中的程序进行测试,发现了CVE编号的漏洞,证明了本文研究内容的有效性。同时使用KleeFL、Honggfuzz、KLEE对数据集LAVA-M进行检测,实验结果表明,单位时间内本系统在一定程度上提升了检测速率,从而验证了研究方法的高效性。(本文来源于《北京邮电大学》期刊2019-04-15)
符号执行论文开题报告
(1)论文研究背景及目的
此处内容要求:
首先简单简介论文所研究问题的基本概念和背景,再而简单明了地指出论文所要研究解决的具体问题,并提出你的论文准备的观点或解决方法。
写法范例:
为分析智能家居网关协议转换过程中的能量消耗情况,利用符号执行对路径敏感的特性,提出一种基于符号执行的协议级能耗分析模型。用符号执行将协议转换部分的不可达路径排除,用指令级能耗分析模型对家居网关协议层级的能耗进行分析。在STM32F103硬件平台上,对Modbus/TCP和Modbus/RTU协议进行转换,实验结果表明,该模型计算得到的能耗与实际测量的能耗误差在4.9%左右,能够较准确评估家居网关在协议级的能量消耗,为智能家居网关的低功耗设计提供指导。
(2)本文研究方法
调查法:该方法是有目的、有系统的搜集有关研究对象的具体信息。
观察法:用自己的感官和辅助工具直接观察研究对象从而得到有关信息。
实验法:通过主支变革、控制研究对象来发现与确认事物间的因果关系。
文献研究法:通过调查文献来获得资料,从而全面的、正确的了解掌握研究方法。
实证研究法:依据现有的科学理论和实践的需要提出设计。
定性分析法:对研究对象进行“质”的方面的研究,这个方法需要计算的数据较少。
定量分析法:通过具体的数字,使人们对研究对象的认识进一步精确化。
跨学科研究法:运用多学科的理论、方法和成果从整体上对某一课题进行研究。
功能分析法:这是社会科学用来分析社会现象的一种方法,从某一功能出发研究多个方面的影响。
模拟法:通过创设一个与原型相似的模型来间接研究原型某种特性的一种形容方法。
符号执行论文参考文献
[1].郑华利,刘钊远,田野.一种基于符号执行的测试用例生成方法[J].计算机与数字工程.2019
[2].何香凝,郭荣佐,黄君.基于符号执行的家居网关协议级能耗建模[J].计算机工程与设计.2019
[3].邹权臣,吴润浦,马金鑫,王欣,辛伟.符号执行中的约束求解问题研究进展[J].北京理工大学学报.2019
[4].李超,胡建伟,崔艳鹏.基于符号执行的缓冲区溢出漏洞自动化利用[J].计算机应用与软件.2019
[5].杨超,郭云飞,扈红超,刘文彦,霍树民.基于符号执行的软件缓存侧信道脆弱性检测技术[J].电子学报.2019
[6].梁永隽.基于黑盒抽象的复杂代码符号执行研究[D].南京大学.2019
[7].杨昌鑫.符号执行技术在未知协议脆弱性检测中的应用研究[D].北京邮电大学.2019
[8].许珂磊.符号执行循环和递归制导技术研究[D].南京大学.2019
[9].谢肖飞,李晓红,陈翔,孟国柱,刘杨.基于符号执行与模糊测试的混合测试方法[J].软件学报.2019
[10].刘昭.基于符号执行的Fuzzing漏洞检测系统的研究与设计[D].北京邮电大学.2019