攻击文法与攻击图模型的对比研究

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

攻击文法与攻击图模型的对比研究1
张殷乾,王轶骏,薛质
上海交通大学信息安全工程学院,200240
【摘要】攻击文法【1】是我们提出的一种保障大型计算机网络安全的分析模型和工具。

与传统的攻击图模型相比,攻击文法有其独特的优势。

本文以近年来国内外的攻击图研究成果为背景,对比分析攻击文法在网络攻击建模、模型描述能力和算法复杂度等方面的优点和不足。

同时,通过回顾理清该领域当前世界最先进的研究思路和发展方向,明确攻击文法的定位,为未来研究奠定基础。

【关键词】网络安全攻击文法攻击图网络攻击建模
A Comparative Review of Researches on Attack Grammar and Attack Graph
Yinqian Zhang Yijun Wang Zhi Xue
(School of Information Security Engineering, SJTU, Minhang District, Shanghai, 200240, China)
Abstract: Our attack grammar is a new approach to large scale network attack modeling and analysis. Compared with traditional models such as attack graphs, attack grammars have their unique advantages. In this paper we summarize recent researches on attack graphs and compare them with our attack grammar approach in the ability of network attack modeling, attack scenario expressing and scaling. In the mean while, a review of the most advanced techniques in attack graphs is proposed in order to summarize their methodology and to provide a clearer research direction for future studies.
Key words: Network security, attack grammar, attack graph, network attack modeling.
1.引言
计算机网络由于软件和配置漏洞而存在着安全威胁。

在大规模的计算机网络中,黑客的入侵不再是针对一台主机,而是以跳板的方式,一步一步渗透至网络内部。

负责安全防护的网络管理员必须在错综复杂的网络环境中找到所有可能的攻击路径,并在技术和资金允许的情况下优先选择修补最为关键的安全漏洞,或者监控最薄弱的安全环节。

为此目的,学者们设计出了多种安全威胁模型。

这些模型中最重要的就是攻击图。

攻击图是一种用图来表示大型网络中攻击路径的方法【2】。

它利用大型网络的配置和漏洞信息,从全局的角度分析它们的依存关系,找出所有可能的攻击路径,并且为网络管理员提供安全建议。

近年来,攻击图的研究重点主要围绕以下几个问题:一、网络结构和主机配置的自动获取;二、漏洞细节的自动生成;三、攻击图生成算法的扩展性(scalability);四、基于攻击图自动提出网络安全增强建议。

这些研究使攻击图逐步从理论走向了实践。

但是,我们认为攻击图方法本身存在着一定的不足。

首先,对于复杂网络,攻击图的规模往往大到无法控制,使管理员很难理解图的内容。

第二,攻击图中普遍存在冗余信息,加大了分析的
1作者简介:张殷乾(1983.7-),男,硕士研究生,主要研究领域为网络与信息安全(email: stanielzhang@)。

王轶骏(1980.9-),讲师,主要研究网络与信息安全。

薛质(1971.2-),教授,博士生导师,主要研究网络与信息安全。

难度。

第三,攻击图不能有效表达漏洞间的依赖关系,不适合用于入侵检测系统(IDS)报警关联。

为此,我们提出了一种基于上下文无关文法的网络攻击模型和安全分析系统——攻击文法【1】。

攻击文法能够从一个新的角度去解决攻击图模型固有的问题,为该领域带来了新的思路。

2.攻击图研究回顾
根据攻击图的基本研究方法分类,可以把攻击图研究分为两类:基于图的方法和基于逻辑的方法。

2.1 基于图的方法
早期的基于图的方法研究攻击图的代表是Swiler和Phillips等人在1998年提出的方法【4】【5】,他们用网络的状态变量的集合来建模攻击图的结点,用黑客的动作来建模攻击图的边。

该方法的运行时间对网络的规模具有指数特征。

Ammann提出的基于图搜索的方法,假设网络攻击具有单调性,即黑客在攻击过程中不会放弃已经获得的权限。

这种假设在大多数的网络攻击场景中都适用,同时大大降低了算法的复杂度。

Jajodia等人提出的TV A系统【6】就结合了这种假设并且设计出O(N6)的算法。

2006年,麻省理工学院提出使用预测图(predictive graph)的NetSPA v1【7】和使用了多重先决条件图(Multiple-prerequisite graph,简称MP图) 的NetSPA v2【2】。

