完美的应用程序是不存在的,不信你看

回顾2014年,我们看到一大堆Adobe Acrobat、JAVA、Windows等软件漏洞的出现。令人惊讶的是两个非常重要且广泛的漏洞:Heartbleed心脏出血漏洞和Shellshock。

Heartbleed心脏出血漏洞是普遍的开放原始码安全链接库OpenSSL内的漏洞。一般用户通常不会直接面对OpenSSL,但它的确给大部分的网站提供了安全层。这个漏洞让攻击者可以存取OpenSSL服务器储存在内存内的数据,这一层级的存取让攻击者可以用最小的努力就能危害连到服务器的联机。

Shellshock是一个几乎无处不在的命令行解释器——bash的漏洞。即使你自己没有使用bash,但它可能存在于你正在使用或连上的系统或设备内。这个漏洞让攻击者可以轻易地在你的系统上执行任意指令。并且,这一攻击只需要在请求中加入少少的几个额外字符及很少的技术知识。

这些漏洞加起来大大地影响了我们对IT基础设施的想法,每个漏洞都因其潜在的影响而受到国家等级的媒体关注。更糟的是,这两个漏洞都已经在真实世界存在很长一段时间了。Heartbleed在发现时已经存在2年了,,而Shellshock在被披露时已经存在25年了。

关于开放原始码项目和封闭原始码项目间的整体安全性比较,有许多争辩,常见的误解是属于开放原始码项目的程序通常比较安全,但其实并非如此。

任何程序代码都会有臭虫和一定数量的安全问题。不管是封闭或开放原始码项目都希望可以减少程序代码中的臭虫和其他问题。事实上,如何让程序变得更加安全或更不安全的重点完全取决于开发程序代码的团队,包括他们对质量的承诺及始终如一地去加以贯彻的能力。

因为任何人都可以审核程序代码安全问题,这才产生了开放原始码会更加安全的错误理解,但其实并不一定真的有人进行对程序代码的安全审查。

虽然之前也有过严重的安全漏洞披露,但是Heartbleed加上Shellshock更加突显出这些软件比大多数人所意识的都还要更加融入我们的日常生活。也更进一步地突显出,为我们大量运作提供基础的软件可能并没有我们假设的那样安全,因为它能够正常使用并且持续多年,但并不代表其没有任何漏洞。

对于封闭原始码项目来说,需要写程序的团队加以检查并确保所有的问题都被解决。

开放原始码项目需要用不同的方法。因为主要是基于志愿者来运作,需要能够协调彼此间的努力来尽快解决这些项目内的问题。例如在Heartbleed之后,OpenSSL项目的社交成员进行了一次程序代码审核并开始一些新举措来解决问题。

无论是封闭原始码还是开放原始码,如果你正在开发程序,你都需要确保自己尽力去发现和解决程序代码中的任何问题。如果你正在部署软件,你必须确保自己了解所部署的组件之间的相依关系。此外,准备好对应控制方案以预防任何可能发生的问题。

没有策略是完美的,拥有多层次防御是成功安全策略的关键。这一策略从强大的核心——程序代码本身开始。

转载请标明文章来源于趋势科技!

愈想得到,就愈要放手。放手是很难的,但是别无选择。

完美的应用程序是不存在的,不信你看

相关文章:

你感兴趣的文章:

标签云: