对网络相关性安全风险评估的割集应用的制作方法

文档序号:7975611阅读:205来源:国知局
专利名称:对网络相关性安全风险评估的割集应用的制作方法
技术领域
本发明涉及通信网络,尤其是对网络相关性安全风险评估的割集方法的应用。
背景技术
威胁和风险分析(TRA)是用于在信息技术安全(IT安全)和网络安全领域中描述用于估计安全风险和随后执行安全风险管理方法的普通术语。TRA和其它计算机或网络安全风险估计和管理方法统称为安全风险评估(SRA)方法。
安全风险评估是安全管理的生命周期中的第一步。在高等级,风险评估是这样一种过程估计对商业资产的威胁;确定安全脆弱性或者可以被那些威胁利用的脆弱性;以区分(prioritize)商业风险的优先次序。安全风险评估是典型地推动所有安全计划,并在稍后的方法学阶段分析和设计活动的过程。最重要的安全目标是确保资产的安全状态满足保护关于资产的保密性、完整性和有效性方面的需求。风险评估帮助决定需要怎样的适当控制以具成本效益地满足这个目标。
传统的系统、硬件和相似的可靠性评估方法不适用于安全风险评估,因为这些方法是基于故障是随机的这个前提。SRA不是这种情况,其中故障或者损害通常是恶意(有目的)攻击的结果。系统可靠性方法中故障的随机特性允许使用双重系统用于冗余。相反,在SRA领域,双重的同样的系统不可能减少损害的可能性。此外,在处理非随机(或相关的)故障或事件时,系统可靠性文献的建议指出这种类型的故障是无法处理的。
风险分析是复杂和费时的过程。通常,它包括a)准备在考虑中的系统的模型,这意味着要标识整个系统的资产;b)根据安全事件在商业、操作或者服务上的影响,为资产指定值,这里安全事件是可以引起保密性、完整性和有效性丧失的事件;c)识别资产的脆弱性。安全的三个基本目标是确保保密性、完整性和有效性。脆弱性可以是引起被称为安全事件的三要素之一丧失的任何情形。这一步典型地要求预知对资产有哪些损害会发生,并且来自于哪些资源;d)预测发生风险发生的可能性,也就是确定每个脆弱性可能被利用的频率。发生的可能性和现有控制的短缺以及恶意的代理将逃避现有控制的可能性相关;和e)通过以某种任意方式组合在(b)到(d)产生的值来估算潜在事件的预计成本(影响)。通常,管理风险暴露的商业中的实体,比如公司管理或者保障服务群体,几乎没有实际工具用于估计成本(影响)。因此,传统的风险评估结果经常被表示为估计成本(影响),所述估计成本(影响)由不需要反映实际数据的近似值或者公式计算进行评估。
如上边a)所描述的,成功的风险分析的一个方面是使用完整和精确的数据积累来产生分析工具使用的系统模型。然而,使用当前建模方法为特定系统产生的安全模型没有考虑构成给定的服务或者任务的不同团队或资产,因此对于复杂的网络不能提供现实的呈现。而且,一旦收集了安全风险信息,信息也很难与相应团体的动态保持最新。所以如果没有自动化,风险分析任务是非常复杂和耗时的。在前面提到的共同未决的申请号为11/132,118的专利中提供了解决一些或全部这些缺点的模型例子。其中描述的模型提供了简单、详细、标准化的网络视图,包括扫描器数据、防火墙、路由器、服务器和其它主机,还有脆弱性数据和事务逻辑。企业网络的可视图、商业应用和潜在的安全问题为安全人员给出简洁的基础结构安全性的概况和深入了解细节的能力。
在电信和IT基础结构中的软件脆弱性在规则的基础上被发现和公开。在脆弱性被公开披露后,推测和做出基于可靠消息的决定的能力是主动安全的一个关键方面,这使得网络操作者可以在行动列表上指定优先权以缓解风险。然而,由于那些脆弱性的数量和特性,还有网络资产的数量和它们不断增长的嵌入式软件层,在特定网络中的脆弱性的潜在影响采用及时的方式评估是很困难的。因此,网络可能有成百的不同应用系统和服务,成千的用户帐户,和每天在因特网上上亿的信息比特交换。一些资产也可能有嵌入式软件层和其依赖性,这使安全评估更加复杂。用户和事务的绝对容量使得设计和监控安全网络体系结构更加困难。盘点机构的应用系统、该由机构执行的安全措施的当前水平以及甚至应用体系结构的过程可能是令人畏缩的任务。
在大多数情况下,当前SRA解决方案使用基于路径确定的攻击可能性来估计商业风险(也就是,确定用于完成攻击的一系列脆弱性和资产)。然而,在巨大和复杂的网络中,确定与多种攻击相关的所有路径是非常困难和几乎不可能的,所以只是它们相关的可能性。另外,对于特定脆弱性或者脆弱性的组合,对特定路径进行减小风险计算可能更有效,但可能导致复杂情况的误解。这种简化可以有效地最小化实际风险,这样做可能对全部网络安全状态评估有巨大的影响。
当前已有的风险分析工具可以分为以下几类网络脆弱性扫描器(ISS、Symantec、e-Eye Digital Security、Clickto-Secure),入侵检测系统(netscreen、F-secure、Sprient、Arbor Networks),安全事件信息管理(IBM、Arc Sight、Intellitactics、Net Forensics、e-Security、Symantec)和暴露风险管理工具(Skybox View)。
1)根据备有证明文件的脆弱性数据库进行工作并且有可能修复已知的脆弱性的工具。这种类型的工具通过新产品的版本或者通过订购服务依赖于设备供应商对数据库的更新。根据这种分类的例子包括ISS公司的Internet Scanner、Network Associates有限公司的CyberCop和Harris公司的STAT。
2)使用不同的参数来计算风险指标的整体式工具。这些工具维护困难,很难随着迅速发展的威胁和技术环境紧跟潮流。这种工具分类的例子是Los Alamos Vulnerability Assessment(LAVA)工具。
3)检查诸如操作系统或数据库管理系统的系统特定方面的工具,但忽略了其它系统组件。例如,SATAN分析操作系统的脆弱性,但忽略诸如路由器的基础结构组件。
但是,当前使用的SRA工具在许多方面是不完善的。例如,它们使用私有的和固定的风险计算公式。这些公式基于多种固定的假设,这其中典型地包括与网络拓扑(网状、星型等)、数据(建模、有效性、不确定性、和诸如定性或定量之类的类型)、机构类型(军事、政府、商业等)和变量(威胁、脆弱性、资产价值、攻击路径)相关的假设。通过这样的公式得到的输出,往往不能反映在复杂的信息系统中安全的真实结论。对于单个系统,采用多个厂家的多种工具进行分析,是一项劳动密集性的任务。典型地,安全工程师将不得不用多种格式来多次输入对系统(网络)的描述或表现。然后安全工程师必须将来自多个工具的输出结果人工分析、整理和合并到一份网络安全状况报告中。然后,安全工程师可以完成这个风险分析(计算预计的年度损失、测量控制等),接着重复对安全风险、系统性能、任务功能性和开发预算中的选择对象的分析过程。
SRA解决方案的复杂性是多种情况共同作用的结果,这些情况包括网络具有的高度的内部相关性、相依性和可能的冗余,在下文提到时称为“连网系统”。很少有方法涉及相关性问题,所述相关性以公司相关性为基础,或者基于IT安全风险保险(由于依赖于外部商业公司,在适当的位置可能没有合适的IT安全控制),或者用于网络和企业安全(表述了在创建适当处理相关性网络安全模型中的缺陷)。
在SRA领域,处理高度相关的系统和网络的算法的使用建立在适当的、可升级的网络安全模型的可用性基础上。但是,因为目前没有网络安全模型可以使用,所以目前还无法执行计算高度相互依赖的系统安全风险。存在网络管理机制来建立高度互连的系统的模型,但目前这些不处理于安全问题和SRA。不必说,结果在这些网络系统中安全脆弱性的潜在影响更加难以管理。通常,对互连的系统,SRA是在单个资产(asset-by-asset)基础上完成的。但是,在前面提到的申请号为11/132,118的相关专利申请提供了一种建立高度相关的连网系统模型的机制,从而允许在这里所描述的方法基础上进行更深入的分析。
需要更全面和灵活的安全评估及管理工具来给连网系统提供威胁和风险分析。同样,存在着对大型团体系统的信息安全评估的改进方法的需求,在某种意义上改进的方法是基于最好的产业实践和理论,并且是可靠的、可重复的、成本效率的和系统间兼容的。

