【摘 要】
:
缓冲区溢出漏洞是目前软件面临最严重的安全漏洞。产生缓冲区溢出漏洞有两种原因,一是在软件开发过程中,程序员在编写程序时对缓冲区操作没有进行边界检测;二是在程序中调用
论文部分内容阅读
缓冲区溢出漏洞是目前软件面临最严重的安全漏洞。产生缓冲区溢出漏洞有两种原因,一是在软件开发过程中,程序员在编写程序时对缓冲区操作没有进行边界检测;二是在程序中调用了C标准库中的一些不安全的字符串操作函数,而这些C库函数本身没有对缓冲区边界进行检测,因而造成缓冲区溢出问题。通过对缓冲区溢出原理和各种缓冲区溢出类型的分析,对测试对象进行了形式化定义,并定义了缓冲区状态和缓冲区上的操作。在此基础上建立了一种缓冲区溢出漏洞检测模型,同时归纳四条缓冲区溢出漏洞检测规则和一条缓冲区溢出漏洞检测定理,说明了存在缓冲区溢出的必要条件是程序中定义了指针或数组变量,并且在对这些缓冲区操作时没有进行边界检测,根据缓冲区的状态来判断缓冲区溢出的定理。为了克服在源程序中添加注解的繁重的工作,同时也为了防止执行程序的过渡膨胀而增加运行程序的负荷,根据缓冲区溢出漏洞检测模型,实现了一个缓冲区溢出检测的检测工具。实现过程中根据模型的检测规则判断测试对象中是否存在缓冲区溢出漏洞。检测工具通过对被检测对象扫描来实现缓冲区溢出漏洞检测。检测工具由输入处理、词法分析、语法分析、语义分析和输出五大模块组成。检测工具实现了对指针变量、数组变量、程序员自定义数据类型变量和部分C库函数的缓冲区溢出漏洞检测。研究和实验结果表明,缓冲区溢出漏洞检测工具能有效检测源程序中的指针变量越界访问、数组变量越界访问、结构类型对象越界访问和部分C库函数调用造成的缓冲区溢出问题。能快速检测出大型程序中的缓冲溢出漏洞,具有一定的实用价值。
其他文献
数据库知识发现是(Knowledge Discovery in Databases,简称KDD)是当前涉及人工智能和数据库等学科的一门相当活跃的研究领域,分类是其中的一个重要研究方向。决策树是分类中
仿真技术,特别是计算机仿真技术是一门建立在相似理论、控制理论和计算机技术基础上的综合性与实验性科学,由于它不需对系统进行抽象与简化,通过计算就能模拟系统行为的全过
PID控制器以其自身的优点在工业控制领域应用非常广泛,免疫算法是基于人工免疫理论,在遗传算法的基本框架之上结合免疫算子而形成的一种新型优化算法,本文深刻分析了免疫算法
流程管理是 PDM 系统中实施业务过程管理与过程控制的一项关键技术。为了从整体上提高产品设计的效率,降低设计成本,提高产品业务管理水平和竞争力,需要把产品数据管理技术与
随着中国数字娱乐产业的发展,三维游戏引擎系统已开始成为众多关注和较快发展的VR应用技术之一,然而相对于美国、日本等国家而言,我国对三维游戏引擎技术的研究还比较滞后。
随着计算机技术的迅猛发展,程序设计技术的不断成熟,模块化的设计要求已经不仅仅是出于程序编写规范性上的要求,人们越发的意识到把应用程序设计成一组彼此通信的小片段是比设计
在数据库系统中,查询速度的快慢直接影响到应用系统的生命力,其中连接作为关系数据库模型的一个基本的操作,将在不同的关系上进行,使用频率较高,执行的开销也很大,因此查询优
数据挖掘是目前国际上数据库和信息决策领域最前沿的研究方向之一。由于高维数据日益成为主流,在实际应用中经常会遇到高维数据的情况,对高维数据挖掘的研究有着越来越重要的意
随着互联网的快速发展,扩展标记语言(XML)由于支持半结构化数据,能够自描述、平台无关,已经迅速成为整合异构数据的标准。与此同时,对大量不断涌现的XML数据的有效存储也成为了研
实时数据库中的事务有严格的时间限制,如截止期。传统的数据库系统缺少支持实时事务的机制。为了满足实时数据库系统的要求,必须要有好的并发控制和调度策略。目前对实时数据