网络安全生态学习总结
前言
网络安全生态学就是要仿照古老的生物生态学,用数学模型,从数量上来描述黑客、红客和用户的生存与环境关系,并以此解释一些宏观现象,为确保网络空间安全提供战略借鉴。
从安全角度来看,在网络空间中主要生活着三种生物:黑客、红客和网络普通用户(简称“用户”)。
更形象地说,在网络空间这个大草原上,生存着食肉类的黑客、食草类的用户和牧民红客。注意,这里说的是“牧民”而非“猎人”,因为,猎人与狮子的关系不是红客与黑客之间的竞争关系,而是捕猎与被猎的关系,这就与黑客和用户之间的关系重复了)。
黑客新定义
广义地说,或者普遍意义上来说,系统(或组织)的破坏者,都统称为“黑客”,
在这里换一个角度,将黑客更加形象地看成一个个冷冰冰的黑客工具,因为某种意义上来说,离开了工具,黑客就什么也不是了。而看作工具,更符合后面生态学生物的一些性质。
一个分类:
黑客的攻击肯定是有代价的,这种代价可能是经济代价、政治代价或时间代价。同样,黑客想要达到的目标也可能是经济目标、政治目标或时间目标。因此,至少可以粗略地将黑客分为经济黑客、政治黑客和时间黑客。
经济黑客:只关注自己能否获利,并不在乎是否伤及对方。有时,自己可以承受适当的经济代价,但是,整体上要赢利。目标就是:以最小的开销来攻击系统,并获得最大的收益。只要准备就绪,经济黑客随时可发动进攻。
政治黑客:不计代价,一定要伤及对方要害,甚至有时还有更明确的攻击目标,不达目的不罢休。最终成败取决于若干偶然因素,比如,目标突然移动(红客突然出新招)、准备不充分(对红客的防御情况了解不够)、或突然刮来一阵风(系统无意中的变化)等。
时间黑客:希望在最短的时间内,攻破红客的防线,而且,使被攻击系统的恢复时间尽可能地长。
从纯理论角度来看,其实没必要去区分上述三种黑客。下面为了形象计,也为了量化计,我们重点考虑经济黑客,即,黑客想以最小的经济开销来获取最大的经济利益。
白帽子和安全熵:
白帽子与黑客在技术方面几乎没有区别,甚至他们的技术可以彼此通用,但是,他们却是作为系统安全的正、反两种力量的代表。
白帽子的本质,即,维护系统的“安全熵”值,避免其突变,最理想的状况就是“使熵减少或不增”。
熵:简单地理解就是在一种系统内物质运动的无序状态,所以负熵就是一种有序的状态。
现在有一个红客、黑客、用户、网络和服务等组成的系统。可知该系统的熵(或秩序,或组织性)一定会随着时间的流逝,而不断地自动增大。
这意味着“系统的不安全性”也在不断地增大;特别是黑客的存在,使得这种“熵增大”的趋势更明显,因为,黑客的实质就是搞破坏,就是要搞乱系统的既定秩序;而与之相反,红客的目的就是要有效阻止这种系统崩析(耗散)趋势,确保用户能够按既定的秩序在系统中提供或获得服务。
从表面上看,红客的行动包括(但不限于)安装防火墙,杀病毒,抓黑客,加解密,漏洞扫描,制定标准,颁布(或协助颁布)相关法律、法规,而且还经常删贴、封网、雇水军等等。但是,这些都是错觉,如果要单一地考虑红客的这些防卫措施的话,而且系统的安全防守工作将越来越乱。过去,也许因为没有搞清红客的本质,所以,红客才做了许多事倍功半的事情,甚至还做了不少负功,既没有能挡住黑客的攻击,又把自己的阵营搞得一团糟,甚至逼反了自己的“友军”。比如,其中,最典型的“化友为敌”的代表,恐怕就是新浪小编们的随意删帖,因为,它激发了更多的负面情绪,甚至严重干扰了红客的正常防护活动。其实,红客的本意,是只想做一件事,那就是:维护系统的熵(或秩序)!或更准确地说,最好能够“减少系统的熵”,次之是要“阻止系统的熵被增大”,至少要确保“系统的熵不要过快地增大”。因此,能够维护好熵的红客,才是合格的红客;否则,就是差红客,甚至是帮倒忙的红客。
补充细节:
1.用户的误操作(或者红客的乱操作)也会在实际上搞乱系统,增大系统的熵,不过,为了清晰起见,本文不考虑诸如用户误操作、红客和黑客失误等无意行为所造成的乱序问题。
2.由于有红客、黑客等人为因素的影响,所以,网络系统显然不是“封闭系统”(如果只考虑设备,那么,系统就可看成是“封闭系统”,实际上,它还是一个“有限系统”)更由于红客和黑客连续不断的攻防对抗,使得系统熵(秩序的度量)不断地被增大和缩小,即,系统的熵始终是时变的。
3.开放系统的“安全熵”永远不会处于平衡状态,而是会维持在所谓的“稳态”上,这与有机体的新陈代谢相同,而且,同样具有“异因同果性”,即,由不同的原因导致相同的结果,比如,或者是因为“黑客太弱”,或者是因为“红客太强”,而使得系统的安全无恙;反过来,或者是因为“黑客太强”,或者是因为“红客做了负功”,而使得系统崩溃。系统一旦达到“稳态”,就必定表现出“异因同果性”。
攻防和均衡状态
过去一直认为,网络安全对抗的状态只有两个:此起、彼伏(或者说是“水涨”、“船高”)。但却忽略了另一个,更重要的状态:纳什钧衡!那时,攻防双方的最佳策略,都是“静止不动”,至少表面上是这样。
更出人意料的是,我们发现:当达到纳什均衡状态时,其相关攻防也到达了某种特殊信道的信道容量。
攻防可分为盲攻防和非盲攻防:
“盲攻防”:意指每次攻防后,双方都只知道自己的损益情况,而对另一方却一无所知;比如,大国博弈、网络攻防、实际战场、间谍战、泼妇互骂等都是“盲攻防”的例子
“非盲攻防”:意指每次攻防后,双方都知道本次攻防的结果,而且还一致认同这个结果;比如,石头剪刀布游戏、下棋、炒股等都是“非盲攻防”的例子
“非盲对抗”是没有纳什均衡的,“盲对抗”则存在纳什均衡,而且,俺(杨义先)大胆猜测,纳什均衡所对应的攻防双方的“混合策略”,刚好就是达到信道容量的极限概率分布。
之所以假定“攻方(黑客)的盲自评要对外保密”是因为,我们可以因此认定他的盲自评是真心的,不会也没有必要弄虚作假。
“盲评价”的“盲”,主要意指双方都不知道对方的评价,而只知道自己的评价,所以会盲攻防其实有四种情况
Pr(攻方盲自评为成功,守方盲自评为成功)= Pr(X=1,Y=1)=a,0<a<1;
Pr(攻方盲自评为成功,守方盲自评为失败)= Pr(X=1,Y=0)=b,0<b<1;
Pr(攻方盲自评为失败,守方盲自评为成功)= Pr(X=0,Y=1)=c,0<c<1;
Pr(攻方盲自评为失败,守方盲自评为失败)= Pr(X=0,Y=0)=d,0<d<1;
由于攻方(黑客)的目的是要打败守方(红客),所以,黑客是否“真正成功”,不能由自己的盲评价来定(虽然这个盲评价是真心的),而应该是由“红客”的真心盲评价说了算
网络安全生态
网络空间安全的各涉事方的动力学行为分析,单方或多方相互作用时的生态环境特征等。比如,病毒式恶意代码是如何在网络中传染和为害的、谣言治理的效果如何表现出来、黑客(红客或用户)的生态特性、黑客和红客(黑客和用户、红客和用户)相互作用时的生态特性、黑客红客和用户三者相互作用时的生态特性等。这里主要就讲一下黑客
研究工具,而不是活人,是因为,当某个活人同时拥有和使用多个黑客工具、红客工具和用户工具时,我们可以将此人割裂成多个虚拟人的集合体,让虚拟人各自扮演黑客、红客和用户的角色。为了方便,后面还是用黑客、红客、用户来称呼
一、先说一下为何能够把黑客、红客和用户当作生物来看待的原因:
一方面,他们的功能与角色完全取决于所使用的工具(包括硬件和软件)。比如,依靠黑客工具行事的人,当然就是黑客了;没有工具的黑客,也就不再是黑客了。
另一方面,他们都拥有共同的预装(或预配)基础设施(包括基础软件和核心硬件等,比如,操作系统和CPU等),而其主要区别只体现在更上层的自选应用工具方面。
第三方面,几乎每一种自选应用工具的扩散,都具有口口相传的特性,即,当某人拥有并使用了某应用工具后,如果满意,他会向其朋友推荐;而其朋友中,又有一些人会跟进(拥有并使用该工具,相当于“儿子代工具用户”),甚至再向其朋友推荐;这些朋友中,也许再有一些人跟进(产生了“孙子代工具用户”);如此反复推进,最终,该工具使用者数量的增加模式就完全等同于生物的繁殖模式了。由于这些工具使用者的代际很密集,数量也很大,所以,可以用连续函数来表示任何时刻用户的密度(或数量)。
二、说明
这里的工具都指那些依靠“口口相传”,在网上广泛流行,经常使用的工具,不包括:
1.个别顶级黑客自己开发的杀手锏工具,即不外传的工具
2.预装类:某些免费手机中悄悄预装的偷钱软件
3.广告类:某些靠广告支撑的软件的漏洞(有意无意)
一种黑客工具,被开发出来并被放在网上后,还不能算作黑客就诞生了(最多只能算作黑客的首枚卵产出了),只有当有人,下载并使用该软件去攻击别人时,才说一个黑客诞生了。因为,没人用的软件等于不存在。
三、单工具黑客动力学——单种群的生物动力学
假定:所有黑客都只用同一种黑客工具。(一类工具,比如,若以黑客目标为准来分类的话,那么,所有试图获得正常用户的密码口令的工具,都可以当作一种工具。)
因为(可行性):单工具黑客的研究相对容易,可以得到一些比较深入的结果;二来因为,单工具黑客是多工具情形(相当于多种群生物)的基础;三来,如果被攻击的目标互不相关(比如,有的黑客是想获得隐私信息,有的黑客是想篡改别人的网页等),那么,就可以将这些黑客看做并列的几批使用单工具的黑客,从而,本文的所有成果对每批黑客都有效。
四、Malthus模型
Malthus马尔萨斯增长模型 ,有时称为简单指数增长模型,也称为指数定律
Malthus增长公式:
dN(t)/dt=rN(t),
N(t=t0)=N0
其中
r=b-d称为内禀增长率(人口增长率,有时称为马尔萨斯参数) N(t)为t 时刻的人口数量。
映射到网络中:
记N(t)表示t时刻的黑客数目或密度,即,正在用该工具攻击别人的黑客数量或密度(由于密度等于黑客数与总用户数的比值,所以在总数不变的情况下,密度和黑客数是等价的,不必刻意区分)。
如果黑客的增长率r是常数,或单位时间内黑客增长量与当时的黑客数量成正比,那么,
b为黑客的出生率 d为黑客的死亡率。
“死亡”表示
其一,某人卸载了此软件,从而黑客总数减少一个;
其二,某人虽拥有该工具,但是,此时此刻并未使用它去攻击别人,相当于生物的迁出,效果上也等于黑客数减少了一个。
“出生”表示
其一,就是某个新人下载并正使用该软件攻击别人,从而黑客总数增加一个;
其二,前一时刻未出手的黑客,此刻发力了,相当于生物的迁入,效果上也等于黑客数增加了一个。
可推算,无论r多么小,只要r>0(即,出生率大于死亡率),那么,活跃黑客的最终数量将为无穷大,但是,实际情况是,Malthus模型仅仅适用于黑客工具刚刚出现的早期阶段,对应的也是生物中的J型曲线。
那时,黑客数量相对较少(或密度相对较小),红客的防护措施还比较薄弱,黑客攻击的成功率和利润都较高,从而,又会刺激更多的黑客诞生或迁入,即,出生率增加,死亡率减少。但是,随着黑客数量和密度的增大,觉醒并采取防卫措施的合法用户会增多,黑客的可攻击对象会减少,黑客彼此之间的竞争会加剧…,总之,死亡率增加,出生率减少,即,内禀增长率减少,由此可见,不能永远假设r为常数,于是,便引出了下一小节的Logistic增长模型。
需注意的是,黑客的最小生存数量(或密度),记为K0,它意指,如果黑客数N(t)永远小于K0时,那么,黑客数将逐步减少,并最终灭亡,即,趋于0。参数K0的存在性可以这样来推理:由于黑客软件是(经朋友介绍后)自愿获取的,如果利用此工具去发动攻击会得不偿失,那么,他就会放弃该工具(即,死掉一个黑客)并且不再向其朋友推荐;当越来越多的黑客死亡时,该种黑客工具便被淘汰了。相反,如果事实证明,该工具有利可图,那么,黑客就会继续拥有并使用该工具,并有可能向其朋友推荐,从而,黑客数将超过K0。
2.2Logistic增长模型及变形
引入环境容纳量,记为K(正数)
每一款黑客工具都不可能永远通吃所有合法用户,换句话说,每个网络能够承受的活跃黑客数都是有限的,即,当N(t)=K时,黑客数将出现零增长
每增加一个黑客,就均匀地对增长率r产生1/K抑制影响;于是,N(t)个黑客就产生N(t)/K的抑制影响,增长率就由r减少为r[1-N(t)/K],于是,内禀增长率为常数的Malthus模型,便被改进为内禀增长率为变数r[1-N(t)/K]的如下微分方程所表示的标准Logistic模型:
dN(t)/dt=rN(t)[1-N(t)/K]
r:增长率,K:环境容纳量
该微分方程的解析解为N(t)=KN(0)/{N(0)-[N(0)-K]e-rt},它完全由r、K、和黑客数量的初值N(0)确定。根据此解析解,我们得知:
若N(0)>0时,当t→∞,黑客数N(t)将最终趋于容纳量K;
而且,当初值N(0)满足0<N(0)<K/2(即,黑客初值数不超过容纳量的一半)时,黑客数量的曲线N(t)将呈现S型;并且在K/2点处,出现唯一的拐点:当N(t)很小时,在一定的时间范围内,黑客数将成指数增长模式;然后,抑制影响开始发挥作用,并在容纳量K处,黑客数量将最终达到饱和。更详细地说,此处的S曲线,可以划分为五个阶段:1)开始期,也称为潜伏期,黑客数量很少,数量和密度的增长缓慢;2)加速期,随着黑客数的增加,密度也迅速增加;3)转折期,当黑客数达到饱和密度的一半(K/2)时,密度增长最快;4)减速期,当黑客数超过K/2以后,密度增长逐渐变慢;5)饱和期,黑客数量达到K值而饱和,这意味着K是稳定的。
具有Allee效应的logistic模型
上述标准的logistic模型更适合于黑客数量和密度N(t)较大时的情况,它已经考虑到了黑客彼此之间的竞争,以及由此导致的对内亶增长率的抑制情况。而当N(t)较小时,黑客之间又是相互帮助的,并将导致内亶增长率变大,所以,若同时考虑“人少时的合作”和“人多时的竞争”,那么,标准logistic模型便可改进为如下“具有Allee效应的logistic模型”:
dN(t)/dt=rN(t)[N(t)/K0-1][1-N(t)/K]
此时,便存在着三个非负平衡态:0、K0和K。具体地说:0和K(最大容纳量)是局部稳定的平衡态;黑客的最小生存数量K0是不稳定的平衡态,并且它有两个稳定平衡态的分界点,即,当黑客数量的初值N(0)>K0时,黑客数量将最终趋于K;而当N(0)
用户合作时的logistic模型
S为黑客数达到饱和时,正常用户的觉悟率上升(即,他们采取了安全措施,使得该款黑客工具失效)
记F(t)为t时刻(黑客数为N(t)时)的用户觉悟率。
标准logistic模型的如下另一种改进“用户合作时的logistic模型”:
(1/N(t))[dN(t)/dt]=r[S-F(t)]/S
它的左边表示“t时刻,黑客的平均增长率”;而它的右边则表示“t时刻,用户的未觉悟率”。该公式的直观解释便是:“黑客增长率”与“用户未觉悟率”成正比。
再注意到F(t)当然应该与黑客N(t)和黑客的变化数dN(t)/dt有关,为简便计,假定这种关系是线性关系,即,F(t)=c1N(t)+c2dN(t)/dt,这里c1,c2>0,即,黑客越多,黑客增长越快,那么,觉悟的用户也会更快地增长。由于在饱和状态时,同时成立dN(t)/dt=0、N(t)=K和F(t)=S,所以,在公式F(t)=c1N(t)+c2dN(t)/dt中,让时间趋于无穷大后,便有S=c1K。于是,上面的“用户合作时的logistic模型”便可以更具体地表述为:
dN(t)/dt=rN(t)[K-N(t)]/[K+rcN(t)],这里c=c2/c1
当某个用户被攻击后,他不但会自身加强保护措施,还会将其经验和教训传播给身边人员,提醒他们注意,于是,黑客可能攻击的对象数就会减少,形象地说,黑客的“食物”就减少了。极端情形是:如果所有用户都觉悟并采取防护措施后,那么,该黑客工具就失灵了,从而,黑客就无目标可攻击,即已被灭亡。
此节的上述分析,可以给红客以如下启发:
1)如果治理黑客的成本高于“任由K(容纳量)个黑客肆虐”的成本,那么,就不必治理了,否则就是吃力不讨好;
2)如果未能在开始期消灭黑客(即,设置在K0处的第一道防线被突破),那么,第二道最佳防线就应该设置在N(t)=K/2处的转折期;
3)如果第二道防线也被突破了,那么,就应该重点保护关键用户,不必再设置第三道防线了,除非有特殊的非经济因素;
4)“用户彼此合作,提升觉悟率”也是对付黑客的另一个有效手段。
总结
这里虽然在人为假设下,揭示了黑客的部分生态特性,但是,有待解决的问题还很多,比如:如何用实测数据来验证相关模型的逼真程度?(这需要大型,甚至国家级的,安全监测机构的数据支持;普通用户无能为力)各种模型中的相关参数如何来确定,现有的参数回归方法是否有效?模型是否能够进一步优化?如何利用已知的黑客生态学结果,去完成某款黑客工具的实际控制?等等。
注释:
1.负熵:
信息是负熵。一般而言,可以将信息定义为:信息是物质系统运动的本质特征,方式、运动状态及运动的有序性。而熵简单地理解就是在一种系统内物质运动的无序状态,所以负熵就是一种有序的状态,学习中的负熵可以转化为大脑皮层的信息,但是运动中的负熵就可以转化为肌肉记忆,信息通过被加工的特定形式的数据传递,并且信息具有超过这些数据本身价值的附加价值,与负熵的定义有异曲同工之妙,因此我们可以认为信息就是负熵。(信息管理导论)
2.纳什均衡(非合作博弈均衡):
在一个博弈过程中,无论对方的策略选择如何,当事人一方都会选择某个确定的策略,则该策略被称作支配性策略。如果两个博弈的当事人的策略组合分别构成各自的支配性策略,那么这个组合就被定义为纳什均衡。
一个策略组合被称为纳什均衡,当每个博弈者的均衡策略都是为了达到自己期望收益的最大值,与此同时,其他所有博弈者也遵循这样的策略。
纳什概念的存在基础:一切平衡概念都是在分析在每个参与者都考虑其他参与者的决定的情况下,最终选择是什么。“平衡点是当其余参与者的策略保持不变时,能够令参与者的混合策略最大化其收益的一个n元组”。
博弈论中一个著名的例子就是囚徒困境。
囚徒困境是一个非零和博弈,说的是两个嫌疑犯甲和乙私入民宅联手作案,被警方逮住但未获证据。警方于是将两个嫌疑犯分开审讯。警官分别告诉 两个囚犯,如果你招供,而对方不招供,则你将被判刑3个月,对方将被判刑10年;若两人都不招供则因未获证据但私入民宅将各拘留1年;如果两人均招供,每人将被判刑5年。于是,两个人同时陷入招供还是不招供的两难处境。结果是,尽管甲不知乙是否招供,但他认为自己选择“招供”最好,因而甲会选择“招供”,同样乙也会选择“招供”,两人各判5年。而两人都选择不招供,虽证据不足但因私入民宅将各拘留1年的结果是不会出现的。
博弈矩阵囚犯甲
招供不招供
囚犯乙招供判刑五年甲判刑十年;乙判刑三个月
不招供甲判刑三个月;乙判刑十年判刑一年
在一个博弈过程中,无论对方的策略选择如何,当事人一方都会选择某个确定的策略,则该策略被称作支配性策略。如果两个博弈的当事人的策略组合分别构成各自的支配性策略,那么这个组合就被定义为纳什均衡。纳什均衡又称为非合作博弈均衡,是博弈论的一个重要术语,它是以美国数学家、日后成为电影《美丽心灵》主人公的纳什的名字命名的。在上述囚徒困境例子中,两个囚犯符合自己利益的选择是坦白招供。这种两人都选择坦白的策略以及因此被判刑五年的结局就是“纳什均衡”。
4.安全公理:对任何(有限)系统来说,安全都是相对的,不安全才是绝对的,即,“系统不安全,总可被黑客攻破”这个事件的概率为1。