摘 要
近年来,软件开发中使用开源软件的比例越来越高,开源代码引起的一系列软件安全问题不容忽视。安全开发管控最重要的手段就是对源代码进行静态分析,当前的源代码静态分析技术主要包括语法分析、语义分析、数据流分析及控制流分析等,此类静态分析技术主要是针对缺陷类型构建分析模型,并不考虑开源代码漏洞问题。通过从开放漏洞数据库中抽取所有可用的漏洞记录,并从开源项目所在开源代码库中收集易受攻击的代码建立开源缺陷代码库,挖掘代码缺陷库中的缺陷匹配信息,并通过应用实例证明这是一种有效的源代码安全漏洞挖掘技术,具有较高的缺陷搜索匹配速度和准确性。
内容目录:
1 代码缺陷分析现状
1.1 静态代码分析技术
1.2 问题分析
2 开源代码缺陷识别系统
2.1 缺陷数据处理流程
2.2 缺陷数据索引流程
2.3 缺陷代码搜索
3 实验
4 结 语
软件开发是一项复杂的任务,尤其是现在软件技术飞速发展,开发环境不断演变,软件架构和组成变得多样化。企业使用开源软件的比例越来越高,软件主要由自主开发代码、开源代码和开源组件组装而成。其中,开源代码、开源组件提供了必要的构建块,使组织能够交付价值、提高质量、降低风险并缩短上线时间。但同时其衍生出的软件安全管理问题也越来越多,软件团队只关注检测自主代码的潜在问题,往往忽视了对应用组件构成和应用所包含的开源代码中已知漏洞和开源协议的检查。
尽管安全人员和开发人员不断通过安全编码指南制定、软件测试和各种形式的代码审查等办法来提高软件质量和安全性,但通用漏洞披露(Common Vulnerabilities & Exposures,CVEÿ