摘要:调查报告称,通过组件构建的应用程序中,71%的应用程序使用至少一种具有已知安全问题的组件版本,而解决这些安全问题的更新版本已经发布。在在2012年,4600万不安全版本的组件被下载。曾经,安全意味着保持你的现成的软件或者LAMP堆栈软件的更新和完全修复,但这已经不再是一个安全的假设。 |
据悉,Sonatype公司在今天公布了其年度开源软件开发调查的结果,该调查主要着眼于开发人员使用开源组件的程度,特别侧重于调查他们如何平衡速度和安全性的需要。Sonatype调查了来自不同国家的3500人(其中85%以上是开发人员),来了解他们组装软件所采用的方法。而结果表明,开发人员对某些组件的依赖:至少有80%的典型的Java应用程序现在是通过开源组件和框架来组装的
而这种情况一直持续多年,这也很好的说明了组件组装概念的完全成熟,而不是从头开始编写代码。NodePackageManager(npm)、CPAN以及最近的PHPComposer等工具的普及表明Sonatype的调查结果可能反映了一种普遍的趋势,这与使用何种语言无关。
然而,Sonatype得出这样的结论,开发人员没有跟进最新的安全问题。该调查报告称,通过组件构建的应用程序中,71%的应用程序使用至少一种具有已知安全问题的组件版本,而解决这些安全问题的更新版本已经发布。在在2012年,4600万不安全版本的组件被下载。曾经,安全意味着保持你的现成的软件或者LAMP堆栈软件的更新和完全修复,但这已经不再是一个安全的假设。
据悉,在2006年,只有8个CVE确定了某个组件作为风险来源,而到2012年,这个数量已经上升到50。今天,如果想要确保企业安全,只是保障平台的更新是不足够的,还需要一个政策来保障应用程序的安全。
而与其他组件库相比,这个问题在Maven可能更加明显,Maven修复POM中的版本号,而不是提供版本范围。当然,使用npm的Javascript编程员和使用PHPComposer的PHP编程员能够指定不会打破API兼容性的随后次要版本是可以接受的,以及通过简单的命令来更新其软件。但这并不只是一个开源问题或者只是Java问题,从自闭源供应商购买的转悠组件也可能受到相同的影响。
有一个根本性的问题是,大多数人根本没有意识到开发人员对组件的选择能够主宰我们的系统。攻击者可以利用组件中的任何漏洞作为进入系统的入口,而是用该组件的企业中的应用程序可能永远无法通过更新来关闭这个入口和解决这个问题。而该调查显示,只有38%的受访企业能够控制器应用程序是用的组件,并确保定期的安全更新。
对于网络来说,安全非常重要,甚至已经被提上国家政治议程,但在实际情况中有多少人明白呢?而今,企业的开发已经逐渐转向组件,而不是使用企业内部平台中运行的自定义代码,企业应该意识到这一个事实,提防攻击者。
责任编辑:余芯