软件属性保障中的源代码静态分析技术研究

来源 :中国科学院软件研究所 | 被引量 : 0次 | 上传用户:cqcqtc
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着硬件性能的不断提升,计算机正在被赋予越来越艰巨的任务,运行其上的软件作为沟通人类思维和底层硬件的桥梁,其重要性日益增加。与此同时,软件系统的规模也在不断变大,所涉及的逻辑也更为复杂,这导致开发人员难免会由于疏漏在软件设计实现的过程中引入缺陷、埋下隐患。所以,如何检验、确保软件的属性就成为时下一个亟待解决的热点问题。而在此背景下,源代码静态分析技术由于恰好可以弥补现有测试方法的不足,已经开始在这一研究领域崭露头角。有鉴于此,本文为了推进安全信息系统的研发,分别围绕源代码静态分析技术在软件属性保障中两个最主要的应用场景展开研究,涉及高等级安全操作系统开发过程中的源代码自动化审计,以及分布式信息系统中平台间互信建立时针对软件属性所进行的远程验证,其中,前者是为从深度上将现有安全操作系统向更高等级推进提供助力,而后者是为了从广度上将信息安全领域现有的围绕单机平台的研究成果向分布式架构推广建立基础。具体来说,本文选择针对编程接口规范的一致性检验和应用静态分析的软件属性远程验证作为研究的切入点,探讨了应用源代码静态分析技术检验、确保软件属性的方法和用途,主要取得以下几个方面的成果:   第一,本文给出了一个基于值等价类的别名分析方法。该方法依据相关的传值操作维护一个值等价类空间,可以在编程接口规范一致性检验的过程中按需推导变量符号间的等值关系,不仅有能力支持上下文相关、路径相关的全局分析,还可以有效应对C代码中因结构、指针等构件所衍生出来的大量变量符号。   第二,针对大部分现有代码静态分析工具分析规模受限的问题,本文围绕编程接口规范的一致性检验给出了可以与别名分析有效结合的性能优化方案。该方案不仅能通过剔除与分析无关的执行分支和引入缓存机制提高分析效率,还可以尽量确保分析的准确性少受影响。   第三,作者设计、实现了一个C代码静态分析工具ABAZER(A BugAnalyZER)。该工具可以依据用户使用有限自动机模型描述的编程接口规范,对操作系统内核级别的软件进行全局分析,指出代码中可能有悖于规范的部分。我们使用ABAZER实际考查了FreeBSD内核中锁机制以及GCC4.x中库GNULibiberty的使用情况,从中发现了若干真实的缺陷。   第四,本文针对现有应用可信计算技术、基于完整性信息进行远程验证的方案在灵活性和实用性上所存在的不足,给出一个扩展方案。该方案通过引入虚拟机技术,在软件构建过程中收集举证信息,应用静态分析方法分析软件功能模块间的相关性,划分出与验证相关的模块,有效控制用户定制软件验证时所要依赖的可信列表的规模,使其有能力适应当今网络环境中的大量异质平台和各种安全需求。此外,它还可以为自身所依赖的可信计算基的替换和更新提供支持。   第五,本文针对Flask架构的特点,给出了一个既能检验强制访问控制实现正确性,又能最大限度保留软件灵活性、使得用户可以在一定程度上对软件进行定制的远程验证方案。该方案依赖源代码静态分析技术界定软件中无需基于完整性进行验证的模块,在进一步缩减可信列表规模的同时,使用代码改写技术在这些模块中自动化地插入监控代码约束软件的动态行为,以达到确保强制访问控制实现正确性的目的。该方案初步展现了源代码静态分析技术在远程验证中广阔的应用前景。
其他文献
随着Internet技术飞速发展,各种信息能在网络上方便、快捷地传输。多媒体比纯文本含有更多的信息量,是人们获取和保存信息的重要手段。因为视觉信息在所有感官获取信息总量中占
离散属性数据是数据挖掘中的一类重要数据,而非监督学习,是数据挖掘采用的一类关键方法。本文针对多种类型的离散数据,包括文本数据,时序离散序列数据和多维离散数据,研究若干新的
随着互联网及其相关技术的发展,多域环境下的资源共享越来越普遍。域间的资源共享给域间合作带来了便利的同时也带来了安全问题。其中两个关键安全问题是跨域访问控制和跨域信
随着手机、掌上电脑和PDA等移动设备的普及和移动通讯技术的高度发展,越来越多的人开始利用移动设备实现无线上网。使用移动设备,通过无线上网的方式,进行的商品拍卖活动称为移
外包数据库是一种新的数据库应用形态,它在管理成本、数据库可用性与可靠性等诸多方面具有传统数据库应用形态无法比拟的优势。由于信任模型发生了本质性转变,外包数据库带来了
随着互联网视频内容的不断增加,以及数字图书馆、视频点播、远程教学等大量视频媒体的应用,如何在海量视频中检索出所需要的资料显得至关重要。传统的基于文本的视频检索以及基
为了评估信用风险,研究人员做出了大量的努力,提出了各种度量和管理信用风险的方法。经典的评估模型一般将着眼点放在被评估公司自身的信息上,然而银行界获得的越来越多的共识是
随着网络技术的飞速发展和嵌入式处理器能力的不断提升,基于嵌入式Linux的网络视频监控系统逐渐成为了监控设备中的主流,因为嵌入式Linux功能强大且费用较低。但是直接移植Linu
由于如今Web应用的高速发展所带来的数据规模的海量性、数据模式的多样性和不确定性,使得传统的数据管理技术在可扩展性、高效性和可靠性方面越来越不能满足应用的需求。数据
在数字图书馆建设中,人们面临着一个问题:如何高效地将现有的海量的纸质文档或者电子文档制作为可供计算机阅读、检索、查询、传播等操作的电子出版物。对于电子出版物,其所含有