COM组件内存泄漏动态检测技术研究

来源 :华中科技大学 | 被引量 : 0次 | 上传用户:yuqiang521
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着组件技术的发展,基于组件的软件开发逐渐成为软件工程界的应用研究热点。组件,特别是第三方组件的广泛使用,大大提高了软件开发的效率,降低了软件开发成本。然而,组件开发中存在着不可忽视的安全性隐患。这些安全性隐患很大部分是由于内存错误引起的。内存泄漏是内存错误最常见的一种形式。当前大部分内存泄漏检测技术和工具属于白盒测试。而COM组件在多数情况下难以得到源代码,不能使用白盒测试技术。因此有必要研究COM组件内存泄漏检测技术。COM组件的内存泄漏检测方法从宏观和微观两个方面实现COM组件的内存泄漏检测。首先通过基于内存管理的宏观检测技术获取组件运行时所在进程内存消耗的变化序列,从而得到组件运行时内存变化趋势图。通过分析该内存变化趋势图可以确定是否存在内存泄漏问题。此外,还可以确定是否存在其它资源泄漏问题。然后通过基于HOOK技术的微观检测技术截获COM组件内存操作函数。将自定义钩子函数注入到组件运行所在的进程空间替换原来的内存操作函数。当COM组件调用系统内存操作函数时,将跳转到自定义的钩子函数的地址,调用钩子函数。所构建的钩子函数不仅可以检测到内存泄漏的发生,还能获得相应的函数调用堆栈。根据函数调用堆栈可以对发生内存泄漏的函数予以定位,并能得到内存泄漏过程的详细信息。在一个组件安全性测试原型系统CSTS中实现了上述方法。实验表明,该方法能够检测出COM组件中的内存泄漏错误。
其他文献
工作流技术的不断发展,使其应用领域也不断扩大。科学工作流作为一种有别于传统工作流的工作流类型正成为当前学术界研究的热点。科学工作流为了给科学家提供高效的数据管理和
ICT(Information and Communication Technology)是信息与通信技术相融合而构成的一个新的概念和技术领域,信息服务提供商和电信运营商对发展ICT业务已经达成了共识。在“向
随着企业信息化的普及,业务流程管理系统在企业中的应用越来越广泛,然而,业务环境的动态变化,企业实际业务执行的时间限制给业务流程本身的管理能力,建模能力带来的新的挑战。首先
随着互联网中信息的爆炸式增长,搜索引擎在人们生活中的作用越来越重要,人们对于搜索结果精度要求的提高,使得面向特定领域的垂直搜索引擎的诞生了。对于服务于垂直搜索引擎
随着Internet的飞速发展,Web上可用的Web服务越来越多,如何从庞大的服务群中获取满足需要的服务成为值得关注的问题。然而传统的Web服务发现技术是在语法描述的基础上,通过关键
学位
面向对象技术(OOP)很好地解决了软件系统中单个业务功能的模块化问题,但其对于横切关注点问题没有提供很好的解决方法。面向方面技术(AOP)正是对面向对象技术在这一问题上的
随着互联网技术的迅猛发展,如何保证网络的安全与畅通是网络维护所面临的一个重大课题。网络测试仪是网络安装与维护人员进行网络安装与维护测试的重要工具。目前,网络检测工
随着软件技术的快速发展,面向服务的软件作为一种新型的软件应用模型正受到越来越多人的追捧。在对面向服务的软件体系结构的深入研究过程中,诞生了许多以服务构件为粒度的构
业务规则是否被有效管理,以及是否能够达到正确、一致和完备的要求,一直都是困扰企业的问题。要利用业务规则对业务系统进行分析与建模,规则本身的一致性与完整性分析就显得非常