购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.3 掌握两个推论,拥有安全基本洞察力

我们对一个事物进行研究和分析时,一定会遵循先抽象、再还原的方式。通过抽象分析,能够很快抓住事物的本质,分析清晰后,形成一定的理论基础和方法支撑,然后将这些理论和方法再还原到真实的场景中,从而指导实际的工作。

为了能够看清楚威胁与安全的性质,掌握安全的核心原理,能够分析一些特有的安全现象,甚至在某些场景下做出正确的决策,我们需要在这里引入一些推论体系。因为只是为了分析问题方便,而不是做学术研究,所以这些推论体系不是基于严格的数学证明,而是基于事实和逻辑推导。

2.3.1 威胁推论

我们先基于对威胁本质的理解和历史上的事件,对威胁进行一次抽象的分析,看看威胁本身具备哪些通用的原理。下面我们先提出一个“威胁绝对性”原理。

原理1(威胁绝对性): 威胁是绝对的,在网络空间里威胁必然永远存在。

威胁的绝对性看似是一个简单的通识,但这也是整个安全行业在与威胁对抗的过程中慢慢得出的行业共识结论。早期的安全厂商,对威胁的认知基本上处于理想状态,认为威胁是可以消灭的,但是随着对威胁理解的深入,现在大家开始逐渐明白,威胁是绝对的,在整个网络空间内必然永远存在。接下来,我们再根据整个威胁发展的规律得出以下威胁推论。

推论1.1(威胁熵增): 从整个网络空间的视角来看,威胁永远处于熵增状态。

就像香农将熵引入信息理论一样,如果将熵引入安全领域,用它来度量威胁混乱程度的话,从整个网络空间的视角来看,威胁将会永远处在熵增状态,即威胁数量会越来越多,整个网络空间的威胁会处于越来越混乱的状态。

威胁与信息文明是相伴而生的,随着信息文明的发展,商业软件一定会越来越多,计算机的算力一定会越来越大,软硬件系统也一定会越来越复杂,IT系统会越来越庞大。只要是IT系统,就会存在一定比例的漏洞,就会有通过漏洞传播的各种威胁,因此威胁永远是处于熵增状态。

推论1.2(威胁局部消减): 威胁在局部时间或空间范围内可以消减,但在整个时间和空间内一直增加。

根据威胁绝对性原理和威胁熵增推论来判定,威胁发展的整体趋势是增加的,但是从安全的本质来看,安全发展的目的就是威胁对抗,就是不断用更先进的技术和产品解决威胁,因此威胁总会在局部时间或空间范围内被安全手段所消减,只是威胁对抗的成本会逐年上升。

推论1.3(威胁局部客观性): 威胁在局部存在的状态具有客观性,不以是否发现为转移。

威胁是系统里客观存在的非安全点,无论你是否发现,它都将存在于那里。因此当有人发现你的系统里的非安全点时,你需要做的不是追究发现人的责任,而是尽快解决这些非安全点,并对出现的问题进行反思。

这个看似极简单的通识,很多企业的安全负责人却并不理解。这两年经常发生企业状告白帽子的事件就说明了这一点。企业安全负责人的理由是:如果这些白帽子没有发现我们的漏洞,那么一些别有用心的黑客也不会注意到我们有漏洞,所以白帽子发现企业的漏洞就是不应该的,是需要被举报的。在类似这样的事件里,企业安全负责人的认知就违背了威胁局部客观性推论。

推论1.4(威胁演化性): 旧的威胁会因为不适应新的环境而消亡,但是新的威胁会立刻产生。

从病毒依附的计算机环境的发展来看,Windows操作系统的出现直接促成了DOS病毒的消亡,但是随之出现了更多的Windows病毒,Windows XP SP2增加了一项称为DEP(Date Execution Prevention,数据执行保护)安全技术,直接促成了感染式病毒的消亡,但是随着互联网的发展,却出现了更多的木马;从漏洞依附的计算机环境的发展来看,We b服务成为当今互联网服务主流后,不但没有使操作系统漏洞减少,反而使We b漏洞大量增加;从软件的发展来看,在所有软件都收费的时代,软件价值很高,因此破解横行、盗版泛滥,但是随着互联网免费模式的发展,破解迅速消亡,不过同时滋生了大的“流氓软件”。因此旧威胁虽然会消亡,但是新威胁会立刻产生,这就是威胁本身的演化规律。

