二进制代码安全性分析

来源 :中国科学技术大学 | 被引量 : 0次 | 上传用户:xcn1980
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
代码安全在计算机系统中占有重要的地位,针对软件源代码进行安全性分析的工具和方法大量出现,对加强软件的代码安全起到了很好的作用。然而大量使用的商业软件是以二进制代码形式存在的,这使得以源代码为分析对象的软件代码安全分析技术无能为力。二进制代码作为软件的最终表现形式,在现阶段也是很多软件的唯一表现形式。研究针对二进制代码进行安全性分析的方法和技术是有意义的。源代码安全性分析以静态分析为主,而二进制代码安全性分析以动态分析为主。本文比较全面地分析了以二进制代码为分析对象的代码安全性分析技术面临的挑战和迎接这些挑战所做的努力和可行的技术方法,介绍了pin和valgrind所使用的二进制动态插装的动态分析技术以及BitBlaze采用的动静结合的动态fuzzing技术,着重分析了动态fuzzing技术的不足,讨论了常见的语义结构及漏洞模式在二进制代码上的表现形式。在此基础上,将源代码安全性分析中广泛使用的符号执行技术用于二进制代码的安全性分析,提出了动态分析和符号执行相结合的二进制代码安全性分析技术。二进制代码分析具有很大的困难,常见的漏洞模式在二进制代码上的表现形式难以确定,尤其是难以精确判断栈上缓冲区的边界;二进制代码提升过程中一些指令无法解析,甚至会出现跳转地址不合法之类的结构性的错误,使得后续的分析精确性降低。本文实现了一个动态符号执行的二进制代码安全性分析的原型工具bats,实验结果表明将动态分析和符号执行技术结合起来对二进制代码进行安全性分析是可行的,在符号执行时对潜在漏洞进行充分分析的前提下,可以防止动态fuzzing技术由于测试不充分造成的漏报。
其他文献
随着Intemet和计算机技术的飞速发展,数据库的应用越来越广泛。数据库作为信息系统的核心组成部分,担负着存储和管理大量数据的任务,同时也面临着各种各样的威胁。虽然数据库系
在无线视频通信领域,随着新的调制技术和新的传输协议的不断发展,无线视频传输变为可能。视频监控融合了这些技术,得到了广泛的应用。本文结合实际应用,给出了一种海上无线视
随着软件行业的飞速发展,人们也越来越认识到传统软件集成的不足。近年来,随着敏捷开发思想的兴起,人们也逐步的认识到持续集成的价值,持续集成是一个软件开发的实践,即团队
基于被动测量的网络性能测度的研究以及服务质量评估模型的设计,对于网络管理员了解网络服务质量的具体情况具有重要的意义。近年来,SLA作为网络服务质量评估的普遍手段,被各大
目前在各类企业信息系统、特别是高校信息系统应用中,经常会遇到一类新的应用需求,用户经常会随机地突然需要查询某些特定信息,这些查询需求给当前信息系统带来了新的挑战。
本硕士论文对SUPANET流量控制技术进行了研究。SUPANET(单物理层用户数据交换平台体系结构)是由四川省网络通信重点实验室提出的下一代网络体系结构,其基本思想是将所有必须
随着数据库以及其管理系统的广泛应用,数据库中存储的海量数据急剧增大。因此,频繁模式和多关系数据挖掘已成为数据挖掘中快速发展的重要研究课题。现实数据通常存储于由多个关
肝脏的解剖分段是肝脏规则性切除术和活体肝脏移植术的理论基础,肝脏的自动化分段则可以加快分段速度以及分段的准确度。如何利用CT数据获取肝脏的相关信息,实现自动化分段,并开
由于现实生活中存在海量无标签的数据样本,如果单纯依靠人工对这些无标签数据样本进行标签的话,花费代价通常会很高。如何以最少的代价给这些海量无标签数据样本进行标签这一难
过程纹理生成一直是计算机虚拟现实领域中一个至关重要的问题,它主要用于模拟自然界中常见的大理石、云朵、树木表皮等纹理。大多数的过程纹理都是基于某类噪声函数的,本文采