大规模网络安全性分析的方法

文档序号:7958601阅读:168来源:国知局
专利名称:大规模网络安全性分析的方法
技术领域
本发明属于网络安全技术领域,尤其涉及一种大规模网络安全性分析的方法。
背景技术
当今社会,许多行业的运营和发展要依靠计算机网络和其上运行的各种应用程序,随着网络规模越来越大,分布的服务和人员越来越复杂,针对网络的攻击也越来越多,频繁造成商业机密的泄漏和服务的瘫痪。因此,在具体的应用环境下,对大规模网络的安全性进行分析显得十分必要。
目前分析安全性的方法主要是漏洞扫描和渗透测试。
漏洞扫描器是基于特征识别的,通过向目标主机发送包含判断特征的检测数据,搜集目标主机的响应来识别已知漏洞。“网络隐患扫描系统CN02129679.0”,“漏洞扫描的实现方法CN200410015990.2”等就属于这一类技术及其变种。这种技术的主要缺陷是,检测出的漏洞是孤立的、初级的,没有考虑漏洞之间的相互利用与联系,也没有结合实际的网络环境,而且漏洞数量巨大,散布在网络的各个部分,完全修补是不可能的。
渗透测试是在发现网络漏洞的基础上,从黑客的角度考虑网络的可攻击性。即安全专业人员在授权的情况下,在实际网络上,模拟黑客进行非破坏性的攻击测试,从而发现漏洞的实际影响,并得出有针对性的结论。这种方法明显的缺陷就是,需要在实际的网络上进行有威胁的操作,可能影响部分网络的正常运行甚至由操作不慎引入更严重的安全问题,且随着网络规模的不断扩大,这种人工的分析变得越来越困难。

发明内容
本发明的目的是提供一种大规模网络安全性分析的方法,在网络模型基础上进行模拟攻击,对实际系统不造成任何影响,可掌握各种可能的攻击过程和导致的结果。
本发明的技术内容一种大规模网络安全性分析的方法,具体步骤如下收集网络中每台主机、网络、攻击者和攻击方法的信息;进行模型检测,即首先建立有限状态机,该有限状态机的初始状态为主机、网络、攻击者的信息,转换条件为攻击方法的信息;其次定义安全属性,启动模型检测过程;模型检测得到从初始状态起到违反安全属性止的状态序列,并进一步找到状态序列的转换条件;利用上述状态序列和转换条件绘制一安全状态分析图,以安全状态分析图的信息评估分析网络的安全性。
进一步可收集重要资产类,用来辅助建立安全属性以及进行结果分析,该信息包括要保护的重要资产代号和一旦受到破坏,造成损失的系数。。
本发明收集的信息,可以XML结构化方式组织并存储。
进一步主机的信息可包括IP地址、操作系统、开放端口、运行服务以及存在漏洞。
进一步网络的信息可包括访问源主机、访问目标主机、访问目标端口以及是否需要认证或密码。
进一步攻击者的信息可包括占领主机的IP及控制权限。
进一步攻击方法的信息可包括前提、后果及成功概率。
进行模型检测的具体步骤为首先初始状态满足一部分攻击方法的前提条件,逐个使用所有可用的攻击方法,进行状态转换,确定系统可达的新状态,新状态又满足了一些新的攻击方法的前提条件,再逐个使用新的可用攻击方法,确定更多的可达状态,如此反复,直到没有新的攻击方法可被利用,或系统的状态不再改变,如不违反设定的安全策略,则表示系统安全,否则,给出违反安全属性的所有状态。
可估算每一攻击造成的损失参考值,即每一攻击系列中,单个攻击方法的成功概率连乘得到整个攻击成功的概率,用整个攻击成功的概率乘以重要资产信息的损失程度系数作为每一攻击造成的损失参考值。
可寻找到网络的关键漏洞集合,即利用反复使用模型检测技术模拟攻击,以任意的顺序将安全状态分析图中显示的被利用的漏洞逐一从模型中去除,如不产生任何反例,则去掉的漏洞集合就是关键漏洞集合。
本发明建立搜集主机、网络、攻击者、攻击方法、重要资产等关键信息,以xml集的方式组织并存储,使网络整体信息结构化;然后,以主机、网络、攻击者、攻击方法信息为输入构造有限状态机作为网络模型,以可自定义的系统安全属性作为检测条件,使用模型检测技术在网络模型基础上进行模拟攻击,在对实际系统不造成任何影响的情况下,掌握各种可能的攻击过程和导致的结果;最后,结合应用环境,分析和处理模拟攻击的结果,得到攻击的相对破坏性和关键漏洞集合等有针对性的结论。
由于模拟攻击和分析的过程均可自动完成,所以在网络结构和配置有变的情况下,只要更新关键信息,就可及时的得到变化后的安全性结果。


