基于GCC的缓冲区溢出检测研究

来源 :哈尔滨工程大学 | 被引量 : 0次 | 上传用户:caifh8706
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着网络的蓬勃发展,计算机软件得到了长足的发展,它在社会的各个领域得到了广泛的利用。同时,这些软件程序存在着一些安全漏洞。缓冲区溢出漏洞就是最明显的一个。本文基于GCC编译器,在深入研究分析静态检测、动态检测方法基础上,提出两种方法结合的的缓冲区溢出漏洞检测方法。静态检测方法参照了整数对与建模分析方法,提出对每个缓冲区s绑定两个属性alloc(s)与len(s)。它跟踪每个缓冲区的两个属性alloc(s),len(s)从而判断是否发生了缓冲区溢出。动态检测方法首先实现了分离局部变量的双栈结构。其次,在双栈结构基础上实现了动态检测,这样可以防止多个函数之间的局部变量发生覆盖。最后,将局部变量重新排序,这样可以防止单个函数的局部变量内部发生覆盖。本文通过修改GCC的语法分析文件,在函数调用和赋值语句这两块实现了静态检测方法。实验表明,它可以检验出简单的指针操作所引发的缓冲区溢出问题。通过修改GCC的RTL中间结构以及多个前端文件而最终实现了动态检测方法。实验表明,它可以在发生溢出时候终止程序。由于时间有限,重新分配局部变量这块没有在实验中验证。
其他文献
随着互联网信息以指数级别增长,目前数字信息已呈现数量庞大、类型繁多、更新迅速等发展趋势。根据Forrester Research的统计资料,目前全世界数字信息量每年以数量级1018。字
近年来,随着我国高等教育的不断发展及学校对外交流活动的日益增多,给校园安全带来了很大影响。为加强“平安校园”的建设,各高校采取保安巡查、安全制度制订等措施,但是由于
随着互联网技术的发展,子空间学习已经成为机器学习、数据挖掘、模式识别等领域的研究热点。高维数据难以使模型得到理想的学习效果。子空间学习旨在通过计算高维空间中样本
纤维缠绕成型的玻璃钢制品作为一种新型材质,是由缠绕机缠绕成型后,用树脂胶固化、脱模后形成的产品。与传统金属材质相比具有许多突出的优点和优良性能,因此被广泛地应用到
随着互联网的不断发展和日益普及,互联网上的信息也是增长快速,全世界的网页数量也高达40亿左右,在我国的数量也超过了3亿左右,与此同时搜索引擎的作用越来越显的极为重要,但
新闻视频中的字幕文字通常含有新闻人物人名,新闻事件主题等很重要的信息。新闻视频字幕文字作为一种高级语义信息,对新闻视频内容的理解、索引具有重要作用。本文研究的是新
随着时代的飞速发展,生活节奏的不断加速,生活的压力也随之加大,对当代人们的心理健康造成了严重影响。军人由于军事生活高度统一,组织纪律严格,并随时可能执行应急军事任务,
随着网络的普及,基于分布式环境的应用系统已成为当前应用软件的中坚力量。但在分布式环境下,由于系统的运行效率依赖于各服务器的配置和网络状况,即使在目前计算机硬件性能
随着软件服务领域的不断拓展、软件研发技术的不断进步,面向对象技术已经成为了软件分析与设计的主导技术。然而与之相应的软件测试技术的发展却是滞后的。因此,本文将围绕面
长期以来,型号软件的研制生产效率过低、周期过长、成本过高、风险难以控制,已成为制约武器装备更新换代速度、降低武器装备生产效率的关键因素。采用代码自动生成的方法可以