seegongsik
安全

为什么没有完美的安全

大门上装一把锁,就更安全。装两把,还要更安全。那装十把呢?当然更安全了,可从此每次回家都得转十次钥匙,锁的钱也要花十倍。上一课的原则推到底,也会碰上这样的时刻。安全没有尽头,越想更安全,就越不方便、越花钱。所以真正的问题不是怎样才能完美,而是该在哪里停下。

01

没有完美

在这个领域里,我们看了各种防御:用加密把内容锁上,用哈希确认内容没被改过,用密码和第二道关证明自己是谁。那么,把这些全加在一起,就完美了吗?
很遗憾,不是。任何一把锁,只要花足够的时间和力气,就仍有被撼动的可能;里面也可能藏着谁都还没发现的缺陷。想把安全推到100的那根长条,不管怎么推,都不会正好碰到100。

100
到达: 0.0离完美还差: 100.0

把安全再往上推一推。长条会逼近100,却始终碰不到。离完美只会越来越近而已。

推了又推,长条的末端还是碰不到100。这是安全的第一条真相:完美不是一个能到达的地方。
不过,这也不用失望。接受了没有完美这件事,问题反倒变聪明了。不再问怎样才能完美,而是问安全到什么程度才算够,而这个“够”总要付出代价。下面就来看看这代价是什么。

02

越安全越不方便

明明做得到,却不把长条推到底,原因很简单:代价太大了。密码越长越复杂就越安全,可每次输入都很麻烦,还老是忘。认证多加一道就越安全,可登录一次要过的步骤也多了。
安全往上调一格,方便就往下降一格,成本往上涨一格。三者拴在一根线上,此消彼长。太不方便,有时反而更不安全:有人会把难记的密码写在纸条上贴在显示器上,或者偷偷跳过麻烦的步骤。俗话说,过犹不及。

安全等级1/5
安全
方便
成本

把安全等级一格一格往上调。调得越高,安全越满,方便越少,成本越高。

每调高一格,三根长条就一起动。一边变好,另一边就变差。这就叫权衡取舍。
天下没有免费变安全的路。安全总要用方便或成本来付账。所以,一味调到最高并不是答案。太低危险,太高就没人能用。那长条该放在哪儿?答案取决于你怎么对待风险。

03

不是消灭风险,而是管住风险

既然没有完美,风险也不可能降到0。那安全是一场注定输的仗吗?不是。换个想法就行:不去消灭风险,而是管理风险。过马路时风险不是0,可我们左右看看照样过。
风险有多大,要把两样放在一起看:发生的可能性有多大,一旦发生损害有多大。先挡住两样都大的风险,把它压到足够小,剩下的小风险就带着走。这才是安全现实的目标。

很大的风险
大风险
中等风险
小风险
极小的风险
剩下的风险100

从大风险开始,一个一个挡住。风险不会变成0,但能被管到可以接受的小程度。

先挡住大风险,长条一下子缩短了,可始终没缩到0。这没关系,这正是关键。剩下的风险只要足够小,就决定接受它。
对付风险的办法还有别的。可以避开:用不着的信息一开始就不收集,也就不会泄露。可以转移给别人:保险就是这样的办法。在降低、避开、转移、接受之间做选择,就叫风险管理。那么,可以接受的大小对谁都一样吗?

04

合乎情境的平衡点

可以接受的风险因情境而异。写着今天午饭菜单的便签泄露了,顶多有点难为情,算不上大事,所以用重锁就过头了。反过来,银行金库要是泄露就是大事,所以宁可忍受不便,也要把锁加厚。
要守护的东西有多重,决定了平衡点在哪里。所以决定安全措施时,先问三句:守护什么,防着谁,丢了会有多痛?越珍贵越往安全那边挪,越轻越往方便那边挪。答案不止一个,要看情境。

方便安全
选个场景

选一选这两种情境。轻的便签,平衡点往方便那边移;重的银行金库,平衡点往安全那边移。

同一把锁,并不适合两种情境。便签配轻锁,银行金库配厚锁。好的安全不是最强的安全,而是最合乎情境的安全。
而且,这个平衡点不是定一次就完事了。新的攻击会出现,要守护的东西也会变多,风险的大小随之改变,所以要时不时重新衡量,记得及时更新。不去追求完美,而是选择平衡、再重新选择,这就是这一课学到的看安全的眼光。

05

一路走来

把这一课归纳一下:没有完美的安全。安全调高,方便就降低,成本就上升。所以不去把风险降到0,而是看可能性和损害来管理它。看清守护什么、守护到什么程度,选出平衡点,情况变了就重新选。
这是安全领域的最后一课,也正适合回头看看我们走过的Cogito八个领域。最后,一起把这八条路重新走一遍。

1结构structure
2编程programming
3操作系统os
4算法algorithms
5网络network
6数据data
7人工智能ai
8安全security

依次点八个领域,回顾整个Cogito:结构、编程、操作系统、算法、网络、数据、人工智能、安全。

八条路都走过了。在结构里看了计算机的骨架,在编程里学会了写指令。看了操作系统怎样协调这一切,在算法里练出了解决问题的本事。通过网络和世界连在一起,用数据来记忆和处理信息。在人工智能里遇见了会自己学习的机器,在安全里学会了怎样平衡地守护这一切。
这段旅程从来不是为了背答案,而是为了培养一种眼光:用直觉看世界,自己把公式立起来。谢谢你一路陪伴走到这里。从现在起,就带着这双眼睛,去走属于你自己的下一段路吧。

一句话总结没有完美的安全。任何一把锁,只要花足够的时间和力气都可能被撼动;更重要的是,安全每往上调一格,方便就往下降一格,成本就往上涨一格。三者此消彼长,而且太不方便的安全会被人绕开,反而变弱。所以成熟的安全,目标不是把风险降到0,而是管理风险。0既到不了,硬要去够,日子也过不下去了。正确的做法是:把发生的可能性和损害的大小放在一起看,先降低大风险,用不着的风险就避开,有些像保险那样转移出去,剩下的小风险就接受。答案因情境而异。就像个人便签和银行金库不会用同一把锁,要按照守护对象的分量选出平衡点,情况变了再重新选。不是追求完美,而是选择平衡,这才是看安全的成熟眼光。
← 安全
如果有帮助,请支持我们