基于行为建模的漏洞自动挖掘与利用

来源 :国防科技大学 | 被引量 : 0次 | 上传用户:txiu4hbky
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
现如今,软件的数量和代码量呈爆炸式增长,随之而产生的安全性问题也引起越来越多的关注。程序员的一个不经意的小错误可能会引发严重的后果,影响到软件运行的稳定性和用户使用的安全性。由于许多程序员缺乏一定的代码编写的安全意识,或者单纯追求功能上的满足性,所以容易产生错误的代码逻辑或者忽略对输入的合法性判断。就目前来看,格式化字符串、栈溢出和堆缓冲区漏洞仍然是主流的漏洞类型,这些类型的漏洞不仅出现率较高,还容易被利用而造成进一步攻击。这些漏洞不仅可能存在于新编写的代码中,也可能存在于陈年老代码中,而且随着软件的代码量越来越大,以及软件供应链越来越复杂,漏洞逐渐呈现出多样性和隐蔽性,人工越来越难以挖掘到有价值的漏洞。同时,在复杂的软件中,人工构造利用需要考虑实际环境所具备的各种条件,漏洞利用也要求人对计算机底层、程序运行等知识有较深的理解,因而手动构造利用脚本变得越来越困难,构造利用的速度也越来越慢。这两个因素导致软件漏洞的自动化挖掘与利用成为当前研究的热点。通过对当前的漏洞自动挖掘与利用技术进行研究,发现目前的技术存在对漏洞的分类不够明确,对漏洞的利用不够直接有效,以及缺乏对复杂类型的漏洞利用的研究等几个问题,同时对当前的技术进行对比,最后采用符号执行技术,对格式化字符串漏洞、栈溢出漏洞和堆缓冲区漏洞的行为进行建模,当发现漏洞时即可确定漏洞类型,然后根据漏洞特征和程序特征进行自动化利用或生成利用方案。本文实现了一个完整的漏洞自动挖掘、利用与防护的系统。本系统采用fuzzing和符号执行技术,根据漏洞行为模型,能够有效挖掘出格式化字符串、栈溢出和堆缓冲区漏洞,并采用符号执行技术生成相应的exp或利用方案,最后根据漏洞的类型和特征,生成相应的补丁程序。与已有研究不同的是,本系统涉及到对堆缓冲区漏洞的自动利用研究,并且在利用成功后修补漏洞,本系统还能对静态编译的程序的函数进行准确识别。本系统对20个包含漏洞的32位x86程序进行测试,总共发现16个漏洞,并生成了 10个程序的exp和利用方案,对14个程序生成了补丁,最后在实用性测试中发现21个真实软件漏洞。
其他文献
随着软件系统的日益庞大与复杂,软件开发中存在着大量的重复行为,这些行为存在于软件开发过程中的分析、设计、编码、测试等各个阶段,因此为了把软件开发的成本降低,提高软件
近年来,人口老龄化趋势明显,慢性病患者数量急剧上升,医疗资源紧缺,医患关系紧张等社会问题越来越严峻,严重阻碍了社会的发展和降低了人们的生活质量。无线体域网(Wireless B
随着计算机和网络技术的不断发展,使得高速列车运行控制系统(简称高速列控系统)的功能更加复杂、交互更加频繁,同时也给系统的危险分析带来巨大挑战。而目前应用的基于头脑风
光纤传感器具有灵敏度高、结构简单、抗电磁干扰能力强和适应大范围监测等优点,在民航机场周界安防中有着重要应用前景。但在数据采集和信号识别过程中,存在系统工作环境复杂
近些年来,多智能体系统广泛应用于民用、商用以及军事等领域,多智能体系统的分布式协同控制问题广受关注。包含控制作为多智能体系统协同控制的一个基本问题,对其进行研究具
高速铁路建设对现代交通方式的发展发挥着重大作用,为有效控制路基沉降、节省土地资源、保证行车顺利,高铁桥梁中大多以桥代路。对于高铁桥梁,桥梁布跨在方案设计过程中是一
近年来,人工智能技术逐步渗透到生活的各个方面,人们的生活因人工智能而发生着日新月异的变化。基于深度学习的实时行人检测技术作为人工智能的基础应用,为安防、自动驾驶、
现代社会,预测人群场景中的群体行为,得到多个人群之间交互的未来轨迹已经成为复杂场景下的研究热点,在计算机视觉等领域中引起了广泛的关注,基于现有的轨迹预测框架,结合各
目前,在我国轨道交通中,电力牵引交流传动控制技术已经得到普遍应用。在系统开发过程中,国内外的很多科研机构使用基于“能量互馈”的牵引及电气制动试验平台,检验所设计的列
随着复合材料的快速发展以及飞行器轻量化小型化的要求,除了需要设计更多与飞行器共形的天线元件,以减少突出结构天线形式对空气动力学的影响外;同时还需要赋予天线结构具有