软件源代码静态分析缺陷分类的研究

来源 :湖北大学 | 被引量 : 0次 | 上传用户:Henkel_liu
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
伴随着基于计算机应用的不断发展而现存的计算机安全问题,大部分是由于应用软件本身的安全缺陷引起的,而应用软件本身的安全问题大部分是由软件的源代码缺陷所造成的,基于源代码的缺陷分类是构建源代码静态检测系统的基础和灵魂,故如何运用源代码缺陷分类构建源代码分析系统去检测软件的安全性已经成为信息科学技术领域迫切需要解决的问题。   软件源代码静态分析缺陷是指用静态检测方法即不运行被测程序本身,仅通过分析或检查源程序的语法、过程、结构、接口等来检查程序的正确性的方法所分析得出的软件源代码缺陷。   本文分析了大量源代码静态缺陷分类数据,如分析了CWE缺陷分类,FindBugs缺陷分类,某商业软件缺陷分类;对以上三种缺陷分类进行了仔细全面的分析综合,以以上三种缺陷分类的内容作为分类基础,根据源代码静态缺陷产生的根源从词法、语法、语义三个层次分析源代码造成的缺陷类别作为依据,以正交缺陷分类度量方法作为缺陷分类的分类方法,总结得出源代码静态分析缺陷分类。   以正交缺陷分类度量方法得出的缺陷分类分为9个大类,203个子类,473个细类,每个类别之间相互正交,每个作为终极分类的子类和每个细类都有10个属性,分别为缺陷类别ID,缺陷类型,缺陷名称,缺陷严重等级,缺陷优先级,语言类型,详细描述,修复建议,参考CWE,缺陷样本。   该源代码静态缺陷分类既可以弥补传统缺陷分类方法中的不足,又达到传统缺陷分类无法实现的某些特定目标,如缺陷样本。该分类对每一个缺陷分类都有详尽的缺陷样本,更详尽的对各种语言都有对应的样本代码,并附上对样本的解释和修复建议,方便测试人员对照分析比对。采用以上三种方法技术结合实现的缺陷分类系业内最全面,最仔细(源代码静态缺陷分类覆盖面广,几乎覆盖了所有源代码中出现的缺陷类别),最详尽(分类包含内容齐全,不仅包含缺陷分类的类别,严重程度,详细描述,还包含目前许多同类缺陷分类所没有的修复建议,缺陷样本)的源代码静态缺陷分类。源代码静态安全缺陷分类同时在扩展性(与CWE缺陷分类关联,其他种类划分的缺陷分类只要与CWE能对应或者能在CWE中找到与之相关的都可与源代码静态分析缺陷分类对应起来)、完备性(不仅包含其他分类的优点,更能体现出其他分类所不能体现的优点)、兼容性(能与各源代码检测工具的结果进行比对,殊途同归)等缺陷检测和缺陷管理等方面都取得了很好的效果。   本文的主要成果如下:   (1)分析了传统的源代码静态安全缺陷分类方法,总结其优缺点,提出构建完整缺陷分类的重要性。   (2)介绍当前软件代码的风险分类,分析各种类型风险的成因,讨论了几种常见缺陷分类方法,如CwE缺陷分类,FindBugs缺陷分类,某商业软件缺陷分类等方法,在大量缺陷分类数据的基础上总结出完善的源代码静态分析缺陷分类。   (3)结合现在成熟的词法分析、语法分析、结构流、数据流、控制流技术,从源代码缺陷的理论根源上出发,并运用正交缺陷分类方法作为度量方法和手段,从源代码入手,根据词法、语法与语义层次结构,分析程序的结构与关键特征,从而获得程序的源代码静态缺陷分类,并总结形成新的缺陷分类。   (4)该缺陷分类结合了各缺陷分类的优点,能把各种源代码静态检测的结果进行比对统一,各源代码静态检测工具结果更能用该缺陷分类作为参考依据,体现了改缺陷分类的兼容性强的特点。
其他文献
随着互联网时代的来临,Web已经成为世界上最大的信息源,给人们生活带来了极大的方便。但是Web在给人们提供丰富信息的同时,又使人们在对它们的有效使用方面面临一个巨大的挑
随着网络技术迅速发展与分布式计算的日益成熟,企业数据库的应用正不断向着分布式、大型化的方向发展。然而不同的企业或企业的不同部门根据自身需要或者由于历史或技术的原
随着现代信息技术的快速发展和迅速普及,人类的生产、工作和生活方式正发生着深刻的变化。以高校为例,现代信息技术的发展为高校教育信息化建设提供了新的工具和手段。最近几
农作物病虫害的爆发意味着农作物的大规模减产和品质下降,同时农户盲目施药也导致了农药残留超标、环境破坏等严重后果。随着计算机技术的发展,机器视觉技术的研究与应用已经
由于日益庞大的业务处理,许多决策系统和OLAP系统的数据正在朝着TB数量级发展。面对各种存储了海量数据的巨型表,如何充分利用存储空间,节省系统维护成本,在查询海量数据时取
文本情感倾向性分析在电子商务、电子政务、民意分析上有巨大的应用价值。如何准确分析出作者所要表达的情感是文本倾向性情感分析的目标。特征抽取是提高文本倾向性情感分析
随着人们对生命本质的不断了解,生命科学正以前所未有的速度迅猛发展,使人工智能的研究开始摆脱经典逻辑计算的束缚,大胆探索新的非经典计算途径。在这种背景下,社会性动物(如蚁
随着计算机技术和网络技术的飞速发展,信息网络已经成为社会发展的重要保证,随之而来的网络安全问题逐渐成为信息化时代人们面临的最为严峻的问题之一。理论分析表明,各类网
随着网络技术的发展和网络应用的普及,依托网络技术的轨道交通系统正在迅猛的发展,现有的轨道交通系统资源缺少统一的知识描述,导致各系统间难以交互操作和共享。目前,基于关
Internet技术不断地向纵深发展,成为信息交流不可缺少的渠道,标志着人类进入了信息社会。由于以太网技术成功在Internet上应用,促使以太网技术不断加入传统的工业测控、家庭