一、背景

在当下软件应用的开发过程当中,自研的内部代码所占的比例逐步地减少,开源的框架和共用库已经得到了广泛的引用。如下图所示,在一个Kubernetes部署的应用当中,我们自己开发代码所占的比例可能连0.1%都不到。

开源软件能够帮助开发者共享彼此的成果,使得我们能够快速复用其他人开发并已得到验证的软件库,从而能够集中精力专注于创新性的工作。然而,开源软件的大量引用也给我们的应用带来了安全隐患。安全检测已成为当前DevOps流程的重要组成部分。

二、你的应用安全吗

据不完全统计,现在有78%的企业都在使用开源软件。但是,大家在享受开源软件带来的研发便利的同时,是否也意识到开源软件带来的安全隐患呢?

从上图的统计数据可以看出,只有13%的企业会把安全放在引用开源软件时的首要关注点。大部分的使用者选择相信开源软件的创造和维护者会保证其安全性。然而,下图的统计数据表明,安全性并不是开源软件维护者的维护重点。

这样的现状导致我们常用的开源软件库包含了各种各样的安全漏洞,例如,据统计,目前14%的NPM包、30%的Docker Hub镜像都包含安全漏洞。而且在这些漏洞被发现之后,也得不到及时的修复。据统计,Maven包里有59%的已知安全漏洞还没有得到修复,而漏洞的平均修复时间是290天,最严重级别漏洞的平均修复时间也仅是265天。黑客们已逐渐把开源软件作为了主要的攻击目标。

该怎么样保证我们上线应用的安全呢?

三、JFrog Xray,监测安全漏洞的利器

JFrog公司提供的Artifactory+Xray是一个很好的产品组合。Artifactory是全语言的制品仓库,能够在同一个仓库中存储和管理我们应用研发中使用的所有外部依赖包。而Xray通过对Artifactory的监视,能够在构建,甚至开发阶段就发现安全漏洞问题,使得安全监测前置,避免了在应用上线前紧急排查问题的窘境。

如上图所示,当Artifactory仓库中新加入了制品包,设置了对其监视的Xray就会启动安全检查,并报告查到的安全漏洞和License授 权情况。而针对安全漏洞,Xray会提供详细的漏洞信息,以及在应用中的准确定位来辅助我们对其进行分析和检查。

同时,针对查出来的安全漏洞,Xray还提供了针对其扩散范围的分析。也就是说,可以帮助我们分析,出了被检查的这个制品包外,还有哪些其他的应用也包含了这个安全漏洞。

除了安全漏洞及其扩散范围的分析,Xray还提供自定义问题的能力。我们可以把用其他工具发现的安全问题,或者如性能过低、版本过老等非安全问题定义在对应的制品包上,同样也可以利用Xray的能力检查这些问题在我们的应用中的扩散范围。

四、Snyk, 不仅仅是监测漏洞

