杨义先,钮心忻
(北京邮电大学 信息安全中心, 北京 100876)
0引言
如果说安全的核心是对抗,那么,在对抗的两个主角(攻方与守方)中,攻方(黑客)又是第一主角,因为,红客(守方)是因黑客(攻方)而诞生的。所以,很有必要对黑客,特别是他的攻击策略,进行更深入的研究。
广义地说,系统(或组织)的破坏者,都统称为“黑客”。他(它)们以扰乱既有秩序为目的。因此,癌细胞、病菌、敌对势力、灾难、间谍等都是黑客。但是,为了聚焦,本文以常言的“网络黑客”为主要研究对象,虽然这里的结果和研究方法其实适用于所有黑客。
黑客的攻击肯定是有代价的,这种代价可能是经济代价、政治代价或时间代价。同样,黑客想要达到的目标也可能是经济目标、政治目标或时间目标。因此,至少可以粗略地将黑客分为经济黑客、政治黑客和时间黑客。
经济黑客:只关注自己能否获利,并不在乎是否伤及对方。有时,自己可以承受适当的经济代价,但是,整体上要赢利。赔本的买卖是不做的,他们肯定不是“活雷锋”。因此,经济黑客的目标就是:以最小的开销来攻击系统,并获得最大的收益。只要准备就绪,经济黑客随时可发动进攻。
政治黑客:不计代价,一定要伤及对方要害,甚至有时还有更明确的攻击目标,不达目的不罢休。他们随时精确瞄准目标,但是只在关键时刻才“扣动板机”。最终成败取决于若干偶然因素,比如,目标突然移动(红客突然出新招)、准备不充分(对红客的防御情况了解不够)或突然刮来一阵风(系统无意中的变化)等。
时间黑客:希望在最短的时间内攻破红客的防线,而且,使被攻击系统的恢复时间尽可能地长。
从纯理论角度来看,其实没必要去区分上述三种黑客。下面为了形象计,也为了量化计,我们重点考虑经济黑客,即,黑客想以最小的经济开销来获取最大的经济利益。
1黑客的静态描述
先讲一个故事:我是一个“臭手”,面向墙壁射击。虽然,我命中墙上任一特定点的概率都为零,但是,只要板机一响,我一定会命中墙上某点,而这本来是一个“概率为零”的事件。因此,“我总会命中墙上某一点”这个概率为1的事件,就可以由许多“概率为零的事件(命中墙上某一指定点)”的集合构成。
再将上述故事改编成“有限和”情况:我先在墙上画满(有限个)马赛克格子,那么,“我总会命中某一格子”这个概率为1的事件,便可以由有限个“我命中任何指定格子”这些“概率很小,几乎为零的事件”的集合构成。或者,更准确地说,假设墙上共有n个马赛克格子,那么,我的枪法就可以用随机变量X来完整地描述:如果我击中第i(1≤i≤n)个格子的事件(记为X=i)的概率为pi,那么,p1+p2+…+pn=1。
现在,让黑客代替“我”,让(有限)系统代替那面墙。
安全界有一句老话,也许是重复率最高的话,“安全是相对的,不安全才是绝对的”。可是,过去大家仅将这句话当成“口头禅”,而没有意识到它其实是一个很重要的公理。
安全公理:对任何(有限)系统来说,安全都是相对的,不安全才是绝对的,即,“系统不安全,总可被黑客攻破”这个事件的概率为1。
根据该安全公理可知,虽然黑客命中“某一点”(攻破系统的指定部分)的概率几乎为零,但是,黑客“击中墙”(最终攻破系统)是肯定的,概率为1。
黑客可以有至少两种方法在“墙上”画马赛克格子:
画马赛克格子的第一种办法:锁定目标,黑客从自己的安全角度出发,画出系统的安全经络图[1],然后,以每个“元诱因”(或“穴位”)为一个“马赛克格子”。假如,系统的安全经络图中共有n个“元诱因”,那么,黑客的(静态)攻击能力就可以用随机变量X来完整地描述:如果黑客摧毁第i(1≤i≤n)个“元诱因”,记为X=i,其概率为pi,那么,p1+p2+…+pn=1。
这种“元诱因马赛克画法”的根据是:系统出现不安全问题的充分必要条件是某个(或某些)“元诱因”不安全[1]。
“元诱因马赛克”的缺点是参数体系较复杂,但是,它的优点很多,比如,可以同时适用于多目标攻击,安全经络可以长期积累、永远传承等。根据安全经络图可知,“安全”同时具有“波”和“粒子”的双重性质,或者说,具有“确定性”和“概率性”两种性质。更具体地说,任何不安全事件的“元诱因”的“确定性”更浓,而“素诱因”和“素事件”的“概率性”更浓。充分认识安全的波粒二象性,将有助于深刻理解安全的实质,有助于理解《安全通论》的研究方法和思路。