产品战略专家梁宁确认出席AICon北京站,分享AI时代下的商业逻辑与产品需求 了解详情
写点什么

Linux 基金会披露最常用的开源组件及其安全问题

  • 2020-02-19
  • 本文字数:1988 字

    阅读完需:约 7 分钟

Linux基金会披露最常用的开源组件及其安全问题


据 ZDNet 报道,在最新的研究中,Linux基金会确定了最常用的开源组件,并且发现它们的共同问题和安全漏洞。


这份研究报告被称为 Census Program II,由Linux基金会基础架构联盟(CII)和Laboratory for Innovation Science at Harvard(LISH)联合披露。

哪些开源组件使用最多?

使用最广泛的非 JavaScript 软件组件有:


1.Com.fasterxml.jackson.core:jackson-core


2.Com.fasterxml.jackson.core:jackson-databind


3.Com.google.guava:guava


4.Commons-codec


5.Commons-io


6.Httpcomponents-client


7.Httpcomponents-core


8.Logback-core


9.Org.apache.commons:commons-lang3


10.Slf4j


此外,研究报告还披露了最常用的JavaScript programs:


1.Async


2.Inherits


3.Isarray


4.Kind-of


5.Lodash


6.Minimist


7.Natives


8.Qs


9.Readable-stream


10.String_decoder


根据红帽最新的一份研究表明,开源软件在企业已经占据主导地位。情况可能不止如此,另一份更早的研究发现,开源软件占所有软件的 80%-90%。今天,很多软件或程序是建立在开源组件上的。


Census Program II 报告有很大意义。虽然不是最终报告,但它是这类分析中的首次重大研究。它不仅向前迈出重要一步,而且提出一种理解和解决开源软件结构和安全复杂性的方法。


具体来说,它不仅可以识别应用程序中最常用的自由和开源软件(FOSS)组件,而且能检查它们潜在的漏洞。

不要轻视小型程序

为开展这项工作,Linux 基金会基础架构联盟(CII)和 LISH 与 SCA 和应用安全公司合作,比如SnykSynopsys网络安全研究中心。它们将个人使用的数据与公开可用的数据集结合起来,从而识别 200 多个最常用的开源软件项目。


当然,研究对象不是你想到的那些大名鼎鼎的开源项目,比如 Apache、MySQL、Linux。而是一些在基础上很重要,使用最广泛的小型的基础构建块程序。



它们可能很小,有时不超过 100 行代码,但却非常重要。


哈佛商学院教授兼 Census II 项目联合负责人说,“FOSS 长期以来一直被视为爱好者的领域。然而,它不仅成为现代经济的组成部分,并且是我们日常社会生活技术的基本组成部分,比如智能手机、汽车、物联网以及许多其他技术。了解使用最广泛和最脆弱的组件有利于我们确保数字经济和生态系统的持续健康。”


如果你不注意这些隐藏的小型程序,那它们可能带来大麻烦。例如,OpenSSL “心脏滴血”漏洞,其真正问题不在于OpenSSH安全程序,而是其更底层的加密库。


假如你是最终用户,可能从未听说过这些 low-level 程序。正如风险资本家 Mike Volpi写道,“开源的真正客户是开发人员,他们经常发现这些软件、然后下载并将其集成到他们正在从事项目的原型版本中。”


研究发现,使用和成为最受欢迎的 FOSS 软件包的最大贡献者之间存在高相关性。通过对 2017 年 GitHub 数据的分析发现,一些最活跃的 FOSS 开发人员为项目做出很大贡献,而他们留名多为微软、谷歌、IBM 或英特尔的员工电子邮件地址。

开源组件的 3 个常见问题

在这个过程中,研究人员还发现开源组件的几个常见问题。


首先是程序命名随意。缺乏针对软件组件的标准化命名方案,让跟踪这些程序成为一个主要难题。这不是开源软件所独有的问题。美国国家标准与技术研究院(NIST)和美国国家电信和信息管理局(NTIA)数十年来一直努力解决这一问题。


Linux 基金会和合作伙伴认为,“迫切需要一套标准化的软件组件命名纲要。除非有了标准化的命名方案,否则软件安全性、透明度等方面的策略发挥的作用会受限”。



另一个问题在开源圈太常见了,就是许多项目仍然存在于单独的开发人员账户下。CII 团队发现,在分析的 10 个最常用的软件包中,有 7 个托管在个人开发人员账户下。如果账户被黑客入侵,软件包被恶意利用,那后果非常严重。


