COM组件栈缓冲区溢出漏洞检测技术研究

来源 :华中科技大学 | 被引量 : 0次 | 上传用户:e56urty
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
为了解决软件复用,缩短软件开发时间,降低维护成本和实现程序动态升级,软件设计领域产生了组件化程序设计结构,并且日益成为发展趋势。微软的COM组件对象模型是当今比较成熟的软件组件模型之一,被广泛应用于Windows操作系统和应用程序中。随着COM组件技术的大量使用,COM组件暴露出越来越多的安全问题,其中,缓冲区溢出安全问题占了很大比例。缓冲区溢出漏洞一直是安全漏洞最常见的一种形式。缓冲区溢出问题主要出现在C/C++这类非类型安全语言中,而在新一代的编程语言,例如Java、C#中不存在。一个重要的原因就是C/C++允许通过指针进行间接内存访问但没有缓冲区边界检查和提供了大量对缓冲区可能存在不安全操作的库函数,在Windows操作系统中也存在类似的函数。因此,如果能采用有效的手段对COM组件的缓冲区溢出漏洞进行检测,将能极大地提高组件软件的安全性。根据COM组件多数情况下源代码未可知的测试特点,基于COM组件的二进制代码实现对其可能存在的栈缓冲区溢出漏洞的检测。检测方法是将检测缓冲区溢出问题转化为整数范围分析问题。建立适用COM组件的危险函数库,在汇编代码中识别危险函数的调用位置,然后根据危险函数参数的类型通过扫描识别不同的缓冲区,将声明的缓冲区大小和使用的缓冲区大小等价为整数范围,依据制定的缓冲区溢出标准检测溢出漏洞。根据COM组件使用虚表定位函数的结构特点,实现了COM组件中用户函数的精确定位;同时利用IDC脚本语言提取了COM组件中的函数依赖关系图。基于以上工作,实现了一个COM组件栈缓冲区溢出漏洞检测原型系统。
其他文献
学位
互联网时代的来临,使得各种电子文本数据急剧增加,如何快速有效地获取、管理和使用这些文本数据,己经成为信息系统学科迫切需要解决的重要问题。而文本分类技术是信息处理技
软件系统的分析和设计是软件生命周期中最关键的环节,一个成功的软件系统必然建立在良好的分析和设计基础之上。统一建模语言(Unified Modeling Language,UML)是一种绘制软件蓝
网上考试系统作为一种考试的技术手段,以其不受时间和空间限制、对于考生更为公正客观等特点,成为被广泛应用的考试工具。近年来,网上考试系统的研究热点和难点主要集中在智
目前,随着电子化程度的加深,移动通信市场竞争的不断加剧,数据仓库和数据挖掘作为一门新兴的科学技术,越来越受到国内外学者的研究应用,其范围和价值也越来越大。 本文对数据仓
随着医院信息化系统的普及,在临床诊断过程中产生了大量的医学资源,如患者的个人信息、检查信息、诊断报告和影像信息等。它们可以为医院提供诊断资料、教学资源,研究题材,甚
随着网络通信的飞速发展,路由优化显得越来越重要。最常用的IGP路由信息协议OSPF己经逐渐取代了RIP,得到了世界上绝大多数厂商的支持。因此,研究OSPF网络具有重要的现实意义。
随着表面组装技术(Surface Mounting Technology, SMT)向更高密度、更小尺寸、更复杂的印刷电路板(Print Circuit Board, PCB)混合技术的纵深发展,在电路板的装配过程中,作为
机动车技术状况良好是车辆行驶安全的基本保证,其安全性能检测是保证车辆技术状况的重要手段。目前,应用现代化的传感技术、计算机及网络通信技术开发集成化的智能系统成为汽
农业信息化是建设社会主义新农村的必由之路。我国在农业信息化建设取得长足进步的同时也出现了一些问题。主要是因为目前我国农村基础设施尚不完善,而且农民普遍还不富裕,购