附图为本发明大规模网络安全性分析方法示意图。
具体实施例方式
首先搜集主机、网络、攻击者、攻击方法及重要资产信息,以xml集的方式组织并存储,使网络整体信息结构化;然后,以上述信息为输入构造有限状态机作为网络模型,以可自定义的系统安全属性作为检测条件,使用模型检测技术在网络模型基础上进行模拟攻击,进一步结合应用环境,分析和处理模拟攻击的结果,得到攻击的相对破坏性和关键漏洞集合等有针对性的结论。
参考附图,下面给出详细过程。
第一步搜集信息以及组织该信息;信息分为五个类别主机、网络、攻击者、攻击方法和重要资产。
1、主机(Host)类搜集网络中每台主机的信息,包括ip地址(用来唯一的标识该主机)操作系统os(包括类型和版本,对主机性质初步分类)开放端口port(有为入侵者提供攻击入口点的可能)运行服务serv(大多数安全漏洞都是因运行了一定服务而产生的)存在漏洞vul(攻击是一系列利用漏洞的过程)这些信息,均可利用已知漏洞扫描器比如(nessus)进行获取,充分利用已有成果经实验检测过的科学性和完整性。
2、网络(Network)类表现在特定结构和环境中网络拓扑信息,进一步讲,是网络中各主机间的互相访问的能力,不仅仅考虑物理连接,还要综合路由器、交换机的路由机制和防火墙的过滤规则。反过来讲,路由表、防火墙的过滤规则表等会为此类信息的搜集提供大量帮助,辅助以询问管理员,就可得出整个网络的互访信息,表示为访问源主机source(用源主机的ip地址表示)访问目标主机target(用目标主机的ip地址标识)访问目标端口port是否信任istrust(表示是否访问时需要认证或密码)3、攻击者Attacker类用来描述网络入侵者的信息,即它对网络中各个主机的控制权,表示为主机ip控制权限priv(包括none、user、admin分别表示无控制权、普通用户、管理员的控制权即全部控制权,大小关系为none<user<admin),对于外部攻击,初始时内网主机控制权限均为none;而对于内部攻击,也可通过灵活设置各个主机的权限来标识攻击者的位置。
4、攻击方法Method类,顾名思义,用来描述攻击是怎样进行的,攻击是一系列漏洞利用的过程,现在公布的漏洞中,大量漏洞的攻击方法已被研究和公布,它表现为在满足一定的条件时,漏洞将被利用并造成一定的后果。这部分信息并不随网络结构或配置的变化而变化,当然可以进行定期的升级,使攻击模拟和分析更加准确全面,攻击方法的表示形式为前提condition后果result成功概率possibility其中,前提就是前三类信息的某种具体组合,比如Method(sshd-buffer-overflow)ConditionAttacker(ipA,admin)(攻击者在主机A上具有完全控制权县admin)Host(ipB,redhat,22,sshd,sshd-buffer-overflow)(主机B上运行sshd服务,存在buffer-overflow漏洞)Network(ipA,ipB,22,trust)(从主机A可以不加认证的访问主机B的22端口)ResultAttacker(ipB,admin)(攻击者在主机B也具有了完全控制权限)5、重要资产(Asset)类,用来辅助后面建立安全属性以及进行结果分析,因为网络的安全性虽因具体环境而有差异,但原则上就是保护重要资产不受损失,包括保密性、完整性、可用性等,这里,为尽量少泄露重要资产的内容,只表示必要信息id(要保护的重要资产代号)coefficient(表示一旦受到破坏,造成损失的系数,1-100之间,可卡由价格、保密性、恢复能力等多方面考虑)针对上述信息的存储,本发明采用的方法是为每个信息建立一个xml文档,因为xml格式的存储强大而灵活,易于更新和扩展,并易于转化为各种接口形式。
第二步构造模型和模拟攻击1、构造模型构造网络模型的过程是将网络表示为一个有限状态机,即一系列状态S和状态转换关系Γ,其中,每个状态Si由若干变量组成,这些变量就是本发明五类信息的前三类,每个状态转换关系Γm对应一个攻击方法,对于一个Method(m),如果状态Si满足它的前提condition,状态Sj满足它的结果result,则Method(m)的存在可以使状态Si转化到状态Sj。Sj在某攻击方法Method(n)的存在下,还可能继续转化到Sk,这样不断的进行状态转换,就构成了在攻击条件存在的情况下,网络行为的抽象模型。
要在该抽象模型上模拟攻击,另一个重要的条件是设置安全属性,即网络行为在安全方面的边界,如果超过该边界,就认为产生了不安全因素,需要报告并记录,设置的依据根据具体情况而定,可参考重要资产类中对资产的评估与保护。为了使用模型检测技术,我们使用CTL语言来描述安全属性,规定它为系统任何状态下都必须满足的条件,它的表达形式为AGf,其中f为原子逻辑中的公式,举例说明,如果安全属性要求攻击者对某台重要主机H的访问权限决不能高于普通用户,则表示为AG(Attacker(ipH,priv)<admin)2、模拟攻击模拟攻击的过程利用模型检测技术来自动实现。
模型检测技术是一种形式化验证方法,用来检测形式化模型M是否满足给定的属性property,具体的说,模型检测分为两部分,其一是模型,就是上文所描述的一系列状态和状态转换关系——有限状态机;其二是用时态逻辑约束表示的系统必须满足的属性。它通过遍历状态空间来判断时态逻辑是否在所有可能达到的状态上都得到了满足,如果是,则返回真值,否则,给出反例(一个违反了时态逻辑的状态路径)。
模拟攻击的具体过程如下首先,该系统(指构建的模型)的初始状态必然满足一部分攻击方法的前提条件(否则,构建该模型的网络就是安全的,不需要进行深入分析),逐个使用所有可用的攻击方法,进行状态转换,确定系统可达的新状态,新状态又满足了一些新的攻击方法的前提条件,再逐个使用新的可用攻击方法,确定更多的可达状态,如此反复,直到没有新的攻击方法可被利用,或系统的状态不再改变,从而确定了系统可达的所有状态。
第三步利用模型检测技术,估算网络安全性计算所有违反了系统安全属性property的状态,即最终不安全状态,以及由初始状态达到最终不安全状态的过程中所经过的那些中间状态,称为中间不安全状态,并将该集合称为该模型中的不安全状态集Sunsafe。每条从初始状态经过中间不安全状态达到最终不安全状态的路径,即称为攻击路径,这些不安全状态为攻击路径中的节点。
进一步,找到攻击路径的边,即导致这些不安全状态间互相转化的条件,不安全状态的状态转换关系集合Γunsafe,Γunsafe是Γ的一个子集,是其中Sunsafe->Sunsafe的一部分。
最后,综合节点Sunsafe和边Γunsafe的信息,便是一张安全状态分析图,标识可能存在的攻击过程。
安全状态分析图本身提供了很多信息,可结合具体网络和资源环境,得到网络安全分析的结论。针对安全状态分析图分析网络安全的方法如下分析方法一根据经验和统计信息,为每个攻击方法分配成功的概率系数(考虑不被入侵检测系统发现等因素),又因每条攻击路径实际表示为一系列攻击方法的接连利用,因此由单个攻击成功概率的连乘,可得成功进行完整攻击的概率系数,即该攻击成功的可能性possibility。攻击的结果是使重要资产受到损失,一旦损失,其严重性在重要资产类里已有coefficient来描述,对每条攻击路径,如果其成功可能性为possiblity,其结果是使资产A受到破坏,其损失程度系数为coefficient,那么possibility×coefficient可表示该攻击带来的实际损失,虽然因为经验的介入,此值不可能十分准确,但其相对值仍可作为衡量安全性的依据,由此来确定整体解决方案,可以分清重点主次。
分析方法二完成一个攻击目标,通常要利用很多个漏洞,而在设计解决方案时,即使必须阻止某一攻击,也不一定要修补涉及到的所有漏洞,因为修补不是一件容易的事,有时需要停止并重新启动某些服务甚至整个计算机,而对于很多运行关键服务的计算机来说(比如某些银行业务),这种服务的中断是不可接受的。这时要进行有选择的修补并选择合适的方式。选择的第一步,就是找出攻击所利用的关键漏洞集合(一旦填补这些漏洞,该攻击就无法成功,即没有一条路径可以达到该最终不安全状态)。利用本文的模型可以比较容易的找出一个或几个这样的集合(但不一定是最小的集合),方法是利用算法反复使用模型检测技术模拟攻击,以任意的顺序将安全状态分析图中显示的被利用的漏洞逐一从模型中去除,直到不产生任何反例(安全属性全部满足,没有攻击存在)。此时,去掉的漏洞集合就是关键漏洞集合。如果改变去掉的顺序再次如上运行,则可能得到另一个集合。如此,可以找到一系列关键漏洞集合,无论修补了哪个集合,都能达到阻止攻击的效果,并缩小了修补范围。然后在针对漏洞的具体情况,采取修补方法(直接补丁、重新设置过滤规则、停止服务等)对于专业人士,还可以根据该模型和安全状态分析图设计自己的算法和利用方法,在具体环境中达到最好的效果,从而全面分析网络安全性。
尽管为说明目的公开了本发明的具体实施例和附图,其目的在于帮助理解本发明的内容并据以实施,但是本领域的技术人员可以理解在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是可能的。因此,本发明不应局限于最佳实施例和附图所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。
权利要求
1.一种大规模网络安全性分析的方法,具体步骤如下(1)收集网络中每台主机、网络、攻击者和攻击方法的信息;(2)进行模型检测,即首先建立有限状态机,该有限状态机的初始状态为主机、网络、攻击者的信息,转换条件为攻击方法的信息;其次定义安全属性,启动模型检测过程;(3)模型检测得到从初始状态起到违反安全属性止的状态序列,并进一步找到状态序列的转换条件;(4)利用上述状态序列和转换条件绘制一安全分析状态图,以安全分析状态图的信息评估分析网络的安全性。
2.如权利要求1所述的大规模网络安全性分析的方法,其特征在于步骤1进一步收集重要资产类,用来辅助建立安全属性以及进行结果分析,该信息包括要保护的重要资产代号和一旦受到破坏,造成损失的系数。
3.如权利要求1或2所述的大规模网络安全性分析的方法,其特征在于步骤1中收集的信息,以XML结构化方式组织并存储。
4.如权利要求1所述的大规模网络安全性分析的方法,其特征在于主机的信息,包括IP地址、操作系统、开放端口、运行服务以及存在漏洞。
5.如权利要求1所述的大规模网络安全性分析的方法,其特征在于网络的信息包括访问源主机、访问目标主机、访问目标端口以及是否需要认证或密码。
6.如权利要求1所述的大规模网络安全性分析的方法,其特征在于攻击者的信息包括主机IP及控制权限。
7.如权利要求1、4、5或6所述的大规模网络安全性分析的方法,其特征在于攻击方法的信息包括前提、后果及成功概率。
8.如权利要求1或4、5、6所述的大规模网络安全性分析的方法,其特征在于利用模型检测技术进行网络安全分析,其具体步骤为首先初始状态满足一部分攻击方法的前提条件,逐个使用所有可用的攻击方法,进行状态转换,确定系统可达的新状态,新状态又满足了一些新的攻击方法的前提条件,再逐个使用新的可用攻击方法,确定更多的可达状态,如此反复,直到没有新的攻击方法可被利用,或系统的状态不再改变,如不违反设定的安全策略,则表示系统安全,否则,给出违反安全属性的所有状态。
9.如权利要求2所述的大规模网络安全性分析的方法,其特征在于采用步骤4估算每一系列可能成功的攻击造成的损失参考值,即在每一攻击系列中,单个攻击方法的成功概率连乘得到整个攻击成功的概率,用整个攻击成功的概率乘以重要资产信息的损失程度系数作为每一系列可能成功的攻击造成的损失参考值。
10.如权利要求1所述的大规模网络安全性分析的方法,其特征在于采用步骤4寻找网络的关键漏洞集合的方法为,利用反复使用模型检测技术模拟攻击,以任意的顺序将安全分析状态图中显示的被利用的漏洞逐一从模型中去除,如不产生任何反例,则去掉的漏洞集合就是关键漏洞集合。
全文摘要
本发明提供一种大规模网络安全性分析的方法,属于网络安全技术领域。该方法包括收集网络中每台主机、网络、攻击者和攻击方法的信息;建立有限状态机进行模型检测,该有限状态机的初始状态为主机、网络、攻击者的信息,转换条件为攻击方法的信息;以可自定义的系统安全属性作为检测条件,使用模型检测进行模拟攻击,检测得到从初始状态起到违反安全属性止的状态序列,并进一步找到状态序列的转换条件;利用上述状态序列和转换条件绘制一安全分析状态图,以安全分析状态图的信息进行评估分析网络的安全性。本发明可测得各种攻击过程,结合应用环境,分析和处理模拟攻击的结果,得到攻击的相对破坏性和关键漏洞集合等有针对性的结论。
文档编号H04L12/24GK101047542SQ20061006627
公开日2007年10月3日 申请日期2006年3月31日 优先权日2006年3月31日
发明者施妍, 苏璞睿, 冯登国 申请人:中国科学院软件研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1