库博(COBOT)成为中国首家且唯一一家通过美国CWE认证产品

作者:武文嘉

北大软件静态代码分析工具库博(COBOT),通过美国CWE符合性认证,成为中国首家且唯一一家通过该认证的软件安全检测工具,打破了国外产品在软件检测分析领域的垄断地位,让中国软件安全产品站在了世界的舞台上。

image.png

 

1. 何为CWE认证?

CWE全称Common Weakness Enumeration,由美国国土安全局下的US-CERT(美国计算机应急管理中心)资助,是世界最具知名度和权威性的软件安全漏洞模式库。

世界知名的安全软件产品(包括了14个国家,51个组织或公司,88款产品,其中美国产品占了一半以上)几乎全部在此组织认证,以表明该工具能够支持CWE所描述的主要的缺陷模式的检测和分析。

在库博之前,我国没有任何一款软件安全工具通过该认证。

 

2. COBOT为何通过了CWE认证?

CWE认证的六个维度,如下所示:

image.png

 

我们在相应的维度中均进行了相关工作,包括工具对CWE条目的可搜索性支持、工具检测结果输出对CWE条目的支持、建立检测项与CWE的映射关系、提供CWE 文档支持、统计CWE条目覆盖性(Coverage)、建立CWE测试结果等。

库博在语义缺陷模块,共有128条检测项,在编码规则模块,共有一千多条检测项,共涵盖了CWE条目的八大类中77子类的数百种缺陷模式,通过大量的程序缺陷测试与结果分析,检测结果误报率约20%,相对漏报率约30%,每小时分析百万行程序,达到了CWE可接受的检测要求。

我们不断地提高分析技术,丰富新的缺陷模式,并一直进行开源代码库的测试与分析工作。我们每周都会引入1-3个新的开源程序进行检测,并将相应的结果公布到我们的网站中。截至目前,库博工具共检测了来自于GitHubSourceforge上的开源项目86个,400余万行代码。共发现缺陷30610个,缺陷率约为7.6/KLOC

目前为止,全球共有14个国家的39个产品或服务(共88个)被授予CWE-Compatible,例如IBMAppScan, HPWebInspectFortify , SynopsysCoverity, LDRATestbedRogueWaveKlocworkParasoftC++Test等。产品的所属国家中,亚洲仅有中国、日本、韩国、新加坡和印度尼西亚。而库博是中国唯一一个被授予CWE-Compatible的产品。