逻辑漏洞检测与软件行为分析关键技术研究

来源 :浙江大学 | 被引量 : 0次 | 上传用户:wjk123465
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
计算机与互联网技术的快速发展,带来了一场计算机软件领域的技术革命。从PC时代的单机软件,到互联网时代的分布式软件,再到如今云计算时代倡导的软件服务,计算机软件的应用得到了前所未有的普及,软件已成为当代社会基础设施的重要组成部分,深刻影响着社会生活的方方面面。然而,随着功能特性的不断增强,软件的规模和复杂性也呈现快速增加的趋势,使得传统程序分析手段在软件可靠性和安全性分析领域的应用受到了前所未有的挑战。程序分析(Program Analysis),是指对计算机程序行为的正确性、健壮性、安全性等属性进行自动化分析的过程。目前,程序分析技术被广泛应用于软件的开发与测试过程中,对提升软件质量具有关键意义。从总体上看,当前程序分析技术在软件可靠性与安全性分析方面的应用主要存在以下三大关键问题:  1.超大规模程序中的复杂漏洞检测问题。软件漏洞的本质是代码缺陷,可能受软件设计与实现、硬件架构与执行环境等诸多因素的影响。因此,针对软件漏洞,尤其是以逻辑漏洞为代表的复杂软件漏洞的自动化大规模检测技术依然存在很多问题。由于逻辑漏洞一般与软件的特定功能相关,其隐蔽性往往更强,特征通常也更为复杂,因而缺乏有效的检测手段。正是在这样的背景下,如何设计一种针对逻辑漏洞的准确、高效的检测方法,使其能够适用于超大规模软件,就成为了一个亟待解决的问题。  2.针对软件中第三方异构插件的大规模行为分析问题。近年来,随着移动互联网的兴起,受软件即服务理念的影响,软件的插件化成为了新的趋势。越来越多的软件厂商开始以第三方插件的方式将自己的产品提供给移动开发者。考虑到第三方插件与软件本身在结构和功能上存在的差异性,已有的研究方法尚不能对这类异构插件的软件行为进行有效分析,因此如何为异构的第三方软件插件提供细粒度与大规模的行为分析就成为了一个需要解决的问题。  3.复杂软件行为分析方法的准确性与完整性问题。近年来,随着移动应用程序的快速发展,一方面,代码混淆、动态代码加载技术的广泛应用使得传统的静态分析方法受到了很大限制。另一方面,日趋复杂的用户界面交互逻辑也使得传统动态分析方法的有效性大大降低。考虑到已有的软件分析方法在面对复杂软件时,一般难以做到既兼顾静态分析与动态分析的优点,又避免它们的缺点。因此,需要设计一种针对复杂软件的分析方法,能够在保证高效准确的同时,也具备较高的代码覆盖率与良好的可扩展性。  针对上述三大关键问题,本文做了如下工作:  1.针对现有程序分析方法在超大规模程序中的复杂漏洞检测方面存在的不足,本文基于程序依赖图对复杂逻辑漏洞的模式特征进行抽象,并利用图挖掘的技术原理,提出了一种适用于超大规模软件的逻辑漏洞检测方法,实现了复杂逻辑漏洞模式特征的自动化精确建模与匹配。根据上述方法,本文实现了一个基于API模式特征的自动化逻辑漏洞检测系统,实现了超大规模软件中复杂逻辑漏洞的准确高效检测。实验表明,本文提出的逻辑漏洞检测方法适用于多种平台或架构的软件系统,具备良好的通用性。另外,实验过程中发现的38个0-day逻辑漏洞,也从另一方面说明了该方法的有效性。  2.针对现有研究方法对软件的第三方异构插件进行大规模分析中的不足,本文从移动广告网络这一典型的软件第三方异构插件入手,利用静态分析技术实现了基于广告API的软件行为分析,并总结出了开发者对于不同第三方广告插件的使用偏好,以及用户对不同广告软件行为的喜好。实验结果表明,大部分移动开发者对第三方广告插件的使用持谨慎态度,过多或不恰当的广告行为会引起用户的反感,从而导致开发者广告收益的下降。  3.针对现有程序分析方法在应对复杂软件分析时表现出的效率、准确性和可扩展性等方面的不足,本文结合静态分析与动态分析的优势,设计并实现了一种基于函数调用图的Android应用程序行为混合分析方法。该方法能够对混淆代码和隐藏软件真实行为的应用程序进行准确高效的行为分析,从而提高软件的可靠性与安全性。根据上述方法,本文实现了一个针对Android应用程序的混合分析框架。实验表明,基于函数调用图的混合分析技术能够完整、高效、准确地分析Android应用程序的各种软件行为。相比于单纯使用静态或动态分析方法,其代码覆盖率有显著提高。
其他文献
在各种真实场景和人物动画的虚拟现实应用中,织物模拟都是必不可少的关键环节之一,其模拟效率和模拟效果往往对场景整体的效率和真实感起决定性作用。大量实践表明,实现织物
近年来随着人工智能及通信技术的发展,许多国际科研组织致力于自治网络的研究,希望通过设计全新的自治网络架构,实现网络的自我管理,这样既能满足用户多样化、个性化的业务需
平台自动调平技术广泛应用于军事、工业、科研等领域,对国民经济建设和社会发展具有重要的支撑作用。评价自动调平系统控制性能的主要性能指标有调平速度、调平精度以及稳定
随着信息技术的不断发展,互联网应用在我们的生活中也渐渐地普及起来,信息化生活已经拉开了帷幕。信息化生活能够使人们的生活更加丰富多彩、快捷便利,生活服务信息平台是为
测试数据生成是动态软件测试中的关键环节,它对于提高软件测试的能力有着至关重要的作用。测试数据生成问题吸引了许多学者对其进行研究,人们提出了多种测试数据生成方法(如随机
介词短语形式多样,位置灵活,是汉语中十分重要的短语类型之一。介词短语识别问题一直都是自然语言处理的研究热点,准确识别介词短语可以简化其所在句子的内部结构,缩小中心词
跨入21世纪以来,随着信息技术、计算机技术、网络技术等高科技的不断发展,企业的信息化的步伐也逐渐加快,从通常的手工操作到办公自动化套件的广泛应用,再到各式各样企业管理
随着网络时代的发展,人们对信息资源掌握的增多,导致需要存储的数据量以几何级数在增长,网络带宽的不足、存储资源的紧缺以及等等诸多问题随之而来。解决这些问题的有效手段
随着计算机网络及相关技术的发展与普及,网络购物、网上支付、手机支付等等网络经济操作渐渐走近了大众的生活,网络安全问题已经直接影响到社会经济生活。在网络安全领域,网
随着计算机与信息技术的发展以及相关应用领域的需求,人脸检测与跟踪及其相关技术吸引了众多的研究者,国内外关于人脸检测和人脸跟踪的方法多种多样,并且不断有新的研究成果