写点什么

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:022932
用户头像
万佳 前InfoQ编辑

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

关注

评论

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

如何理解点到点传输,如果加速点到点传输速度

镭速

点对点传输

Lazada商品详情接口在电商行业中的重要性及实时数据获取实现

Noah

OpenAI成长史,凭什么快速崛起?特殊股权设计带来哪些影响?

博文视点Broadview

从 Logstash 到 TDengine 数据接入功能,原来有这些“不一样”

TDengine

tdengine 时序数据库

亮点抢先看|2023开放原子开发者大会期待您的参与!

开放原子开源基金会

Java 开源 程序员 算法 开发者大会

把数据变多、变大、变漂亮的四大有效方式

秃头小帅oi

钉钉员工组织资料实时同步至飞书的应用解析

RestCloud

自动化 钉钉 APPlink

再也不怕面试官问Redis持久化了

程序员花卷

缓存 后端 写时复制 redis 底层原理

​HTML代码混淆技术:原理、应用和实现方法详解

万界星空科技智能工厂的主要建设模式

万界星空科技

数字化转型 智能工厂 智能工厂解决方案 #人工智能 万界星空科技mes

JS小技巧,如何去重对象数组?

高端章鱼哥

JavaScript js

RAG落地实践、AI游戏开发、上海·深圳·广州线下工坊启动!星河社区重磅周

飞桨PaddlePaddle

人工智能 开发者 星河社区

日均搜索 3 亿次,小红书如何打造年轻人首选的「搜索引擎」

小红书技术REDtech

推荐系统 搜索 小红书 模拟器 SIGIR

Mac版VMware Fusion Pro激活中文包

胖墩儿不胖y

Mac软件 VM虚拟机 虚拟机软件

两道题浅析PHP反序列化逃逸

不在线第一只蜗牛

php 面试 PHP开发

【写作训练营打卡|01】

写作

网络游戏比赛直播现成源码解决方案,打造全方位电竞平台

软件开发-梦幻运营部

使用Slurm集群进行分布式图计算:对Github网络影响力的系统分析

华为云开发者联盟

开发 华为云 华为云开发者联盟 华为云弹性云服务器

Perfectly Clear Workbench for mac(图像清晰处理软件) 4.6.0.2620永久激活版

mac

图像处理软件 苹果mac Windows软件 Perfectly Clear

IDC 中国数字化转型盛典:兴业银行「基于悦数图数据库」的「智能大数据云平台」获奖

悦数图数据库

大数据 云平台 图数据库 智能大数据云平台

万界星空科技MES系统在设备管理中的多个应用场景

万界星空科技

数字化转型 mes 制造业生产管理系统 云mes 万界星空科技mes

c++类 | AI工程化部署

AIWeker

c AI工程化部署

2023 IoTDB 用户大会成功举办,深入洞察工业互联网数据价值

Apache IoTDB

分布式基础概念-分布式缓存[3]

派大星

分布式 Java 面试题

软件测试/人工智能|人工智能与智能化测试Workshop

霍格沃兹测试开发学社

Native API在HarmonyOS应用工程中的使用指导

HarmonyOS开发者

HarmonyOS

以战略规划为导向的企业全面预算管理应用

智达方通

战略规划 全面预算管理

优秀的文件传输软件能有效提高公司效率

镭速

文件传输软件

实例讲解Python 解析JSON实现主机管理

华为云开发者联盟

Python json 开发 华为云 华为云开发者联盟

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