网络安全行业请别拿行为控制忽悠了

网络安全行业请别拿行为控制忽悠了

 

本文讨论了应用行为控制的难点,给出了具体的解决思路。

 

1 我的行为控制终于火了

不知从什么时候开始,网络安全中行为控制火了。依稀记得2005年左右当我向老板(导师)提出行为控制概念时,老板说是个好想法,但好象太空了。因为直至今日,访问控制一直是系统安全的核心,在05年这样一个背景下,提出行为控制在我看来是一个很大的突破。为老板这句话,我一直耿耿于怀:的确太虚了,没有落地,但我没有办法解决。如今看到行为控制这么大火,真有点如卞和遇楚文王的感觉:感动得想哭了。

2 行为控制无法落地是个难题

但在激动之余,我很好奇当前流行的行为控制做什么呢?难道国内外现在有大牛解决了行为控制的抽象性问题吗?众所周知,对计算系统而言,任何东西可计算,首先要解决描述问题,即给出形式化描述。显然,对于行为控制也是这样,首先要描述行为。但是,网络行为很抽象,涉及不同层面,不同粒度的行为,如用户层,应用层,功能逻辑层、代码底层等。我们要关注那些行为,如何描述?另外,对行为控制而言,另一个核心问题是控制,即使我们能很好的描述这些行为,如何有效的控制呢,这也是一个难题,这两个问题国内外好象都没有很好的解决。在没有解决这些问题的前提下,大谈特谈行为控制,只是一个忽悠外行的高大上花环,经不起推敲。有如很多年前有领导提出纵深防护、三维(多维)立体防护的概念,想法很好,但没有一个具体的实施方案,最终也是过眼云烟。

3 如何将行为控制技术落地

如果我写到这,最多只能算个粪青,说得好听点,算个技术评论员,但绝对算不上技术员。在此我想更进一步,讨论一下行为控制的落地问题。

这要从2005年开始说起。在我提出行为控制(BC)前,一直至力于访问控制(AC)的研究。由于AC关注于添加、删除、修改等访问会话行为,典型如RBAC模型在企业安全中的应用。但AC模型的最大的限制是主客体要求有明确的介定,会话行为也停留在用户应用逻辑层。但在底层及更高层应用中,AC相关模型如RBAC、DAC、MAC、BLP等模型是不适用的,因为主客体不明确,行为很多情况下也不好控制。于是,我想考虑对访问会话行为拓展到更一般性的行为,由此而得到了BC。BC的提出让我很自矜,或者有点得意忘形,尽管老板指出我的问题,我当时只当是吹毛求疵的意见(能提出一个好的IDEA就不错了)。后来,在对BLP模型的研究中,对行为(B)和状态(S)构成的系统(SYS)有了深刻的认识。在提出BC的成功感驱动下,我更大胆提出了状态控制(SC)(很好奇过几年国内是否也会出现SC的大火!)。但BC和SC都面临如何落地问题。尽管后来我提出了一些基本的BC和SC模型,并在国内外的一些低级别国际会议上发表,但真心知那东东没有落地,只是一个概念,由此也一直耿耿于怀如何将其落地。

到了2009年,因一时闲暇,我决心解决我的心头之恨—-我要找到具体的SC和BC的有效描述控制方法,找到具体的应用场景,实现BC+SC,我要证明给老板、给同学看。于是我开始考虑选择一个系统作为B、S描述和应用的对象环境。考虑到操作系统(OS)的典型性,我很自然选择分析OS的B和S。期间我列出了很多OS的B和S(前段时间听中科院信工所在对移动应用安全操作系统安全控制中也列出了多少万个行为)。但为了深入研究OS内部行为,我找来linux的内核源代码,试图搞清楚OS的启动,运行情况,挖掘其内部行为。为此,我看了linux内核的许多代码,并试图顺带编写一个OS内核。到2011年,由于工作关系,我中断了OS的B和S的研究。但这阶段的研究对我影响很大,我发现了OS在代码层的大量行为。于是到2012年,由于工作项目原因,我又开始研究WEB的浏览器browser的B和S,分析网页内部运行的一些行为和状态特征,试图发现一些漏洞。随着整个项目的结束,利用闲暇机会,我决心重新关注B和S,并且是从代码层面关注B和S。我的想法是:OS中的高层应用的B和S很抽象,但在代码层则是实实在在存在的,它的所有B和S都是看得见,摸得着的,在代码层实现BC和SC是完全可能的。这样,至少我可以在代码层应用我的BC和SC。由于在代码层分析B和S,首先要提取代码的特征,而代码特征提取的最成熟技术是编译器,于是我开启了基于编译技术的代码特征分析提取研究历程,准确的说是编译器的研究历程(这其中得到的一些意外收获以后再成文讨论)。历时两年,我基本完成了对代码层的B和S的提取分析,并建立了相应的模型对BC和SC的控制。

但是,问题又来了,我能将BC和SC应用于代码底层,高层又该如何应用呢?如何对网络应用中的BC实施描述控制?经过近半年的苦闷,我还是回归到利用我在代码层的胜利果实—-将应用层、用户层的B和S映射到代码层,通过代码层间接控制高层的B和S。但如何确保映射的有效性和完备性呢?为此,我几乎终止了我的研究。后来,得益于我在2006年研究的一个层次化系统逻辑推理模型,我基本给出了从高层到低层应用中B和S的映射问题的完备推理思路。至此,我想已基本说明白了BC(行为控制)的落地问题。

至于SC(状态控制)的传奇,过段时间再谈,敬请关注。

纯属个人想法,尽请拍砖。真心欢迎提出意见,能BS一下我最好。

 

转自个人新浪博客:http://blog.sina.com.cn/s/blog_14ecb0c6c0102w4er.html

 

林孟尼

2016年元月于北京

1人评论了“网络安全行业请别拿行为控制忽悠了”

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注