2003年,一组包括自己在内的安全专家发表了一篇纸张说1)软件单一文化是危险的,2)微软是最大的单一文化创造者,这是最危险的。马库斯·拉努姆回应道散文这基本上说明我们已经讨论过了。现在,八年后,马库斯和我认为重新讨论这场辩论会很有意思。
单一文化的基本问题是,它很容易受到同样的攻击。1845年至1849年的爱尔兰马铃薯饥荒可能是最著名的单一栽培相关灾难。爱尔兰人只种了一种土豆,而基因完全相同的土豆因致病疫霉将其与传统上生长在南美洲的土豆的多样性进行比较,每一种土豆都适应了其家乡的特定土壤和气候,你可以看到异质性的安全价值。
网络计算机系统也存在类似的风险。如果每个人都在使用相同的操作系统、相同的应用程序软件或相同的网络协议,并且在该操作系统、软件或协议中发现了安全漏洞,那么一次攻击就可能影响到每个人。这就是大规模互联网蠕虫的问题:许多蠕虫已经影响了互联网上数以百万计的计算机。
如果我们的网络环境不是同质的,那么单个蠕虫就不会造成这么大的破坏。比起爱尔兰,我们更像南美的马铃薯作物。结论:单一培养不良;要么拥抱多样性,要么和其他人一起死去。
就目前而言,这种分析是有道理的,但存在三个基本缺陷。第一个假设是我们的IT单一化就像土豆一样简单。当特别致命的风暴蠕虫袭击时,它只影响了十亿多名可能的受害者中的100万至1000万人。为什么?因为有些计算机正在运行更新的防病毒软件,或者在被锁定的网络中,或者其他什么。两台计算机可能运行相同的操作系统或应用程序软件,但它们将位于不同的网络中,具有不同的防火墙、IDS和路由器策略,它们将具有不同的防病毒程序、不同的修补程序级别和不同的配置,它们将位于互联网的不同部分,连接到运行不同服务的不同服务器。正如马库斯在2003年指出的那样,他们自己也会有点不同。这就是大规模互联网蠕虫不会感染每个人的原因之一,也是网络快速开发和部署补丁、新的防病毒特征码、新的IPS特征码等的能力。
单一栽培分析的第二个缺陷是它淡化了多样性的成本。当然,如果一个公司的it部门运行一半的Windows和一半的Linux,或者一半的Apache和一半的Microsoft IIS,那就太棒了,但这样做需要更多的专业知识和更多的资金。它不会花费两倍的专业知识和金钱——有一些重叠——但由于每个人都使用相同的软件和配置,因此存在显著的规模经济。由专家锁定的单个操作系统要比由不太专业的系统管理员配置的两个操作系统安全得多。有时,正如马克吐温所说:“把所有鸡蛋放在一个篮子里,然后守住那个篮子!”
第三个缺陷是,您只能通过使用两个操作系统或三家供应商的路由器来获得有限的多样性。南美洲马铃薯的多样性来自数百种不同的品种。遗传多样性来自数以百万计的不同基因组。从单一栽培的角度来看,两种并不比一种好多少。更糟糕的是,由于网络的安全性主要是其组件安全性的最低限度,因此多样化网络的安全程度较低,因为它容易受到针对其任何异构组件的攻击。
计算机网络中需要一些单一文化。只要我们必须相互交谈,我们就必须使用TCP/IP、HTML、PDF以及其他各种保证互操作性的标准和协议。是的,同一协议会有不同的实现,这是一件好事,但这并不能完全保护你。你和互联网上的其他人不可能有太大的不同,因为如果你是,你就不可能在互联网上。
物种繁殖基因基本上有两种选择:龙虾策略和鸟类策略。龙虾一次产5000到40000个蛋,基本上不理它们。只有极少数的幼崽能活到四周大,但这足以确保基因繁殖;每5万只龙虾蛋中,平均有两只龙虾能存活到法定大小。相反,鸟类一次只产几个蛋,然后花费大量精力确保大多数孵化的幼崽存活下来。在生态学中,这被称为r/K选择理论。在这两种情况下,每一个后代的基因都略有不同,因此如果出现新的威胁,其中一些后代更有可能存活下来。但即便如此,物种灭绝仍在我们的星球上定期发生;这两种策略都不是万无一失的。
我们的IT基础设施更像是一只鸟,而不是一只龙虾。是的,单一栽培是危险的,多样性是重要的。但投入时间和精力确保我们现有基础设施的生存更为重要。
这篇文章是最初出版的在信息安全中,是与马库斯·拉努姆(Marcus Ranum)的观点/对位的前半部分。你也可以在那里看到他的回应。
编辑添加(12/13):评论.
发布于2010年12月1日上午5:55•查看评论