针对漏洞攻击的二进制签名生成

来源 :南京大学 | 被引量 : 0次 | 上传用户:Whoafraidwh0
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件公司控制软件成本和追求利润的本质,软件开发从业人员的疏忽,以及软件测试的不可穷举性等,都造成了程序漏洞的不可避免性。其中最常见的是与非法篡改内存相关的程序漏洞,包括缓冲区溢出漏洞、格式化字符串漏洞、整型漏洞等的。  程序漏洞攻击的表现包括控制流攻击和数据流攻击,其中控制流攻击是指通过篡改函数返回值、函数指针等来劫持程序执行流程,数据流攻击是指通过篡改判断相关数据、用户身份数据等与程序执行控制流无关的数据以造成程序执行异常甚至控制程序执行的攻击。针对这两种攻击形式,安全研究人员提出了很多生成程序签名的方法。已有基于模式匹配的方法,基于程序执行控制流图的方法和基于动态内存染色的方法都具有不同程度的漏/误报率或运行开销。  本文设计、实现并测试了针对控制流攻击和数据流攻击的二进制程序签名,并生成了针对控制流攻击中对函数指针攻击的二进制程序补丁。针对漏洞攻击,方法首先将二进制可执行文件转化为一种中间语言VEX格式;然后在程序运行时对外部输入数据进行染色,并追踪记录外部输入数据的传播路径;最后在检测到程序崩溃后,后向分析程序崩溃点和外部输入数据之间的关联以定位漏洞触发点,并将漏洞触发指令和漏洞关联信息作为程序签名生成。漏洞触发指令和相关漏洞定位信息还可作为程序补丁生成。  我们在Linux平台上,基于二进制动态分析工具Valgrind及其上的染色增强工具Flayer实现了原型系统。使用具有常见内存漏洞的程序来测试系统的有效性和性能损耗。实验结果证明我们的方法生成的程序签名能够有效地检测相同的程序攻击,程序补丁也能有效地使程序在运行时跳过对程序漏洞的触发,并且方法具有很低的执行开销。
其他文献
在大规模网络分发方面,CDN(Content Delivery Network,内容分发网络)占据主导地位,将内容发布到最接近用户的网络边缘,使用户可以就近取得所需的内容,解决了由于网络带宽小、
IDC2009调查报告表明,近年来飞速发展的互联网技术导致了数字信息的总量迅速增长,数字信息的组成也由传统的结构化数据偏向于非结构化数据,其中有70%~85%是图像、音频、视频等非结
随着计算机、多媒体以及网络技术的飞速发展,以及各种压缩技术和大容量存储技术的不断出现,以图像、声音和视频为主要内容的多媒体信息迅速成为信息交流与服务的主流。如何有效
随着IP技术的发展,流媒体技术和P2P技术被结合起来构成了一种可持续发展的网络服务——P2P流媒体。近年来电信核心网络的发展,需要一种能和IP网络相结合的可运营、可管理的在
随着油田勘探开发难度的不断加大,以及数据量的日益庞大,传统的油田技术已难以满足工程的需要,将油藏地层模型真实、形象地再现在计算机上,了解油层分布结构,以提高油藏采油率势在
量子程序设计语言是用于书写量子程序的语言,自1996年出现以来,颇受业界重视,它已经成为量子计算领域研究热点之一。  本文在明确研究宗旨、简述几种有代表性的量子程序设计语
错误定位技术因其重要性与困难性已经受到软件工程研究者的广泛关注,许多研究者提出了各种各样的错误定位方法,但都未能很好地解决软件的错误定位问题。针对错误定位,研究人员提
云计算是近年来广泛使用的一种能够将动态伸展的虚拟化资源通过互联网以服务的方式提供给用户的计算模式。在云计算中,业务运行在远程的分布式系统上,这个分布式系统由互联网
现代社会竞争激烈,人们对知识的更新与获取有了更高的要求,同时,计算机网络及信息科技的蓬勃发展带动了在线学习的浪潮。而作为一项非盈利性事业,为了能够持续开展大规模的在
随着移动通信业的发展以及计算机网络的成熟,融合通信的概念开始被人们提及,并逐渐成为了一种新的通信模式。融合通信,即融合计算机网络与传统通信网络于一个网络平台上,以实