在信息技术专家和软件铁杆拥护者之间接下来进行的讨论中,一个观点被不断提起,这就是:一种软件的受欢迎程度和安全性成反比。这一假设的逻辑是,随着软件的不断普及,作为目标的价值就越大越具有诱惑力,而作为更具诱惑力的目标,会导致安全性进一步下降。
这种观点中存在一定的合理性,不过远远没有很多人想的那么多。如果在所有因素都相同的情况下,最流行的软件将首先遇到攻击,这是事实。但是,从另一方面来看,所有因素都相同的情况是不可能出现的,占据领先地位也不一定是必然:
在最流行的软件受到关注后,第二流行的软件也受到关注,如果它具有足够的安装基础的话,也可能成为攻击的目标。
对于软件市场来说,不需要多大的份额就足够进行攻击了。对于使用最广泛的软件来说,一个百分点就意味着数百万份的部署。
在其它因素相同的情况下,应用在高价值目标上的软件更容易受到关注。这种软件通常不是最流行的软件。
在其它因素相同的情况下,应用最广泛的软件可以被攻击者当作入侵其它系统的出发点而首先受到关注。如果没有其它原因的话,它说明了在使用更广泛的软件上进行的攻击范围更大。
实际上,第二流行的网络服务器软件远远没有最流行的网络服务器软件安全。
将所有这些事实综合起来的话,就会发现普及是导致安全下降的直接因素这一概念与推论之间出现了矛盾。上面五点中的最后一点,就是一个反例。声称的原因,不支持相关的推论,事实和论点之间产生冲突。毕竟,存在相关性并不等于存在因果关系。
当然,也可以从另外一种角度来看待普及性和安全性之间的关联。尽管普及性不是导致安全下降的直接原因,但是可以会给安全记录带来一定的影响。
在大多数情况下,这种影响不足以吸引坏人攻击更受欢迎的系统。如果绝大多数系统都部署成为非常安全的系统的话,对于很多恶意安全黑客来说,他们会更倾向于选择其它不那么受欢迎但更容易攻击的目标系统。
普及性对安全性带来影响是通过大量用户对系统设计带来的环岛效果而造成的。由于越来越多的人大声地要求得到某种功能或进行界面的调整,而为了安抚他们,开发商面临着越来越大的压力。这样下去就很容易导致在安全设计方面考虑的不是那么全面,导致复杂性飞速上升,开发方向出现错误。通常情况下,安全性低下的臃肿软件就这么出现了。
从全球范围来看,对于最终用户来说,微软Windows是最流行的通用操作系统。而取决于你询问的对象,及选择如何计算的假定,苹果的Macos X是第二流行的。如果必须猜测一下的话,canonical的Ubuntu Linux操作系统可以说是第三。有趣的是,这也是它们在安全问题方面的排名。
在处理潜在威胁方面,微软Windows的记录非常差。它使用的还是对安全没有足够重视的架构,基于“越大越好”而不是认识到简洁和安全之间关系的“越少越好”的原则。这样的原则加上在设计方面的问题,很容易导致小缺陷产生大灾难。尽管微软已经开始采取大量措施重点解决安全问题,但大量错误的安全策略,无数的膨胀功能以及设计方面的缺陷,加上现实环境让这一切几乎不可能成功。
苹果Mac os X是建立在一个更强大的核心架构下的,它包括了一个微内核,一个主要基于bsd unix用户态下的图形用户界面以及在90年代收购未来(next)软件时直接获得的专业级创新应用程序接口(API)。尽管如此,苹果严格的策略(在某些情况下是基于“控制狂”模式,故意忽略其它人)破坏了良好的基础导致MAC OS X 在安全方面不佳。表现就是在很多情况下,对安全漏洞的反应非常迟缓,也不合情理,比较起来微软Windows的补丁策略反而显得更好一些。
最后,让我们来看看Canonica的Ubuntu Linux,随着一个个新版本的发行,它的体积也迅速膨胀开始接近我们所厌恶的微软旗舰操作系统。至少部分原因是它主要依赖于开放源代码模式的开发,并且这些项目往往具有较好的安全性,所以,Ubuntu在安全方面面临的问题比Mac os X要小一些。不过,安全性下降依然是一个长期存在的问题。越来越大的软件,系统组件之间耦合的不断加强,以及为可以诱惑最终用户的表面性能而不是良好的系统设计提供更多的关注,所有这一切,导致系统日益接近它更受欢迎安全不佳的竞争对手。
相比之下,一些不太流行的操作系统在某种程度上依然关注设计正确性、自觉维护安全,并保持系统简洁合理和稳定,这可能也是它们不流行的原因。这些操作系统包括了:
Debian和Slackware之类以技术为导向的Linux发行版本
“大众化”的bsd unix系统,Free BSD最安全的bsd unix系统——关注正确性的NET BSD和关注安全审核的OPEN BSD。
实际上,这也就是说,争论系统安不安全和普不普及是一样的。它们之间存在很大的相关性,并不等于普及程度和良好的系统设计之间存在冲突。不管怎么统计,即使最不流行的操作系统在全球也有上百万的用户,对于恶意安全黑客来说,也是非常有价值的目标了。实际上,由于具备更高的安全性,这些系统经常被用于面向工作的服务器上,在单个案例中,这让它们作为目标的价值更高。尽管这样,它们的安全记录却比微软Windows、苹果Macos X和Ubuntu Linux操作系统好的多。
只有在恶意安全黑客避免攻击第二和第三流行的选择,才能说明普及性和缺乏真正安全之间不存在关联。不过,它确实有关联,安全系统设计和维持会被普及性带来的社会压力所影响,导致实际安全被忽视。