Windows程序完整性检测研究与实现

来源 :南京大学 | 被引量 : 0次 | 上传用户:xuebin0523
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
计算机安全建立在保密性,完整性和可用性之上。保密性是指对信息或资源的隐藏。可用性是指对信息或资源的期望使用能力。完整性指的是数据或者资源的可信度,通常使用防止非法的或者未经授权的数据改变来表达完整性。Windows系列操作系统在当前桌面操作系统中占据绝对统治地位。而Windows操作系统的安全问题却不容乐观,数据显示Windows操作系统下的安全问题成上升趋势。本文将从完整性的角度分析Windows操作系统下程序的安全,并实现其中的关键技术。   本文通过对Windows操作系统下的程序完整性研究,将Windows下程序的完整性受到的攻击进行分类。从完整性破坏的时间上分,可以分为静态完整性破坏和动态完整性破坏。动态完整性从程序的组成粒度上进行分类:从基本块和控制转移指令的粒度考虑程序的完整性为控制流完整性;从函数的粒度考虑程序的完整性为函数完整性;从模块的粒度考虑程序的完整性为模块完整性。本文所研究的重点是Windows应用程序的动态完整性。   通过研究现有完整性检测技术的基础上,设计了一个基于Windows内核的程序完整性检测系统,从不同粒度对Windows的完整性进行检测。分为五个主要模块:反汇编模块、控制流检测模块、函数完整性检测模块、外来模块检测模块、内核保护模块。   反汇编模块采用的是一种静态反汇编和动态反汇编结合的反汇编技术,最终得到二进制代码的控制流图。   控制流检测模块通过Windows操作系统合Intel处理器的调试异常机制来实现的,检测程序的每一次跳转的合法性。   函数完整性检测模块则是根据内核的数据结构获得客户程序的模块信息,扫描模块的导入导出函数表,以及通过重定位表的修改来比较磁盘文件和内存模块中函数体的差别来检测函数的完整性。   对于外来模块的检测:使用了检测注册表项的方式来检测使用注册表来插入动态库;对于使用挂钩来插入动态库,主要是通过内核线程的钩子链表和桌面的全局钩子链表来检测已经挂钩的消息钩子,通过拦截NtUserSetWindowsHookEx来阻断新钩子挂钩客户进程。   内核保护模块以保护内核的完整性来保护其他检测模块。   实验结论证明了本文提出的Windows下程序完整性检测系统的准确性和有效性。
其他文献
本文首先概要地介绍了汽车电子领域的焦点——CAN/LIN总线技术,并结合基于重型卡车的CAN/LIN总线整车仪表控制系统的研发工作,从其机理、总体结构的研究到软硬件的开发设计、
随着Lntcrnct技术的迅猛发展,对人机之间,尤其是机器与机器之间的交互需求越来越多。具有松耦合性,自我描述以及XML文档驱动等特征的Web服务技术作为一种新型的分布式计算模
学位
网格是继Internet后的新一代信息基础设施,是新一代软件基础支撑平台。网格环境开放、动态、多变,其用户多样,用户需求多样且不断变化。面对网格新形势,研究如何构造可随网格环境
广告检测与识别技术是指利用计算机对广播电视节目中出现的广告进行自动检测并识别。由于音频广告检测与识别和相应的视频处理相比,效率更高,因此本论文将重点关注音频广告检测
目前,中职学校学生就业难,这是众所周知的。在“双向选择”“自主择业”过程中,既有成功的喜悦,也有无可奈何的叹息。在这方面,无奈和叹息的多半是中职毕业生。对此问题,教育专家提
现代汉语介词(以下简称为介词)是现代汉语语法词类中的一个重要类别,没有实在的词汇意义,但是介词却是汉语语句中重要的语义信息标记,对汉语的词义消歧、语义分析等工作提供帮助
伴随 Web的飞速发展,其带来的问题也日益显现,Web内容中出现了各种各样的不良信息,已经开始侵入人们的生活,严重玷污了网络环境,有悖于和谐社会的理念。由于很多 Web没有传统
基于网页的数据挖掘研究已经取得了很多成果,但是基于文件共享系统的文件数据挖掘方面的研究还是一片空白。Maze系统是有中央控制结构的F2P网络文件资源共享系统,它共享着海量
作为一类用于知识表示的形式化工具,描述逻辑在语义Web中扮演着关键角色,成为了W3C推荐的Web本体语言OWL的逻辑基础。描述逻辑的主要特点,在于具有清晰的模型-理论语义,在提供了
随着基于Internet的应用的延伸,面向服务的计算(Service-Oriented Com-puting,SOC)应运而生,其目的是有效解决在分布、动态和异构环境下,数据、应用和系统集成的问题。Web服务是