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

第1节
黑客的最佳攻击战术

如果说网络安全的核心是对抗,那么在对抗的两个主角(攻方与守方)中,攻方(黑客)又是第一主角,因为红客(守方)是因黑客(攻方)而诞生的。所以,很有必要对黑客,特别是他的攻击策略进行更深入的研究。

广义地说,系统(或组织)的破坏者统称为黑客。他们以扰乱既有秩序为目的。因此,癌细胞、病菌、敌对势力、灾难、间谍等都是黑客。但是,为了聚焦,本章以常说的“网络黑客”为主要研究对象,虽然这里的结果和研究方法其实适用于所有黑客。

黑客的攻击肯定是有代价的,这种代价可能是经济代价、政治代价或时间代价。同样,黑客想要达到的目标也可能是经济目标、政治目标或时间目标。因此,至少可以粗略地将黑客分为经济黑客、政治黑客和时间黑客。

(1)经济黑客:只关注自己能否获利,并不在乎是否伤及对方。有时,自己可以承受适当的经济代价,但整体上要盈利,赔本的买卖是不做的。因此,经济黑客的目标就是:以最小的开销来攻击系统并获得最大的收益。只要准备就绪,经济黑客随时可发动进攻。

(2)政治黑客:不计代价,一定要伤及对方要害,甚至有时还有更明确的攻击目标,不达目的不罢休。他们随时精确瞄准目标,但只在关键时刻才“扣动扳机”,最终成败取决于若干偶然因素。比如,目标突然移动(红客突然出新招)、准备不充分(对红客的防御情况了解不够)或突然刮来一阵风(系统无意中的变化)等。

(3)时间黑客:希望在最短的时间内攻破红客的防线,而且使被攻击系统的恢复时间尽可能长。

从纯理论角度来看,其实没必要去区分上述三种黑客。下面出于形象和量化的考虑,重点介绍经济黑客,即黑客想以最小的经济开销来获取最大的经济利益。阅读本节,需要一些信息论知识,必要时读者可阅读参考文献[5]或本书第7章中的第3节。

首先,给出黑客的静态描述,即非攻击期间黑客的样子。

为通俗易懂,先讲一个故事:我是一个“臭手”,面向墙壁射击。虽然,我命中墙上任一特定点的概率都为零,但是只要扳机一响,我一定会命中墙上的某点,而这本来是一个“概率为零”的事件。因此,“我总会命中墙上某一点”这个概率为1的事件就可以由许多“概率为零的事件(命中墙上某一指定点)”的集合构成。

接下来,再将上述故事改编成“有限和”的情况。我先在墙上画满(有限个)马赛克格子,那么,“我总会命中某一格子”这个概率为1的事件便可以由有限个“我命中任何指定格子”这些“概率很小,几乎为零的事件”的集合构成。或者更准确地说,假设墙上共有 n 个马赛克格子,那么我的枪法就可以用随机变量 X 来完整地描述为:如果我击中第 i (1≤ i n )个格子的事件(记为 X = i )的概率为 p i ,那么

现在,让黑客代替“我”,让被攻击的(有限)网络系统代替那面墙。

安全界有一句老话,也许是重复率最高的话——“安全是相对的,不安全才是绝对的”。在第1章中论述安全的特性时,也多次强调过这句话。可是,过去许多人仅将这句话当成口头禅,而没有意识到它其实是一个很重要的公理。

安全公理:对任何(有限)系统来说,安全都是相对的,不安全才是绝对的。因此“系统不安全,总可被黑客攻破”这个事件的概率为1。

根据该安全公理可知,黑客命中某一点(如攻破系统的指定部分或用某种指定的办法攻破系统等)的概率虽然几乎为零,但击中墙(最终攻破系统)是肯定的,其概率为1。

黑客可以有至少以下两种方法在墙上画马赛克格子。

