《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 安全通论(7)——黑客篇之“战术研究”
安全通论(7)——黑客篇之“战术研究”
2016年微型机与应用第21期
杨义先,钮心忻
北京邮电大学 信息安全中心, 北京 100876
摘要: 黑客的攻击肯定是有代价的,这种代价可能是经济代价、政治代价或时间代价。同样,黑客想要达到的目标也可能是经济目标、政治目标或时间目标。因此,至少可以粗略地将黑客分为经济黑客、政治黑客和时间黑客。
关键词: 黑客 经济利益
Abstract:
Key words :

  杨义先,钮心忻

  (北京邮电大学 信息安全中心, 北京 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]。

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

  画马赛克格子的第二种办法:经过长期准备和反复测试,黑客共掌握了全部n种可能攻破系统的方法,于是,黑客的攻击能力可以用随机变量X完整地描述为:当黑客用第i种方法攻破系统,记为X=i(1≤i≤n),其概率为pi,这里,p1+p2+…+pn=1,0<pi<1(1≤i≤n)。

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

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

2黑客的动态描述

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

  为使相关解释更形象,本节采用上述第一种“马赛克格子画法”,即,黑客是一个离散随机变量,他攻破第i个“元诱因”(记为X=i,1≤i≤n)的概率为pi,这里,p1+p2+…+pn=1,0<pi<1,1≤i≤n。特别强调,其实下面的内容适用于包括第二种方法在内的所有“马赛克格子画法”。

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

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

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

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

  为增加抗风险能力,黑客改变战术,将他的全部资金分成n部分,b1、b2、…、bn,其中bi是用于攻击第i个“元诱因”的资金在总资金中所占的比例数,于是,∑ni=1bi=1,这里0≤bi≤1。如果在本次攻击中,第i个“元诱因”首先被攻破(其概率为pi),那么,本次攻击马上停止,此时,黑客的总资产变为Mbidi,同时,投入到攻击其他“元诱因”的资金都白费了。由于∑ni=1pi=1,即,肯定有某个“元诱因”会被首先攻破,所以,只要每个bi>0,那么,本次攻击结束后,黑客的总资产肯定不会变成零,因此,其抗风险能力确实增强了。

  我们还假定:为了躲开红客的对抗,黑客选择红客不在场时才发起攻击,比如,黑客每天晚上对目标系统进行(一次)攻击。当然,这里还有一个暗含的假设,即,黑客每天晚上都能够成功地把系统攻破一次,其实,这个假设也是合理的,因为,如果要经过K个晚上的艰苦攻击才能攻破系统,那么,把这K天压缩成“一晚”就行了。

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

  为简化下足标,本文对bi和b(i)交替使用,不加区别。

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

  QQ图片20161207104228.png

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

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

  QQ图片20161207104231.png

  这里QQ图片20161207104235.png称为“双倍率”。

  证明:由于独立随机变量的函数也是独立的,所以,QQ图片20161207104339.png也是独立同分布的,由弱大数定律,可得:

  QQ图片20161207104342.png

  于是,QQ图片20161207104345.png证毕。

  由于黑客的资产按照2mw(b,p)的方式增长(这也是把W(b,p)称为“双倍率”的根据),因此,只需要寻找某种资金分配战术b=(b1,b2,…,bn),使得双倍率W(b,p)最大即可。

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

  QQ图片20161207104605.png

  这里的最大值max是针对所有可能的满足QQ图片20161207104608.pngQQ图片20161207104613.png而取的。

  双倍率W(b,p)作为b的函数,在约束条件∑ni=1bi=1下,求其最大值。可以写出如下拉格朗日乘子函数并且改变对数的基底(这不影响最大化b),则有:

  QQ图片20161207104755.png

  关于bi求导得到:

  QQ图片20161207104758.png

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

  QQ图片20161207104802.png

  将它们带入约束条件QQ图片20161207104805.png可得到λ=-1和bi=pi。从而可知,b=p为函数J(b)的驻点。

  定理2最优化双倍率QQ图片20161207104944.pngQQ图片20161207104949.png并且,按比例QQ图片20161207104952.png分配攻击资金的战术进行攻击,便可以达到该最大值。这里H(p)是描述静态黑客的那个随机变量的熵,即,QQ图片20161207104955.pngQQ图片20161207104959.png

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

  QQ图片20161207105149.png

  这里D(p|b)是随机变量p和b的相对熵[7]。而当b=p时,可直接验证上述等式成立。证毕。

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

  下面再对定理2进行一些更细致的讨论,有:

  定理3如果攻破每个“元诱因”的投入产出比是相同的,即,各个di彼此相等,都等于a,那么此时的最优化双倍率W*(p)=loga-H(p),即,最佳双倍率与熵之和为常数,并且,若按比例b*=p分配攻击资金,那么,此种战术的攻击业绩便可达到最大值。此时,第m天之后,黑客的财富变成QQ图片20161207105348.png而且,黑客的熵若减少1比特,那么,他的财富就会翻一倍!

  如果并不知道每个di的具体值,而只知道∑1/di=1,此时,记ri=1/di,于是,双倍率可以重新写为:

  QQ图片20161207105358.png

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

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

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

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

  QQ图片20161207105159.png

  对于独立同分布的“攻击元诱因”序列(Xi,Yi),可以看到:当具有边信息Y时,黑客的相对收益增长率为2mw(X|Y);当黑客无边信息时,他的相对收益增长率为2mw(X)。

  定理4由于获得攻击“元诱因”X的边信息Y,而引起的双倍率增量ΔW满足ΔW=I(X;Y)。这里I(X;Y)是随机变量X和Y的互信息。

  证明:在有边信息的条件下,按照条件比例分配攻击资金,即,b*(x|y)=p(x|y),那么关于边信息Y的条件双倍率W(X|Y)可以达到最大值。于是:

  QQ图片20161207105553.png

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

  QQ图片20161207105556.png

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

  QQ图片20161207105558.png证毕。

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

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

  QQ图片20161207105602.png

  这里的最大值max是针对所有满足如下条件的边信息攻击资金分配方案而取的:QQ图片20161207105842.png 

       QQ图片20161207105845.png

  而且,该最优双倍率可以在QQ图片20161207105845.png时达到。

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

  QQ图片20161207110120.png

  并且,其增长率的指数为:

  QQ图片20161207105857.png

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

  QQ图片20161207105900.png

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

