“短板效应”是指一个由很多长短不一的竖板并排组成的木桶,该桶所能盛水的总量取决于各个竖板中最短的那块板的高度。在个人信息安全领域,其所表达的含义是:对于一个良好的系统来说,系统整体的安全性取决于该系统的所有环节中最薄弱的那个环节。
“气球效应”是指一个气球要想始终保持被吹起来的膨胀状态,则必须保证整个球体的胶皮区域没有一处有哪怕针眼大小的洞,否则整个气球的气迟早泄完,最终功亏一篑。
现实中的任何一个系统,往往经不起“短板效应”和“气球效应”的考验,看似铜墙铁壁,实则千疮百孔。
很多系统都宣称自己“固若金汤”,实际上这是不可能的。一个系统的某些指标本来就是相互矛盾的,最终的设计只能是权衡各方利益后的折中结果。
例如,某地民政部门为了解决当地人的养老问题,建了一所养老院,规定全免费入院必须同时满足两个条件,条件一是“60岁以上”,条件二是“无儿无女”。大家可以考虑一下该“系统”的设计是否有“漏洞”?很快,该条件就因一个高达90岁的老人被拒入院而引起了民众对其“系统”是否“完善”的质疑。这位90岁的老人有一个儿子,但他那64岁的儿子因为无儿无女,已住进了该养老院。可见,该养老院看似完善的入院条件是不完善的。
大思想家庄子曾说:“为了防偷,可以把箱子系得紧一些,但若大盗连绳带箱抢走并背着跑时,唯恐你系得不紧呢。”一套自以为设计很完善的系统,有时反而会使系统陷入整体的不完善困境中。
二战时曾有一名有经验的电报监听员,即使敌人频繁地更换密码,他仍能快速判断出移动中的发报源哪个是团部,哪个是师部,这个让敌人迷惑不解的谜团直到战争结束才得以揭晓,原来,他的判断准则根本就不是通过解密电文,而是根据发报源每天向外发出电报的流量数。一个师部一天的电报发送总数很显然会超过一个团部一天的电报发送总数。
某个小区,只有一个楼栋多次发生乱贴小广告的现象,后来保安抓住一个乱贴广告的人,这个人透露,正是因为这个楼栋大门按键上的数字“3”和符号“#”键的磨损程度极为严重,而其他键由于长期无人按动而生锈,所以才能猜出入楼密码。大家都知道这种门禁的密码是“6位数字”并加“#”号结尾。事后得知,该楼栋的密码的确就是6个“3”。
上面的两个例子正是前面“短板效应”和“气球效应”的具体体现,攻击的方式都不是直接攻击系统本身,而是攻击系统外部与系统有关联的部分。
有些系统复杂到一定程度时,就需要将整个系统分成多个子系统,每个子系统单独设计,这样做的优点是系统的总复杂度降低。两个子系统之间由于相互认为对方是“内部人”,所以通常无条件信任,但这样一来,如果某个子系统因某个小的设计失误而提供了错误的数据,那么另一个子系统仍然会将其作为正确的数据来处理,伴随而来的无疑是系统的整体安全性降低了,甚至有可能将错误扩大化,最终导致崩溃性的设计失误。
一套分级系统中的用户,一般而言至少要分为两个级别,一个是面向大众的普通用户,另一个是能解决普通用户解决不了的问题的管理员用户。毫无疑问,管理员具有“至高无上”的权利。那么如果管理员“变节”,则会有什么样的结果呢?
我们在使用某个系统时,通常需要注册一个用户,然后通过这个用户的身份访问这个系统。很显然,无论你的用户名还是密码,都会保存在对方的数据库中,如果对方将整个数据库的信息卖掉,则会有什么样的结果呢?
这就是系统内攻击,通俗地讲就是“家贼难防”。