第一种办法:锁定目标,黑客从自己的安全角度出发,画出系统的安全经络图(见第2章),然后以每个元诱因(或“穴位”)为一个马赛克格子。假如系统的安全经络图中共有 n 个元诱因,那么黑客的(静态)攻击能力就可以用随机变量 X 来完整地描述为:如果黑客摧毁第 i (1≤ i n )个元诱因(记为 X = i )的概率为 p i ,那么

这种元诱因马赛克画法的根据是:在第2章中已经介绍系统出现不安全问题的充分必要条件是:某个(或某些)元诱因不安全。

元诱因马赛克的缺点是参数体系较复杂,但是它的优点很多。比如,可以同时适用于多目标攻击,安全经络可以长期积累、永远传承等。根据安全经络图,可以形象地说,安全同时具有“波”和“粒子”的双重性质,或者说,具有确定性和概率性两种性质。更具体地说,任何不安全事件的元诱因的确定性更浓,而素诱因和素事件的概率性更浓。充分认识安全的“波粒二象性”将有助于深刻理解安全的实质,有助于理解本书的研究方法和思路。

第二种办法:经过长期准备和反复测试,黑客共掌握了全部 n 种可能攻破系统的方法,于是黑客的攻击能力可以用随机变量 X 完整地描述为:如果黑客用第 i 种方法攻破系统(记为 X = i ,1≤ i n )的概率为 p i ,那么

说明:能够画出这“第二种马赛克格子”的黑客,肯定是存在的,如长期以“安全检测人员”这种红客身份为掩护的卧底,就是这类黑客的代表。虽然,必须承认,要想建立完整的武器库,即掌握攻破系统的全部攻击方法,或完整地描述上述随机变量 X 确实是非常困难的,但从理论上是可行的。

当然,也许还有其他方法来画马赛克格子,不过它们的实质都是一样的,即黑客可以静态地用一个离散随机变量 X 来描述,这里 X 的可能取值为{1,2,…, n },概率 P r ( X = i )= p i ,并且

其次,我们再看看黑客的动态描述,即黑客发动攻击后的样子。

前面用离散随机变量来表示的黑客的静态描述,显然适合于包括经济黑客、政治黑客、时间黑客等各种黑客。由于政治黑客的业绩很难量化,比如,黑客获取了元首的私人存款金额,这样的业绩对美国来说一钱不值,而对某些国家来说就是无价的国家机密。因此,此处的量化分析主要针对经济黑客。

黑客的动态行为千变万化,必须先清理场景,否则根本无法下手。

为使相关解释更形象,我们采用前述第一种马赛克格子画法,即黑客是一个离散随机变量,他攻破第 i 个元诱因(记为 X = i ,1≤ i n )的概率为 p i ,这里

特别强调,其实下面的内容适用于包括第二种方法在内的所有马赛克格子画法。

任何攻击都是有代价的,并且,如果黑客的技术是最牛的,那么整体上来说是“投入越多,收益越多”。

设黑客攻破第 i 个元诱因的投入产出比为 d i (1≤ i n ),即若为攻击第 i 个元诱因,黑客投入了1元钱,那么一旦攻击成功(其概率为 p i )后,黑客将获得 d i 元的收入;当然,如果攻击失败,那么黑客的这1元钱就全赔了。

由第2章介绍的安全经络图可知,任何元诱因被攻破后,系统也就被攻破了,不再安全了。因此,为了尽量避免被红客发现,尽量少留“作案痕迹”,我们假定:在攻击过程中,黑客只要发现有一个元诱因被攻破了,他就立即停止本次攻击,哪怕继续攻破其他元诱因还可以获得额外的收入,哪怕对其他元诱因的攻击投资被浪费。

设黑客共有 M 元钱用于攻击的“种子”资金,如果他把这些资金全部投入到攻击他认为最有可能成功的某个元诱因(如最大的那个 p i ),那么假如黑客最终成功地攻破了第 i 个元诱因(其概率为 p i ),则此时黑客的资金总数就变成 Md i ;但是,假如黑客的攻击失败(其概率为1- p i ),则他的资金总数就瞬间变成了零。可见,从经济上来说,黑客的这种“孤注一掷”战术的风险太大,不宜采用。

