画马赛克格子的第二种办法:经过长期准备和反复测试,黑客共掌握了全部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个晚上之后,黑客的资产就变为: