大家好,我是马建仓。
去年一个源于 Java 开源日志框架「Log4J2」的漏洞令全球软件行业的大多数程序员手忙脚乱。有人都曾发出这样一个疑问:项目源代码已经全公开了,这么多优秀的程序员时刻盯着,为什么还不安全?还有人说:开源项目真的安全吗?
面对这个问题我想引用 Gartner 杰出研究副总裁 Neil MacDonald Gartner 的发言:
开源项目绝对安全是不可能的,零风险也是不可能的。
尤其伴随着云计算、AI、数据库等技术在开源领域不断运用、发展壮大,开源世界越来越热闹了。与此同时,开源软件的引用也不可避免的带来 Web 通用漏洞、业务逻辑漏洞、开源成分的缺陷及后门等漏洞问题。而这些风险都将成为企业产品运营的潜在风险。因此开源软件在管理运营中,
安全治理
也成为开源生态中不可回避的关键词。
今天,我们给大家推荐一款在去年12月30日正式开源的一款软件成分分析工具「
OpenSCA
」,
该项目不仅在 Gitee 上获得推荐,同时还收录入 Gitee星球的项目推荐栏目。
欢迎各位开发者前往
北京大学白帽黑客创业,做了个开源供应链安全治理引擎
查看。
OpenSCA 是什么?
OpenSCA 是 SCA(软件成分分析Software Composition Analysis) 技术原理的实现,用来扫描项目的第三方组件依赖及漏洞信息的软件工具,采用
软件成分分析、依赖分析、特征分析、引用识别、合规分析
等方法,深度挖掘组件中潜藏的各类安全漏洞及开源协议风险,保障应用开源组件引入的安全。
项目地址:
OpenSCA-cli: OpenSCA是一款开源的软件成分分析工具,用来扫描项目的第三方组件依赖及漏洞信息。OpenSCA is a Software Composition Analysis (SCA) solution that supports the detection of open source component dependencies and vulnerabilities.
开源许可证: Apache-2.0
悬镜安全
团队前身是北京大学白帽黑客战队,也是北京大学 络安全技术研究团队
XMIRROR
发起创立的,致力以 AI 技术赋能敏捷安全,专注于 DevSecOps 软件供应链持续威胁一体化检测防御。
与以往有何不同?
创造性开拓了面向新一代 DevSecOps IT 战略框架的智适应威胁管理体系。
实际上,Gartner公司早就提出了 DevSecOps IT 战略框架。该框架的核心理念是以安全前置,强调安全需要贯穿在开发到运营的整个业务生命周期的每个关键环节。
过去
络安全攻击方主要依靠功能单调的
扫描工具
+白帽子黑客的
个人经验
;防守方则是主要依靠安全产品的
静态策略
+已知
威胁特征库
。
现在
APT 攻击的爆发也让传统的防御手段显得无力招架,需要智能化的攻击手段必然需要更加智能化的检测方法才能扼制。
解决什么问题?
据悬镜安全创始人兼CEO
子芽
,曾在开源发布会上说:团队选择开源 OpenSCA 技术,是为了解决
看不清、摸不清、跟不上、防不住
的治理难题。
换句话说,希望用简单的配置即可完成对开源组件所使用的成分进行检测,深度挖掘组件中潜藏的各类安全漏洞及开源协议风险,帮助用户进行开源风险的识别及治理。
功能应用场景
安全开发
OpenSCA开源的IDE开源风险检测插件,帮助开发者快速定位并修复漏洞
轻量级、低成本、零门槛
支持二次开发
安全测试
产品第三方开源组件的安全测试
软件产品安全性高,能防止应用带病上线
安全管理
第三方组件及供应商软件的安全准入
建立企业内部安全组件库
梳理软件或组件资产可视化清单
符合安全部门合规审查及相关开源治理工作
安装流程
下载对应系统架构的可执行文件压缩包
下载源码编译
cd opensca
go work init cli analyzer util
go build -o opensca-cli cli/main.go
默认生成当前系统架构的程序,如需生成其他系统架构可配置环境变量后编译
禁用
CGO_ENABLED CGO_ENABLED=0
指定操作系统
GOOS=${OS} \ darwin,freebsd,liunx,windows
指定体系架构
GOARCH=${arch} \ 386,amd64,arm
使用样例
仅检测组件信息
opensca-cli -path ${project_path}
连接云平台
opensca-cli -url ${url} -token ${token} -path ${project_path}
使用本地漏洞库
opensca-cli -db db.json -path ${project_path}
漏洞库文件格式
[
{
“vendor”: “org.apache.logging.log4j”,
“product”: “log4j-core”,
“version”: “[2.0-beta9,2.12.2)||[2.13.0,2.15.0)”,
“language”: “java”,
“name”: “Apache Log4j2 远程代码执行漏洞”,
“id”: “XMIRROR-2021-44228”,
“cve_id”: “CVE-2021-44228”,
“cnnvd_id”: “CNNVD-202112-799”,
“cnvd_id”: “CNVD-2021-95914”,
“cwe_id”: “CWE-502,CWE-400,CWE-20”,
“description”: “Apache Log4j是美国阿帕奇(Apache)基金会的一款基于Java的开源日志记录工具。rnApache Log4J 存在代码问题漏洞,攻击者可设计一个数据请求发送给使用 Apache Log4j工具的服务器,当该请求被打印成日志时就会触发远程代码执行。”,
“description_en”: “Apache Log4j2 2.0-beta9 through 2.12.1 and 2.13.0 through 2.15.0 JNDI features used in configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints. An attacker who can control log messages or log message parameters can execute arbitrary code loaded from LDAP servers when message lookup substitution is enabled. From log4j 2.15.0, this behavior has been disabled by default. From version 2.16.0, this functionality has been completely removed. Note that this vulnerability is specific to log4j-core and does not affect log4net, log4cxx, or other Apache Logging Services projects.”,
“attack_type”: “远程”,
“release_date”: “2021-12-10”,
“security_level_id”: 1,
“exploit_level_id”: 1
},
{}
]
如果你对本期推荐感兴趣,也欢迎各位转发、点赞、评论。各位开发者如果你对 开源安全治理有其他的见解,欢迎在后台留言与我们一同讨论也欢迎给我推荐有趣的开源项目,如果收录进
北京大学白帽黑客创业,做了个开源供应链安全治理引擎
之后,将有小礼品噢~如果你想了解更多关于本期推荐项目的内容,也可以点击
OpenSCA-cli: OpenSCA是一款开源的软件成分分析工具,用来扫描项目的第三方组件依赖及漏洞信息。OpenSCA is a Software Composition Analysis (SCA) solution that supports the detection of open source component dependencies and vulnerabilities.
往期推荐
全中文注释,让单片机开发和Arduino一样高效
最近,CNCF云原生全景图收录了一个国产轻量级RPC框架
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!