NetSPA v2是一个端到端的攻击图生成和分析工具。

它解决了以往攻击图研究中的网络数据自动采集问题和攻击图生成算法扩展性的问题。

它定义了更为简单的网络模型,方便系统自动采集网络数据;它采用MP图来代替NetSPA v1的预测图,使攻击图的生成算法几乎达到O(N)。

NetSPA的网络模型中包括了主机,端口和漏洞。

这些信息可以由Nessus扫描结果得到。

模型还定义了漏洞利用的两种先决条件——可达性和信用凭证。

可达性可以由防火墙配置得到;信用凭证用来建模用于访问控制的密码或者私钥。

NetSPA简化了漏洞的前提和影响结果,并采用自动化工具来提取NVD和Bugtraq漏洞库中的文本信息中的关键内容。

MP图包含了三种不同的结点:状态结点、先决条件结点和漏洞实例结点。

状态结点代表黑客在主机上的权限。

与状态结点通过有向边连接的先决条件结点表示黑客在该状态上可获得的先决条件,它可以是一个可达性条件,也可以是一个信用凭证。

与先决条件结点连接的漏洞实例结点表示该先决条件可以利用的漏洞。

漏洞实例结点通过有向边与新的状态结点相连。

NetSPA提供了把网络模型转化为MP图的算法。

算法的复杂度最坏情况下是O(max(V,
T )NC),其中V代表漏洞实例的个数,T代表端口数,C代表信任凭证的数目,N代表主机群的个数。

实验数据表明NetSPA的性能非常好,可以在数秒内完成对数百台主机的安全检测和分析。

2.2 基于逻辑的方法
早期的基于逻辑的方法大都源于模型检查。

Ritchey和Ammann等人提出使用模型检查器来为已知的漏洞生成攻击路径【8】。

Sheyner的工作【3】扩展了模型检查,但是模型检查没有假设网络攻击具有单调性,所以这些方法扩展性都不好,一个3台主机和4个漏洞的实例需要运行2个小时才能得到攻击图。

2005年Ou等人提出了MulV AL【9】。

MulV AL是一种基于逻辑的网络安全分析器。

它是一个端到端的多主机、多层次的网络安全分析架构和推理系统。

它使用Datalog作为建模语言,能够结合网络扫描器自动收集网络数据,并转化为Datalog语言描述的网络模型。

MulV AL 把网络模型输入给推理引擎,其推理规则假设了网络攻击的单调性。

引擎输出结果是该网络的一条攻击路径。

MulVUL具有强大的网络数据采集能力。

它能够整合开放漏洞评估语言(OV AL)兼容的网络扫描工具,把OV AL描述的漏洞信息和主机配置信息整合为Datalog描述的语句。

它还能够自动提取ICAT漏洞数据库的漏洞描述,为扫描得到的漏洞提供前提条件和影响结果的细节。

性能优势是MulV AL系统的一个特点。

实验数据显示,MulV AL的算法复杂度在O(N2)到O(N3)之间。

对于2000台主机的模拟网络运行时间大约在15秒左右。

MulV AL的缺陷在于它仅仅给出了一条攻击路径,而不是产生一个完整的攻击图。

另外,它在最坏情况下的复杂度也可能是指数的。

X. Ou进一步扩展了MulV AL【10】,把其生成的攻击路径拓展成为攻击图。

论文证明,生成攻击图的算法的复杂度为O(N2logN)。

3.攻击文法
我们提出一种基于下推自动机(PDA)的网络攻击模型和利用上下文无关文法进行安全分析的工具——攻击文法。

攻击文法的工具如图所示。

Nessus
图1 攻击文法工具组成
3.1 网络模型和攻击文法
攻击文法的网络模型中,主机是网络中可能受到攻击的网络实体,主机具有网络接口、端口和漏洞等属性。

主机群是具有相同可达性和相同漏洞的主机的集合。

模型中的漏洞使用前提条件和影响结果来描述,这两者都通过多维向量对象来建模,它们都表示黑客在某台主机上的某种权限或者知识,也称为黑客状态。

模型允许同时存在多个攻击目标。

攻击文法工具能够自动的把网络信息建模到PDA中。

一个攻击模型PDA定义为一个7元组:(S, Σ, Γ, δ, q0, Z0, F), 其中S是状态集合,代表网络攻击场景中的主机群。

