logo资料库

安全通论(9)——红客篇.pdf

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
安全通论(9))——红客篇红客篇 安全通论( 文章揭示了红客的本质,即,维护系统的“安全熵”值,避免其突变,当然,如果能够“使熵减少或不增”就最理 想。通过对熵的时变微分方程的讨论,分析了各种情况下,系统的安全态势以及红客的业绩评价等。我们过去 一直认为,网络安全对抗的状态只有两个:此起、彼伏,或者说是“水涨”、“船高”,但却忽略了另一个更重要的 状态,即纳什均衡!那时,攻防双方的最佳策略都是“静止不动”,至少表面上是这样。   杨义先,钮心忻   (北京邮电大学 信息安全中心,北京 100876) 编者按:文章揭示了 0引言引言   红客是被黑客逼出来的,没有黑客就不需要红客。但遗憾的是,黑客不但没有绝迹,而且还越来越多,越来越凶!   在某种意义上,黑客代表“邪恶”,因此,黑客的行动都是在隐蔽环境下进行的,不敢对外公开。从而,黑客获胜的主要法 宝就是技术和其他“鸡鸣狗盗”。   在某种意义上,红客代表“正义”,因此,红客的行动都是公开的,他们可以光明正大地运用包括法律、法规、标准、管 理、技术、教育等一切手段来捍卫系统的安全。   从表面上看,红客的行动包括(但不限于)安装防火墙、杀病毒、抓黑客、加解密、漏洞扫描、制定标准、颁布(或协助 颁布)相关法律法规,而且还经常删贴、封网、雇水军等。但是,这些都是错觉,如果要单一地考虑红客的这些防卫措施,那 么,《安全通论》将无立足之地,而且系统的安全防守工作将越来越乱。过去,也许因为没有搞清红客的本质,所以,红客才 做了许多事倍功半的事情,甚至还做了不少负功,既没有能挡住黑客的攻击,又把自己的阵营搞得一团糟,甚至逼反了自己 的“友军”。其实,红客的本意,是只想做一件事,那就是:维护系统的熵(或秩序)!或更准确地说,最好能够“减少系统的 熵”,次之是要“阻止系统的熵被增大”,至少要确保“系统的熵不要过快地增大”。因此,能够维护好熵的红客,才是合格的红 客;否则,就是差红客,甚至是帮倒忙的红客。   过去一直认为,网络安全对抗的状态只有两个:此起、彼伏(或者说是“水涨”、“船高”),但却忽略了另一个更重要的状 态:纳什均衡!那时,攻防双方的最佳策略,都是“静止不动”,至少表面上是这样。   由于红客可以使用黑客的所有技术,所以,本文不再重复文献[1-8]中提到过的所有技术部分,而是充分运用《系统 论》[9]来揭示红客的本质。 1安全熵及其时变性研究 安全熵及其时变性研究   考虑由红客、黑客、用户、网络和服务等组成的系统。由“热力学第二定律”可知该系统的熵(或秩序,或组织性)一定会 随着时间的流逝而不断地自动增大,这意味着“系统的不安全性”也在不断地增大。特别是黑客的存在,使得这种“熵增大”的趋 势更明显,因为,黑客的实质就是搞破坏,就是要搞乱系统的既定秩序;而与之相反,红客的目的就是要有效阻止这种系统崩 析(耗散)趋势,确保用户能够按既定的秩序在系统中提供或获得服务。当然,用户的误操作(或者红客的乱操作)也会在实 际上搞乱系统,增大系统的熵。不过,为了清晰起见,本文不考虑诸如用户误操作、红客和黑客失误等无意行为所造成的乱序 问题。   由于有红客、黑客等人为因素的影响,所以,网络系统显然不是“封闭系统”(如果只考虑设备,那么,系统就可看成是“封 闭系统”,实际上,它还是一个“有限系统”),更由于红客和黑客连续不断的攻防对抗,使得系统熵(秩序的度量)不断地被增 大和缩小,即系统的熵始终是时变的。   设系统的全部不安全因素为q1,q2,…,qn,记t时刻系统的熵为Q(t,q1,q2,…,qn),或者简记为Q(t)。当Q(t)=0时,系统的熵 达到最小值,此时系统的安全性就达到最大值(因为根据文献[1],“安全”是“负熵”,或者说“不安全”是“熵”)。当然,一般 情况下,熵总是正数。若Q(t)随时间而增长,即微分dQ(t)/dt>0,那么,系统将变得越来越不安全;反之,若Q(t)随时间而减 少,即微分dQ(t)/dt<0,那么,系统将变得越来越安全。因此,以下将Q(t)称为“安全熵”。而红客的目标就是要努力使得“安全 熵”越来越小,黑客则想使“安全熵”越来越大。   对每个i(i=1,2,…,n),记Q(t,qi)(更简单地记为Qi(t)或Qi)为在“只存在不安全因素qi”的条件下,在t时刻,系统的“安全 熵”。那么,各个Qi(t)的时变情况便可以用方程组(1)来描述:      这里,任何一个Qi的变化都是所有其他各Qj(j≠i)的函数;反过来,任一Qi的变化也承担着所有其他量和整个方程组(1) 的变化。   下面针对一些特殊情况来仔细讨论方程组(1)。
  如果各个Qi不随时间而变化,即,dQi/dt=0,i=1,2,…,n(或者说f1(Q1,Q2,…,Qn)=f2(Q1,Q2,…,Qn)=…= fn(Q1,Q2, …,Qn)=0),那么,此时系统的“安全熵”就处于静止状态,即系统的安全性既不变坏,也没有变得更好。如果从系统刚刚投入 运行开始(即t=0),红客就能够维护系统,使其“安全熵”永远处于静止状态,那么,这样的红客就是成功的红客!   设Q*1,Q*2,…,Q*n是在静止状态下方程组(1)的一组解。对每个i,i=1,2,…,n,引入新的变量Q′i=Q*i-Qi,那么,方程组 (1)就转变成了方程组(2):      如果这个方程组可以展开为泰勒级数,即得到如下方程组(3):      该方程组的通解是:      此处各个G都是常数,λ(i), i=1,2,…,n,则是如下n×n阶矩阵B=[bij]的行列式关于λ的特征方程的根,即方程det(B)=0的 根,这里B=[bij],bii=aii-λ, i=1,2,…,n,而当i≠j时,bij=aij。   上述特征方程的根λ(i)既可能是实数,也可能是虚数。下面考虑几种特别情况:   (1)如果所有的特征根λ(i)都是实数且是负数,那么,根据通解式可知,各Q’i将随着时间的增加而趋近于0(因为e- ∞=0),这说明红客正在节节胜利,因为,“安全熵”变化率趋于0意味着:各个不安全因素正被逐步控制,系统的秩序也正在 恢复之中。   (2)同理,如果所有的特征根λ(i)都是复数且负数在其实数部分,那么,根据通解式可知,各Q′i也随着时间的增加而趋 近于0。这时,红客也正在节节胜利中。   由于Qi=Q*i-Q′i,i=1,2,…,n,所以,根据方程组(2)可知,在情况(1)和(2)中,Qi逼近静态值Q*i,此时,系统所处 的安全平衡状态是稳定的,因为,在一个足够长的时间内,系统愈来愈逼近静态,系统的“安全熵”变化率始终逼近于0,即系 统的秩序是长期稳定的。   (3)如果有一个特征根λ(i)是正数或0,那么,系统的平衡就不稳定了,即系统的安全性也不稳定了,红客就有可能失 控。   (4)如果有一些特征根λ(i)是正数和复数,那么,系统中就包含着周期项,因为,指数为复数的指数函数具有这样的形 式:      这里i为虚数单位。   此时,系统的安全状态会出现周期性的振动,即会出现红客与黑客之间的反复“拉锯战”,虽然双方会各有胜负,但是,总 体趋势是向着对红客不利的混乱和不安全方向发展。   为了使上面的讨论更加形象,现在考虑n=2,即此时系统的不安全因素主要有两个(比如“黑客攻击”和“用户操作失误”这两 个宏观的因素),那么方程组(1)就简化为:      在可以展开为泰勒级数的假设下,它的解为:
     其中Q*1和Q*2是使f1=f2=0而得到的Q1和Q2的静态解,G是积分常数;而λ(1)和λ(2)是特征方程(a11-λ)(a22-λ)-a12a21=0 的根,而此二次方程的根为:   λ=C/2±√[-D+C2/4]   其中,C=a11+a22, D=a11a22-a12a21,√表示平方根。   于是,可知:   (1)若C<0,D>0,E=C2-4D>0,那么,特征方程的两个根都是负的,因而,系统就会随着时间的伸展趋向于稳定在静 止状态(Q*1,Q*2),这时,红客将居于主动地位,系统的安全尽在掌控中。   (2)若C0,E=C2-4D<0,那么,特征方程的两个根都是带有负实数部分的复数解。此时,随着时间的发展,系 统的“安全熵”(Q1,Q2)将沿一个螺旋状的曲线轨迹而逼近静止状态(Q*1,Q*2),这时,对红客来说也是有利的。   (3)若C=0,D>0,E<0,那么,特征方程的两个解都是虚数,因此,方程组的解中就包含有周期项,就会出现围绕静 止值的摆动或旋转,即代表“安全熵”的点(Q1,Q2)会围绕静止态(Q*1,Q*2)画出一条封闭的曲线,这时,红客与黑客难分胜负, 双方不断地进行着“拉锯战”。   (4)若C>0,D>0,E>0,那么,特征方程的两个解都是正数,此时,完全不存在静态,或者说,此时系统更混乱,红 客完全失控,只能眼睁睁地看着系统最终崩溃!   更进一步,下面再来考虑n=1这种最简单的情况,此时,系统的不安全因素只有一个(比如黑客的破坏)。于是,方程组 (1)就简化为方程:dQ/dt=f(Q)。若将f(Q)展开为泰勒级数,那么,就得到如下方程:   dQ/dt=a1Q+a11Q2+…   此泰勒式中未包含常数项,因为,我们可以假定:“不安全因素”不会自然发生,即,系统刚刚被使用(t=0)的那一刻, 系统不会出现安全问题。   如果粗略地只保留该泰勒级数中的第一项,那就有dQ/dt=a1Q,这说明:系统的安全态势将完全取决于常数a1是正还是 负。如果a1为负,那么“安全熵”整体上向减少的方向发展,即系统的安全性会越来越好,对红客有利;如果a1为正,那么“安 全熵”整体上向增加的方向发展,即系统的安全性会越来越差,对红客不利。而且,系统的这种越来越安全(或越来越不安 全)的态势遵从指数定律:Q=Q0ea(1)t,其中,Q0表示初始时刻(t=0)时系统的“安全熵”;而a(1)是a1的等价表达式,这主 要是为了简化公式中足标体系的复杂度(这是因为Q=Q0ea(1)t是方程dQ/dt=a1Q的解)。该指数定律表明:如果系统的安全 态势在向好的方面发展,那么,变好的速度会越来越快;反之,如果系统的安全态势在向坏的方面发展,那么,变坏的速度也 会越来越快,甚至瞬间崩溃!   如果再精细一点,即,保留上述泰勒级数的前两项,于是,就有方程:   dQ/dt=a1Q+a11Q2   该方程的解为Q=[a1cea(1)t]/[1-a11cea(1)t]。注意,随着时间的延伸,该解所画出的曲线就是所谓的“对数曲线”, 它是一个趋向于某极限的S形曲线,也就是说,此时,从安全性角度来看,系统的变好和变坏,还是有“底线”的。   下面,我们再换一个角度来看系统安全,即,跳出系统,完全以旁观的第三方身份来看红客与黑客之间如何“道高一尺魔 高一丈”地“水涨船高”。   此时,影响系统安全性的因素只有两个(即,红客努力使系统变得更安全,使“安全熵”不增;而黑客却努力要使系统不安 全,增加“安全熵”),而且,假如这两个因素之间还是相互独立的,即,各方都埋头于自己的“攻”或“守”,或者说,红客(黑 客)的“安全熵”随时间变化的情况与黑客(红客)的“安全熵”无关,而且还只考虑“主要矛盾”,即,此时在方程组(3)中,每 个方程式只保留第1项,其他系数都为0。于是,方程组(3)被简化为:      解此方程组,可得其解为:Q1=c1ea(1)t和Q2=c2ea(2)t,从中再解出时间t,可得:t=[lnQ1-lnc1]/a1=[lnQ2- lnc2]/a2。设a=a1/a2,b=c1/(c2)a,那么就有如下重要公式:   Q1=b(Q2)a   它说明红客与黑客的“安全熵”(Q1和Q2)彼此之间是幂函数关系,比如,红客维护系统安全所贡献的“安全熵”是黑客破坏 系统安全所增大“安全熵”的幂函数。为更清楚起见,将上面式(5)重写如下:   {[dQ1/dt][1/Q1]}:{[dQ2/dt][1/Q2]}=a或者dQ1/dt=a(Q1/Q2)(dQ2/dt)   这里,前一部分说明:在只考虑红客和黑客的“安全熵”(Q1和Q2)的前提下,红客使其“安全熵”的相对增长率 ([dQ1/dt][1/Q1])与黑客的“安全熵”的相对增长率([dQ2/dt][1/Q2])之间的比值竟然是常数!而后一部分,更出
人意料地表示:红客“安全熵”的时变率(dQ1/dt)与黑客“安全熵”的时变率(dQ2/dt)之间的关系,竟然是如此简洁!   若a1>a2,即红客“安全熵”Q1的增长率大于黑客“安全熵”Q2的增长率,那么,a=a1/a2>1,它表明红客对系统整体安全性 走势的掌控力更强;反过来,若a1
分享到:
收藏