Shellshock漏洞那些事:网络安全噩梦的开始

鉴于Linux/UNIX系统近日再次曝出危险等级超“心脏出血”的Bash漏洞——“Shellshock”,《连线》杂志周一特别刊文,介绍了该漏洞的过往与今生,并指出对于已经破损不堪的互联网而言,Shellshock或将只是一切噩梦的开始。以下为《连线》文章全文翻译内容:

Shellshock漏洞

布莱恩·福克斯(Brian Fox)驾车从圣巴巴拉(Santa Barbara)来到了波士顿,其车后备箱内放着两卷巨大的磁带。

这些并不是音乐磁带或者视频磁带。它们转载的是电脑软件代码及数据,是专为过去有家具般大小的电脑服务的,就像我们在《Dr. Strangelove》和《Three Days of the Condor》等经典电影中看到的一样。

那一年是1987年,福克斯驾车横跨美国来到了他的新家。他所携带的磁带装载了一个名为Bash的软件程序,而这个程序就是后来在UNIX系统及相关再发行版中随处可见,用于桥接用户与操作系统的重要工具。

福克斯是一名高中辍学生,其平时大量时间都与麻省理工(MIT)的电脑极客们,如理查德·斯托尔曼(Richard Stallman)等一起度过。尽管当时的福克斯只是个脚架焊接工,但其却有着一颗壮志雄心——要创建出一套完全免费,并可让人随意删节,且不受繁重拷贝条款限制的软件系统。福克斯将这一想法称为“自由软件运动”,其最终的目的是将UNIX操作系统全部重建,并以GNU的方式完全免费地与世人共享。这也便是开源软件生态的雏形。

福克斯和斯托尔曼在那个时候并不知道,他们正在开发的软件随后会成为全世界通信基础设施几十年里几近不可或缺的重要工具。在福克斯将两卷磁带从波士顿带回到加州后,此时已有不少工程师开始注意到并使用Bash,有的甚至还帮助进行开发。在UNIX的带动下,GNU和Linux开始迅速崛起,尤其是后者如今俨然已成为当代互联网的躯干组成,Bash也因此进驻了数以亿计的计算机当中。

直到1992年的某一天,一位工程师将一个程序Bug键入到了Bash中。又过了20多年,终于有安全专家在上周发现了这一沉睡已久的安全漏洞。这一Bug被称专业人士们称为Shellshock,其危害性将可导致黑客肆意大规模地破坏当今的互联网结构。

Shellshock是人类计算机史上已知的、最老的、尚未修复的程序Bug。事实上在今年早些时候,专家们也在另一个已存在多年的开源软件上找到了一个名为“心脏出血”(Heartbleed)的Bug。这两个Bug都表明出当今互联网的一个问题,即除非我们能够改变代码编写的方式和软件审查的方式,否则同样的问题或将一直阻碍和威胁着互联网的发展。互联网建立在大量被重复使用的软件之上,其中一些软件甚至是几十年前就已存在的,而那个时候,我们甚至还没有对安全问题的审查考虑。

譬如Bash被创立之时,就没有人想过要为其遭受网络攻击的可能性进行评估,因为这在当时毫无意义。

“(当时)去担心这个软件会成为地球上被使用最多的一个,并要考虑会被一些恶意的人利用在网上发起攻击,这完全是不现实的。”福克斯说,“当可能的条件具备时,Bash已经被使用有15年之久了。”在今天,谷歌、Facebook,或者任何一个互联网巨头都在使用Bash,因为它是开源的,任何人都可以在任何时候对它进行审查。然而事实是,尽管任何人都可以在任何时候去审查Bash的安全性,但却没有一个人想过这么去做。这种现象需要发生改变。

网络是怎么建成的

从数码的角度看,福克斯的Bash程序大致与iPhone的桌面截屏图大小一致。但在1987年,这个程序是无法利用电子邮件发送至美国彼岸的。当时的互联网雏形才刚刚形成,跨越全球的WWW概念则还处于酝酿中。于是这就有了福克斯驾车带着两卷磁带由圣巴巴拉开往波士顿的一幕。

Bash是一个shell工具,是一个在图形用户界面出现前用于与计算机进行交流的指令行键入工具。这有点类似Windows下的命令提示符工具。尽管它看上去很“古老”,但却是在互联网盛行的时代,在Apache网络服务器遍及的时代,桥接网页应用软件和操作系统之间最简单和最高效的方式——只需要在Bash shell下键入一系列指令,网页服务器就可以从计算机中获得文件信息——这就是当今互联网的基础。一套建立在脚本之上的脚本指令。

今天,Bash仍旧在网页服务器管理工具中扮演重要角色。Mac系统中也有它的存在。事实上,任何运行Linux操作系统或UNIX操作系统的公司都在通过该工具快速而简单地与运行于这些系统之上的应用软件建立连接。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/69970e7e54dc75bcff2692382df3489e.html