Symbolic execution method is one of the hot spots of the research on software vulnerability analysis, which plays an important role in the network information security. Currently, traditional symbolic execution methods exist bottleneck that static symbolic execution has the disadvantage of non-determined references and dynamic symbolic execution has the disadvantage of low execution efficiency and low code coverage. In order to solve these problems of symbolic execution, this project proposed a novel static structural symbolic execution, in which the routines of programs are executed symbolically with a top to bottom way. Symbolic execution inside functions produce function summary set and security property set; then researched several optimization scheme of dynamic symbolic execution, improving on path searching, execution efficiency, and etc.; proposed a static and dynamic combined symbolic execution method to solve the disadvantage of traditional symbolic execution with verifying each other. The results produced by static symbolic execution could guide the dynamic symbolic execution and the execution states in dynamic symbolic execution could improve the symbolic execution. Based the methods presented in this project, we would implement effective and practical vulnerability analysis technique, delivering strict software testing and evaluation, which has high practical value on enhancing the software’s security.
符号执行是软件漏洞分析技术中的研究热点之一,在网络信息安全领域中具有重大意义与实际应用价值。传统的符号执行方法存在瓶颈,表现在:静态符号执行存在非确定引用问题,而动态符号执行方法存在执行效率、路径覆盖率偏低等问题。为解决这些问题,本项目首先提出一种静态结构化符号执行方法,以自上而下的思想对二进制程序的路径格局进行搜索,在函数内部进行符号执行并生成函数摘要集合与安全属性集合;然后重点研究了动态符号执行的多种优化技术,在路径搜索、执行效率等方面均进行了改进;最后提出了动静态有机组合、相互验证的符号执行方法,以静态结构化符号执行产生的结果制导动态符号执行,以动态符号执行的实际运行状态来完善静态结构化符号执行,从而处理传统动静态符号执行各自存在的关键问题。以上述方法为基础,实现一款有效、实用的软件漏洞分析工具,为软件的安全性测试与评估提供技术支撑。
符号执行是软件漏洞分析技术中的研究热点之一,在网络信息安全领域中具有重大意义与实际应用价值。传统的符号执行方法存在瓶颈,表现在:静态符号执行存在非确定引用问题,而动态符号执行方法存在执行效率、路径覆盖率偏低等问题。为解决这些问题,本项目首先提出一种静态结构化符号执行方法,以自上而下的思想对二进制程序的路径格局进行搜索,在函数内部进行符号执行并生成函数摘要集合与安全属性集合;然后重点研究了动态符号执行的多种优化技术,在路径搜索、执行效率等方面均进行了改进;最后提出了动静态有机组合、相互验证的符号执行方法,以静态结构化符号执行产生的结果制导动态符号执行,以动态符号执行的实际运行状态来完善静态结构化符号执行,从而处理传统动静态符号执行各自存在的关键问题。以上述方法为基础,实现一款有效、实用的软件漏洞分析工具,为软件的安全性测试与评估提供技术支撑。.本项目的研究工作基本按照拟定的研究计划展开,主要研究工作和研究成果包括如下几方面:在动态分析方面,提出一种基于执行踪迹离线索引的动态污点分析方法,提出一种精简测试输入及输入关联的动态符号分析技术。在静态分析方面,研究了符号执行中求解器的优化方法,提出一种基于深度学习的PDF样本生成技术,提出一种基于深度学习的二进制代码相似度比对技术。在漏洞分析方面,提出了针对传统漏洞分析中的若干优化方法,提出一种基于碰撞的漏洞利用自动化生成技术。通过本项目的研究,发表学术论文十余篇,相关研究成果在软件学报、清华大学学报、北京理工大学学报、Computer Security、ASE、CCS等重要期刊和会议上发表。申请国家发明专利1项。协助北京邮电大学培养硕士1人、博士生1人。
{{i.achievement_title}}
数据更新时间:2023-05-31
玉米叶向值的全基因组关联分析
正交异性钢桥面板纵肋-面板疲劳开裂的CFRP加固研究
硬件木马:关键问题研究进展及新动向
基于SSVEP 直接脑控机器人方向和速度研究
拥堵路网交通流均衡分配模型
基于动态符号执行的MSVL程序模型检测
基于程序综合的符号执行环境建模方法研究
基于符号执行的并发程序分析与验证研究
面向错误检测的C++程序静态分析技术