出处:TechNet Magazine 作者:Jesper M. Johansson 时间:2008-5-23 11:44:14
闲聊一些新奇但颇有价值的内容非常有趣。目前为止,我使用海森堡不确定性原理来解释安全性概念已有一段时间。(听过我的独角兽故事的人都知道我喜欢使用其他原理的基本理论来阐述观点。)虽说有些奇怪,但确实存在与其他科学分支的一些基本概念相关的信息安全推论。
量子物理学中海森堡不确定性原理的基础是图 1 中所示的等式。这一原理指出粒子的位置 (p) 和动量 (x) 存在如下关系:因此如果增加测量位置的精度,就会降低测量动量的精度。两个因子的精度范围为普朗克常数与一个微小系数的乘积。说得更清楚点,该原理说明在同一时刻一个粒子不可能所有因子都达到最好的精度。
Figure 1 Heisenberg Uncertainty Principle
它与预测不确定范围直接相关,主要预测对粒子多个事实状态的不确定程度。尽管(尚)无法预测范围,但必须认识到:无法使用确定性预测单个计算机网络上的两个变量将如何影响该网络的安全性。
您还必须进行权衡。尽管您在信息安全方面可能并不受普朗克常数的限制,但是仍存在其他限制。必须进行的最显而易见的权衡发生在安全性和可用性(或有效性)之间。.如果暂时不考虑可用性——并且,非常坦白地说,除了面临拒绝服务攻击,我认为安全人员不应对其他可用性方面的问题负责——保护某项内容的最轻松方法是将其关闭。这样,它就不会再遭到黑客攻击。尽管有效性会一落千丈。
同样地,尽管成本显著增多,但与每年向所有员工发送一封电子邮件来提醒他们工作中不要使用即时消息相比,昂贵的预防数据丢失产品产生的效果也要大得多。但是,您的组织愿意支付这笔费用吗?现在来看看量子物理学与安全性在哪里有着超乎想象的紧密联系。
薛定谔猫
在“薛定谔猫”寓言中介绍了一个相关但却不同的量子物理学概念。该故事说到 20 世纪著名的物理学家艾尔文·薛定谔与您可能已听过的另一位 20 世纪著名的物理学家阿尔伯特·爱因斯坦就叠加概念有一场旷日持久的辩论。薛定谔发现存在有两种状态叠加的元素的量子力学领域非常荒谬。
为支持其观点,薛定谔设想了一个试验,即将猫放在一个密封的盒子中。盒子中的另一件东西是毒药容器,通过一些(假想的)亚原子放射性粒子来控制毒药的释放。如果放射性颗粒发生衰变,毒药会被释放出来,并且猫会因此而死。
遵从量子力学规律的亚原子粒子存在于叠加的状态中。由于小猫的状态完全取决于亚原子粒子的状态,因此它也处于这种叠加的状态中。只有通过实际观察猫的状态,我们才能最终确定它具体是死是活。
当然,薛定谔的目的旨在说明:当应用于原子系统时,量子力学的某些规律有多么地荒谬。不过,他的示例经常被认为可能产生门外汉所说的“观察者效应”。尽管观察者效应并不适用于量子力学中所关注的亚原子系统,但它对于我们安全专业人员而言却非常有趣。简而言之,它说明通过观察改变了某个事物。
观察者效应
为更详细地解释它,请看看一杯茶的示例。为了解茶的热度,您将温度计放入杯中。假设温度计放入时茶为 80 摄氏度,而温度计自身为 22 度(室温)。在将温度计放入茶中后,它开始从茶中吸收热量,而茶也释放一些热量来加热温度计。最终,温度计和茶具有相同的温度。然而,该温度既不会是 80 度,也不会是 22 度——它会是两者之间的某个温度。因此,通过测量茶的温度,您改变了它。
观察者效应与信息安全也有关联。每次执行操作来解决某个安全问题时,您可能会由于修改系统而修改了安全状况。我将把它称为安全状况流动性效应 (SPFE),这是我能想到的最好的术语了。
另一个更简单的示例是服务帐户依赖关系。在有关保护 Windows 网络的第 8 章中 (
protectyourwindowsnetwork.com),我介绍了在系统中安装入侵检测服务 (IDS) 来检测攻击。然而,IDS 将登录到中央系统并且需要很高的权限来访问受监控的系统。大多数情况下,即意味着服务会使用权限很高的服务帐户。
如果任何一个这样的系统遭到入侵,除了能禁用 IDS,攻击者还可访问服务帐户凭据并访问其他所有系统。它是一个很好的 SPFE 例子。如果通过在环境中安装某个功能来提供安全性,即会随之产生新的潜在安全问题。
SPFE 的示例还有许多。Steve Riley 对于 802.1x 在有线网络上存在的某些问题的介绍 (
microsoft.com/technet/community/columns/secmgmt/sm0805.mspx) 也是一个不错的示例。许多环境都非常希望使用基于主机的防火墙,这种情况屡见不鲜。但是,如果与 802.1x 结合使用,此组合可能带来之前并不存在的一个特殊攻击。同样,安全技术修改了环境的安全状况并产生了本来并不存在的攻击。
并不是说这些方法天生就没用,应该束之高阁。它的意思是需考虑所执行的操作对总体安全性的影响。如果执行风险管理,您必须考虑您的操作和预防措施在风险方面的实际意义。在缓解问题影响时,不能在实施对策之后就止步不前。实际上,安全是一个过程。需使用深层防御策略,但是需考虑防御将如何改变安全状况以及您将如何应对由于该策略所产生的新威胁。
成熟的强化策略
我研究强化指南已有 10 多年了。回头看看最初的几个指南,我发现它们仅是我和同事认定您应该打开的设置列表。那时,支持安全性的基本策略还不成熟——如果某项功能旨在提供安全性,一般逻辑就是必须将其打开。而未多加考虑以下事实:即有许多合理的理由可以一开始就将这些功能关闭。
最后,我领悟到要有效地执行强化,必须在强化方面做出全方位思考并且考虑系统将面临的威胁。这一启示塑造出了《Windows 2000 Security Hardening Guide》(
go.microsoft.com/fwlink/?LinkID=22380) 中的一系列案例。接下来,自然就是将指南拆分成不同的威胁级别(如《Windows Server 2003 Security Guide》(
go.microsoft.com/fwlink/?linkid=14846) 中所示)。
当时,我一直烦恼于即使已打开并使用了所有指导设置,仍可能进入系统。其原因可能是:漏掉了修补程序,因此某些运行方法使我得以进入,或者安装了一些不安全的第三方软件。
事实证明这两个指南中的强化措施在总体安全状态方面的帮助并不太大。它仅归结出几个关键事项。实际上,我曾构建过的最安全系统 (
msdn2.microsoft.com/library/aa302370) 仅使用了这些安全指南中的四个或五个调整工具,并且它们中没有一个能真正按预想停止任何攻击。遗憾地是,人们希望只按一下蓝色的“Secure Me Now”(立即保护我)大按钮就可以自动强化系统,但是安全性要比那种情形复杂得多。
如何处理风险
要受到良好保护(而不是有限的保护),必须采取一个合理的方法来处理风险。您必须了解面临着哪些风险,决定要降低哪些风险,然后还必须了解如何降低风险,这一切都不是启动一下开关就可以实现的。
一般而言,这些安全开关是为特定情形设计的,并不一定最适合您的具体配置。它们的作用是创建一个不错的基线起点,并迎合许多市场对这些快速强化调整工具的需要。在现代软件中,大部分开关已默认打开,而没有打开的开关可能具有严重的副作用。
并且,启动大量开关可能产生一个无法支持且不稳定的系统,该系统可能不会执行您需要它执行的任务——而这所有的一切就是为了预防您尚未弄清的威胁。SPFE 和量子物理学告诉我们应在实施保护后进行重新分析,但是太多组织都没有做到这一点。实际上,他们并未做到第一时间分析威胁。如果首先实际分析威胁,您会发现真正产生影响的事物并不是列出帐户名的匿名限制,也不是大规模的访问控制列表更改。
相反,实际产生影响的是确定系统是否应提供某项特殊服务;如果是,提供给谁;然后再执行该策略。重要的是确保只有那些绝对需要与您通信的系统和用户才有权执行此操作。另一要旨是确保所有应用程序和用户都使用尽可能低的权限。简而言之,要牢记采取明智的安全方法并且下功夫进行分析,从而使每个系统都可以负责自己的安全。
它就是目前的安全方法使用服务器和域隔离 (
microsoft.com/sdisolation)、Windows Server
® 产品中的安全配置向导 (SCW) 以及“服务器管理器”工具(在 Windows Server 2008 中管理角色)的原因。这些工具将一步步引导您理解必须支持的情形,然后帮助您恰当地锁定系统。当然,这些工具不会提供适合每个人的万能药,但是它们能提供可支持配置,实际执行您购买该软件要完成的任务。
在适当的位置应用安全设置
它的核心是不能依赖外部因素或简单的调整工具来保证安全。每项资产都必须能够保护自己,“外围防护”和“内部网络”之类的概念现在已毫无意义。
对于绝大多数组织网络而言,至多处于半防御状态。您需了解到这一点并采取适当的措施,而不是仅依赖于机械的强化指南。首先,必须了解自身需求。还要从其他了解您需求的人那里借鉴经验。
网络广播上的一个客人最近建议小型企业用户转到美国国土安全局网站并下载用于 Internet Explorer® 的强化指南。那是一个负责保护军事和国家安全设施的政府机构,为什么您要指望它提供保护小型企业中 Web 浏览器的合适指南?这个例子形象地说明了为什么某些糟糕的逻辑仍在计算机安全性领域中流行。由于指南是由三个字母的政府机构所发布的,人们会认为它肯定非常安全。
选择通常表现为二元决策:具有“高安全性”或“低安全性”。此选项更好的表述是介于“高安全性”或“适当安全性”之间。安全性并非一刀切的过程。
实际上,高安全性不适合于所有人——并且,它通常并不适合大多数人!它并非您应为之而努力的终极目标。它是一种特殊的系统配置,如果系统遭到破坏,人们也会遭灾。如果这种情形符合您的风险情况和威胁模型,则使用高安全性。
如果您的风险情况和威胁模型并非如此,则应使用更适合的安全性。在默认情况下,可配置的调整工具很可能都已针对中等风险做了适当设定。现在大部分 Microsoft 产品都采用这种默认状态,在安全性和可用性(有用性)以及性能之间提供了一个合理的平衡。目前强化一般都能做到这一点。
现在,需要考虑其他安全步骤。最好先从 TechNet 安全中心 (
microsoft.com/technet/security) 着手,当然还有《Windows Server 2008 安全资源工具包》这类书籍。
风险管理是核心
现在,您可能已意识到我规划的未来方向:风险管理。海森堡不确定性原理中的关键信息是您需要进行权衡。这部分原理并非深奥难懂。
然而,“薛定谔猫”所传递的信息是许多人都没有考虑到的。不仅需要分析问题的所有层面并制定平衡决策,而且还必须考虑解决方案所带来的更改。一个合理的风险管理策略将考虑这些更改如何影响系统,以及是出于风险缓解策略还是其他原因而实施这些更改。
年度损失期望
量化风险的常见方法(也是在许多安全认证课程中学到的方法)是年度损失期望 (ALE) 等式(如图 2 所示)。标准的 ALE 非常简单。确定事件的概率以及每次出现的成本,然后将两个值相乘。根据结果您可预计每年为安全事件所支付的费用。如果风险成本太高,可执行缓解之策。
Figure 2 ALE is the probability of a loss, multiplied by the cost of the loss per incident (单击该图像获得较大视图)
它的问题是标准 ALE 无法适当处置缓解成本。缓解不仅本身存在成本,并且许多缓解还具有副作用,也会产生相关成本。
以其中一个最标准的安全调整工具为例:帐户锁定。许多组织部署了帐户锁定,表面上可防止攻击者猜出密码。可通过算术方法计算出攻击者猜出任何单一密码的概率。要是您进一步挖掘,还可算出攻击者成功猜出某个密码而产生的破坏的平均成本。根据这两个数字,许多组织觉得 ALE 并不令人满意,因此实施了帐户锁定。
但是,这一特殊缓解措施有一个您可能并未考虑到的成本。即,实施缓解本身存在的成本,当然,在这个例子中虽然非常小。为准确起见,计算还应包括缓解所产生的副作用的成本。
首先,存在技术支持人员为用户解锁帐户产生的成本。如果帐户仅锁定一小段时间(比如 15 分钟),在该时段内还因失去生产力导致额外的成本。这一因素视为每个事件的成本,再乘以在指定时段内发生该事件的概率。在本例中,要将成本与预期的锁定事件数(您的日志可能已能提供该数字)相乘。
还必须考虑用户加重系数。如果可能被锁定帐户,用户会使用复杂度较低的密码,因为这能减少输入错误几率。因此,在实施缓解措施后,我们希望避免的事件的概率并不会完全降至零。
最后,可能存在由于缓解而引入的漏洞,而在使用缓解之前系统中并不存在这些漏洞。对于帐户锁定,攻击者只需重复输入错误的帐户密码,就可以利用该功能来禁用网络中的所有帐户。也存在发生此情况的概率以及每个事件的相关成本。
如果将所有这些因素考虑在内,显然必须修改损失期望等式。首先,必须修改事件概率。尽管概率不可能完全降至零,但是根据前面的说明,现在该事件的发生概率应该比之前要低。每个事件的成本也可能已发生变化。您需要加入缓解自身产生的成本。该成本包括实施成本加上所有副作用的年度成本之和。每个此类年度成本为所发生副作用的概率与该副作用每个事件成本的乘积。将等式略微简化一点,现在可得到更加准确的风险分析等式(如图 3 所示)。
图 3 中的改良等式提供了一个更加准确的方法来分析特定问题的风险。许多组织已使用此方法来分析风险。但是,太多组织仍使用简化的风险视图,它无法充分体现出分析缓解影响的必要性。如使用修改后的 ALE 等式,则会对这一需求予以足够的重视。
Figure 3 Considering the additional costs of mitigation (单击该图像获得较大视图)
这一切意味着什么
如果本文只给您一项启迪,那么应该是质疑安全策略背后的常规思路。在信息安全领域,我们所做的太多工作都是基于纯粹刻板的世界观。许多假设现在都已过时。
攻击已发生变化。攻击者现在都是专业人员,发动攻击的原因包括金钱、民族至上以及意识形态等。如果仍在无效的安全调整工具上浪费时间和金钱,后果是相当严重的。它还意味着必须采取更先进的风险管理方法。
首先,必须意识到所做的每件事都需要进行权衡。您无法非常确定地了解每件事。
其次,必须清楚您是在一个相互依赖的系统中执行操作。通过在该系统中引入安全更改,即修改了系统本身,它意味着之后必须重新分析系统。
最好是在实际实施这些更改之前进行分析,因为频繁变动对系统会产生极大的影响,以致于弊大于益。通过使用更好的分析工具提醒您分析此类更改,可大大提高对它的重视程度。
最后,切勿忘记人为因素。在信息安全方面所做的一切努力均旨在使企业和组织中的用户可尽可能安全地操作。
在最近的一次演示中,我指出了现在不可能有哪个用户购买计算机是为运行防病毒程序。 安全是您的主要目标,但并非公司的主要目标。组织之所以采用这一模式是因为这样做可以取得最大的收益。切勿忘记有为企业提供服务的信息安全组,不能各行其事。如果忽略了这一事实,用户会不惜一切代价地完成其工作,甚至会避开其并不理解或认同的安全控制。
Jesper M. Johansson是研究安全软件的软件架构师,还是《TechNet 杂志》的特约编辑。他拥有管理信息系统博士学位,具有 20 多年安全方面的经验,并且是企业安全性领域的 Microsoft 最有价值专家 (MVP)。他的最新著作是《Windows Server 2008 安全资源工具包》。