3结束语

  文献[1]~[6]奠定了《安全通论》的两个重要基石:安全经络、安全攻防。本文开始,我们将努力奠定《安全通论》的第三块重要基石:黑客。

  没有黑客就没有安全问题,也更不需要《安全通论》。可惜,黑客不但有,还越来越多,而且其外在表现形式还千奇百怪,因此,有必要专门对黑客进行系统深入的研究。

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

  参考文献

  [1] 杨义先,钮心忻.安全通论(1)——经络篇[J].微型机与应用,2016,35(15):1 4.

  [2] 杨义先,钮心忻.安全通论(2)——攻防篇之“盲对抗”[J].微型机与应用,2016,35(16):1 5.

  [3] 杨义先,钮心忻.安全通论(3)——攻防篇之“非盲对抗”之“石头剪刀布”[J].微型机与应用,2016,35(17):1 3.

  [4] 杨义先,钮心忻.安全通论(4)——攻防篇之“非盲对抗”之“童趣游戏”[J].微型机与应用,2016,35(18):3 5,9.

  [5] 杨义先,钮心忻.安全通论(5)——攻防篇之“非盲对抗”之“劝酒令”[J].微型机与应用,2016,35(19):2 6.

  [6] 杨义先,钮心忻.安全通论(6)——攻防篇之“多人盲对抗”[J].微型机与应用,2016,35(20):1 4.

  [7] COVER T M,THOMAS J A.信息论基础[M].阮吉寿,张华,译.北京:机械工业出版社,2007.


此内容为AET网站原创,未经授权禁止转载。