Σ是输入
符号的集合,代表漏洞或者对应的漏洞利用。

Γ是栈顶符号的集合,代表黑客状态。

δ是转移函数(Σ×S×Γ)→ (S×Γ)的集合,描述了一个漏洞利用的过程。

q0是初始状态,代表黑客的初始攻击点,Z0是栈中的初始符号,用于定义“空栈”接受的语言。

F是S的子集,表示终结状态。

攻击文法定义为一个四元组:(V, T, R, S),其中V是文法中变量的集合,T是终结变量的集合,R是产生式的集合,S是初始符号。

攻击文法与PDA模型具有相同的描述能力。

攻击模型PDA描述了一个网络的攻击场景,如果一系列攻击动作对应的输入符号串能够被PDA所接受,那么这个攻击序列就能够使黑客从他的初始状态成功入侵目标主机;相应的,这个攻击序列应该是该网络的攻击文法所能够生成的一个句子。

我们的工具能够自动的把描述网络攻击模型的PDA转化为攻击文法。

自动生成的攻击文法往往非常庞大,我们设计了一系列的攻击文法简化算法,包括去除可空变量、去除无逻辑意义变量、去除非产生变量、去除非可达变量,目的是使攻击文法更简约明了,其变量更具有实际意义。

简化后的攻击文法中,一个终结变量代表了黑客入侵中
可能利用的一种漏洞,一个非终结变量代表了黑客在攻击过程中的一种状态,这个状态能够与网络中的某台主机上的某种权限对应。

我们可以利用攻击文法,对一个攻击序列进行文法检查,判断它是否是黑客完成入侵目标所采用的一连串动作,也可以判断出一个攻击序列片段是否是完整攻击序列的一部分。

攻击文法非常适合应用于IDS报警关联,因为漏洞间的依赖关系可以通过文法中的变量间的关系表达出来。

我们也给出了把攻击文法转化为各种形式的攻击图的算法。

这些算法的复杂度都是线性的,由此也可以把攻击文法看作是攻击图的一种更为简约的表现形式。

3.2 复杂度和扩展性
构造PDA的算法复杂度是O(N2VM),其中N是网络中的主机群的个数,V是漏洞的种类,M是黑客状态的个数。

由PDA构造攻击文法的算法复杂度是O(N4VM)。

化简攻击文法的算法的复杂度都是O(n),其中n是文法的长度,也即文法中产生式的个数。

经过化简,文法的长度不会超过N2VM2+MNV。

而基于攻击文法的IDS报警关联,和由攻击文法生成攻击图的算法复杂度都是O(n),此时文法长度n最多是O(N2)。

我们在主频是3.0GHZ,512M内存的Windows XP系统上进行随机网络的模拟测试,其中,我们假定了网络中存在20种不同的漏洞,并且只有root,user和other这3种不同的黑客状态。

测试结果证实了复杂度的理论分析。

表1 扩展性测试
测试 1 测试2 测试3
子网数 3 5 8
主机群数15 50 80
网络连通率43.2% 36.0% 30.0%
目标主机数 1 1 2
文法构造时间0.031s 5.45s 43.28s
文法长度20208 2150619 11659221
文法简化时间0.001s 0.031s 0.25s
简化后的文法长度19 380 735
3.3 对比研究
攻击文法的网络建模能力高于NetSPA和MulV AL。

首先,NetSPA和MulV AL都只能对权限提升和拒绝服务攻击的漏洞进行分析,而不能在模型中考虑到丧失完整性漏洞和丧失保密性漏洞。

忽略这些信息将导致模型与实际攻击环境的差异。

而攻击文法允许建模那些仅仅能够使黑客获取系统信息的漏洞。

其次,由于黑客在主机上的权限通过多维向量来建模,攻击文法可以表达非常复杂的黑客状态。

但是NetSPA和MulV AL只能通过简单的“{主机,权限}对”来描述状态。

在网络信息自动获取方面,MulV AL和NetSPA都很专注于实用性,能够在很大程度上的自动提取网络信息。

攻击文法更多的借鉴了NetSPA的技术,如自动分析Nessus扫描结果,自动提取NVD漏洞库的文本,可达性的计算等等。

攻击文法在这方面还需完善。

