基于静态分析的软件内存漏洞检测

来源 :北京邮电大学 | 被引量 : 3次 | 上传用户:nhk1970
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
伴随着移动互联网的快速发展,越来越多的软件被应用在我们的生活中,软件的安全性却一直是一个亟待解决的问题。在C语言这样的显式分配和释放内存的编程语言中,内存安全漏洞的检测一直是C语言软件测试的难点和重点。但是目前的静态检测器普遍存在误报率大的情况。因为当前的符号执行内存模型的模拟内存的能力有限,无法完整的表示内存的层级关系和复杂数据结构的存储关系,导致静态检测器获得的信息不足,而产生过多的安全漏洞误报。本文提出层级内存模型以解决静态检测系统无法充分表示复杂C语言数据结构的问题,并基于此模型构建了一套静态检测框架,用于检测内存泄露安全漏洞和内存访问越界安全漏洞。具体工作为:(1)对比了当下静态检测系统中的各种主流内存模型算法的优缺点,提出了一种新型的可以表示内存层级关系的内存模型,以此来提高代码静态检测系统的检测效率。(2)在新型内存模型的基础上构建了一套静态检测系统,用于检测程序中的内存安全漏洞,包括内存泄露、数组访问越界、缓存区溢出等典型的内存安全问题。系统通过符号执行技术,并结合了内存模型算法,搭建了一套针对内存漏洞检测的可配置、可拓展、可添加自定义检测器的静态检测框架。(3)通过分析内存安全漏洞的产生特点和发生场景,设计并实现了内存泄露漏洞检测器和内存访问越界漏洞检测器,并使用这些检测器分别对测试用例代码和实际工程代码进行检测。(4)将实验用例的检测结果与其他静态内存漏洞检测工具的检测结果进行比较,分析新型内存模型的优点和不足。实验结果表明,新型层级内存模型平均可将静态检测器检测结果的误报率降低40%。
其他文献
OSEK/VDX是汽车电子行业的重要标准,其中的通信规范OSEK COM是ECU之间和ECU内部传递信息的统一平台。OSEK COM可以基于CAN总线实现,但具体接口和行为在现有规范中没有定义。
孔子创立的"从游"式教育传统的核心精神在于,学生在跟从教师游学过程中亲身体验并分享其治学经验、探究精神和人格风范,逐步成长为创新人才。孔子开创并实践的从游式教学方式
TF·IDF作为一种简单、直观、处理速度快的文本特征加权方法,在文本分类中得到广泛应用。但是这种方法简单地认为文本频数少的单词就重要,文本频数多的单词就不重要,使它不可
自动化单元测试是保障通信类软件质量的重要手段,业界没有什么普适性方法。但通常是借助于第三方工具。本文介绍的Testbed测试工具套件是通第三方认证公司认可的安全软件测试
随着社会的发展,越来越频繁的公共危机事件给国家和人民带来巨大的伤害,培养危机意识刻不容缓。本文透过公共危机事件说明培养危机意识的重要性和紧迫性,指出亟待培养危机意
目的探讨CT立体定向辅助内窥镜技术的临床应用价值。方法回顾性总结2009年1月至2013年2月间收住院并行CT辅助内窥镜立体定向术的24例病例,颅内病变活检8例、脑肿瘤切除6例、
<正>"最高时薪2.5万元,月收入20多万元。"在惊讶的同时,人们发现正是依靠互联网技术,重新定义了教师、教室和教学资源,成就了"网红"教师,也成就了在线教育千亿元的市场前景。
目的从细胞凋亡角度研究葛根素治疗肾缺血/再灌注损伤的机制。方法用肾动脉钳夹法建立大鼠肾缺血再灌注损伤模型,治疗组于肾缺血/再灌注前应用葛根素30 mg/kg静脉注射;采用原
城镇化促进了农村的发展,但却是农村的生态环境问题日益严重,农村生态环境问题已成为一个不可忽视的问题,制约着我国城镇化的进程;目前我国农村的环境治理模式落后,非政府部