推论1.5(威胁周期性): 威胁的爆发总是呈现出类似生物病毒爆发的周期性特征,开始的时候少量中招,然后数量激增,最后趋于稳定。

根据历史上发生的安全事件来做个统计分析,就会发现所有的威胁爆发事件都呈现出周期性规律,都是开始时少量用户中招,然后疫情面迅速扩大,形成社会性恶性事件,最后趋于稳定,变成常态化。这个周期的经验值为30天,跟我们熟知的生物病毒爆发周期和规律近似。

推论1.6(威胁伴生性): 威胁总是与信息系统相伴而生,威胁产生的数量与信息系统规模正相关。

威胁产生数量与信息化系统的规模呈正比关系,相应的信息系统就会产生相应的威胁,这个是客观规律,不以人的意志为转移。

2.3.2 安全推论

接下来我们按照威胁推论体系的分析逻辑建立一套安全推论体系。

原理2(安全相对性): 安全是相对的,绝对的安全是不存在的。

根据“原理1(威胁绝对性)”可以知道,安全与威胁是一对角色,既然威胁是绝对的,那么安全就是相对的,即不存在100%的安全,所以任何声称可以做到100%安全的产品就像“永动机”一样,是不可能存在的。同样,任何期待100%解决安全问题的方案出现的想法,也是不切实际的。

这种结论今天看来似乎不用解释就可以理解,但是在安全行业里却真实地出现过这样的例子。当年确实有杀毒厂商为了吸引眼球,声称自己的安全产品可以100%查杀病毒,只是很快就被用户口诛笔伐了。

推论2.1(安全无效性): 安全不能通过处理过的威胁来证明有效,却可以通过未处理的威胁来证明无效。

该推论描述起来很拗口,实际道理说出来却非常好理解,因为安全行业是效果导向的。安全难做的其中一个原因就是在客户的认知逻辑里,你杀掉了1万种病毒,没用,这是你应该做的,一旦你错过了一个病毒,造成了严重的后果,那么对不起,你的产品不行。

我们做个假设,假如你是安全厂商,假如在勒索病毒爆发时买了你安全产品的客户中招了,作为厂商你会怎么办?你跟客户讲:“我的产品能够干掉1000万种病毒,但就是这一种没干掉,这不是我的问题,这是行业里的正常现象。”你觉得客户会买账吗?

虽然这是个假设,但实际上这种情况是非常常见的。所以当一个恶性病毒爆发时,所有能处理的厂商都会花大力气做市场营销,告诉客户自己的产品行,能干掉这个病毒!但是一旦客户出现杀不掉病毒的情况,厂商往往做的第一件事情就是迅速派人到现场,帮客户先把问题解决了,然后再分析原因。基本上原因都是客户没有及时升级或者及时打补丁,或者服务器被入侵导致厂商的软件不起作用之类的,除非证据确凿,一般情况下厂商不会承认自己的产品有问题。如果碰巧有安全厂商在没升级的情况下也能查杀了,那肯定又是营销满天飞,昭告天下。当然,后面我会详细介绍一下好的产品和技术应该是什么样的。

推论2.2(能力不可证): 安全产品无法自证自己的威胁处理能力,也无法通过第三方机构证明自己的威胁处理能力。

虽然安全行业建立了大量的标准,也有一些安全的评测机构,专门负责检测、发证书,还有市场准入门槛,必须经过权威部门的产品能力检测才能拿到销售许可证。但事实上安全产品是没有办法自己证明自己的威胁处理能力的,也无法通过第三方机构证明自己的威胁处理能力。

这种说法可能存在争议,所有安全厂商也不愿意接受这样的结论,但是我们从逻辑分析的角度来看就是这样,而从现实情况看这也是事实(如图2-3所示)。

我们可以看到,“威胁”集合是由“未知威胁”“能发现的威胁”和“能处理的威胁”共同构成的。“能发现的威胁”和“能处理的威胁”可以统称为“已知威胁”。

图2-3 “威胁”集合