攻击文法的攻击场景的描述能力强于NetSPA。

从形式上说,NetSPA采用了有限状态机来描述攻击场景的,而攻击文法采用了下推自动机,拥有一个存储堆栈,可以更好的记录攻击历史。

另外,由于攻击文法是一种基于语法的正规方法,所以相比于NetSPA,它在逻辑上更清晰,也更容易理解和发展。

而且其很多算法可以借鉴编译器的算法,系统开发具有更好的可靠性。

MulV AL是一种基于逻辑的正规方法,其对攻击场景的描述能力应该在NetSPA 之上。

表面上看攻击文法的算法复杂度逊色于NetSPA和MulV AL。

然而,仔细观察可以发现,NetSPA系统的复杂度是O(max(V, T )NC),而V和T的个数是O(N),其总体的复杂度近似于O(N2)。

但是,利用MP图提出安全建议的方法是逐个去掉某个漏洞,然后重新生成MP图。

很明显,其复杂度是指数的。

另一方面,虽然改进后的MulV AL的生成完整攻击图的复杂度是O(N2logN),但是论文中同时也指出,去掉攻击图中无意义的环路需要的时间复杂度是O(N4)。

这与通过攻击文法的生成无环攻击图的复杂度相似。

另外,MulV AL没有提供有效的提出安全建议的方法,它的应用能力尚不能与攻击文法相比。

而攻击文法只有文法生成的过程的复杂度是O(N4),文法的分析和应用的复杂度都是O(N2),这也是的攻击文法更适用于IDS报警关联这一类的安全应用的原因之一。

4.结束语
攻击文法和攻击图本质上都是为了保护大型计算机网络安全而设计的分析模型。

本文对比研究了攻击文法和几种攻击图研究的最新成果,讨论了各自的优缺点。

攻击文法的研究是该领域的一个新的方向,也是解决该类问题的一个新的入手点。

结合攻击图领域已有的研究成果,攻击文法会得到更好的发展。

未来的研究中,我们将致力于提供一个应用攻击文法的端到端的安全分析平台,也将努力使攻击文法实践于真实的IDS报警关联应用中。

参考文献
[1]Yinqian Zhang, Xun Fan, Yijun Wang, Zhi Xue, “Attack Grammar: A New Approach to Modeling and Analyzing Network Attack
Sequences”, 24th Annual Computer Security Applications Conference, December, 2008.
[2]K. Ingols, R. Lippmann and K. piwowarski, “Practical Attack Graph Generation for Network Defense”, 22nd Annual Computer
Security Applications Conference, December, 2006
[3]O. Sheyner et al., “Automated Generation And Analysis of Attack Graphs”, in Proceedings of the 2002 IEEE Symposium on
Security and Privacy, Oakland, CA, 2002, pp. 273–284.
[4] C. Phillips and L. Swiler, “A Graph-Based System for Network-Vulnerability Analysis”, In Proceedings of the New Security
Paradigms Workshop, pages 71–79, Charlottesville, VA, 1998.
[5]L. Swiler, C. Phillips, D. Ellis, and S. Chakerian, “Computer-Attack Graph Generation Tool”, In Proceedings DISCEX ’01:
DARPA Information Survivability Conference & Exposition II, pages 307–321, June 2001.
[6]S. Jajodia, S. Noel, and B. O’Berry. Topological Analysis of Network Attack Vulnerability, chapter 5. Kluwer Academic Publisher,
2003.
[7]R. P. Lippmann et al, “Validating And Restoring Defense in Depth Using Attack Graphs”, In Proceedings of MILCOM 2006,
Washington, DC
[8]R. W. Ritchey, P. Ammannm, “Using Model Checking to Analyze Network Vulnerabilities”, In Proceedings of the 2000 IEEE
Symposium on Security and Privacy (Oakland 2000), pages 156–165, Oakland, CA, May 2000.
[9]X. Ou, S. Govindavajhala, and A. Appel, “MulVAL: A Logic-Based Network Security Analyzer”, In Proceedings of the 14th
USENIX Security Symposium, pages 113–128, 2005.
[10]Xinming Ou, Wayne F. Boyer and Miles A. McQueen, “A Scalable Approach to Attack Graph Generation”, in Proceedings of the
13th ACM conference on computer and communications security, Alexandria, Virginia, 2006.。

相关文档
最新文档