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

2016-12-21 07:13杨义先钮心忻
网络安全与数据管理 2016年23期
关键词:通论方程组黑客

杨义先,钮心忻

(北京邮电大学 信息安全中心,北京 100876)



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

杨义先,钮心忻

(北京邮电大学 信息安全中心,北京 100876)

编者按:文章揭示了红客的本质,即,维护系统的“安全熵”值,避免其突变,当然,如果能够“使熵减少或不增”就最理想。通过对熵的时变微分方程的讨论,分析了各种情况下,系统的安全态势以及红客的业绩评价等。我们过去一直认为,网络安全对抗的状态只有两个:此起、彼伏,或者说是“水涨”、“船高”,但却忽略了另一个更重要的状态,即纳什均衡!那时,攻防双方的最佳策略都是“静止不动”,至少表面上是这样。

0 引言

红客是被黑客逼出来的,没有黑客就不需要红客。但遗憾的是,黑客不但没有绝迹,而且还越来越多,越来越凶!

在某种意义上,黑客代表“邪恶”,因此,黑客的行动都是在隐蔽环境下进行的,不敢对外公开。从而,黑客获胜的主要法宝就是技术和其他“鸡鸣狗盗”。

杨义先

教授,博士生导师,灾备技术国家工程实验室主任,北京邮电大学信息安全中心主任,教育部网络攻防重点实验室主任,《微型机与应用》编委,主要研究方向:网络空间安全、现代密码学和纠错编码等。

钮心忻

博士,教授,博士生导师。北京邮电大学学士和硕士学位,香港中文大学电子工程系博士学位。1997年起在北京邮电大学信息工程学院(现计算机学院)从事教学与科研工作。主要研究方向:网络与信息安全、信号与信息处理等。

在某种意义上,红客代表“正义”,因此,红客的行动都是公开的,他们可以光明正大地运用包括法律、法规、标准、管理、技术、教育等一切手段来捍卫系统的安全。

从表面上看,红客的行动包括(但不限于)安装防火墙、杀病毒、抓黑客、加解密、漏洞扫描、制定标准、颁布(或协助颁布)相关法律法规,而且还经常删贴、封网、雇水军等。但是,这些都是错觉,如果要单一地考虑红客的这些防卫措施,那么,《安全通论》将无立足之地,而且系统的安全防守工作将越来越乱。过去,也许因为没有搞清红客的本质,所以,红客才做了许多事倍功半的事情,甚至还做了不少负功,既没有能挡住黑客的攻击,又把自己的阵营搞得一团糟,甚至逼反了自己的“友军”。其实,红客的本意,是只想做一件事,那就是:维护系统的熵(或秩序)!或更准确地说,最好能够“减少系统的熵”,次之是要“阻止系统的熵被增大”,至少要确保“系统的熵不要过快地增大”。因此,能够维护好熵的红客,才是合格的红客;否则,就是差红客,甚至是帮倒忙的红客。

过去一直认为,网络安全对抗的状态只有两个:此起、彼伏(或者说是“水涨”、“船高”),但却忽略了另一个更重要的状态:纳什均衡!那时,攻防双方的最佳策略,都是“静止不动”,至少表面上是这样。

由于红客可以使用黑客的所有技术,所以,本文不再重复文献[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)来描述:

(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),红客就能够维护系统,使其“安全熵”永远处于静止状态,那么,这样的红客就是成功的红客!

(2)

如果这个方程组可以展开为泰勒级数,即得到如下方程组(3):

(3)

该方程组的通解是:

(4)

此处各个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)既可能是实数,也可能是虚数。下面考虑几种特别情况:

(3)如果有一个特征根λ(i)是正数或0,那么,系统的平衡就不稳定了,即系统的安全性也不稳定了,红客就有可能失控。

(4)如果有一些特征根λ(i)是正数和复数,那么,系统中就包含着周期项,因为,指数为复数的指数函数具有这样的形式:

e(a-ib)t=eat[cos(bt)-isin(bt)]

这里i为虚数单位。

此时,系统的安全状态会出现周期性的振动,即会出现红客与黑客之间的反复“拉锯战”,虽然双方会各有胜负,但是,总体趋势是向着对红客不利的混乱和不安全方向发展。

为了使上面的讨论更加形象,现在考虑n=2,即此时系统的不安全因素主要有两个(比如“黑客攻击”和“用户操作失误”这两个宏观的因素),那么方程组(1)就简化为:

dQ1/dt=f1(Q1,Q2)和dQ2/dt=f2(Q1,Q2)

在可以展开为泰勒级数的假设下,它的解为:

λ=C/2±√[-D+C2/4]

其中,C=a11+a22, D=a11a22-a12a21,√表示平方根。

于是,可知:

(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)被简化为:

(5)

解此方程组,可得其解为: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

