计算机网络安全性分析建模研究

更新时间:2019-06-16 来源:计算机网络论文 点击:

【www.rjdtv.com--计算机网络论文】

    摘 要:安全性分析研究工作需要把计算机网络与安全相关的系统资源和安全因素抽取出来建立一种面向安全性分析的安全模型。从安全需求的类别、等级和面临的主要威胁出发,分析了系统设备、访问权限、主体连接关系和弱点,从攻击者目的是提升特权的角度对攻击作了形式化的描述。针对计算机系统的安全故障树方法和网络信息系统的攻击图方法应用了这一安全分析建模工作。
  关键词:计算机网络安全;安全模型;弱点;攻击;故障树;攻击图
    1 引言随着 Internet 的迅猛发展和网络技术的广泛普及应用,黑客入侵、蠕虫和拒绝服务等类型的网络攻击找到了更多的攻击途径,成为计算机网络系统面临的主要安全问题。这些恶意的攻击行为轻则窃取机密信息、篡改系统和数据,重则导致大规模的网络瘫痪或网络服务不可用。美国计算机紧急事件反应小组协调中心(CERT/CC)自从1998年成立以来,收到的计算机安全事故报告的数量一直呈上升趋势,而这些接报的安全事件只是所有网络安全事件的冰山一角。
  为此,国内外的研究人员在计算机与网络安全的保护方面进行了大量深入的研究工作,针对信息技术产品和计算机网络系统的安全分析、评估、度量作为网络安全 PPDRR(策略、防护、检测、响应、恢复)模型的一个重要环节,在不同的阶段对构建信息系统的软件系统进行安全方面的分析,这方面的工作是为了主动发现、定期检查,防患于未然,以便起到未雨绸缪的作用。
  面向安全评估的模型是安全评估研究的核心内容,本文在此对其进行了深入研究。在第 2 节介绍了安全评估方法的研究现状,第 3 节对计算机和网络的安全属性进行了抽象,第 4 节对计算机网络 张涛等:计算机网络安全性分析建模研究 攻击作了形式化的描述,第 5 节介绍了使用建模工作的两种评估方法,第 6 节给出了结论。
  2 相关研究对计算机安全问题的研究,几乎深入到了计算机科学理论和工程的各个领域,软件的安全故障分析在软件的设计、测试和使用中有着不同的特点。在软件设计阶段,主要目的是要努力避免危害安全的漏洞在软件领域,为了最大限度地保证一个系统的安全性,研究者经常通过构造一个形式化的安全模型并证明其正确,这些安全模型以有限状态机模型、存取矩阵模型、Bell-LaPadula 模型和信息流模型为代表。在软件测试阶段,主要目的是要找出可能存在的造成渗透变迁的漏洞和错误。在软件系统的使用过程中,网络的普及和计算机安全的重要性迅速增加,越来越多的网络安全事件和安全漏洞被公开,信息系统开发者也随之开发了不同的方法来分析攻击数据,找出其中结构化的和可重用的模式,提供给系统安全分析使用,为系统安全的改进和设计提供指导。针对计算机系统进行安全分析的工作最初使用的方法是传统的弱点扫描方法,即检验系统是否存在已公布的漏洞和简单的攻击路径。例如基于主机的扫描工具有 COPS等,这种安全评估方法就是把这些探测和扫描工具的执行结果罗列出来,生成简略的分析报告,直接提供给使用者。
  目前基于弱点检测的评估方法主要问题有:1)弱点的关联问题;由于系统中多个弱点的存在,简单的列举或者权值相加这种表达方式不能反映对于漏洞关联使用造成的安全损害。2)弱点的量化问题;现存的弱点检测之后就是对于每一个弱点根据弱点数据库里的知识,给与一个类似于高中低的模糊评价值,这种表示方法很难反映弱点在系统中造成的真实的安全问题。随着计算机网络安全评估研究的深入,国内外的研究者在基于弱点探测评估方法研究成果上开始逐步使用多种形式化的工具来建立面向安全评估的安全模型。安全模型分析的方法可以有效发现系统中复杂的攻击路径或者引起系统状态变迁的序列。
  攻击树就是一种基于变化的攻击来形式化、系统化地描述系统安全的方法,用来对安全威胁建模。Moore 详细地论述了攻击树以递归或渐进的方式来表达攻击的变化,能比较直观地反映攻击者实施攻击的步骤。在攻击树模型中,对系统安全的最终破坏可以被表达为一棵攻击树的树根,攻击者引起这种破坏的方式可以被表达成攻击树的低层节点。这种分析方法往往针对某种漏洞或某个服务,而且在叶节点的属性往往是一些冗余过程或过细的过程,缺乏全局的考虑。法国学者 Ortalo 使用特权图(privilege graph)方法,中国科技大学汪渊博士等人提出一种基于图论的网络安全分析方法并且实现了一个原形系统,都是这种评估方法的一种具体探讨和实现。研究人员为表达攻击者起始点与目标、主机信息以及拓扑信息等提出了威胁信息系统安全的攻击图。Phillips 和 Swiler 在 1998 年首先提出基于图的网络弱点分析方法,作者使用深度优先的正向搜索生成攻击图,并根据路径顺序和相对应的弱点权重,使用偏序归约的方法排除图中的冗余路径。
  使用模型检测生成攻击图的方法首先由Ramakrishnan 和 Sekar 提出应用在主机弱点综合分析上,他们使用 CCS 描述了和系统安全相关各个部分,组合构成的模型反映了整个系统所有可能的行为,使用模型检测技术来寻找反例,反例即为一个相关的安全属性违反;作者在此基础上实现了一个unix 系 统 下 的 弱 点 分 析 工 具。 Ritchey 和Ammann 把模型检测这种评估方法的应用扩展到了网络系统的评估中,并且用来生成攻击图,他们提出的网络攻击模型主要由 4 个部分组成:主机描述、主机之间的连接关系、已知的弱点利用知识集和攻击者的初始点,CMU 的系统安全分析课题组改进了标准的模型检测工具,并利用改进后的模型检测工具自动生成目标信息系统的网络攻击图。由于当目标模型不满足指定的属性时,标准的模型检测工具仅可以给出一个反例,因此他们对模型检测工具(NuSMV)进行了改进,当属性不满足时可以给出所有的反例。对于一个网络攻击模型来说,这些反例就是相应针对指定攻击目标的网络攻击图。
  Sheyner 通过这种方法构造出攻击图后,应用在了入侵检测系统(IDS)的警报关联,以及从单个攻击行为来预警攻击。已有的基于安全模型的安全性分析方法面临的一个问题是系统状态空间爆炸问题。信息系统的状态由各个实体、弱点、主机连接、安全需求等等各种信息组成,在使用模型检测方法的分析过程中待考察的状态数量呈指数级增长,从而导致使用的存储空间巨大。为此 Ammann 在后来的研究中放弃了模型检测方法而使用一种基于图的方法生成攻击图,并且在其中作了安全单调性假设,即攻击者不会重复那些能够获取已有权限的攻击动。
  在安全评估模型的理论探索中,北京大学的阎强博士根据信息技术评估标准定义了信息系统安全评估的安全要素集,并且以等级的形式表示信息系统的安全度量,并且根据组合独立性、组合互补性和组合关联性对安全要素做了区分,定义访问路径、规范路径等概念,给出了信息系统安全度量的形式化评估模型及其实现。在实际使用安全模型进行评估时,虽然模型的建立比规则的抽取简单,能够全面地反映系统中存在的安全隐患,但是目前已有的研究在安全评估模型的建立、描述、验证和度量计算方法都需要进行深入的探讨,因为主观因素和模型完备度的缺乏很容易造成结果的不确定。
  3 计算机网络安全属性系统安全评估要考虑的是对已有系统进行安全性分析,主要是检验目标软件是否具有已知的渗透变迁,需要一种简单、灵活和完备的模型,尽量避免系统状态空间过于复杂。同时针对计算机网络系统安全评估的模型应该具有通用性和可行性。通用性是指模型考虑的要素必须涉及各方面对计算机网络系统安全的共同要求,可行性是指实施计算机网络系统的评估模型在经济上和技术上是可行的。
  3.1 安全需求安全需求是用户在系统信息的完整性,可用性,机密性等方面的一种安全要求,它主要使用一系列安全策略保证;安全策略用以确定一个主体是否对某个客体拥有访问权力,系统用户或者进程等主体的动作应符合的安全行为要求,如自主访问控制策略,强制访问控制策略,组织自身的特定策略等;系统制定的安全需求集合为 R = {r1,r2,rp},其中 ri(i = 1, 2,  p)表示个别策略。
  (1) 安全需求的等级按照不同的应用情况,系统的机密性(C)、完整性(I)和可用性(A)等安全需求属性风险的可以分为不同的等级,以系统的机密性为例,分级可参见表 1。
  表 1 机密性风险的等级表分级 特征描述C1 证明主机有效性C2 获取 OS 类型及版本号C3 获取应用程序及版本信息C4 探测对象(文件、目录、用户、设备等)在目标主机上的存在性C5 读取某用户特定普通文件或非敏感内存空间的数据C6 读取多个普通用户文件或内存空间数据的内容C7 读取某特定特权文件(如/etc/passwd、/etc/shadow)或系统配置文件或内核及系统进程空间的内容C8 读取任意特权文件或系统配置文件的内容, 监视系统或网络活动从系统的安全属性来看,它们之间具有独立性、互补性和关联性。独立性是指每一个安全属性都可以作为一个单独的安全质量来评价,相互之间并不冲突;互补性体现在每种安全属性侧重了不同用户的需求,互为补充,综合起来反映全面的安全需求;关联性意味着要攻击者要破坏某种安全属性,他也同时具有部分破坏其他安全属性的能力,同时影响安全属性的系统漏洞对各个安全属性存在着不同程度的影响。
  (2) 安全需求面临的威胁对于计算机网络系统的安全需求,不同领域的人有不同的要求,不同的侧重点,安全评估研究者分析了安全需求与威胁之间的对应关系,如表 2 所示。在本文的论述中,安全评估研究主要面向于已有的软件系统,经过对表 2 中内容的仔细分析,系统威胁、通信威胁和应用威胁这三者是对安全需求实施影响的主要因素。系统威胁主要来自于计算机网络中操作系统软件出现的问题,例如系统漏洞、木马程序、后门程序等。通信威胁主要来自于网络上各种设备在数据交流过程中易出现的问题,例如监听、会话劫持等。应用威胁的主要指运行于系统软件之上的应用服务型软件系统出现问题造成的威胁,例如 IIS、FTP等应用服务。
  本文主要关注技术上的威胁和运行软件系统的威胁,所以对表 2 其他威胁的暂不作考虑。第 12 期 张涛等:计算机网络安全性分析建模研究 ·103·表 2 安全需求与威胁安全需求威胁保密性 完整性 可审计性 可用性 可靠性 连接性 可恢复性 抗抵赖性 不定性系统威胁 × × × × × × × ×通信威胁 × × × × × × ×物理威胁 × ×人员威胁 × ×运行环境威胁 ×应用威胁 × × × × × × × ×性能威胁 × × ×设计正确性威胁 × × × ×分析安全需求的类型、等级与威胁,可以找到破坏这种安全属性的弱点和攻击方法,综合分析已有的攻击方法和攻击后果,攻击者在目标系统上能够具有的最高访问权限是安全事件影响力的主要因素。
  3.2 系统设备计算机网络可以看作是由具有不同功能的主机组成的集合,这些主机按照其功能可以分为:路由器、交换机、防火墙、服务器、个人计算机等类型。在网络中,这些主机都被赋予了惟一的标识来表明各自的身份,这个惟一标识可以是主机的 IP 地址、MAC 地址以及主机名等。设此设备集合为 H={h1, h2,  hm},其中 hi(i=1, 2, m)表示单个设备。网络中的一个主机自身包含很多属性,然而在网络安全性分析中,并不需要获得主机的所有属性。其中,与网络安全关系密切的主机属性包括:主机上的操作系统类型及版本、主机上开放的服务及对应的端口信息、主机上的弱点信息。因此,网络中的一个主机用如下的四元组(hostid, os, svcs, vuls)进行表示。其中,hostid 为主机在网络中的惟一标识符;os 是主机的操作系统类型及版本信息;svcs 是主机上开放网络服务的列表;vuls 是主机上存在的弱点列表,列表中可能包括主机上安装的软件所具有可被利用安全缺陷信息,或者错误的环境配置信息。
  3.3 访问权限计算机系统在实际的应用环境中,系统访问者可以按照具有不同的访问权限来进行分类,国内外的许多研究者都进行了这方面叙述,本文在此将访问者和访问权限结合起来,将系统所有可能的访问权限按用户的身份角色分类,如表3 所示的定义。访问权限等级访问权限 角色描述Root 系统管理员,管理系统设备、系统文件和系统进程等一切资源Supuser 该用户具有普通用户所没有的一些特殊权限,但是并不拥有系统管理员的所有权限User 任意一个系统普通用户,由系统初始化产生或系统管理员创建,有自己独立私有的资源Guest 匿名登陆访问计算机系统的来宾,该用户具有任意一个系统普通用户的部分权限Access 可以访问网络服务的远程访问者,通常是信任的访问者,能和网络服务进程交互数据,可以扫描系统的信息等3.4 主体连接关系建模整个 Internet 是基于 TCP/IP 协议族构建,目前的计算机网络系统大多也基于此协议。TCP/IP 协议族具有很多协议,并分为不同的层次。遵循这种技术规范,网络的设备之间的连接都分布在了不同的层次上,Ritchey 曾论述过面向安全分析的网络连接关系。
  按照协议定义,在链路层,ARP 类型的数据报文只是在局域网内部传播,网络内部的设备才能捕获这样的数据报文,恶意主体可以利用这种报文进行 TCP 会话劫持的攻击。同时,主机之间的连接关系在此层也受到网络结构的影响;若网络是采用集线器连接,数据报文是通过广播传输的,恶意主体可以通过将网卡设置为混杂模式,捕获网络上的所有报文,进行协议解析之后便成功地进行了 sniff攻击。若网络采用交换机连接,数据报文的传输通过交换机转发到相应的端口,不会进行广播,传统的概念认为单个用户只能获取发给他的数据包,无法获取整个网络的数据报文,但是近期的研究表明在一定的交换网络环境下通过 ARP 欺骗也是可以对网络进行监听的,只不过这种类型的攻击需要比较高的技术水平。网络设备之间的连接关系在数据链路层存在有:ARP,HUB_Sniff,Switch_Sniff。
  网络层的协议是为网络之间的通信而设计的,Internet 上的每一台主机都分配了一个不同的 IP 地址,根据网络层的 ICMP 协议可以获取网络路由、时间以及目的可达性等信息。对于网络的安全性而言,拒绝服务及分布式拒绝服务攻击都能够按照这一层协议构造数据报文,对目标系统发起攻击。网络设备之间的连接关系在网络层存在有:ICMP_服务类型。传输层有两个协议 TCP 和 UDP,每一个协议都有 65535 个端口,分配给不同类型的服务,作为主机之间端对端的会话协议,网络设备之间的连接关系可以使用协议和端口来标明,例如 TCP_80,表示目的端为源端在 80 端口提供 TCP 服务。即网络设备之间的连接关系在网络层存在有:TCP(UDP)_端口号。
  应用层负责为网络提供各种服务,每一种服务类型都有不同的应用程序提供了支持,提供相同类型服务的应用程序存在着不同的安全问题,为了区别这些不同以及用户做过个性化修改,本文把主机设备之间在应用层的连接关系描述为:TCP(UDP)_ 端 口 号 _ 服 务 类 型 _ 应 用 程 序 名 称 , 例 如TCP_80_HTTP_IIS4.0,表示目的端为源端基于 TCP协议在 80 端口,使用 IIS4.0 提供了 HTTP 服务。
  本文把 TCP/IP 协议中的各种与安全息息相关的连接关系表达为一个集合,网络的两两设备之间的连接关系是这个集合的一个子集。按照网络协议的实现,设网络主机与设备之间的连接关系集合Protocol={pro1, pro2,  pron},其中 proi(i=1, 2, n)表示一种一种连接关系。连接关系集合如表 4 所示。
  主机之间的连接关系利用一个三元组来(Hsrc,Hdst, protocols)表示。其中 Hsrc 表示源主机,Hdst表示目的主机。而 protocols 则是源主机与目的主机之间存在的连接关系集合的一个子集。当源主机与目的主机之间不存在连接关系时则 protocol 为空集。当源主机与目的主机相同时,则其连接关系为本地连接,此时 protocol={localhost}。
  表连接关系集合协议层 连接关系应用层 TCP(UDP)_端口号_服务类型_应用程序名称传输层 TCP(UDP)_端口号网络层 ICMP_服务类型数据链路层 ARP,HUB_Sniff,Switch_Sniff3.5 计算机弱点计算机弱点(vulnerability)或脆弱性是指计算机的软件系统或组件在设计、编码、配置和使用的过程中的错误造成的缺陷,恶意攻击者能够利用这个缺陷,对系统资源进行未授权的访问或滥用,违背系统的安全策略,引发安全问题。已公布的全部弱点集合为 V={v1,v2, vm},其中 vi(i=1,2, n)表示单个弱点。研究者已经在弱点分析的研究方面做了很多工作,在本文中,主要考虑弱点的利用、后果和关联问题,通过分析多个弱点数据库,使用(BID,NAME,OS,DATE,Ppre,Pcon,AC)这个多元组来表达一个弱点 v,其中分别描述如下:
  BID 是作为同步和兼容各种弱点数据库的一种默认通用标识号。NAME 是弱点名称;OS 是弱点影响的系统对象类型,包括各种操作系统平台、应用软件平台和网络设施平台等;DATE 是弱点发布的日期;Ppre 表示前提访问权限(premise privilege,简写成 Ppre);Pcon 表示结果访问权限(consequenceprivilege,写成 Pcon);AC 表示此弱点的攻击复杂性。
  (1) 弱点的访问权限属性攻击者利用弱点的过程就是扩大其权限的过程,一个弱点应该对应两个访问权限集:前提访问权限集 Ppre 和结果访问权限集 Pcon。前提访问权限集表示攻击者试图利用一个弱点所需具备的必不可少的权限的集合。只有攻击者满足 Ppre 时,才有可能成功地利用此弱点。结果访问权限集表示通过成功利用此弱点而产生的直接权限提升后的访问权限集,结果访问权限集表征出攻击者在成功利用该弱点后可以获取到的对系统资源访问等级。由于弱点的 Ppre 和 Pcon 分布在不同的等级上,弱点之间具有了关联利用的关系,第 12 期 张涛等:计算机网络安全性分析建模研究产生了一系列不同的特权提升的路径和方法。
  (2) 弱点的攻击复杂性属性 AC弱点的攻击复杂性属性用来衡量弱点在攻击者针对此弱点进行攻击尝试、获得此弱点的后果特权的难易程度,这个属性的受到多种因素的影响,例如攻击工具、攻击时间、攻击者的计算资源等等,有时候还受限于系统用户的行为。
  随着计算机硬件的迅速升级,现有的个人计算机系统已经具有了强大的计算能力,网络应用的普及又为各种攻击工具的开发和传播提供了环境,影响攻击复杂性的多维因素可以映射成为一个单变量的函数;Littlewood 从软件可靠性的角度出发,定义一种基于随机过程的弱点攻击复杂性的度量方法,对于每个弱点给出了一个单变量的量化值,表达攻击者利用此弱点的平均努力(effort);他认为攻击者只要付出足够多的努力,对某个弱点的攻击最终是可以成功,其中 effort 分布符合指数分布。
  精确的描述弱点的攻击复杂性是不可能的,只能通过反映弱点攻击复杂性的一些变量来近似的表达出不同弱点之间攻击复杂性的差别。本文使用单变量 α 来表达弱点的攻击复杂性,表示此弱点在单位时间内被攻击者成功利用的可能性为 α,攻击者成功利用此弱点的平均时间为 1/α,即此弱点的平均安全时间 MTTSF(mean time to securityfailure)。参考 CC和 Littlewood 的研究,α 取值可参考表 5,单位时间为小时。
  表 5 弱点攻击复杂性量化等级 成功率 描述1 10-1现成可用的攻击工具与详细的攻击步骤2 10-2无现成攻击工具但有较详细的攻击步骤3 10-3公开报告并提及可能或粗略描述的攻击方法4 10-4公开报告但未给出攻击方法4 计算机网络攻击攻击对计算机网络安全的威胁是多种多样的,攻击的分类方法已经有过很多研究,在本文中,提出了使用特权提升描述攻击的目的,并对攻击规则和攻击者做了形式化的描述。
  4.1 特权提升计算机网络系统中所有可控制的资源均可抽象为主体和客体。主体(subject):发出访问操作、存取要求、起主动作用的实体,通常指用户或用户的某个进程;全体主体的集合为 S = {s1, s2,  sn},其中 si(i =1, 2, n)表示单个主体。客体(object):信息的载体、被调用的程序或欲存取的数据访问,即起被动作用的实体,如文件、存储器、接口等,全体客体的集合为 O = {o1,o2,  oo},中 oj(j = 1, 2, o)表示单个客体。
  主体和客体是存取控制中的两个基本概念。主体的行为影响着它对之有访问权限的客体之间的信息流动。一般来说,所有的主体也是客体,反之则不然。每一个主体都与一个确定的用户相关,并为之服务。一个用户可以同时拥有多个主体,根据用户所要求的服务的不同,会产生特定的主体。
  (1) 特权、特权集一个特权(privilege)是一个(o, m)对,其中o 是一个客体,m 是主体对客体 o 的一个非空的访问模式集合,对 m 的修改必须获得合法授权。Pset是一个特权集合,即 Pset = {(oi, mj)|( oi, mj)是一个特权,i=1, 2, n, j=1, 2, m}。
  在 IT 系统中,一个特权可以被看作是对信息系统的一个访问单元。从授权的观点,一个特权可以用一个客体的访问模式来定义,每种访问模式对关联的客体有某种特定作用,如执行某些特权可以读取文件,执行另一些特权可以修改文件等。
  对系统中特定的用户 User 来说,他所具有的缺省的特权集是确定的,即在合法访问的情况下,Pset是确定的。对攻击者(或具有攻击倾向的用户)来说,他利用目标系统中的弱点来实施攻击,目的是为了获得更多的特权(即扩大 Pset 集);而从弱点的属性来看,弱点具有给某类攻击者带来更多特权的特征。
  (2) 特权提升如果用户 User 利用某个弱点获得了新的特权集 Pset′,且存在某个对象 o′和非空的访问模式集m′,使 ( o ',m')∈ Pset'但 (o',m') Pset,则称 User获得了特权提升。从攻击的观点来看,攻击者的一次次攻击尝试到达到攻击目标是一个积累的过程,其中每一步取得的攻击成果都作为一个离散事件表现出来,都可以看作是一次特权提升。从系统管理员的角度看,每一种漏洞的后果都会或多或少影响到系统的安全策略,对系统安全的·106· 通 信 学 报 第 26 卷机密性、完整性和可用性等属性造成直接或者间接的负面影响,只要对系统的任何安全策略造成了负面影响,都可以看作是一次特权提升。
  4.2 攻击规则利用一个弱点实施攻击时,需要满足一定的前提条件。攻击成功后,攻击结果使得攻击者对网络的访问能力获得了提升,即产生了特权提升的情况,可以作为下一个攻击的前提条件。用一个规则来表示一个攻击时,可以看作是一组前提条件到一组结果的映射,可以用二元组 attack_rule=(Preconditions,Postconditions)来表示,其中 Preconditions 为前提集合,Postconditions 为相应的结果集合。
  前提集合包含四个元素,表示为 Preconditions={Src_privilege, Dst_privilege, Vuls, Conn_proto}。其中,Src_privilege 表示攻击者在发起攻击的主机上应该具有的最低用户级别。Dst_privilege 表示攻击者在攻击目标主机上应具备的最低用户级别。Vuls表示这个攻击规则所依赖的弱点。Conn_proto 说明发起攻击主机和攻击目标主机之间应满足的连接关系。
  结果集合包含 4 个元素,表示为 Postconditions={Rslt_privilege, Rslt_conn, Rslt_vuls} 。 其 中 ,Rslt_privilege 说明当成功应用攻击规则之后,攻击者可以在攻击目标主机获得的用户级别。Rslt_conn为受攻击规则影响的网络协议集合,若被攻击主机可以利用此集合中的网络协议访问目标网络中的某个主机,则当前攻击发起主机也可以获得利用此协议访问这个主机的能力;若攻击规则不会对当前网络连接关系产生任何影响,则 Rslt_conn 为空集;当 Rslt_conn={all}时,表示攻击当前攻击发起主机可以获得被攻击主机对目标网络的所有访问能力。Rslt_vuls 是成功利用攻击规则之后被攻击的主机上新增弱点的集合,它描述了弱点之间的依赖关系。
  若不会新增任何弱点则 Rslt_vuls 为空集。综上所述,攻击规则可以表示为 attack_rule=({Src_privilege, Dst_privilege, Vuls, Conn_proto},{Rslt_privilege, Rslt_conn, Rslt_vuls})。
  4.3 攻击者攻击者使用五元组(Hostid, Access_list,Conn_list, Attack_goal, Max_steps)来表示。其中 Hostid为攻击者所在的主机。Access_list 为初始状态下攻击者在网络中所有主机上的用户级别,一般情况下,攻击者除了具有对本机具有最高的用户级别Root 外,在目标网络中的其他主机上具有最低的用户级别 Access。Conn_list 描述攻击者所在的计算机与目标网络中其他主机之间的连接关系。Attack_goal 指明了攻击者希望在某台主机上所获得的用户级别。例如:{(h1,Root), (h2,Root)}代表攻击者希望在主机 h1和 h2上获得 Root 级别的权限;若不指定攻击目标,则表示攻击者在攻击时并没有特定的攻击目的。Max_steps 是假设采取的最大攻击步骤数,若 Max_steps=0,则认为攻击者可以采取任意多的攻击步骤来完成对一个攻击目标的攻击。
  5 系统安全评估方法本文在此把计算机网络安全建模研究应用在评估一个计算机系统和一个网络信息系统上。对于计算机系统,使用安全故障树的形式作表达。对于网络信息系统,本文给出了一个攻击图的描述方法。
  5.1 计算机系统的安全故障树安全故障树能够提供导致系统安全失效的基本事件组合,并可以使用图形和数学表示,它可以抽象而准确地描述系统的安全需求而不涉及到其实现细节,这使得我们能够全面而准确地理解系统的安全需求定义,并可通过形式化的分析方法找到系统在安全上的漏洞。
  安全故障树的叶节点是基本事件,表达计算机系统中的一个漏洞 v。结果事件分为中间事件和顶事件两种,中间事件表达了系统的一个中间状态,例如攻击者获取的权限 p;顶事件即为系统的一个安全需求或者攻击者的一个攻击目标权限,可以表示成基本事件和中间事件通过与、或逻辑连接符连接成的逻辑表达式。本文把这种攻击者试图获取目标系统的访问权限(特权等级)作为安全需求的一种实例。以此为顶事件,生成了一个系统的安全故障树实例。
  安全需求:保护系统管理员权限 P4;系统漏洞:v1,v2,v3,v4,v5,v6,v7,v8,v9;中间事件:P0,P1,P2,P3;攻击者初始状态:P0。
  为了说明和表达相关弱点的特权提升连接关系,按照前提特权和结果特权统计的分布,构造出对应的安全故障树,如图 1 所示。简单描述如下:第 12 期 张涛等:计算机网络安全性分析建模研究 ·107·图 1 系统安全故障树1) P0, P1, P2, P3, P4分别按照等级由低到高对应了表 3 中所定义的 5 个特权等级 Access,Guest,User,Supuser,Root,在图 1 中表示一个相对应的特权集用户实例。
  2) 图 1 中,为简化表示,P0作为默认共有权限,未做标明。
  3) 弱点 v4, v5需要相互借助才能完成从特权集P3到特权集 P4的提升,两者构成了一个与门。加上(v6, v7,P2),(v3,P1)这两对,图 1 中一共有 3 个与门。
  4) 能够获取 P4权限的输入有 2 个,分别对应了(v1,P0),(v4, v5,P3),2 个输入,构成了一个或门,图 1 中共存在 3 个或门。
  5) 图 1 所示故障树的最小割集为有(v1),(v2,v4,v5),(v4,v5,v8),(v3,v4,v5,v6,v7,v9)。
  最小割集对应了攻击者可选择的攻击路径。安全故障树模型提供了定性和定量两种分析方法。定性分析的目的在于寻找顶事件发生的原因和原因组合,即导致顶事件发生的所有故障模式,获取与故障树有关的割集和最小割集。定量分析是在给出各种基本事件失效率的前提下,分析整个系统的失效率,求出顶事件发生的概率和频度。
  5.2 网络信息系统的攻击图攻击图是研究人员综合攻击、漏洞、目标、主机和网络连接关系等因素,为发现网络中复杂的攻击路径或者引起系统状态变迁的渗透序列而提出的一种描述网络安全状态的表示方法。
  攻击者在对网络进行攻击时首先是从攻击者所在的主机攻击网络中具有弱点的主机,当攻击成功之后就在被攻击主机上获得了一定的权限。在能力允许的条件下,攻击者可以从已经攻克的主机上再次发起攻击,如此往复,直到攻击者达到其攻击的最终目的。本文使用网络状态表示在攻击工程中攻击者具有的网络资源和网络连接关系,则攻击者实施攻击的过程就是从前提网络状态到结果网络状态的跃迁。
  (1) 网络环境实验网络的拓扑结构如图 2 所示。网络为交换网络,其中共有 4 台计算机,其中 IP1、IP2 为Windows 主机,IP3、IP4 为 Linux 主机,防火墙将目标网络与外部网络分开。目标网络中的主机信息如表 6 所示。 卷防火墙允许针对 IP4 的 HTTP 和 SSH 流量进入,其他的流量都被阻断。在网络内部,连接关系不会受到防火墙的控制,可以假设网络内部主机可以访问网络中存在的任何远程服务。通过对近年SANS TOP 20 网络弱点的分析,系统中包含了 183条攻击规则,其中与实验网络相关的攻击规则 8 条。
  在初始状态,攻击者除在主机 IP0 上具有最高的用户级别 Root 外,在网络中的其他主机之上其只具有最低的用户级别 Access。实验中不对攻击者的目标和最大攻击步骤数做限定。
  (2) 实验结果对所建立模型的自动分析得到的网络攻击图如图 3 所示。其中有向边代表了攻击者的攻击动作,节点代表了攻击者所处的状态,若攻击者通过一次攻击获得了某台主机的 Root 权限,则后续节点用两个双圆节点表示。
   网络攻击图通过对图 3 中的所有攻击路径分析发现,虽然网络防火墙设置了静态的规则来保护网络中的主机 IP1、IP2 和 IP3,但还是存在攻击者对上数三个主机进行攻击的可能性。
  6 结论计算机网络系统安全评估的研究是随着计算机网络技术的发展逐步深入的,跟早期的单纯靠人工管理的手段相比,快速的自动信息发现技术和工具带来了很大的便利,评估的对象从对单个主机发展到了针对整个信息系统,评估的方法从弱点检测发展到关注弱点关联利用影响。本文论述的计算机网络安全评估建模的工作,全面考察了系统中的各个安全实体与安全要素,不但适用于单机系统的安全分析,也可用于网络信息系统的安全评估;既可采用定性评估的方式,也可通过引入弱点攻击复杂性的概念来进行定量的分析。
  参考文献:
  [1] CERT/CC. CERT/CC Statistics 1988-2003. [EB/OL]. 2004.
  [2] FARMER D, SPAFFORD E H. The Cops Security CheckerSystem[R]. Technical Report CSD-TR-993. Department of ComputerSciences, Purdue University. 1991.
  [3] NMAP.  [EB/OL]. 2003.
  [4] Renaud Deraison. Nessus Scanner.  [EB/OL].
  2004.
  [5] ISS.  [EB/OL]. 2004.
  [6] MOORE A P, ELLISON R J, LINGER R C. Attack Modeling forInformation Security and Survivability[R]. Technical Note, CMU,2001.
  [7] ORTALO R, DESWARTE Y. Experimenting with quantitativeevaluation tools for monitoring operational security[J]. IEEETransactions on Software Engineering, 1999, 25(5): 633-650.
  [8] 汪渊. 网络安全量化评估方法研究[D]. 中国科技大学博士论文,2003.
  [9] PHILLIPS C A, SWILER L P. A graph-based system for networkvulnerability analysis[A]. New Security Paradigms Workshop[C].
  1998.71-79.
  [10] SWILER L P, PHILLIPS C, ELLIS D. Chakerian. Computer-attackgraph generation tool[A]. Proceedings of the DARPA InformationSurvivability Conference and Exposition[C]. Anaheim, California,2000.307-321.
  [11] RAMAKRISHNAN C, SEKAR R. Model-based analysis ofconfiguration vulnera

本文来源:http://www.rjdtv.com/jisuanjilunwen/172.html