为增加抗风险能力,黑客改变战术,将他的全部资金分成 n 部分,即 b 1 , b 2 ,…, b n ,其中 b i 是用于攻击第 i 个元诱因的资金在总资金中所占的比例数,于是

如果在本次攻击中,第 i 个元诱因首先被攻破(其概率为 p i ),那么本次攻击马上停止,此时黑客的总资产变为 Mb i d i ,同时,投入到攻击其他元诱因的资金都白费了。由于

即肯定有某个元诱因会被首先攻破,所以只要每个 b i >0,本次攻击结束后,黑客的总资产就肯定不会变成零,因此,其抗风险能力确实增强了。

我们还假定:为了躲开红客的对抗,黑客选择红客不在场时才发起攻击,如每天晚上对目标系统进行(一次)攻击。当然,这里还有一个暗含的假设,即黑客每天晚上都能够成功地把系统攻破一次。其实这个假设也是合理的,因为如果要经过 k 个晚上的艰苦攻击才能攻破系统,那么把这 k 天压缩成“一晚”就行了。如果红客在场,那么黑客将与红客进行精彩的攻防对抗,这将是本书的主体内容,详见第5章及以后的各章。

单看某一天的情况很难对黑客的攻击战术提出任何建议。不过,如果假定黑客连续 m 天晚上对目标系统进行“每日一次”的攻击,那么确实存在某种攻击战术,能使得黑客的盈利情况在某种意义上达到最佳。

为简化下角标,本节对 b i b ( i )交替使用,不加区别。

如果黑客每天晚上都对他的全部资金按相同的分配比例 b =( b 1 , b 2 ,…, b n )来对系统的各元诱因进行攻击,那么 m 个晚上之后,黑客的资产就变为

这里, S ( X )= b ( X ) d ( X ); X i 是1~ n 之间的某个正整数,表示在第 i 天晚上被(首先)攻破的那个元诱因的编号。所以, X 1 , X 2 ,…, X m 是独立同分布的随机变量。设该分布是 p ( x ),于是有如下定理。

定理3.1:若每天晚上黑客都将其全部资金按比例 b =( b 1 , b 2 ,…, b n )分配,来对系统的各元诱因进行攻击,那么 m 天之后,黑客的资产就变为

这里 称为双倍率。

特别说明,本书中对数未写底数的将默认底数是2。

证明:由于独立随机变量的函数也是独立的,所以log S ( X 1 ),log S ( X 2 ),…,log S ( X m )也是独立同分布的,由弱大数定律可得

于是, S m =2 mW(b,p) M 。证毕。

由于黑客的资产按照2 mW(b,p) 方式增长(这也是把 W(b,p) 称为双倍率的根据),因此只需要寻找某种资金分配战术

使得双倍率 W(b,p) 能够最大化就行了。

定义3.1:如果某种战术分配b使得双倍率 W(b,p) 达到最大值 W * (p) ,那么就称该值为最优双倍率,即

这里的最大值(max)是针对所有可能满足 b =( b 1 , b 2 ,…, b n )而取的。

双倍率 W(b,p) 作为 b 的函数,在约束条件

之下求其最大值,可以写出如下拉格朗日乘子函数并且改变对数的基底(这不影响最大化 b ):

关于 b i 求偏导,得

为了求得最大值,令偏导数为0,从而得出

将它们代入约束条件

可得到 λ =-1和 b i = p i 。从而可知, b=p 为函数 J(b) 的驻点。

定理3.2:最优化双倍率满足

并且按比例 b * = p =( p 1 , p 2 ,…, p n )分配攻击资金的战术进行攻击时,便可以达到该最大值。

这里, H(p) 是描述静态黑客的那个随机变量的熵,即

证明:将双倍率 W(b,p) 重新改写,使得容易看出何时取最大值

这里, D(p│b) 是随机变量 p b 的相对熵(见参考文献[5]或本书第7章第3节)。而当 b=p 时,可直接验证上述等式成立。证毕。

