开源软件安全检查工具

Posted 煜铭2011

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开源软件安全检查工具相关的知识,希望对你有一定的参考价值。

0x00 安全要求

为了有效发现开源软件存在的安全问题,避免带病上线,在投入使用或发布上线时,需要遵循以下要求:

  1. 开源软件投入使用或者集成到系统进行部署发布前,须提交开源软件的安全检测报告,若报告里面存在严重(critical)或者高危(high)漏洞,则需要由应用开发部门对其进行升级修复或者加固后,方可进行部署发布
  2. 为了有效发现开源软件存在的安全问题,可以参考以下方式对开源软件进行安全检测,并提供安全检测报告。

0x01 发布前安全检测

1.开发完成时

在IDEA等研发工作台集成,建议使用Snyk Vulnerability Scanner进行开源组件漏洞或者查询附录1:常见开源软件安全版本列表进行自查。

目前Snyk Vulnerability Scanner插件最新版支持IDEA版本2020.2-2021.1,老旧版本或最新版本不一定支持具体,请参照插件官网及其介绍:Snyk Vulnerability Scanner - IntelliJ IDEs Plugin | Marketplace

安装成功后,需要进行激活认证,直接在IDEA 进行激活

如未能看到以上信息,需要手动激活,在Windows里面搜索并找到找到 snyk-win.exe,运行 snyk-win.exe auth  

看到连接后,直接跳转到或者复制连接到浏览器,使用GitHub账号或者其他账号登录授权。如下图所示

 

 

 

代码编写完成进行测试时,建议下载依赖包进行完整性调试后,再点击Run scan

在结果当中,可以清晰看到

  1. 哪些第三方组件存在漏洞
  2. 这些漏洞的等级如CRITICAL、HIGH、MEDIUM、LOW等
  3. 漏洞修复版本、漏洞简要情况等。

 

2.完成调试时

当项目完成开发后或无GitHub账号或者登录授权出现问题导致Snyk Vulnerability Scanner不可用或者不使用IDEA进行开发等情况,可单独使用DependencyCheck,因为首次使用需要下载漏洞库,耗时会比较长,需要提前部署准备环境。

GitHub - jeremylong/DependencyCheck: OWASP dependency-check is a software composition analysis utility that detects publicly disclosed vulnerabilities in application dependencies.

Windows 平台参考使用命令行:dependency-check.bat --project aa -s D:\\code\\aa -o D:\\aa.html

3.发布上线时

系统集成发布使用Jenkins平台,请在Jenkins启用dependency-check-plugin

OWASP Dependency-Check | Jenkins plugin

  • 安装插件

[系统管理]-[插件管理]-[可选插件]安装OWASP Dependency-Check Plugin和Static Analysis Utilities

  • 工具安装

[系统管理]-[全局工具配置]-[Dependency_check安装]

  • 项目使用

生成html格式报告

 0x03 其他参考工具

1.开源组件安全扫描(OSS/SCA)开源工具

对于软件开发过程中,需要对第三方组件进行漏洞检查方面,可以考虑到的开源产品:
Dependency-Check(可以结合maven、Jenkins、sonar使用);链接:GitHub - jeremylong/DependencyCheck: OWASP dependency-check is a software composition analysis utility that detects publicly disclosed vulnerabilities in application dependencies.
陌陌安全 MOSEC-X-PLUGIN 系列插件开源;链接:源海拾贝 | 陌陌安全 MOSEC-X-PLUGIN 系列插件开源 - 安全客,安全资讯平台
snyk 可以扫描node.js nmp、ruby、java依赖中的漏洞,协议授权安全,多平台集成;链接:Snyk | Developer security | Develop fast. Stay secure.

2. 开源组件安全扫描(OSS/SCA)商业产品

对于软件开发过程中,需要对第三方组件进行漏洞检查方面,可以考虑到的商业产品:
OSS方面的商业产品:BlackDuck
FOSSology,开源授权协议合规检查产品
snyk,可以扫描node.js nmp、ruby、java依赖中的漏洞,协议授权安全,多平台集成;链接:Snyk | Developer security | Develop fast. Stay secure.
JFrog Xray,安全漏洞及依赖分析平台;链接:JFrog Xray - Universal Component Analysis - JFrog

以上是关于开源软件安全检查工具的主要内容,如果未能解决你的问题,请参考以下文章

开源流量分析工具-Zeek的安装和使用

微软开源模糊测试工具OneFuzz

Lynis:linux系统安全检查工具

K8s:开源安全平台 kubescape 实现 Pod 的安全合规检查/镜像漏洞扫描

K8s:开源安全平台 kubescape 实现 Pod 的安全合规检查/镜像漏洞扫描

十大开源Web应用安全测试工具