例如,如果开发者删除了一个名叫left-pad的 Node.js 程序,这将导致成千上万个 npm JavaScript 程序无效。


在另一个例子中,黑客获得流行的 Event-Stream JavaScript 库的访问权限,并在代码中添加后门。然后,他将恶意代码加到库中,从而能盗取比特币。


显然,个人开发者账户应该获得更多的保护。Linux 基金会 CII badging programTrust and Security Initiative 将开发人员账户安全纳入其控件中,以降低风险。


最终的问题在于,开源没有摆脱传统软件的“诅咒”。开发人员已经使用老程序的最新版本,但下游开发者依然使用老旧程序。当新的替换软件包可完成相同工作时,这些开发人员往往不愿迁移。尤其是新组件出现兼容性错误时,更是如此。


另外,如果不能保证有额外收益,那么切换到新软件会有财务和时间成本。但是,老旧程序尚未更新且被被广泛使用,因此可能发现安全漏洞,安全性让人担忧。


简而言之,开源开发人员必须开始解决遗留软件的问题。虽然维护代码并不像开发新代码那样充满乐趣,但这是必须要做的工作。


参考资料:


https://www.zdnet.com/article/the-linux-foundation-identifies-the-most-important-open-source-software-components-and-their-problems/


2020-02-19 15:022880
用户头像
万佳 前InfoQ编辑

发布了 677 篇内容, 共 356.2 次阅读, 收获喜欢 1800 次。

关注

评论

发布
暂无评论
发现更多内容

模块六作业

Mr.He

架构实战营

Spark 源码阅读 01:环境搭建

程序员赤小豆

spark 技术 Spark 源码

情窦初开,原来喜欢这么可爱的

4ye

Python 后端 8月日更 词云

技术调研,IDEA 插件怎么开发「脚手架、低代码可视化编排、接口生成测试」?

小傅哥

Java 小傅哥 低代码 IDEA 脚手架

用户体验再升级!Erda 1.2 版本正式发布

尔达Erda

云计算 开源 开发者 云原生 Go 语言

架构训练营 模块六

小卷儿

架构实战营第一期--模块六作业

clay

架构实战营

电商系统微服务拆分-模块6

小牧ah

架构实战营

模块六作业 - 电商系统微服务

babos

#架构实战营

java毕设开发经典选题

清风

毕业设计

架构训练营模块六作业

喻高咏        

架构实战营

Vue进阶(八十四):Computed 和 Watch 使用与区别

No Silver Bullet

Vue 8月日更

Lua 入门到精通( 01 Lua 简介以及软件安装)《做一个脚本高手》

陈皮的JavaLib

lua Linux 运维 脚本语言 8月日更

html创建表格有那些小技巧,表单中真的有这么多功能吗

你好bk

html html5 大前端 html/css JavaScrip

详解可观测性监控系统中的“金三角”

尔达Erda

开源 微服务 运维 云原生 APM

在线JSON转Schema工具

入门小站

百度地图开发-在地图上实现路线导航 09

Andy阿辉

android Android 小菜鸟 Android端 8月日更

Rust从0到1-高级特性-类型进阶

rust 高级特性 类型 Types

从头配置阿里云服务器

阿Q说代码

SSL证书 8月日更 阿里云服务器 域名备案

面向多场景而设计的 Erda Pipeline

尔达Erda

开源 微服务 云原生 企业数字化转型 Go 语言

如何找到靠谱的工长?

escray

生活记录 8月日更 装修记

拆分电商系统为微服务

木云先森

架构实战营

Spark 源码阅读 02:从 Spark-Submit 到 Driver 启动

程序员赤小豆

spark 技术 Spark 源码

云原生时代的 APM

尔达Erda

微服务 运维 云原生 APM 应用性能管理

【架构训练营】模块六作业

zclau

你知道 JavaScript 中的 Arguments 对象都有哪些用途吗?

编程三昧

JavaScript 大前端 函数 8月日更 Arguments

Linux之fgrep命令

入门小站

Linux

架构实战营模块 6 作业

蔸蔸

微信业务架构&学生系统管理系统设计

Geek_dae

架构实战营

苏宁精准测试方案探索和实践

薛飞

精准测试

索引下推,这个点你肯定不知道!

艾小仙

MySQL MySQL 高可用

Linux基金会披露最常用的开源组件及其安全问题_安全_万佳_InfoQ精选文章