后门和“漏洞门”可能很难被发现,但它们使开源安全岌岌可危。 微软旗下的GitHub是全球最大的开源软件平台,它发现软件的所有漏洞中17%是有人恶意植入的。
GitHub在近日发布的2020年Octoverse报告中指出,所有软件漏洞中近五分之一是被不法分子有意植入代码中的。
多年来,专有软件开发商经常因“隐藏式安全”即不提供源代码供公司外部的专家审查而受到批评。另一方面,开源被视为一种更加透明的开发方式,因为从理论上讲,任何人都可以对开源代码进行审查。
但是不争的事实是,由于缺乏资金和人力资源受到限制,开源常常未受到审查。
表明开源中漏洞潜在影响的一个典例就是Heartbleed,谷歌的一名研究人员在2014年披露了OpenSSL中的这个漏洞,此事暴露了许多开源软件项目资金不足的窘境。
Heartbleed影响互联网基础设施的核心部分,促使亚马逊、IBM、英特尔、微软、思科和VMware向Linux基金会注入资金,组成了核心基础设施倡议(CII)组织。
在过去这几年,GitHub一直在大力开发工具,通过其“依赖项图”(与其“安全警报”功能配合使用的一项功能)帮助开源项目修复安全漏洞。
安全警报服务将扫描开源项目中使用的软件依赖项(软件库),并在检测到已知漏洞后自动向项目所有者发出警报。该服务支持用Java、JavaScript、.NET、Python、Ruby和PHP编写的项目。
GitHub的2020年Octoverse报告发现,最常使用开源依赖项的语言是JavaScript(94%)、Ruby(90%)和.NET(90%)。
虽然开源软件中几乎五分之一的漏洞是蓄意植入的后门,但GitHub强调,大多数漏洞只是普通的错误而已。
GitHub特别指出:“这些恶意漏洞通常出现在很少使用的软件包中,但触发了仅仅0.2%的警报。虽然恶意攻击更有可能引起安全界的关注,但大多数漏洞是由错误引起的。”
开源项目中的漏洞仍然平均四年后才向公众披露。据GitHub声称,之后大概需要一个月才发布补丁。换句话说,尽管GitHub竭力自动修复开源项目中的漏洞,但仍有改进的余地。
GitHub在报告中特别指出,“绝大多数”的恶意后门来自npm生态系统。npm安全团队不得不从npm网站上删除了一个恶意JavaScript库,该库包含用于在程序员的计算机上打开后门的恶意软件。鉴于JavaScript是GitHub上最流行的编程语言,使用该渠道向开发人员分发恶意软件在情理之中。
GitHub特别指出,只有0.2%的安全警报与明显恶意的活动有关。
GitHub解释说:“保持开源代码备受信任,一大挑战是在自愿者提交访问是常态的生态系统中,向下游用户保证代码完整性和连续性。”
“这需要更深入地了解项目的贡献图、一致的同行评审、提交和发布签名,以及通过多因子身份验证(MFA)强制执行帐户安全。”
GibHub特别指出,漏洞可能包括“后门”和“漏洞门”(bugdoor)。前者是故意植入到软件中的软件漏洞,旨在为钻空子提供便利;后者是一种特定类型的后门,伪装成便于钻空子但又难以被发现的漏洞,而不是呈现出明显是恶意的行为。
GitHub表示,最直观地表明后门的迹象是,攻击者通常通过帐户劫持(比如2018年的ESLint攻击)获得软件包源代码库的提交访问权,利用中招的软件包来窃取用户访问npm软件包注册中心的登录信息。
对付这些后门企业的最后一道防线就是在开发过程中实行认真的同行审查,尤其是审查来自新提交者的代码变更。许多成熟的项目都实施了这项认真的同行审查机制。攻击者意识到这一点,于是他们常常企图在分发点破坏软件、使其不受版本控制,或者通过另外的手段(比如蓄意错误拼写软件包名称)诱骗人们获取恶意版本的代码。
GitHub在近日发布的2020年Octoverse报告中指出,所有软件漏洞中近五分之一是被不法分子有意植入代码中的。
多年来,专有软件开发商经常因“隐藏式安全”即不提供源代码供公司外部的专家审查而受到批评。另一方面,开源被视为一种更加透明的开发方式,因为从理论上讲,任何人都可以对开源代码进行审查。
但是不争的事实是,由于缺乏资金和人力资源受到限制,开源常常未受到审查。
表明开源中漏洞潜在影响的一个典例就是Heartbleed,谷歌的一名研究人员在2014年披露了OpenSSL中的这个漏洞,此事暴露了许多开源软件项目资金不足的窘境。
Heartbleed影响互联网基础设施的核心部分,促使亚马逊、IBM、英特尔、微软、思科和VMware向Linux基金会注入资金,组成了核心基础设施倡议(CII)组织。
在过去这几年,GitHub一直在大力开发工具,通过其“依赖项图”(与其“安全警报”功能配合使用的一项功能)帮助开源项目修复安全漏洞。
安全警报服务将扫描开源项目中使用的软件依赖项(软件库),并在检测到已知漏洞后自动向项目所有者发出警报。该服务支持用Java、JavaScript、.NET、Python、Ruby和PHP编写的项目。
GitHub的2020年Octoverse报告发现,最常使用开源依赖项的语言是JavaScript(94%)、Ruby(90%)和.NET(90%)。
虽然开源软件中几乎五分之一的漏洞是蓄意植入的后门,但GitHub强调,大多数漏洞只是普通的错误而已。
GitHub特别指出:“这些恶意漏洞通常出现在很少使用的软件包中,但触发了仅仅0.2%的警报。虽然恶意攻击更有可能引起安全界的关注,但大多数漏洞是由错误引起的。”
开源项目中的漏洞仍然平均四年后才向公众披露。据GitHub声称,之后大概需要一个月才发布补丁。换句话说,尽管GitHub竭力自动修复开源项目中的漏洞,但仍有改进的余地。
GitHub在报告中特别指出,“绝大多数”的恶意后门来自npm生态系统。npm安全团队不得不从npm网站上删除了一个恶意JavaScript库,该库包含用于在程序员的计算机上打开后门的恶意软件。鉴于JavaScript是GitHub上最流行的编程语言,使用该渠道向开发人员分发恶意软件在情理之中。
GitHub特别指出,只有0.2%的安全警报与明显恶意的活动有关。
GitHub解释说:“保持开源代码备受信任,一大挑战是在自愿者提交访问是常态的生态系统中,向下游用户保证代码完整性和连续性。”
“这需要更深入地了解项目的贡献图、一致的同行评审、提交和发布签名,以及通过多因子身份验证(MFA)强制执行帐户安全。”
GibHub特别指出,漏洞可能包括“后门”和“漏洞门”(bugdoor)。前者是故意植入到软件中的软件漏洞,旨在为钻空子提供便利;后者是一种特定类型的后门,伪装成便于钻空子但又难以被发现的漏洞,而不是呈现出明显是恶意的行为。
GitHub表示,最直观地表明后门的迹象是,攻击者通常通过帐户劫持(比如2018年的ESLint攻击)获得软件包源代码库的提交访问权,利用中招的软件包来窃取用户访问npm软件包注册中心的登录信息。
对付这些后门企业的最后一道防线就是在开发过程中实行认真的同行审查,尤其是审查来自新提交者的代码变更。许多成熟的项目都实施了这项认真的同行审查机制。攻击者意识到这一点,于是他们常常企图在分发点破坏软件、使其不受版本控制,或者通过另外的手段(比如蓄意错误拼写软件包名称)诱骗人们获取恶意版本的代码。
文章来源: 云头条
网友评论
最新评论