- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于SPIN网络脆弱性分析
基于SPIN网络脆弱性分析
摘 要:计算机脆弱性分析是指找出计算机系统的漏洞,以防危机计算机系统的安全。基于模型检验的分析方法不仅可以发现系统已知的漏洞,也可以发现系统未知的新的漏洞。在本篇文章中,我们利用模型验证器SPIN对网络系统脆弱性做了抽象的描述。建立了一个简单的网络脆弱性分析模型。
关键字:计算机脆弱性;渗透;模型检验;SPIN
0 引言
网络系统及其应用扩展范围广阔,随着网络规模的扩大及应用的增加,网络脆弱性(也叫做安全漏洞)也会不断增加。在攻击者对计算机系统进行攻击之前,应明确要采取的技术,这种技术我们可以称之为渗透。
计算机脆弱性的定义[1]:计算机系统是由一系列描述构成计算机系统的实体的当前配置的状态(state)组成,系统通过应用状态变换(state transitions)实现计算。从给定的初始状态使用一组状态变换可以到达的所有状态从安全策略定义的角度讲分为已授权的和未授权的两种类型。脆弱状态是指能够使用已授权的状态转换到未授权状态的已授权状态,受损状态是指通过上述方法到达的状态。攻击是指以受损状态结束的已授权状态变换顺序,即攻击开始于脆弱状态。
脆弱性评估主要有两种方法:一个是用于检验系统是否存在已有的渗透转换的规则匹配法,还有一个是基于模型分析的方法,主要用于发现新的转换或者转换序列。
1 模型检验
模型检验是一种基于有限模型并检验改模型的期望特性的一种技术。它通过将所要验证的系统行为描述为有限状态自动机,然后建立对行为的时态逻辑限制。通过遍历自动机上的所有可达状态,找出不满足逻辑表达式的路径,同时提供违背公式的路径。
模型检验已在硬件电路、协议的验证、软件系统规格与分析中得到成功的应用。常见的模型检验工具有SMV,Merφ,SPIN,FDR, PVS, VIS, HSIS等。
2 基于模型检验的网络脆弱性分析
2.1 模型检验的优点
COPS(Computer Oracle and Password System ), Cyber Cop by Network Associates, System Scanner by ISS,SATAN 都是不错的检查主机脆弱性的分析工具,但是它们都是基于规则的,所以适用于发现已知的渗透转移。而模型检验的方法可以发现新的未曾找到的渗透。此外,模型检验有着很好的模块性。新的模块可以很容易的加入模型中,而不用改变旧的模块。不像基于规则的方法,一旦有新的规则加入,不但要建立新旧规则的接口,而且还要对旧的规则做相应的修改。并且,模型检验的方法可以对检查到的违背逻辑公式的行为提供反例。即,提供攻击的路径。这样便于我们进一步完善系统的安全性。
2.2 SPIN
SPIN(Simple Promela Interpreter)是一个由美国贝尔实验室开发的用于分布式系统形式化验证的软件。
在SPIN中,采用了on-the-fly 的机制来构建自动机模型。主要步骤是:(1)首先将由LTL公式描述的系统性质取反,建立Büchi自动机A(2)通过计算系统中的每个进程的转移子系统的乘积,得到系统的全局行为,从而建立Büchi自动机P (3)计算自动机A与P的乘积(4)检查最后得到的自动机所能接受的语言是否为空,如果为空,则系统满足描述的属性要求,否则系统的行为不满足我们定义的属性要求。我们可以通过检查是否存在一个从初始状态可达的环路包含一个至少一个接受状态来检查积自动机是否为空。
3 用SPIN 分析网络脆弱性
安全模型是实际问题的抽象,只是涉及到整体的属性而不关注细节的实现。我们可以依据主体对可以访问的时序关系,主体访问的可达性等来形式化验证安全模型。基于模型的脆弱性评估就可以看作是寻找特定状态的可达关系。比如:我们可以根据规则建立原子攻击(atomic attack),模型中的每个状态对应系统中的一个状态,状态之间的转移对应一个相应的原子攻击。转移S1→S2是攻击的前提条件在状态S1满足,攻击的后续条件在S2成立的转移。一个攻击是一个状态转移序列,一直到攻击者达到自己的攻击目标为止。
3.1 模型初始化
模型主要包括四部分:主机描述、主机连接性、攻击者的起始点、渗透方法。
主机描述包括主机存在的漏洞(如 操作系统的类型及版本,密码的最大长度,提供的网络服务类型)和当前的访问权限。主机的连接性由一个连接矩阵表示,它包含了主机间的连接关系,这个关系在我们分析中不会更改。攻击者的起始点描述了攻击者所在的主机。渗透方法包括源主机访问权限、目的主机访问权限和渗透结果。
用Promela 语言定义相应的数据
文档评论(0)