JFrog Xray是基于开源的NVD开源漏洞数据库来监测安全漏洞的,而Snyk(https://snyk.io)提供了额外的商业漏洞数据库。Xray可以通过和Snyk的集成,实现利用Snyk的商业漏洞数据库进行安全漏洞检查。

当然,基于自身的商业漏洞数据库,Snyk也提供了安全漏洞的扫描和监测能力。Snyk提供了与各种各样平台的集成,帮助我们监测部署在这些平台上的应用安全。

然而,Snyk的能力不仅如此,他还能帮助我们修复安全漏洞。例如,当和我们的Github Enterprise集成后,我们可以选择我们需要监测的项目。

选定后,Snyk就会自动扫描我们的代码并报告在项目当中发现的安全漏洞。

Snyk最大的特色是,针对这些安全漏洞,能够自动给出PR(Pull Request)形式的修复建议。PR既可以针对所有发现的漏洞,也可以只针对某一个具体的漏洞。

直接Merge这些PR就可以帮助我们替换使用已修复安全漏洞的依赖包,实现安全隐患的自动消除。

五、总结

开源软件的大量引用,在方便了应用开发的同时,也带来了安全的隐患。利用JFrog Xray和Snyk等工具,能够帮助我们尽早地发现开源依赖引入的安全漏洞,分析漏洞的扩散范围,也可以给出修复建议,实现安全隐患的自动消除。

你的应用安全吗? ——用Xray和Synk保驾护航的更多相关文章

  1. [听听音乐]X-Ray Dog

    X-Ray Dog是一个专门为好莱坞电影预告配乐的音乐工作室. https://music.163.com/#/artist?id=105618 有空的时候听听.

  2. xray写POC踩坑

    错误记录 静态文件目录不一定是static. 只考虑了linux的情况,如果是 windows 呢,能读取某些应用自己的源码吗. 实际环境参数不一定是id,thinkphp 不适合使用 poc 来写 ...

  3. Xray写POC插件

    漏洞环境 https://www.vulnhub.com/ https://github.com/vulhub/vulhub https://github.com/QAX-A-Team/Weblogi ...

  4. sonar,jiar,xray,jenkins[cli] [sudoers]

    curl -n -X POST http://52.83.39.59:8080'/job/CLA_SSO/buildWithParameters?token=11d710a8eac8012bea28b ...

  5. Bing Beats Google for the Best Way to X-Ray Search LinkedIn

    Bing Beats Google for the Best Way to X-Ray Search LinkedIn 11/13/11 Note: I’ve provided some update ...

  6. Xray安装与使用

    0×00 Xray简介 xray是从长亭洞鉴核心引擎中提取出的社区版漏洞扫描神器,支持主动.被动多种扫描方式,自备盲打平台.可以灵活定义 POC,功能丰富,调用简单,支持 Windows / macO ...

  7. ARL资产导出对接Xray扫描

    使用ARL资产灯塔系统对目标进行资产整理的时候,能够对获取的结果进行导出: 导出之后为excel文件 想要将site中的URL导出为txt文件,再使用Xray高级版进行批量化扫描: https://w ...

  8. Xray批量化自动扫描

    关于Xray高级版破解: https://www.cnblogs.com/Cl0ud/p/13884206.html 不过好像新版本的Xray修复了破解的BUG,亲测Xray1.3.3高级版仍然可以破 ...

  9. Xray高级版白嫖破解指南

    啊,阿Sir,免费的还想白嫖?? 好啦好啦不开玩笑 Xray是从长亭洞鉴核心引擎中提取出的社区版漏洞扫描神器,支持主动.被动多种扫描方式,自备盲打平台.可以灵活定义 POC,功能丰富,调用简单,支持 ...

随机推荐

  1. Codeforces Round #176 (Div. 1 + Div. 2)

    A. IQ Test 模拟. B. Pipeline 贪心. C. Lucky Permutation 每4个数构成一个循环. 当n为偶数时,n=4k有解:当n为奇数时,n=4k+1有解. D. Sh ...

  2. JS精度问题,解决方案 math.js

    JS精度问题    Vue中使用 解决方案 math.js npm install mathjs import { create, all } from 'mathjs' const config = ...

  3. 基于 Laravel-Admin 在十分钟内搭建起功能齐全的后台模板

    http://laravelacademy.org/post/6468.html 1.简介 为 Laravel 提供后台模板的项目越来越多,学院君已陆续为大家介绍过Laravel Angular Ad ...

  4. H3C 环路避免机制六:触发更新

  5. H3C IPv6邻居发现协议

  6. 使用cnpm i -S axios 遇到报错Install fail! Error: EISDIR: illegal operation on a directory, symlink..........的解决办法

    “今天本来想在cnpm 环境下安装axios,但是在安装axios的时候出现了一些问题.使用cnpm淘宝镜像库下载安装axios的时候报错 Install fail! Error: EISDIR: i ...

  7. vue-learning:39 - router - vue-router的基本使用

    vue-router路由的基本使用 一张图阐述vue-router的基本使用步骤 // 0. 如果全局使用CDN引入:vue 引入在前,vue-router引入在后 // <script src ...

  8. 2019-8-31-dotnet-core-隐藏控制台

    title author date CreateTime categories dotnet core 隐藏控制台 lindexi 2019-08-31 16:55:58 +0800 2019-2-1 ...

  9. codeforces 161D 点分治

    传送门:https://codeforces.com/problemset/problem/161/D 题意: 求树上点对距离恰好为k的点对个数 题解: 与poj1741相似 把点分治的模板改一下即可 ...

  10. 搭建个人/企业私有云盘-seafile

    一.安装依赖组件 安装前的准备工作安装 Seafile 服务器之前,请确认已安装以下软件MariaDB 或者 MySQL 服务器 (MariaDB 是 MySQL 的分支),python 2.7 (从 ...