第一,未知威胁是厂商安全产品还没发现的威胁,因此厂商没办法证明自己的未知威胁处理能力。第二,厂商没办法证明自己拿出的“已知威胁处理能力证明”的真实性和有效性,因为厂商不可能把自己的安全引擎和规则库完全开放给客户,而客户也完全没有独立的能力来验证这种证明的真实性和有效性。由于客户不会相信厂商的自证,因此厂商需要第三方的威胁处理能力证明。第三,现状是厂商、客户、第三方评测机构的测试样本集不是同一个,也无法统一,所以已知威胁和未知威胁就成了一个相对概念,有可能对于厂商A是未知威胁的,对于厂商B却是已知威胁。因此根据“推论2.1(安全无效性)”,总能找到该厂商无法覆盖的样本集,同样,第三方机构只能基于自己的样本集来测试产品的能力,都是相对结果,因此无法作为严格的证明来用。

你过了评测也不能证明你就一定能保护客户,你没过评测也不能证明你保护不了客户,所以从这个角度来看,安全的有效性是一个相对概念,用了安全产品不出事也只是一种巧合,是碰巧你的样本集正好覆盖了客户的实际情况。因此安全产品只能进行功能性验证,而无法进行威胁防护能力验证,而评测也只能是市场准入门槛,而无法成为产品品质的保证。

比如,如果一个安全厂商声称能查杀1000万种病毒,或者发现10万个漏洞,应该怎么证明呢?即使证明了有这个能力,那么怎么证明该产品在实际应用中会安全、有效呢?

推论2.3(叠加效用递减): 同类安全产品同时叠加使用时,随着产品叠加数量的上升,实际效果呈下降趋势。

我们都有以下常识:如果想更暖和,就多穿衣服;如果想活干得快一些,就多找人来帮忙;如果怕自行车丢,就多加把锁……好像所有的事情都可以通过量的叠加来做到效果的叠加。

但是安全却不一样。第一,所有的安全产品都会消耗一定的计算机资源,所以安全产品越多,消耗的资源就越多;第二,同类安全产品的原理一样,所以会出现对同一个目标的资源和控制权的抢夺问题,反而会造成系统不稳定,这一点在终端安全软件上尤为明显。试想一下,在计算机上安装10款安全软件的场景是怎样的?有的用户尝试过,在计算机上装上两款以上的安全软件,整个计算机的使用体验就会难以忍受。所以有一种戏谑的说法—杀毒软件就是最大的病毒,这其实也不是完全没有道理。杀毒软件往往要拿到操作系统的最底层控制权限;随着病毒越来越多,内存占用则会越来越大;随着功能越来越多,就会造成系统的访问I/O越来越高,严重时还会带来明显的计算机卡慢问题。

推论2.4(安全非垄断): 安全行业随着垄断状态的增加,整体安全性降低。

几乎所有的行业在经过市场的良性竞争后,最终都会形成寡头或垄断状态,这符合“马太效应”的“强者恒强”原理。能进行更多的投入,就会有更多的产出,而大部分行业是呈线性发展规律的。

安全行业不同。第一,很难形成垄断状态,因为该行业的发展是呈非线性规律的,很多时候威胁对抗能力跟企业大小没太大关系,大企业在某个威胁点上的处理能力未必比小厂商更强。第二,一旦形成垄断状态,根据“推论2.2(能力不可证)”,势必会造成一言堂,最终导致产品能力下降,从而使社会整体安全性降低。

推论2.5(边际成本递增): 安全建设的边际成本会随着安全的投入不断上升,即投入越多,成本增速变快,而效果增速变慢。

安全建设的投入与产出规律符合“二八定律”,即你在没有任何安全防护的情况下,只需要投入20%的成本就可以解决掉80%的安全问题,但是根据“原理1(威胁绝对性)”,随着安全成本的增加,安全效果的增加会越来越慢,比如就我们目前安全建设阶段来看,从基础威胁技术对抗、高级威胁技术对抗,到大数据分析技术对抗,解决威胁问题的效果呈线性增长状态,但成本却呈指数增长状态。

为什么要建立“安全推论体系”?不是为了故弄玄虚,而是需要一些基本的共识性原则作为分析一些现实问题的依据,这些原则能够帮助你对安全进行更好的理解,能对安全事件进行更深度的分析,从而快速建立正确的安全观并形成解决问题的思路。在接下来的内容里,我会利用这套安全推论体系对一些现实事件做更深入的分析。 Xgf0orMogjL8Lxm0uRb4aXf8uZiSqJ+KZRjhl4t3VQLTBGvSahiN+5W65Fk4fHXH

点击中间区域
呼出菜单
上一章
目录
下一章
×