开源软件安全开始成熟

VSole2022-06-23 10:01:15

制定了开源软件(OSS)策略的公司往往在自我评估的准备度方面表现更好。根据6月21日发布的一项调研结果,这些公司通常也设置有专职团队负责推动软件安全。

软件安全公司Snyk和Linux基金会进行的调查研究表明,制定了OSS安全策略的公司中,70%认为其应用程序开发非常安全或一定程度上安全。相较之下,未制定此类策略的公司中,仅45%认为自己至少一定程度上是安全的。

Snyk开发者关系总监Matt Jarvis表示,开源软件可为应用开发带来极大好处,但公司也应认识到其不利的一面并为此做好准备。

“虽然开源是行之有效的创新机制和高质量软件构建机制,但在某种程度上,开源自身的成功已经为自己招来了祸端,因为其普遍性使其成为了供应链攻击的目标。”Jarvis说道,“公司需要对治理和代码等开源的运作机制有更深入的了解,并通过采用开发人员优先的安全工具和方法来加强公司的供应链管理。”

小公司缺乏OSS策略

报告指出,总体而言,只有大约一半的公司制定了开源安全策略来指导开发人员使用组件和框架,而占比更大的小公司(60%)要么没有策略,要么不知道自己是否制定了策略。

报告认为,安全经济学往往会调低初创公司和小公司创建正式策略的优先级。

报告中写道:“小型组织的IT人员和预算很少,往往优先考虑业务的功能需求,这样业务才能保持竞争力。缺乏资源和时间是组织没有实施OSS安全最佳实践的主要原因。”

《解决开源软件网络安全挑战》

研究发现,不同编程语言也带来了不同安全考虑。举个例子,用.NET编写的应用程序修复缺陷所需的平均时间最长,为148天,其次是JavaScript;而以Go语言编写的应用程序修复速度最快,通常只需要.NET应用程序三分之一的时间就能修复缺陷,即49天。

JavaScript依赖比比皆是

JavaScript应用程序的依赖项最多,平均每个项目174个,约为依赖项最少的Python应用程序(平均每个项目25个依赖项)的七倍。

Jarvis称,虽然大型传递依赖树可能会导致漏洞修复路径迂回,但如果组织有办法跟踪项目之间的关系,那么拥有大量依赖未必是劣势。

“与其他生态系统相比,JavaScript包的范围往往更小,因此尽管数量更多,但需要审计潜在缺陷的代码可能更少。”Jarvis说道,“最重要的问题在于了解你用到了哪些依赖项,尤其是作为依赖的依赖引入的那些传递依赖,而这归结为使用恰当的安全工具来扫描。”

然而,数据还表明,不同的语言往往具有不同严重程度的缺陷。举个例子,用Java编写的项目平均具有超过47个高严重性漏洞和28个中等严重性漏洞,高出位居第二的JavaScript一大截(分别是18个和21个)。而Python则是低严重性漏洞数量最为可观,平均每个项目20个。

“这一情况存在多种影响因素:项目复杂性、开发人员数量和普及程度都会对漏洞的类型和数量产生影响。”Jarvis称,“大量开发人员检视极为普及的项目就可能会暴露出更多漏洞。”

自动化=安全成熟度

尽管识别依赖项中的漏洞十分重要,但大多数设置了OSS安全策略的成熟公司都依赖行业漏洞咨询(60%)、自动化包漏洞监测(60%),以及来自包维护人员的通知(49%)。

自动化监测是未制定安全策略的公司与安全成熟度高的公司之间存在的最大差距,没有安全策略的公司中仅38%使用某种自动化监测,而安全成熟的公司这一比例是60%。

Jarvis表示,如果尚未具备,那公司应该添加一套OSS安全策略,作为巩固自身开发安全的一种方式。即使是轻量级的策略都是个好的开始。

“拥有策略似乎就可以声称开发在某种程度上是安全的。我们认为制定策略是合理的安全成熟度起点,因为这表明组织已经意识到潜在问题并已踏上安全旅程。”

Snyk与Linux基金会的调研报告《开源安全状况》

https://snyk.io/reports/open-source-security/


软件javascript
本作品采用《CC 协议》,转载必须注明作者和本文链接
安全研究人员和系统管理员开发了一个工具,可以帮助用户检查 NPM JavaScript 软件注册表中软件包中的清单不匹配。
利用Windows 0 day 漏洞投放Qbot恶意软件
第2部分:LOLBins,操作系统和威胁类型 当保护您的组织时,了解威胁态势可能是一个有价值的工具。如果您的消息灵通,那么您就可以决定如何最好地保护资产并相应地分配资源。紧跟最新的突破性攻击技术和新威胁很重要...
据悉,今年9月开始, Magniber勒索软件团伙通过创建的宣传网站,大肆推广虚假的Windows 10安全更新文件,实际则是包含JavaScript的恶意文件,一旦下载就会遭到勒索软件攻击,文件数据等均将被加密。惠普威胁情报团队指出,Magniber 勒索软件运营商要求用户支付高达 2500 美元的勒索赎金,以接收解密工具并恢复文件。
用Rust开发代码不仅能避免很多常见的安全漏洞类型,而且最终会对全球网络安全基线产生重大影响。但是,一种名为Rust的安全编程语言正在快速崛起,逆转软件安全的宿命。自2019年以来,微软、谷歌和亚马逊网络服务一直在使用Rust,这三家公司于2020年与Mozilla和华为成立了非营利性Rust基金会,以支持和发展该语言。
在1月至2月期间,勒索软件Shade(Treshold)对俄罗斯展开了新攻击。Shade自2015年以来开始大规模攻击俄罗斯。此次活动中攻击者冒充俄罗斯石油和天然气公司,发送网路钓鱼邮件,俄语编写的JavaScript文件附件充当下载器,使用一系列硬编码地址进行混淆。
软件成分分析工具可以洞察开源软件组件及其存在的漏洞,对应用程序进行安全检测,实现安全管理,是最行之有效的方法之一。
2021年7月21日,国际网络安全媒体ThreatPost发布报告称,通过对2021年恶意软件和网络钓鱼攻击使用域名的流量和勒索软件攻击活动发生的时间分析后发现,当恶意流量达到峰值期间,勒索软件攻击也较为频繁,二者可能存在联系。
报告称,许多攻击者使用被动扫描,利用 Shodan 等服务或 Nmap 等工具查找托管 Docker 守护程序或 Kubernetes 容器编排平台的服务器,试图使用窃取的凭据或漏洞攻击这些平台。此外,创建和使用容器的开发人员往往不关注安全性。报告指出,一个新的蜜罐在五小时内遭到第一次攻击。2021 年,攻击者的重点似乎将从破坏单个容器转向由 Kubernetes 或 K8s 管理的容器集群。
VSole
网络安全专家