移动端仍可深度探索的领域有哪些?点击看业内代表性技术方案及案例>> 了解详情
写点什么

开源软件的供应链安全吗?黑客利用源代码传播恶意软件

  • 2019-09-09
  • 本文字数:2094 字

    阅读完需:约 1 分钟

开源软件的供应链安全吗?黑客利用源代码传播恶意软件

过去一年,发生了一连串开源软件遭受供应链攻击的事件,并且态势愈演愈烈。就在最近,甚至发现 2 个独立的后门漏洞进入数十万服务器管理员下载的库中。



第一个曝光的后门来自 Webmin,这是一个安装量超过 100 万,基于 Web 的管理工具。根据 Webmin 开发人员 Jamie Cameron 称,去年 4 月左右,攻击者破坏了用于开发新版本程序的服务器。然后,恶意使用访问权分发了一个后门,导致这个后门被下载超过 900,000 次,并且可能已被数万个服务器主动使用。


未知的攻击者对名为 password_change.cgi 的 webmin 脚本进行了细微更改,此更改让攻击者能够通过特殊 URL 发送命令。


随后,受感染的 Webmin 服务器将以 root 权限执行该 URL。从 2018 年 6 月到上周末,1.890 版本下载次数超过 421,000 次,并在默认情况下启用后门。在 1.90、1.91、和 1.92 版本上,则有超过 942,000 多次下载,只有当管理员改了“允许更改过期密码”的默认设置时,后门才处于活动状态。而 sourceforge 是此次的主要分发源。


从 Shodan 搜索引擎收集的统计数据显示,成千上万的联网服务器运行了这些版本的 Webmin,尽管不排除其中一些服务器运行的 Webmin 是由 Github 或其他版本未经修改的代码构建的,不包括后门的来源,但造成的影响依旧巨大。


RubyGems 后门置入

RubyGems 存储库的十一个库中出现了第二个后门。


根据开发人员 Jan Dintel 的分析,该后门允许攻击者使用预先选择的凭据在受感染的服务器上远程执行命令。


该恶意软件包括各种其他功能,包括将环境变量(包含用于访问数据库、服务提供商和其他敏感资源的凭据)上传到位于 mironanoru.zzz.com.ua 服务器的代码里。并且,Rubygems 的工作人员还发现其中含有加密货币挖掘代码。


总而言之,Rubygems 数据显示,后门库的下载次数已经接近 3600 次。


目前,尚不清楚其余的 RubyGems 库是如何被感染的。RubyGems 工作人员也没有公开回复。


利用信任

Webmin 和 RubyGems 库的结果都是最新供应链攻击针对开源软件的表现。大多数人从已知开发人员的官方网站安装软件或更新的时候,不会深思。


因此,在过去几年,黑客越来越多地利用这种信任,通过源代码来传播恶意软件。


去年 10 月,发生了一连串的攻击事件,仅在一周之内就发生了 2 起针对开源项目的供应链攻击。第一个是 vestapp 控制面板接口,另一个是名为“Colourama”的软件包,它被放入了官方 Python 存储库。


一个月后,又出现了一个旨在从比特币钱包窃取资金的恶意代码,拥有 200 万下载量,被财富 500 强企业和小型初创企业使用。


负责后台软件的开源项目经理说,该恶意代码是针对使用 Copay 开发的比特币钱包的人而设计的,而 Copay 只是该恶意软件的受害者之一。


去年三月,研究人员发现另一个叫做 bootstrap-sasswa 的的 RubyGems 库也被置入后门。历史总是惊人地相似,上个月初,一个叫做 strong_password.的 RubyGems 库也发生类似感染。就像最近发现的感染 11 个 RubyGem 项目的事件一样,bootstrap-sass,strong_password 后门使用浏览器 cookie 功能,让攻击者能在受感染的服务器上执行代码。strong_password 后门还与 smiley.zzz.com.ua 域名进行了互动,而这个域名又与最近攻击中使用的 mironanoru.zzz.com.ua 非常相似。


供应链攻击变得更“容易”

事实上,除了开源软件,闭源软件也属于供应链攻击的牺牲品。


华硕两次被入侵,恶意更新税务会计软件 M.E.Doc 导致 2017 年 NotPetya 爆发,以及同年感染了 CCleaner 的另一个后门,这些事件都可以证明。为什么针对开源软件/项目的供应链攻击似乎更容易?因为很多公司不会在其庞大的贡献者群体中进行多因素身份验证和代码签名。


Atredis Partners 研发副总裁 HD Moore 表示:“最近的发现表明,这些问题越来越频繁,围绕软件包发布和管理的安全生态系统没有得到足够的改善。可怕的是,这些实例中的每一个都可能导致更多的开发人员帐户受到攻击(通过捕获的密码、授权令牌、API 密钥和 SSH 密钥)。攻击者可能有足够的凭据可以反复执行此操作,直到所有凭据都重置并放置了适当的 MFA 和签名。”


