IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Dependency-check -> 正文阅读

[Java知识库]Dependency-check

前言

公司客户使用的是该工具扫描,与我们内部使用的工具snyk的测试结果无法对齐,为了便于和客户扫描对齐也采用该工具扫描本公司的产品。本文主要记录一下工具原理简介、使用方式、报告解读及与其他工具对比等内容。本文内容来源于网络也服务于网络,起主要目的是把自己使用的一些心得体会记录一下便于自己日后使用,也能够为他人提供一点有效参考。

工具简介

  • Dependency-Check 是OWASP(Open WebApplication Security Project) g的一个实用开源程序,用于识别项目依赖项并检查是否存在任何已知的,公开披露的漏洞;
  • Dependency-Check 常用于扫描java和.NET程序,相对比较准确;
  • Dependency-Check还可用户python、ruby、php以及nodejs等程序的扫描,这些作为实验性研究因为有较高的高误报率。

工具原理

过程

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

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

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

  • Dependency-Check 目前不使用hash识别文件,因为第三方依赖从源码中的hash值构建通常不会匹配官方发布版本的hash。后续版本中可能会增加一些hash来匹配一些常用的第三方库,例如Spring, Struts等。

NVD

  • Dependency-Check依赖NVD漏洞数据库(美国国家通用漏洞数据库)进行依赖漏洞检查
  • 全球信息安全领域著名的漏洞数据库包括中国国家信息安全漏洞库,美国国家信息安全漏洞库NVD,赛门铁克漏洞库等等
  • NVD的更新频率是出现问题实时更新
  • NVD官网及其实时漏洞看板

CVSS

  • NVD评级依赖CVSS(CommonVulnerability Scoring System),即“通用漏洞评分系统”,是一个“行业公开标准,其被设计用来评测漏洞的严重程度,并帮助确定所需反应的紧急度和重要度”;
  • CVSS是安全内容自动化协议(SCAP)的一部分,通常CVSS同CVE一同由美国国家漏洞库(NVD)发布并保持数据的更新
  • CVSS官网:https://www.first.org/
  • 目前主要参考cvss v3.0,具体标准如下所示:
SeverityBase Score Range
Critical9.0~10.0
High7.0~8.9
Medium4.0~6.9
Low0.1~3.9
None0.0

工具安装

工具地址

  • https://github.com/jeremylong/DependencyCheck

前置依赖

  • 安装依赖
    - Java: java -version 1.8
    - Maven: mvn -version 3.5.0 and higher
  • 测试依赖
    - dotnet core version 6.0
    - Go: go version 1.12 and higher
    - Ruby bundler-audit
    - Yarn
    - pnpm

安装方式

Jenkins Plugin

Command Line

  • More detailed instructions can be found on the dependency-check github pages. The latest CLI can be downloaded from github in the releases section.
On *nix
$ ./bin/dependency-check.sh -h
$ ./bin/dependency-check.sh --out . --scan [path to jar files to be scanned]
On Windows
> .\bin\dependency-check.bat -h
> .\bin\dependency-check.bat --out . --scan [path to jar files to be scanned]
On Mac
  • with Homebrew Note - homebrew users upgrading from 5.x to 6.0.0 will need to run dependency-check.sh --purge.
$ brew update && brew install dependency-check
$ dependency-check -h
$ dependency-check --out . --scan [path to jar files to be scanned]

Maven Plugin

More detailed instructions can be found on the dependency-check-maven github pages. By default, the plugin is tied to the verify phase (i.e. mvn verify). Alternatively, one can directly invoke the plugin via mvn org.owasp:dependency-check-maven:check.

The dependency-check plugin can be configured using the following:

<project>
    <build>
        <plugins>
            ...
            <plugin>
              <groupId>org.owasp</groupId>
              <artifactId>dependency-check-maven</artifactId>
              <executions>
                  <execution>
                      <goals>
                          <goal>check</goal>
                      </goals>
                  </execution>
              </executions>
            </plugin>
            ...
        </plugins>
        ...
    </build>
    ...
</project>

Ant Task

For instructions on the use of the Ant Task, please see the dependency-check-ant github page.

使用过程

  • 以 mac 上为例

报告解读

工具对比

参考

  • https://blog.csdn.net/liwenxiang629/article/details/109453335
  • https://github.com/jeremylong/DependencyCheck
  • https://blog.csdn.net/m0_37268841/article/details/109066786
  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章           查看所有文章
加:2022-02-16 12:56:41  更:2022-02-16 12:59:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 12:43:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码