代码静态分析及安全检测工具(COBOT)

发布时间:2016/12/13 来源:

1 政策与背景

软件作为人工制品,难免存在着各种各样的缺陷(Defects/Bugs)。而对于软件缺陷的定义,不同的组织有着不同的定义。Wikipedia 对软件缺陷进行了如下描述:软件缺陷是计算机程序或系统中存在的能够引发不正确的输出或与预期结果不符的任何错误、瑕疵、失效或失误。IEEE 标准 729-1983 则对软件缺陷做了如下标准定义:从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、瑕疵等各种问题;从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。

2 应用与服务

业务范围


1、核心分析引擎:即上图所示的移动源码分析工具的核心功能,主要通过如控制流图(CFG)、数据流图(DFG)、污染传播算法等方法以及符号执行技术和约束求解技术等方法,依照规则对源代码进行分析。

2、缺陷检测度量模块:该模块是移动应用安全审查工具的规则库模块,该库支持MISRA C 2004、MISRA C++ 2008、GB/T 28169-2011 、GJB 5369-2005、GJB 8114-2013、921 C-2007、BACC C-2008、CRSC C-2009等编码标准集;支持CWE缺陷中严重等级较高的缺陷类型,包括指针操作缺陷(41种)、不可达路径(2种)、非法计算(4种)、库函数(72种);支持基于OWASP,支持其中活跃且严重性等级较高的八类90种安全漏洞检测

3、检测输入模块:用于源代码的输入(导入/上传)。

4、检测配置模块:根据用户需求,选择需要检测的缺陷类型、配置检测深度、自定义编译参数等。

5、检测结果输出模块:用于源码测试结果的专业报告输出。

6、结果确认模块:支持发现的缺陷问题的在线确认和分析,可以明确标识问题产生的全路径。


业务优势


下表为COBOT与其他测试工具的优势对比




关键词:代码检测 丨代码静态分析丨 静态代码丨 程序分析 丨程序检测