缓冲区溢出防御虚拟机的研究与实现

来源 :广西师范大学 | 被引量 : 0次 | 上传用户:guhong_2
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
缓冲区溢出是指向固定长度的缓冲区中写入超出其预先分配长度的内容,造成缓冲区中数据的溢出,从而覆盖缓冲区相邻的内存空间。缓冲区溢出破坏数据的完整性,导致程序运行失败、系统当机,甚至利用它改变程序执行流程执行非授权指令,从而获得被攻击主机的特权以便进行各种非法操作。因此对缓冲区溢出防御的研究,对计算机网络与信息安全、信息对抗有非常重要的理论意义和实用价值。本文指出保护地址信息和状态信息的完整性是防御的关键点,从为用户程序搭建运行时系统环境,以指令最终进入处理机执行为主线,运用虚拟机技术动态检测、控制关键指令和部分系统调用,给出一种基于进程虚拟机动态防御缓冲区溢出的防御方案。本文主要包括以下几个研究工作:1、分析国内外在缓冲区溢出防御方面的研究现状,给出当前防御技术的分类,指出当前防御技术中的不足特别是虚拟机技术在缓冲区溢出防御中的不足。目前缓冲区溢出防御技术的研究可分成静态防御技术和动态防御技术两大类。静态防御技术是指在源程序编译的不同阶段,依据静态库进行程序更改的代码修正技术,它需要高级语言源代码的支持;动态防御技术是对应用软件的运行环境进行修正的上下文检测和更改技术,主要包括地址保护、堆栈不可执行、边界检查和沙箱技术。当前防御存在的问题是:缓冲区溢出防御技术强于有源代码或函数动态调用库支持的防御,而弱于对遗留代码、库替换或更改的防御;在指令进入处理机后,无法动态地对其进行执行逻辑的防御,从而引发安全问题。而目前的虚拟机技术在缓冲区溢出防御中存在看不到溢出过程,控制不住程序的执行流程,且不能记录溢出发生时缓冲区中的数据等不足。2、分析缓冲区溢出、缓冲区溢出攻击、缓冲区溢出防御问题,指出保护地址和状态信息的完整性是防御的关键点,分析并指出进程虚拟机动态防御缓冲区溢出需要关注的几个关键问题。缓冲区溢出主要原因是语言在实现上没有对写内存进行边界检查,加上堆栈具有可执行性,数据可以作为指令使用,某些程序临时具有超级用户权限,某些特殊的系统调用等性质,从而诱发缓冲区溢出攻击,并从用户空间和系统空间角度来分析缓冲区溢出攻击所带来的隐患。本文指出保护地址和状态信息的完整性是缓冲区溢出防御的关键。并把动态防御技术分为基于进程和基于系统二类,重点分析搭建进程运行时系统环境防御溢出所需要注意的关键问题。3、分析并论述缓冲区溢出防御方案的关键技术,指出程序加载、内存布局、指令运行是其中主要的关键技术。首先分析搭建进程虚拟机运行时系统环境所需的关键问题,分别对应不同的关键技术。其次从四种不同的程序加载方案中选取最适合的加载方案,在此基础上,引出内存布局、指令运行、系统调用等关键技术分析。最后给出指令识别和解释的算法描述及其虚拟机设计中常见的全局结构体变量,并对系统调用的解释提出两种不同的解决方案。4、依据以上的关键技术,以基于Intel X86 CPU的Windows操作系统为例,提出一种缓冲区溢出防御虚拟机DBOVM(Defense of Buffer Overflow Virtual Machine)防护缓冲区溢出方案。运用软件工程的思想,设计并实现该系统。5、给出验证目标、验证环境和测试大纲,验证DBOVM达到保护地址信息完整性和防护缓冲区溢出的系统设计目标,并运用一阶逻辑对DBOVM能够正确的防御缓冲区溢出给出理论证明。从试验结果和理论证明分析来看,论文关注的问题及所提出的解决问题的思想在研究上是有效的,设计上是可行的,方案的实现是正确的。最后,给出本文研究工作的总结,并指出下一步值得开展研究的工作内容。
其他文献
在网页信息迅速爆炸的时代,为提高用户的检索效率,对网络数据进行有效的整合成为了一个重要的研究课题。网络数据呈现半结构化状态,如商品数据、博客等,并且数据来自世界各地,语言
本文所研究的网格计算应用中间件,位于GBuilder的最低层面,用于适配封装底层支撑软件,使上层网格计算应用能通过统一标准的接口调用服务实现,而不依赖于特定的底层架构工具箱。具
随着多媒体技术和高速网络的发展,网站逐渐演变为一种多媒体网络应用。视频点播,在线歌曲和电影,IP(Internet Protocol)电话,互联网广播和电视,以及互动游戏都变成了互联网上
本文对定义类问题回答(QA)进行了系统的研究,介绍了一种基于外部资源的定义类问题回答方法。定义类问题回答系统很大程度上依赖于它所采用的知识源,我们尝试利用在线知识库、结
随着计算机网络技术的发展,网络教育作为一种新的教育形式,正在改变传统的教育观念,为教育、教学带来了无限的生机,一套完整、统一、高效稳定的网络教学系统是实现网络教育的
近年来数据仓库技术成为计算技术最活跃的主要领域之一,数据仓库与联机分析处理技术的应用范围十分广泛,包括金融、保险和政府部门等各行各业,可用于客户关系管理和企业资源
人工神经网络以人的大脑工作模式为基础,通过大量神经元的相互作用来体现处理能力。人工神经网络最重要的特点就是学习能力。从本质上讲,人工神经网络的学习过程是一个优化的
协调与协作是多Agent研究的核心问题之一,排队是实现多Agent协调与协作的关键技术。本文的工作主要包括以下几点: 1) 给出了多Agent排队系统的体系结构及构造Agent的基本要
网络安全问题是网络管理中的重要课题,SNMP是应用非常广泛的网络管理协议,但该协议的早期版本安全性不高,SNMPv3版本解决了安全性问题,但由于对现有系统改造的代价太高,因此一直没
“高效率、低成本”是现代物流企业生存之本,其中,运输成本是业务运作成本的重要组成部分。合理进行配送线路优化、提高车辆的配送效率在现代化物流企业中具有至关重要的意义。