再考虑泰勒级数方程组(3)的另一种情况:各个不安全因素彼此之间相互独立(比如,由文献[1]可知,当这些不安全因素就是系统安全“经络图”中的全体“元诱因”时,这些不安全因素之间就是相互独立的),此时,方程组(3)就简化为:

dQi/dt=ai1Qi+ai11(Qi)2+ai111(Qi)3+…

此时,不安全因素对系统“安全熵”的整体影响,就等于每个不安全因素对系统“安全熵”各自影响的累加,即此时有“整体等于部分和”。

方程组(3)还有一种特殊情况值得单独说明,即假如有某个不安全因素qs的泰勒展开式系数在各个方程中都很大,而其他不安全因素的泰勒系数却很小甚至为0,那么,不安全因素qs就是不安全因素的主导部分,系统的不安全性可能主要是由它而引发,因此,这样的不安全因素qs就应该是红客关注的重点,要尽力避免它成为系统崩溃的“导火索”。2 结束语

虽然红客与黑客在技术方面几乎没有区别,甚至他们的技术可以彼此通用,但是,作为系统安全的正、反两种力量的代表,他们在角色方面的差别还是很大的,因此,值得专门设立篇幅来进行研究。

如果说黑客的手段杂乱无章,那么,红客的手段更是一团乱麻(甚至红客还会“好心办坏事”,即做一些本该黑客搞的破坏),如何找到一条线索来把“这团乱麻”理清,这是一个严峻的挑战。幸好我们偶然从文献[1-8]中发现了一个总是伴随着《安全通论》的“幽灵”,即“熵”,而且,运气更好的是,经过分析,“熵”竟然与红客的本质密不可分,而且还是解开“乱麻”的重要线索。贝塔朗菲的《一般系统论》[9]对系统熵进行了恰到好处的研究,因此,被本文深度参考。文中的许多思路和方法都依赖于“系统论”,只不过贝塔朗菲用它们去研究生物的新陈代谢系统,而本文用它们来研究网络系统;贝塔朗菲研究的是生物熵,而此处研究的是“安全熵”而已。

本文揭示了红客的实质是“维护系统的安全熵”,并详细分析了系统“安全熵”的多种情况下的时变特性。但是,到底应该怎样做才能够有效地阻止“安全熵”变大的趋势?这当然是一个重要而又困难的问题,过去全球安全界的同行们做了许多“埋头拉车”的具体工作,但是,在“抬头看路”方面还真的做得不够,比如:

(1)都说安全是“三分技术,七分管理”,但是,真正落实到行动上时,大家在“安全管理”方面花费的精力远远未达到“七分”。因此,我们希望能够在《安全通论》中,专门开辟“管理篇”来详细研究“如何用管理的办法来维护系统的安全熵”;

(2)及时反馈也是红客维护“安全熵”并在必要时对其进行微调的重要办法,因此,维纳的《控制论》在《安全通论》中也应该有特殊的地位,但是,突破口确实很难找。

对红客的研究肯定不仅仅限于本文的这些内容,但是,为了尽快搭建起《安全通论》的核心骨架,吸引全球尽可能多的安全专家来一起“挖金矿”,我们不得不先放弃一些细节,比如,其实开放系统的“安全熵”永远不会处于平衡状态,而是会维持在所谓的“稳态”上,这与有机体的新陈代谢相同,而且,同样具有“异因同果性”,即,由不同的原因导致相同的结果,比如,或者是因为“黑客太弱”,或者是因为“红客太强”,而使得系统的安全无恙;反过来,或者是因为“黑客太强”,或者是因为“红客做了负功”,而使得系统崩溃。系统一旦达到“稳态”,就必定表现出“异因同果性”。

[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] 杨义先,钮心忻,安全通论(7)——黑客篇之“战术研究”[J].微型机与应用,2016,35(21):1-4.

[8] 杨义先,钮心忻,安全通论(8)——黑客篇之“战略研究”[J].微型机与应用,2016,35(22):1-5.

[9] 冯·贝塔朗菲.一般系统论:基础、发展和应用(第1版)[M].林康义,魏宏森,等,译.北京:清华大学出版社,1987.

(本文转自杨义先教授科学网博客,链接地址:http://blog.sciencenet.cn/blog-453322-960372.html。本系列完,更多《安全通论》相关内容请关注杨义先教授科学网博客)

猜你喜欢
通论方程组黑客
欢乐英雄
多少个屁能把布克崩起来?
深入学习“二元一次方程组”
协通论视佛经一例
《二元一次方程组》巩固练习
网络黑客比核武器更可怕
一类次临界Bose-Einstein凝聚型方程组的渐近收敛行为和相位分离
安全通论——“非盲对抗”之“童趣游戏”
“挖”出来的二元一次方程组
安全通论(16)——黑客生态学