Moore 认为,开源供应链感染的影响通常难以衡量,因为后门应用程序可以被另一个软件包作为上游依赖项包含在内。而默认情况下,依赖管理工具推送最新软件包的方式,使得在后端依赖的情况下成功进行攻击的可能性更大。而开源攻击也会造成很大的损失,因为它们会影响用于执行电子邮件和提供网页等功能的服务器。


一旦服务器安装了一个后门应用程序,唯一办法就是执行一个完整的重建,但是这个任务非常繁琐艰巨, 在收到恶意篡改包的 100000 个或更多系统中肯定会有很多部分被忽略,从而导致重建困难。“如果不彻底重装操作系统和应用程序,以及轮换密钥和凭证,系统将有很大的风险并且继续受到威胁,但是运营商认为他们可以通过文件差异手动检查系统,并自己进行有效评估。”Open Crypto Audit 项目主管 Kenn White 表示,“但不得不说,这太天真了!”(本文转自freebuf.com


原文链接:


https://arstechnica.com/information-technology/2019/08/the-year-long-rash-of-supply-chain-attacks-against-open-source-is-getting-worse/


https://www.freebuf.com/articles/network/212434.html


2019-09-09 12:042573

评论 1 条评论

发布
用户头像
写的真好,交流一下
2019-09-09 13:52
回复
没有更多了
发现更多内容

双减来了!人工智能如何促进教育领域转型?

京东科技开发者

人工智能 大数据 AI 教育行业

用21张图,把Git 工作原理彻底说清楚

git 架构 面试 后端

实时音频抗弱网技术揭秘

百度开发者中心

最佳实践 经验分享 智能视频

ShardingSphere X Google 编程之夏:同学,开源你怎么看?

SphereEx

开源社区 ShardingSphere 谷歌 编程之夏

浙江金华市正规等保测评机构有几家?在哪里?联系电话是多少?

行云管家

网络安全 等保 等保测评

每一个用到canvas的小伙伴都应该了解的fabric.js

荣顶

JavaScript 大前端 canvas 图形处理 画布

一个约定让全球数万AI爱好者相聚,它是如何做到的?

硬科技星球

解读业界5种主流的深度网络模型

华为云开发者联盟

模型 网络模型 模型优化 模型量化 深度网络

嵌入式软件时序(1)— C语言是怎么编译出来的

SOA开发者

2021年9月国产数据库大事记

墨天轮

数据库 华为云 国产数据库 达梦 人大金仓

车云一体的应用价值

SOA开发者

Python代码阅读(第35篇):完全(深度)展开嵌套列表

Felix

Python 编程 Code Programing 阅读代码

再见收费的Navicat!操作所有数据库靠它就够了!

Java 数据库 架构 开源项目

“828页Java面试手册”在我手,何愁offer不到手!

Java 程序员 架构 面试 后端

我用 10000 张图片合成我们美好的瞬间

荣顶

JavaScript 大前端 canvas 图形处理

为了让你搞定数据库选型,这些工程师重写了 26 万行代码

SphereEx

数据库 架构 架构设计 ShardingSphere SphereEx

声网 2020 实时大会后的弱网对抗实践

声网

音视频 网络环境 视频编解码 弱网下的极限实时视频通信

10月活动推荐:2021上汽集团“新四化”技术高峰论坛

SOA开发者

The Data Way Vol.5|这里有一场资本与开源的 battle

SphereEx

开源 播客 ShardingSphere SphereEx

[架构实战营]模块九作业

xyu

#架构实战营

Java 面试的“完美圣经”,有了这些还愁面试吗?

Java 程序员 架构 面试 后端

还在苦恼网络协议?阿里大佬这份笔记带你从入门到精通!

Java 架构 面试 程序人生 编程语言

明道云当选“中国电子商会数据资源服务创新专业委员会”理事单位

明道云

OpenCV学习(三):三重境界

轻口味

OpenCV图像处理 10月日更

Docgeni 1.1.0 正式发布!

PingCode研发中心

标签 Docgeni 文档目录 进度展示 日志展示

AUTOSAR基础篇之OS(上)

SOA开发者

机器翻译是否能替代人工翻译?从前世今生说起

博文视点Broadview

Vue进阶(幺叁幺):父子组件传值实现数据深拷贝

No Silver Bullet

Vue 深拷贝 10月日更

GitHub标星过万!阿里内部流传的JDK源码剖析手册到底有多强?

程序员 jdk 面试 java

想提高运维效率,那就把MySQL数据库部署到Kubernetes 集群中

华为云开发者联盟

MySQL 运维 测试 MySQL数据库 Kubernetes 集群

万字长文,一篇吃透WebSocket:概念、原理、易错常识、动手实践

JackJiang

websocket 即时通讯 IM

开源软件的供应链安全吗?黑客利用源代码传播恶意软件_开源_DAN GOODIN_InfoQ精选文章