发明内容
本发明的目的是为连网系统提供一种易于使用、可靠的风险计算框架。
本发明的另一个目的是提供一种全面和灵活的安全风险评估及管理工具,用于弥补现有SRA方法的全部或部分不足。
因此,本发明对大量系统资产及服务间具有高度相关性及相依性的系统提供了一种安全风险分析方法,该方法包括a)为系统准备模型;b)根据模型,准备具有图形节点V和边缘E的图G[V,E],其中节点V代表资产和服务,边缘E代表资产和服务之间的关系;c)在图中,列举第一组图形节点和第二组图形节点之间的全部最小割集(MCS),用来确定可能影响相关的第一和第二组图形节点之间关系的全部图形节点;和d)评估在MCS的图形节点中的安全状态。
有利地,本发明可以为高度互连的系统和在资产与冗余间具有高度相互联系及相关性的系统评估安全风险。
本发明的另一个优势是可以在利用(exploits)及资产间进行交互。例如,利用攻击了互连资产的网络(Alcatel的),第二个利用攻击了另一个资产网络(Cisco的)。据说,单独地,这些利用不会共同摧毁整个网络。使用本发明能够检测到更易遭受这种攻击的资产,并且采取适当的对策。


如附图所示,通过随后优选实施例的详细描述,本发明前述的和其它目的、特征和优势将将变得明显,其中图1示出安全性概念的框图表示;图2说明了在安全系统中的资产类型和资产相关性;图3A显示了割集方法应用于网络的例子,所述网络互连了两个处于“依赖于”关系的网络资产;图3B显示了图3A例子中的网络图形。
图4是根据本发明的实施例的安全风险评估方法流程图;图5A和5B显示根据本发明的实施例的割集列举方法的流程图,其中图5A说明了主要步骤,附图5B进一步显示了附图5A流程图的割集列举子程序的详细步骤;图6显示了示例性的网络图形,其中两个“连接到”资产a和b具有“依赖于”关系;图7A-7D针对附图5中的图形例子显示了的割集列举的各个阶段;和图8说明了使用扩展树确定附图5的网络的最小割集的递归步骤(i=1到8)。
具体实施例方式
本发明提供了一种在网络系统中评估安全风险的机制。图1是描述前面提到的相关专利申请’118中描述的安全决策模型30的框图。图1示出了模型30的使用者/拥有者12、模型30的实体以及它们的关系。从而,模型30代表了脆弱性16、威胁代理18、风险20、威胁22和资产24。使用者/拥有者12可以包括,例如,通信网络的拥有者或运营商,或者关心资产24的其他风险承担者。资产可以是通信网络中的物理或逻辑组件。在通信网络的例子中,资产24是这个网络的组件,并且可以是物理的,也可以是逻辑的。如图所示,使用者/拥有者12对资产进行了估值,希望对于资产24最小化风险20,并且可以知道导致风险20的脆弱性16。
各种各样的脆弱性16对于每类资产24都可能存在。脆弱性16是对于资产进行操作中的状况,它使得资产处于易受攻击或可能发生故障。操作系统软件中的安全漏洞是脆弱性的一个典型例子。附加到脆弱性的安全等级可以是介于
间的概率值,如果攻击者需要较高的专业知识、或者特殊的设备和大量资产进行攻击,那么该值就低;另一方面,如果攻击者需要较低的专业知识,不需要特殊的设备和/或极少的资源,例如PC和高速的互联网连接,那么脆弱性被认为是比较严重的。脆弱性16可以通过使用者/拥有者12强化对策来减少,即诸如对计算机系统资产升级操作系统或者应用软件之类的行为。
威胁代理18是希望以使用者/拥有者12不期望的形式滥用或利用资产24的一方。威胁22是潜在的可能导致资产丢失或损害的指示、情况或者事件。威胁值测量(可能未知的)对手的目的及能力;对于用户的广泛使用,基于脆弱性指定威胁值是合适的。介于
间的概率值被解释为由低到高。
系统30使用脆弱性和网络库存数据库系统(network inventorydatabase system)46,网络库存数据库系统46存储与脆弱性及资产相关联的信息,或者存储可以得出脆弱性和资产信息的信息。数据库系统46可以包括安全消息数据库47,用于存储已知脆弱性的相关信息,或者被转换或处理成脆弱性信息的安全信息。数据库系统46还可以包括用来存储网络库存信息的网络概况数据库48。网络资产相关的信息可以从网络轮廓数据库(network profile database)48获得,或者由从网络轮廓数据库48获得的信息推导而来。数据库47、48可以存在于LAN(局域网)服务器上,例如,在这种情况下可以通过网络接口和LAN连接访问信息。
例如,脆弱性信息可以被表现为带有脆弱性标识符字段及脆弱性描述字段的数据结构。再举个例子,资产数据结构可以包括资产标识符字段、资产类型字段(例如物理或逻辑资产,对于服务或任务资产是关键的或者重要的,等等)、资产值字段(安全尺度和/或美元值)和资产轮廓字段(用于映射对资产、接入机制等脆弱性的信息)。和资产与其他资产间关系相关的信息可以采取关系和每个关系的资产标识符的类型的形式,包括在资产轮廓中。基于安全决策模型、脆弱性和网络库存系统46,在相关专利申请11/132,118中描述的风险分析器,维护了具有网络中资产安全状态的安全状态数据库(未显示)。
安全状态包括对保密性、完整性、有效性的风险,或其它网络或安全相关参数的测量。安全状态被存储为优选地包括资产或特性标识符的数据结构和安全状态信息,其中所述安全状态信息包括直接暴露的信息、间接暴露的信息、完全暴露的信息和风险信息。例如,安全状态信息字段存储暴露和风险值、另一个资产的标识符、关系类型和在间接暴露信息的情况下被传播的脆弱性。资产、脆弱性和安全数据结构信息被存储在脆弱性和网络库存数据库46中。值得注意的是,以上数据结构作为例子描述,但它们不限制本发明的范围。
网络模型通过网络资产和这些资产间的关系进行描述。图2的简单网络模型显示了资产类型以及资产之间关系的例子。在这个例子中,个人电脑33和工作站36是物理资产,操作系统32、35、互联网服务器31和数据库34是逻辑资产。本发明不受限于图2中所显示的特定的资产和关系。其他类型的资产和关系也可以存在于通信网络或者要进行风险评估的其它系统中。
这些资产之间的关系也在图2中显示。关系描述了资产间是如何被相互连接和/或他们功能上的依赖关系。一旦关系被定义,作为特定关系一部分的资产被链接到这个关系。资产间的关系可以是依赖和连接关系;在安全决策模型中,两个资产间的依赖关系通过“依赖于”关系标识,网络节点间的连接通过“连接至”关系标识。在该例中,PC 33和工作站35有“连接至”关系,表示这些资产通过物理连接进行通信。操作系统32和35在PC 33和工作站36上执行,因此和各自的物理资产33、36有“运行于”关系。服务器31和数据库34通过软件支持,这些软件也在PC 33和工作站35上由处理器执行。此类软件通常由操作系统32、35执行或者在操作系统32、35中运行,服务器31和数据库34与各自的操作系统32、35有“运行于”关系。
在图2中描述了服务器31和数据库35之间的另一种关系。例如,服务器31提供库存系统,通过该系统访问存储在数据库35中的库存信息。因此,服务器31或者它所支持的一项功能依赖于数据库35,并因此与数据库35具有“依赖于”关系。资产间的关系可以根据它们的类型(“连接至”,“运行于”,和“依赖于”)和可能存在特定关系的资产的数量(例如“连接至”关系要求至少有两个端点资产)来描述;安全参数也可以包括在关系的描述中。
资产间脆弱性的传播类型可以取决于资产间的关系。例如,服务器31和数据库34间的“依赖于”关系指出服务器31的有效性依赖于数据库34的有效性,但是对于“连接至”关系则不是这种情况。在后一种情况中,仅仅因为资产PC 33不可用,并不必然意味着工作站36不可用。通过确定和通信网络相联系的资产间的关系,安全风险分析系统可以被用于评估相关资产间脆弱性的传播。
资产的风险(RiskA)依赖于资产的值(ValueA)和利用弱点来攻击资产的可能性(LikelihoodA)。假设资产A被k个脆弱性V1....Vk影响。典型地,与这单一资产相关联的风险定义如下RiskA=ValueA×LikelihoodAEQ1LikelihoodA=ThreatA×maximum{Vulnerability(Vi)|1≤i≤k}EQ2这里,ValueA表示与资产A损害后相关的损失或损害的量。可能性等式EQ2依赖于给定的假定,即假设对于影响这个资产的每个脆弱性Vi,在Vi与这个资产之间必须存在直接或间接的“被利用”关系。
如上所述,EQ1和EQ2适用于单个资产。假设现在服务S依赖于k个资产A1....Ak。如果所有资产A1....Ak都必须免于损害(其中,损害会导致资产在保密性、完整性、有效性、或者其它网络或者安全参数的损失或部分损失),与相应服务相关的风险定义如下
Risks=Values×maximum{Likelihood(Ai)|1≤i≤k} EQ3Likelihood(Ai)定义了利用脆弱性破坏资产Ai的可能性。EQ3依赖于给定的假设,即假设如果Likelihood(Ai)<Likelihood(Aj),则对于有特定目的和能力的特定对手,可能性降低到脆弱性等级。同样,根据脆弱性的定义,如果对手能够执行低脆弱性攻击(即,他有较高的专业知识和/或大量专用的资源),那么他也能执行高脆弱性攻击。
如果仅(至少)资产A1....Ak中的一个免于损害(例如,为了复原目的的冗余服务器或者数据库),和这个服务相关的风险可以根据EQ4计算RiskA=ValueA×minimum{Likelihood(Ai)|1≤i≤k}EQ4模型中“连接至”关系代表了例如提供网络服务的基础网络。因此,如果资产a,如附图2中服务器31,依赖于资产b,也就是数据库34,则存在基本假设,即a可以通过由“连接至”关系路径代表的相互连接的网络C访问b。在这种情况下,a依赖于b和C。与a相关的风险由EQ1给出。因此,与网络C相关的可能性也需要被评估。
本发明对于网络模型应用了割集方法,该网络模型定义了高度连接的系统或网络内的相关性和相依性。割集或者切割是指从图中被移除的节点(或边缘)的集合,它的移除将图断开(或切割)成不同子图上两个连通的部分。最小切割问题是找出最小尺寸的切割;换句话说,最小割集的子集不再是割集。在连网系统中,通过从集合中移除以下列方式选择的节点的最小集合,即通过移除该集合的节点和它们的相邻连接,在两个不同的连接部分或网络中留下两个相关的资产,例如图2中的资产31和34(即,在剩余子网络中,在相关的资产间不存在任何路径)。
假设,移除割集中的节点将导致两个不同的连接部分或网络,在相关的资产间不剩余路径,这就导致每个确定的割集均以特定的方式影响两个相关的资产之间的业务的安全状态,以及相关资产本身的安全状态。因此,割集的节点形成了节点的集合,所述节点集合的安全状态应被评估并以某种级别被区分优先次序,以便于进一步缓解易受攻击的安全状态。
割集方法被用于列举这样的节点,所述节点的安全状态可以影响两个相关资产之间的通信。这样做是为了对应当被保护(或被补救)的节点进行确认和区分优先次序,以便于确保在两个相关的资产间通信的保密性、准确性和有效性。
图3A通过提供互相连接网络的简化表示和一个割集结果来说明割集概念。称为“Apache WWW”的资产通过“相关”关系类型连接到另一个称为“Oracle DB”的资产。这两个资产是通过资产之间多个“连通性”关系进行物理连接的。根据这种结构,可以发现6条不同的路径把“ApacheWWW”资产和“Oracle DB”资产断开。图3A显示了其中的一个割集,即割集10,包括节点(路由器)R2、R4和R6以及它们与各自的直接邻居的连接。图3B图示了图3A网络的图G(X),其中资产是图的节点,“连接至”关系是图的边缘。如下所述,该图用于为各个资产对(在这个例子中是Apache WWW和Oracle DB)确定最小割集。
图4是根据本发明实施例进行安全风险评估的流程图。如步骤100所示,通过显示资产和它们的相关性来准备模型(网络模型或者网络设备模型)。接下来,如步骤101所示,根据模型来准备图G。如前面所描述的,图的节点是网络系统的节点(或者通信设备的子组件),图的边缘显示了节点(子组件)之间的关系。如步骤102所示,一旦产生了图,给定的资产对(a,b)的最小割集就可以确定了。
接下来,在步骤103,评估各个最小割集中节点的安全状态。如前面所描述的,受影响的安全状态可以是保密性、完整性、有效性,其它网络或者与安全相关的参数。如果我们假设最小割集MCSi由k个资产Ai、1,...Ai,k组成,那么与给定割集MCSi相关的概率由下面的等式给出Likelihood(MCSi)=minimum{Likelihood(Ai,j)|1≤j≤k} EQ5在EQ5中使用最小的可能性,是因为如果在割集中任意一个资产免于损害,那么对手就不会成功。所以最不可能的脆弱性都需要被考虑到。这个等式依赖于给定的假设,即假设如果对手能够执行低脆弱性攻击,那么他也能执行高脆弱性攻击。
与相互连接的网络G相关的可能性由下面的等式给出
Likelihood(G)=maximum{Likelihood(MCSi)|1≤i≤n}EQ6在等式EQ6中使用最大可能性,是由于(a-b)割集中仅有一个损害对于对手的成功就足够了。因此最可能的脆弱性都要被考虑到。
安全风险评估中涉及的每个参数必须根据所关注的全部安全风险特性来定义。更确切地,SRA可以根据三元组CIA来确定,即保密性、完整性、有效性属性。风险等式被应用于各个资产、攻击和脆弱性的值的每个安全风险属性。这种方法例如基于特定对手破坏资产正常状态的目的允许区分风险。另外,恶意的实体对每个属性可以不必具有同样的威胁能力。同样的,攻击以不同类型的弱点类型为目标,可能导致系统的不同损害。这就导出了随后的对于单个资产的一般安全风险等式RiskA[C,I,A]=ValueA[C,I ,A]×LikelihoodA[C,I,A]LikelihoodA[C,I,A]=ThreatA[C,I,A]×maximum{Vulnerability[C,I,A](Vi)|1≤i≤k)EQ7节点安全状态的评估可以用不同的方式执行,具有多种细节等级。例如,对所有割集中的所有节点的安全状态的评估可以在步骤103中执行,并提交给用户/客户,从而通过用户指定的风险优先次序区分准则确定所有割集中的所有节点的优先次序,如步骤104所示。然后用户选择补救活动所需的措施和使用适当的安全风险管理工具来保护所关注的节点,如步骤109所示。
或者如步骤105所示的,使用割集内优先次序区分算法,可以对每个割集自动执行节点优先次序区分。在当前实施例中,当目标函数被最小化时使用EQ5执行优先次序区分105,然而对于其它实施例,也可以选择使用割集间优先次序区分方案。在这种方案中,为安全风险管理步骤109在106中选择来自于105的每个割集中最高优先权节点。此外,在步骤105中对来自于每个割集的被区分优先次序的节点还可以更进一步相对于其它割集进行优先次序区分。如步骤107所示,这种操作可以使用割集间优先次序区分算法来执行。在当前实施例中,使用EQ6作为要被最大化的目标函数来执行优先次序区分107,然而对于其它实施例,也可以使用可选的割集间优先次序区分方案。在这种方案中,来自107的最高优先权节点在步骤108从节点的所有集合中被选择,并提交给用户,作为最重要的安全问题在109进行补救。
图4的割集列举步骤102接下来结合图5A和5B的流程图并同时参考图6、7A-7D和8的例子进一步详细描述。为了提供更具体的理解和在割集方法描述中使用的术语定义,附图6显示了示例性网络的图形,图7A-7D图示了用于图6的图的割集列举,图8显示了作为结果的扩展树,扩展树描写了不同的MCS是如何通过节点替换来产生的。
我们使用下面的定义、符号和函数-G[V,E]是具有节点V和边缘E的图。在V中有n个节点,包括源节点a,和目的节点b。在图6的示例性图中,有通过多个边缘(例如,电缆)相连接12个节点(n=12)。要注意,这个描述同样适用于网络单元的组件和独立子组件,不一定必须是网络中的节点。割集方法应用在这个例子中用来对节点1和7之间的连接关系进行安全风险评估。因此,定义的割集被用来作为威胁和风险分析的基础(在附图4中的103步骤执行)。
-a,b分别是源节点和目的节点-MCS是最小a-b割集。再次声明,定义的割集S是所选节点的子集,这样,通过移除所有这些节点以及它们的相邻边缘,剩下节点a和b在两个不同的连接的子网络或者组件中(也就是说,在剩下的子图中a和b之间没有路径)。只要不存在S的子集仍然是割集的情况,割集S就是最小(MCS)。
-Cb,称为“包括目的节点b的部分”,是由去除当前最小割集后产生的(最大)连接部分子图,它包括节点b。通过定义割集,Cb不能包含在和节点a同一连接部分中的任何节点。根据EQ8,来决定相对于割集节点的子图CbCb=Connected Component(b,G[V-MCS]) EQ8-N(a)是在图G中和节点a相邻节点的集合(a的邻居);N(X)是和任一个单元X相邻的节点的集合。
-N+(x),也称为“N+”,是在Cb中并且与节点x相邻的节点的集合。N+根据EQ9决定N+(x)=N(x)∩CbEQ9-I(X),称为“隔离的节点”,表示节点X的子集,在当前MCS中的节点被移除后,其没有至Cb的任何边缘。换句话说,这些节点只能够经过一个或多个在当前MCS中的节点到达b,因此移除当前MCS将使这些节点从b中“隔离”出来。I(X)如下确定I(X){x∈X|(w∈Cb)[(x,w)E]} EQ10割集列举从确定“最靠近”源节点的第一MCS开始。这个MCS中的每个节点被替换为(其中的一些)它的相邻节点,产生新的MCS。循环地,来自于新的MCS的每个节点被再次替换为它的相邻节点。当每一个新MSC被发现时,MCS就被储存到收集器中;然而如果新的MCS仅仅在它没有和已经存储的MCS重复时,才被存储在收集器中。AVL树对于MCS收集器是首选的,因为作为平衡树,它保证了快速搜索时间,因此。AVL树的详细定义可以在http://www.nist.gov/dads/HTML/avltree.html找到。但是,本发明并不受限于AVL收集器树(collector tree),相反,可以使用任何其它数据结构来代替AVL树。对给定的MCS,我们使用EQ11来替换在MCS中的节点xnewMCS=(MCS∪N+(x))-I(MCS∪N+(x)) EQ11已公开的用于割集列举的算法典型地将时间主要花费在每个新的MCS产生时对Cb的重新计算上。为了减少计算的运算时间,我们希望避免重新计算Cb。方法是一次计算Cb,按需要继续调整它。这就意味着Cb必须是全局变量,并且必须小心跟踪Cb的每一次改变,以使这些改变可以在合适的时候被取消。本质上,子程序的每次调用必须使Cb不发生改变;我们通过在需要时改变Cb并且立即恢复它的方式来实现这一点。
定义和使用下面的函数-Delta是旧Cb和新Cb之间的差,它由替换某个MCS(我们称它为MCSk)的节点x所产生。我们使用术语“当前的”(或旧的)来表示对应于移除MCSk的Cb,“新的”表示对应于移除MCSk+1(它对应于替换了MCSk中节点x后的结果)的Cb。使用Delta避免了对于Cb加减Delta的这种次要花费的重新计算;这使得割集列举的相关速度增加,这是在这里描述的方法相对于以前技术方法的主要优势。Delta由EQ12给出Delta=N+(x)EQ12-d(x)是从当前节点x到目的节点b(任意一个目的节点)的“最短距离”。距离d(x)用于确定节点是否不能被隔离。因此,如果从节点x到b的最短距离d(x)比从节点y到b的最短距离d(y)大,那么移除节点x并不能使节点y隔离;因为必然存在从目的节点y到b的路径,该路径不包括x,否则d(y)必然大于d(x)。作为例子,图6中显示在节点9和7之间的最短距离是4。
-MBIG(U),称为“可以被隔离的”,这是一群节点,新MCS可能使它们相对于目的节点是隔离的。(注意,d(x)检测可以确定节点是否不能被隔离,但是d(x)检测不能确定节点是否实际上是隔离的。)我们采用的方式是,查看可以由最新建立的割集从b隔离出的旧Cb中的节点集合;这些“不明确的节点”被收集到这个“可以被隔离的”集合。在许多情况下,MBIG是空的。此外,对于本发明的割集列举方法使用MBIG和d(x)相对于现有方法主要提供了速度优势。MBIG(Y)根据EQ13计算MBIG(Y){z|(y∈Y),[z∈N+(y)],[d(z)>d(y)]} EQ13-usedDelta是标明Delta是否已经使用过或者Cb是否需要被计算(对于新MCS)的标记。换句话说,“used Delta”标记标志了是否需要重新计算。
割集列举从步骤201确定所有节点到目的节点的距离d(x)开始。如上所述,最短距离被用来确定是否节点在任意节点被替换后变成隔离的节点。注意,图7A的流程图显示距离仅计算了一次;每次Cb被重新计算时重新计算距离是有利的,但是为了简化说明,这点在这里被省略了。在步骤203,系统识别了与源节点a相邻的节点集合N(a),和在这个等级上的隔离节点群I(N(a))。然后在步骤203中,作为N(a)和I(N(a))之间的差,计算第一MCS。
对于图6中的图G,如图7A所示,N(a)包括节点9、11、2和3,Cb包括节点2、3、5、6、7和8。隔离节点群I(N(a))在这个阶段包括节点9、11,因为这些节点没有任何到子图Cb的边缘。N+(a)是N(a)和Cb的交集,N+(a)={2,3}。N(a)和I(N(a))之间的差导致了第一MCS{2,3,9,11}-{9,11}={2,3}。在图8显示的树的根部,如步骤205所示,这个割集被存储在收集器中。
接下来,调入在图5B中显示的步骤207的子程序,从而通过替换在给定的MCS中的节点来找到更多的MCS(在这种情况下,给定的MCS恰好是第一MCS)。一旦MCS被存储到收集器树中,递归地调用子程序的新实例来计算由替换新的MCS节点产生的更深一层MCS。因此,子程序实例的数量取决于源节点和目的节点之间的距离。在给定的MCS中的每个节点被处理后,列举返回到前一的实例。如在图8所示,在标准的“深度优先”遍历(“depth-first”traversal)来建立所有MCS的树(参见http://mathword.wolfram.com/Depth-First Traversal.html)。
现在回到图5B,MCS列举从初始化步骤开始,标识了当前MCS中的节点选择的MCS下标i,在步骤200中被初始化。接下来,如果i≥MCS大小,选择判断框202的“否”分支,对于各个MCS的MCS列举结束,步骤205和对前一MCS的迭代从步骤222恢复。这意味着当前MCS的每个节点已经被替换,因此返回子程序。
另一方面,如果下标i小于MCS的大小,选择判断框202的“是”分支,在步骤204继续割集列举,在该步骤选择下一个要被替换的节点。在图7A-7D的例子中,第一MCS的大小是2。如图7B中的箭头所指示的,因为对于i=0来说,i小于MCS大小,例如MCS{2,3}的节点2的第一节点,被与节点2相邻的Cb中的节点替换,在这个例子中是{5}。
在步骤206,使用距离检测根据EQ13对可以从目的节点隔离的节点集合(MBIG)进行计算。对于图7B的例子,MBIG的计算如此进行x=2;因此N+(2)={5};这意味着MBIG(N+(x))=MBIG({5})。考虑EQ13,MBIG={z|z∈N+(5),d(z)>d(5)}。由于N+(5)={6,8},我们检测z=6和z=8。在这两种情况下,d(z)都小于d(5),这意味着通过移除节点5,不会隔离节点6或节点8,所以在这种情况下MBIG为空。因此,在这种情况下我们使用Delta来调整Cb。如步骤210所示,使用N+计算Delta。通过减去Delta,将当前Cb调整为新的Cb。usedDelta标记被设置为真(true);这个标记标明了Cb的起源,所以我们可以在步骤222中返回后恢复Cb。
如果MBIG(N+(x))不为空,就如判断框206的“否”分支所示,used Delta标记被置为假(false),以表明Delta未被使用,在这种情况下保存当前的Cb并且在步骤208根据EQ8计算新的Cb。
在两个实例中,割集的列举继续在步骤212进行,步骤212通过检查Cb是否仍包括节点,来判断这次列举是否达到了目标节点b。因此,如果Cb不为空,就如判断框210的“否”分支所示,在步骤214使用EQ11计算新MCS。在例子中,新Cb(参见图7C)包括节点{6,7,8},因此它是非空的,从而计算新MCSnewMCS={2,3}∈{5}-{2}={3,5}。另一方面,如果Cb是空的,就如判断框212的“是”分支所示,我们跳过步骤214,至步骤220。
判断框216过滤掉已经被保存的MCS。因此,如果newMCS还没有被发现,则仅将步骤214中确定的newMCS存储在MCS Collector中。
在判断框216的“否”分支上,一旦newMCS被保存,步骤218,新的迭代被(递归地)地调用,以通过在newMCS中替换节点,来生成进一步的割集。换句话说,从新MCS的第一个节点开始的新列举从流程图的新实例上的步骤200开始。
当子程序返回时,通过检查used Delta标记来恢复Cb。如果used Delta标记是真,即判断框222中“是”的分支,通过将Delta添加到Cb的当前值,将Cb设置成最近一次MCS计算之前的值。这在步骤224中示出。如果used Delta标记是假,就如步骤226所示,savedCb(保存的Cb)的值被恢复成Cb。如步骤228所示,在Cb被恢复后,通过增加下标i使得对MCS的下一节点的列举继续进行。由于在步骤202中,i仍然小于MCS的大小,那么就发生该列举实例的另一次迭代,如图7C所示。
图7C中,在MCS{3,5}中的节点3正在被替换。在这种情况下,N+(3)是{6}并且I(MCS∪N+(3))是{3}。Delta计算的结果是{5},其将Cb调整为{6,7,8}。随后计算新的MCSnewMCS={5,6},当它不能再被列举时就被存储。
当前MCS的所有节点均被替换时(发生在下标i大于等于MCS的大小的时候),子程序返回(“递归堆栈出栈”并且返回到前一个实例)。
本发明特别地关注于割集、“节点割集”、“边缘割集”、“分离器集合(separator set)”和类似地用于识别关键节点的方法的使用,以便于对网络安全状态进行进一步的分析。在由节点和边缘(代表网络中的节点和链接)组成的互连图形中,存在一些图形拓扑,其中最小割集的集合将不包括源与目的之间可用路径上的全部节点。因此,在仅仅依靠割集的系统中,可能存在未识别的高风险节点。对于这些孤立的情况,需要其他的机制来识别高风险节点(也就是说,例如对处于相关资产之间的已知路径上的节点进行风险评估),这不是本发明的目的。
权利要求
1.一种对系统进行安全风险分析的方法,所述系统的多个系统资产及服务间具有高度相关性和相依性,该方法包括a)为所述系统准备模型;b)根据所述模型,准备具有图形节点V和边缘E的图G[V,E],其中节点V代表所述资产和服务,边缘E代表所述资产和服务之间的关系;c)在所述图中,列举第一组图形节点和第二组图形节点之间的全部最小割集(MCS),来确定对相关的所述第一和第二组图形节点之间的关系有影响的全部图形节点;并且d)评估所述最小割集中的所述图形节点的安全状态。
2.根据权利要求1的方法,其中针对一个或多个安全参数评估所述安全状态。
3.根据权利要求2的方法,其中所述安全参数是所述图形节点的保密性、完整性和有效性。
4.根据权利要求1的方法,其中步骤d)包括根据各个所述图形节点的值和所述资产的弱点将被利用的概率(LikelihoodA),估算所述最小割集中所述图形节点的风险(EQ1);和基于所述服务的值和已经利用脆弱性来攻击所述最小割集中的任何资产的概率(Likelihood(Ai)),估算所述服务的风险。
5.根据权利要求1的方法,其中步骤d)包括根据为所述最小割集中每个图形节点所确定的所有概率(Liklihood(Aij))的最小值,估算所选的最小割集的风险。
6.根据权利要求1的方法,其中步骤d)包括根据为所述最小割集中每个图形节点所确定的所有概率(Liklihood(MCSi))中的最大值,估算相关的所述第一和第二组图形节点之间的关系的安全风险。
7.根据权利要求1的方法,进一步包括基于客户指定的风险评估标准区分图形节点的优先次序;和保护图形节点子集,以使相关的所述第一和第二组图形节点之间的关系的风险最小。
8.根据权利要求1的方法,进一步包括基于所述资产的安全状态,区分在全部最小割集的每个最小割集中图形节点的优先次序;基于客户指定的风险评估标准,确定每个最小割集中的高风险图形节点;和保护所述高风险图形节点,以保证相关的所述第一和第二组图形节点之间的通信的保密、准确和有效。
9.根据权利要求1的方法,进一步包括基于所述图形节点的安全状态,区分在全部最小割集中的所述图形节点的优先次序;基于客户指定的风险评估标准,从全部最小割集内的全部资产中确定最高风险节点;并且保护所述最高风险节点,以保证相关的第一和第二组图形节点之间的通信保密、准确和有效。
10.根据权利要求1的方法,其中所述系统是通信网络,所述资产是所述通信网络中的节点,并且相关的所述第一和第二资产是通过所述通信网络相互连接的第一和第二节点。
11.根据权利要求10的方法,其中步骤c)包括c1)在所述图中,确定所有节点到所述第二节点的最短距离d(x);c2)在所述图中,确定与所述源节点相邻的节点集合N(a)、连接部分Cb(a),所述Cb(a)是包含了所述第二节点和一组隔离的节点I(N(a))的子图;c3)找出将所述第一节点与所述第二节点隔离开的第一最小割集,所述第一最小割集具有通过下标i标识的许多节点;c4)将所述第一最小割集存储在最小割集收集器树的根部;和c5)使用子程序列举源于所述第一最小割集中的每个节点的全部最小割集,其中所述子程序中的每一个新实例S(k+1)将当前最小割集、当前Cb、从当前实例S(k)接收的所述最小割集收集树的当前变量处理成新最小割集、新Cb、所述最小割集收集树新变量。
12.如权利要求11的方法,其中,如果所述当前最小割集没有和已经存储的最小割集重复,它就被存储在所述最小割集收集器树中。
13.如权利要求11的方法,其中,对于替换所述当前最小割集的节点x的每一个所述当前实例S(k),步骤c5)包括找出相邻节点的集合(N+(x)),该集合包括与所述节点x相邻的全部节点,所述全部节点在所述当前最小割集的节点已经从所述图中移除后,依然与所述第二节点相连;和确定在所述图中是否包括可以被所述新最小割集从所述第二节点隔离开的任何节点(MBIG(N+(x)))。
14.根据权利要求13的方法,进一步包括,如果MBIG为空,就基于所述相邻节点的集合确定所述当前Cb。
15.根据权利要求14的方法,进一步包括将所述N+作为差函数Delta存储,并且设置标记usedDelta为真,来表明需要对所述新Cb重新计算。
16.根据权利要求13的方法,进一步包括,如果MBIG不为空,就保存所述当前Cb;并且确定所述当前Cb。
17.根据权利要求16的方法,进一步包括,设置标记usedDelta为假,来表明不需要对所述新Cb重新计算。
18.根据权利要求14的方法,其中,对于标记usedDelta为真的当前实例,步骤c5)包括取回所述差函数Delta;和通过将Delta加到所述当前Cb,计算所述新Cb。
19.根据权利要求16的方法,其中对于标记usedDelta为假的当前实例,步骤c5)包括取回所述当前Cb作为所述新Cb使用。
20.根据权利要求11的方法,其中所述最短距离d(x)表明移除所述当前最小割集中的节点是否不能使另一个节点与所述第二节点隔离开。
21.根据权利要求13的方法,其中MBIG(N+(x))包括可以被所述新最小割集从所述第二节点隔离开的所述当前最小割集的全部节点,所述节点基于各自的所述最短距离d(x)被聚集到MBIG(N+(x))。
全文摘要
本发明涉及使用“割集”列举方法为网络提供威胁和风险分析,所述网络的资产间具有高度相关性及相依性。被确定的割集作为威胁和风险分析的基础,因为每个割集都能影响网络中两个相关资产间的业务,从而影响相关的资产本身的安全状态。被影响的安全状态可以是保密性、完整性、有效性或其它网络及与安全有关的参数。
文档编号H04L29/06GK1996330SQ20061017186
公开日2007年7月11日 申请日期2006年9月22日 优先权日2005年9月22日
发明者D·维默尔, J-M·罗伯特, B·K·麦克法兰, C·古斯塔夫, S·T·乔, 汤剑 申请人:阿尔卡特公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1