从定理3.2可知,对于一个可用离散随机变量 X 来静态描述的黑客(这里, p r ( X = i )= p i ,并且 p 1 + p 2 +…+ p n =1),他的动态最佳攻击战术也是( p 1 , p 2 ,…, p n ),即他将其攻击资金按比例( p 1 , p 2 ,…, p n )分配后,可得到最多的“黑产收入”。

下面再对定理3.2进行一些更细致的讨论。

定理3.3:如果攻破每个元诱因的投入产出比是相同的,即各个 d i 彼此相等,都等于 a ,那么此时的最优化双倍率

即最佳双倍率与熵之和为常数。并且,若按比例 b * =p 分配攻击资金,那么此种战术的攻击业绩便可达到该最大值。

此时,第 m 天之后,黑客的财富变成

而且,黑客的熵若减少1比特,那么他的财富就会翻一番!

如果并不知道每个 d i 的具体值,而只知道 ,此时记为 ,则双倍率可以重新写为

由此可见双倍率与相对熵之间存在着非常密切的关系。

由于黑客每天晚上都要攻击系统,他一定会总结经验来提高他的攻击效果。更准确地说,可以假设黑客知道了攻破系统的某种边信息 Y ,这也是一个随机变量。

X ∈{1,2,…, n }为第 X 个元诱因,攻破它的概率为 p ( x ),而攻击它的投入产出比为 d ( x )。设( X , Y )的联合概率密度函数为 p ( x , y )。用 b ( x y )≥0, 记为已知边信息 Y 的条件下,黑客对攻击资金的分配比例。此处的 b ( x y )理解为:在得知信息 y 的条件下,用来攻击第 x 个元诱因的资金比例。对照前面的记号,将 b ( x )≥0, 表示为无条件下黑客对攻击资金的分配比例。

设无条件双倍率和条件双倍率分别为

再设Δ W = W ( X Y )- W ( X ),对于独立同分布的攻击元诱因序列( X i ,Y i ),可以看到,当具有边信息 Y 时,黑客的相对收益增长率为2 mW(X│Y) ;当黑客无边信息时,他的相对收益增长率为2 mW(X)

定理3.4:由于获得攻击元诱因 X 的边信息 Y 而引起的双倍率增量Δ W 满足

这里, I ( X ; Y )是随机变量 X Y 的互信息。

证明:在有边信息的条件下,按照条件比例分配攻击资金,即

那么关于边信息 Y 的条件双倍率 W ( X Y )可以达到最大值。于是

当无边信息时,最优双倍率为

于是,由于边信息Y的存在,而导致的双倍率的增量为

证毕。

此处双倍率的增量正好是边信息 Y 与元诱因 X 之间的互信息。因此,如果边信息 Y 与元诱因 X 相独立,那么双倍率的增量就为0。

X k 是黑客第 k 天攻破的元诱因的序号,假设各{ X k }之间不是独立的,且每个 d k 彼此相同,都等于 a ,于是黑客根据随机过程{ X k }来决定第 k +1天的最佳攻击资金分配方案(即最佳双倍率)为

这里的最大值(max)是针对所有满足以下条件的边信息攻击资金分配方案而取的,即满足

而且,该最优双倍率可以在

时达到。

m 天晚上的攻击结束后,黑客的总资产变成

并且,其增长率的指数为

这里, 是黑客 m 天攻击的平均熵。对于熵率为 H ( x )的平衡随机过程,对上述增长率指数公式的两边取极限,可得

这再一次说明,熵率与双倍率之和为常数。

本节虽然彻底解决了黑客的静态描述问题,即黑客其实就是一个随机变量 X ,他的破坏力由 X 的概率分布函数 F ( x )或概率密度函数 p ( x )来决定,但关于黑客的动态描述问题还远未解决。此处只是在若干假定之下,给出了黑客攻击的最佳战术,欢迎大家继续研究黑客的其他攻击行为的最佳战术。 UgfdGiP84FgJIVGbFPiKszWXAtjgxUcISS4jmZRZhuLJHkbiuEzDzc0oJTCZl+Ak

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