【安全测试】第三方依赖检查Owasp dependency-check工具使用

一、目的

本文简单介绍了dependency的应用场景

二、dependency check 是什么?

Dependency-Check是OWASP(Open WebApplication Security Project)的一个实用开源程序,可以检查项目依赖包存在的已知、公开披露的漏洞。

目前良好的支持Java和.NET;Ruby、Node.js、Python处于实验阶段;仅支持通过(autoconf and cmake)编译的C/C++。

官网地址:https://owasp.org/www-project-dependency-check/

 

三、为什么要dependency check

检查源代码依赖包的风险性

95% of 应用程序都引用了开源软件

67% of applications contained open source vulnerabilities

log4j

 

四、dependency check原理

核心功能是通过包含的一系列分析器,来探测项目的依赖,收集依赖的各类信息,通过这些信息来确认其CPE,一旦CPE确认,就可以罗列出CVE(Comman Vulnerability and Exposure)

  1. Dependency-Check工作的方式是通过分析器对文件进行扫描搜集信息,搜集到的信息被叫做迹象。

  2. 这边共搜集3种迹象,分时是vendor(供应商),product(产品)和version(版本)。例如,jarAnalyzer将从jar文件包中的Mainfest、pom.xml和包名进行信息搜集,然后把各种搜集到的源放到一个或者多个迹象表里。

  3. 通过搜集到的迹象和CPE条目(NVD、CVE数据索引)进行匹配,分析器匹配到了就会给个标志发送到报告。

 

三、如何使用dependency check

Dependency-Check有命令行接口、Maven插件、Jenkins插件等。

3.1 jenkins插件使用

3.2 命令行使用

sh dependency_check.sh --help

sh dependency_check.sh --format HTML -o ./scan.html -s /data/project/

 

四、报告解读

4.1.报告中一些重要字段的含义:

· Dependency - 被扫描的第三依赖库名字

· CPE - 所有被识别出来的CPE.

· GAV - Maven 组, Artifact, 版本 (GAV).

· Highest Severity - 所有关联的cve的最高漏洞等级

· CVE Count - 关联的cve个数

· CPE Confidence - dependency-check正确识别cpe的程度

· Evidence Count - 识别CPE的数据个数

上一篇:2022.02.08 DAY5


下一篇:特殊数字(基础题(一))