CN100403691C - 网络信息系统的安全性及生存性评估的系统和方法 - Google Patents

网络信息系统的安全性及生存性评估的系统和方法 Download PDF

Info

Publication number
CN100403691C
CN100403691C CNB2005100869075A CN200510086907A CN100403691C CN 100403691 C CN100403691 C CN 100403691C CN B2005100869075 A CNB2005100869075 A CN B2005100869075A CN 200510086907 A CN200510086907 A CN 200510086907A CN 100403691 C CN100403691 C CN 100403691C
Authority
CN
China
Prior art keywords
leak
index
information
survivability
evaluation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2005100869075A
Other languages
English (en)
Other versions
CN1761208A (zh
Inventor
郭世泽
牛伟
何韶军
段榕
陈哲
刘志明
张永
陈卓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CNB2005100869075A priority Critical patent/CN100403691C/zh
Publication of CN1761208A publication Critical patent/CN1761208A/zh
Application granted granted Critical
Publication of CN100403691C publication Critical patent/CN100403691C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种网络信息系统的安全性及生存性评估的系统和方法,所述的系统包括信息采集模块、漏洞探测模块、测试验证模块、安全性及生存性评估模块和数据库;所述信息采集模块,将采集的目标系统信息发送给所述漏洞探测模块;所述漏洞探测模块对目标系统进行漏洞探测;所述测试验证模块对目标存在的安全漏洞进行测试验证;所述安全性及生存性评估模块根据漏洞信息对目标系统进行安全性和生存性的评估。本发明模拟人为的攻击,真实地反映了被测目标的真实状况,采用主动攻击进行测试,静态分析和动态测试相结合,既有系统生存性的定性结合定量的评估结果,又有全面的生存性改进建议,对系统生存性的演化改进非常全面。

Description

网络信息系统的安全性及生存性评估的系统和方法
技术领域
本发明涉及一种网络信息安全技术领域中用于计算机网络信息系统生存性评估的系统和方法,尤其是一种基于入侵情景测试的网络信息系统的安全性及生存性评估的系统和方法。
背景技术
在网络信息系统安全技术的研究领域,从应对入侵的策略划分,大体上可以分为三个阶段:第一阶段是为了阻止入侵,主要研究可信计算基础、访问控制和物理安全、多级安全、密码使用等;第二阶段为入侵发生后,如何检测和降低损失,主要研究防火墙、入侵检测系统、边界控制器、虚拟专用网、公钥异构系统等;最后一个阶段则为当入侵成功后,信息系统如何操纵和抵御入侵,主要关注于攻击的实时检测和响应、系统功能和安全成本的实时权衡、入侵的危害容忍度等。
前两个阶段研究的主要侧重点为信息系统的安全性,第三个阶段研究的核心技术则是信息系统生存性。所谓信息系统生存性是指系统的3R能力,即抵御(Resistance)攻击、识别(Recognition)攻击及其引发的危害、在遭受攻击时保持基本服务及在攻击后恢复(Recovery)所有的服务的能力。假设没有一个现实中的信息系统能完全避免所有的攻击、意外事件或部件失效,因此,所述信息系统生存性关注的不仅是防御计算机攻击、意外事件或部件失效,而且是保证尽管在上述实践已经发生的情况下,仍然能维持系统本身所执行的关键任务和功能,并能传输相关服务。因此,信息系统生存性是当前国内、国际的一项前沿学科,其研究目的在于综合计算机安全和商务风险管理,最大限度地保护分布式信息服务和设施。
网络信息系统的生存性是信息系统为抵御攻击的一种设计目标,作为工程应用,许多研究和开发人员设计了很多的适应生存性需要的系统,但大部分都出于经验考虑,对于更精确的设计,需要解决一些共同问题,例如如何评估和度量生存性,如何有效地建立生存性模型等。
网络信息系统生存性评估技术就是对系统的3R能力进行量化评估,模拟各种攻击行为,结合安全性测试和生存性测试,从两个方面对目标系统进行评估,给出量化的测试评估报告和改进建议。
目前,网络信息系统生存性评估的研究一般基于入侵容忍技术,如:信息安全国家重点实验室的入侵容忍证书认证(CertificationAuthority,简称CA)系统。该系统从密码学的思路出发,利用密钥的拆分来保证私钥安全和签名安全。当有少数设备被攻击者占领时,私钥不泄露,证书和证书注销列表(Certificate Revocation List,简称CRL)的签发服务照常进行。Cornell大学的协同式证书认证(简称COCA)系统是基于Byzantine协议技术的思路,其分布式的CA系统能够保证当n个服务器发生任意错误的时候,整个CA系统依旧能够正常地工作。
国际上很早就开始了入侵容忍技术的研究,早在1985年,Fraga和Powell就发表文章提到了入侵容忍的概念。目前,许多重要的国际研究机构都在研究入侵容忍技术或生存技术。美国著名的学术会议ACM CCS 2003专门开出一个Workshop讨论生存系统问题。目前比较著名的有两个重要的研究计划:
1.OASIS(Organically Assured and Survivable Information System)是美国国防部高级研究计划署(DARPA)的一个重要研究计划。该计划旨在减弱敌人通过网络信息系统攻击美国国家安全的能力,并使网络信息系统能够在敌人攻击成功的情况下继续正常运转。该计划提供了构建生存系统的基础技术并帮助美国国防部掌握信息控制权。
2.MAFTIA(Malicious-and Accidental-Fault Tolerance for InternetApplications)是欧盟的研究项目,其中一个重要的工作是使用容错技术和分布式系统技术构建入侵容忍系统。
在网络和计算机技术迅速发展的今天,信息安全技术发展经历了三代,即第一代的信息保护技术、第二代的信息保障技术和第三代的生存性技术。第一代的信息保护技术基本原理是保护和隔离,通过保护和隔离达到真实、保密、完整和不可否认等安全目的。第一代技术解决了很多安全问题,但是,并不是在所有情况下都能够清楚地划分并控制边界,保护措施也并不是在所有情况下都有效。当Internet网络逐步扩展的时候,人们发现保护技术在某些情况下无法起作用。比如:在正常的数据中夹杂着可能使接收系统崩溃的参数,在合法的升级程序中夹杂着致命的病毒等。随着信息空间的增长,边界保护的范围必须迅速扩大,信息保护技术在现代网络环境下已经没有能力全面保护我们的信息安全。于是出现了第二代的信息保障技术。信息保障是包括了保护、检测、响应并提供信息系统恢复能力的、保护和捍卫信息系统的可用性、完整性、真实性、机密性以及不可否认性的全部信息操作行为。尽管信息保障本身比“信息安全”有更宽的含义,但由于同时代的技术是以检测和恢复为主要代表的第二代信息安全技术,所以就把这一代安全技术称为“信息保障技术”。信息保障技术中,由于所有的响应,甚至恢复都依赖于检测结论,检测系统的性能就成为信息保障技术中最为关键的部分。因此,信息保障技术遇到的挑战是:检测系统能否检测全部的攻击?但是,所有人都认为,检测系统要发现全部的攻击是不可能的,准确区分正确数据和攻击数据是不可能的,准确区分正常系统和有木马的系统是不可能的,准确区分有漏洞的系统和没有漏洞的系统也是不可能的。早在1987年,Cohen博士就发表了关于区分病毒代码和正确程序代码的定理,认为通过分析代码是不可能区分它们的。正是由于系统漏洞千差万别,攻击手法层出不穷,完全正确地检测攻击和失效是不可能的。由于信息保障所依赖的检测技术有不可逾越的识别困难,使得信息保障技术仍没能解决所有的安全问题。同时,信息保障中的底牌技术——恢复技术也很难在短时间内达到效果。即使不断地恢复系统,但恢复成功的系统仍旧是原来的有漏洞的系统,仍旧会在已有的攻击下继续崩溃。如果说第二代信息安全技术是关于发现病毒以及如何消除病毒,那第三代技术就是关于增强免疫能力的技术,也称为信息生存技术。它假设我们不能完全正确地检测系统的入侵,比如当一个木马程序在系统中运行时,我们可能并不知道。或者说,检测系统不能保证在一定的时间内得到正确的答案,然而,关键系统不能等到检测技术发展好了再去建设和使用,关键设施也不能容忍长时间的等待,所以,需要新的安全技术来保证关键系统的服务能力。卡耐基·梅隆大学的学者给生存技术下了一个定义:所谓“生存技术”就是系统在攻击、故障和意外事故已发生的情况下,在限定的时间内完成使命的能力。生存性技术是理解风险分析最好的一种技术,因为它不仅放弃了过去绝对安全的假设,其实现机制也是针对系统使命来进行,而不是致力于完善和保护工具本身。当然,生存性技术并不能替代第一代和第二代安全技术。过去的各种保护、检测、响应和恢复技术对整个信息网络安全的发展具有重要的意义,并具有非常巨大的发展空间。生存性技术作为一种新的安全技术就如同原子弹相对于常规武器一样,在提高关键网络信息系统安全性中发挥重要作用。
目前,国内外对生存性技术已经有了大量理论研究,但还未见报道有成型的软硬件产品对信息系统的生存性进行评估。
发明内容
本发明要解决的技术问题在于,针对现有技术的不足,提供一种网络信息系统的安全性及生存性评估的系统和方法,进行系统的安全性和生存性评估。
为解决上述技术问题,本发明提供了一种网络信息系统的安全性及生存性评估的系统,包括:信息采集模块、漏洞探测模块、测试验证模块、安全性及生存性评估模块和数据库;其中,
所述信息采集模块,用于对目标系统进行信息采集,将采集的目标系统信息发送给所述漏洞探测模块;
所述漏洞探测模块,用于对目标系统进行漏洞探测,发现其存在的安全漏洞信息,并将漏洞探测结果发送给所述测试验证模块;
所述测试验证模块,用于对目标系统存在的安全漏洞进行测试验证,并将测试验证后的结果发送给所述安全性及生存性评估模块;
所述安全性及生存性评估模块,对接收到的测试验证结果进行量化,并根据量化结果对目标系统进行安全性和生存性的评估,形成评估报告;
所述数据库,用于存储各种信息数据,为所述漏洞探测模块、所述测试验证模块和所述安全性及生存性评估模块提供所需的数据。
在所述的网络信息系统的安全性及生存性评估系统中,所述漏洞探测模块包括漏洞探测控制子模块和漏洞探测服务子模块,所述漏洞探测控制子模块向所述漏洞探测服务子模块提交漏洞探测任务,接收来自所述漏洞探测服务子模块的探测结果,并将探测到的漏洞信息存入所述数据库;所述漏洞探测服务子模块实施漏洞探测任务,并把探测到的漏洞信息回传给所述漏洞探测控制子模块。
上述的网络信息系统的安全性及生存性评估系统中,所述漏洞探测模块包括基于Windows系统的漏洞探测模块和基于Linux系统的漏洞探测模块,分别用于对Windows系统的漏洞信息和Linux系统的漏洞信息进行探测。
在所述的网络信息系统的安全性及生存性评估系统中,所述测试验证模块包括入侵情景生成子模块和入侵情景实现子模块,所述入侵情景生成子模块用于生成针对目标系统的入侵情景,进而构成测试树,所述入侵情景实现子模块应用生成的入侵情景测试树,对目标系统进行测试验证。
在所述的网络信息系统的安全性及生存性评估系统中,所述测试验证模块分别为基于Windows系统漏洞的测试验证模块、基于Linux系统漏洞的测试验证模块和拒绝服务攻击测试验证模块,分别用于对Windows系统漏洞信息、Linux系统漏洞信息和拒绝服务攻击的测试验证。
在所述的网络信息系统的安全性及生存性评估系统中,所述安全性及生存性评估模块包括安全性评估子模块和生存性评估子模块,所述安全性评估子模块将测试验证得到的结果数据进行量化,根据量化值得到目标系统的安全性等级;所述生存性评估子模块对衡量系统生存性的因素指标量化,对量化的数据进行分析处理,判断该系统的生存性状态,分析影响生存性的因素,针对容易受影响的与关键服务和非关键服务相关的服务组件,从抵抗攻击、识别性、可恢复性三个方面给出改进建议。
在所述的网络信息系统的安全性及生存性评估系统中,所述数据库包括信息知识库和测试数据库,其中,所述信息知识库为系统的支撑数据库,包括:漏洞信息库、测试工具库、服务信息库、测试模式库、服务性能参数库和漏洞评估库;所述测试数据库存储了历次测试验证的结果数据,供历史检索使用,包括目标系统基本信息、漏洞信息、测试验证信息和/或生存性评估结果。
本发明还提供了一种网络信息系统的安全性及生存性评估的方法,包括以下步骤:
步骤1.对目标系统进行信息采集,根据所采集的信息生成信息树;
步骤2.从数据库中提取所述信息树中的信息可能对应的漏洞信息,对所述的漏洞信息进行探测,并将探测到的漏洞信息及相关数据存入数据库;
步骤3.对探测到的漏洞信息进行验证,得到目标系统确实存在的漏洞信息及所述漏洞的可利用性;
步骤4.根据信息树中的信息可能对应的漏洞信息,按照系统安全性等级指标项及其评价值,进行目标系统的安全性评估;
步骤5.根据信息树中的信息可能对应的漏洞信息,按照系统生存性指标及其评价值,进行目标系统的生存性评估;
步骤6.根据步骤3中的漏洞信息的验证结果、步骤4中的安全性评估结果和步骤5中的生存性评估结果,从抵抗攻击、识别性、可恢复性三个方面进行生存性分析,提出改进建议,形成系统生存性评估报告。
在所述的网络信息系统的安全性及生存性评估方法中,在步骤2和步骤3之间还包括如下步骤:
步骤21.进行参数配置,包括:配置目标系统安全性等级评估指标、目标系统服务性能评估指标和目标系统生存性评估指标。
所述的网络信息系统的安全性及生存性评估方法,步骤21中的所述目标系统安全性等级评估指标包括:漏洞自身的威胁及其对应的指标评价值、漏洞存在的可能性及其对应的指标评价值;每一主机或设备存在的各威胁等级的漏洞数;每一主机或设备的权重及其安全量化值。
所述的网络信息系统的安全性及生存性评估方法,步骤21中的所述目标系统服务性能评估指标包括:
服务性能评估指标权重,用于区分服务性能评估指标的重要性;
指标定性描述,用于在测试过程中帮助评估人员将服务性能与测试过程中的实际情况比较,确定服务性能所处的状态;
指标取值范围,用于确定该指标的评估值,判断服务性能所处的状态;
服务性能取值范围,用于确定服务性能的评估值。
所述的网络信息系统的安全性及生存性评估方法,步骤21中的所述目标系统生存性评估指标包括:
生存性评估指标权重,用于区分关键服务和非关键服务;
各生存性等级的服务性能评估值范围,用于反映不同生存性等级对服务性能评估值的不同要求;
服务恢复正常时限,用于选取判断服务性能状态的时机。
所述的网络信息系统的安全性及生存性评估方法,步骤1中所述的对目标系统进行信息采集的过程为:输入目标系统的基本信息;自动探测或人工输入目标系统的开放端口以及可能对应的服务类型;明确目标系统中正常运行的服务,目标系统中的关键服务、非关键服务和各服务对应的服务组件,提供服务运行的主机的IP地址和各服务的服务性能指标。
所述的网络信息系统的安全性及生存性评估方法,步骤2中所述的对所述的漏洞信息进行探测的过程为:
从数据库中的测试工具库提取针对所述漏洞信息的漏洞探测工具;
按照测试工具库的所属组别、运行参数和选取规则确定漏洞探测工具执行顺序;
每个漏洞探测工具完成一组漏洞探测任务,若探测到目标主机存在该组漏洞,则将探测到的漏洞信息存储到测试数据库的临时表中;若所述漏洞探测工具没有探测到漏洞,记录探测进度消息。
所述的网络信息系统的安全性及生存性评估方法,从数据库中的测试工具库提取针对所述漏洞信息的漏洞探测工具后,提示操作人员进行修改所做的选择或重新选择。
所述的网络信息系统的安全性及生存性评估方法,步骤3中所述的对探测到的漏洞信息进行验证的过程为:
根据目标系统信息树形成测试树;
选择测试树中的一条合适的入侵路径,即一个入侵情景;
执行所述的入侵情景。
所述的网络信息系统的安全性及生存性评估方法,根据目标系统信息树形成测试树后,由测试人员对所述测试树上的测试条目进行确认。
所述的网络信息系统的安全性及生存性评估方法,选择测试树中的一条合适的入侵路径,即一个入侵情景后,如测试人员对所述的入侵情景不满意,所述测试人员直接定制所述的入侵情景。
所还的网络信息系统的安全性及生存性评估方法,所述执行所述的入侵情景的过程为:
所述的入侵情景结合攻击数据库,形成可行的入侵测试脚本;
执行所述入侵测试脚本,进行攻击;
验证攻击结果,确定成功的入侵情景和被损害的组件。
所述的网络信思系统的安全性及生存性评估方法,执行所述的入侵情景时,根据每一步骤的测试结果进行动态判定,决定是否要进一步执行下一步测试。
所述的网络信息系统的安全性及生存性评估方法,测试人员根据验证结果调整入侵情景参数进行二次测试。
所述的网络信息系统的安全性及生存性评估方法,步骤4中所述的进行目标系统的安全性评估的过程为:
提取目标系统各主机可能对应的漏洞信息,从漏洞评估库的漏洞指标数据表中获取所述漏洞自身威胁的指标评价值和漏洞可能性评估值,根据所述漏洞自身威胁的指标评价值和漏洞可能性评估值,采用加权求和法得到所述漏洞对主机的威胁值,确定所述漏洞对所述主机的威胁等级,所述漏洞对所述主机的威胁等级包括“低”、“较低”、“中”、“较高”、“高”;
统计目标系统各主机不同威胁等级的漏洞数,根据每一主机的漏洞数和所述主机的权重得到每一主机的安全性评估值,再根据各主机安全等级的评估值上下限,确定每一主机的安全性等级,所述主机的安全性等级包括:“低”、“较低”、“中”、“较高”、“高”;
根据目标系统各主机的权重和主机的安全性等级的评估值,利用加权求和法对目标系统的安全性等级作出评价。
所述的网络信息系统的安全性及生存性评估方法,在所述漏洞指标数据表中,所述漏洞自身威胁的评价指标用以下字段描述:指标名称、指标类型、指标权重和指标评估值;
其中,所述指标名称,是对该指标的简单描述;
所述指标类型,包括可利用性和严重性两个指标项,所述可利用性指标包括:攻击的技术难度、漏洞存在的普遍性、攻击的隐蔽性和漏洞存在时间;所述严重性指标包括漏洞存在时间和漏洞风险等级;
所述指标权重,指指标相对于指标类型所具有的权重值,所有指标权重的和为1;
所述指标评估值,指每一漏洞指标的范围,为0-100。
所述的网络信息系统的安全性及生存性评估方法,所述漏洞自身威胁的指标评价值通过计算得到所还漏洞的可利用性和严重性的权值及评估值后,可利用性的权值与评估值的乘积与严重性的权值与评估值的乘积相加获得,并且,测试人员可根据目标系统的实际情况对获得的所述漏洞自身威胁的指标评价值进行修改。
所述的网络信息系统的安全性及生存性评估方法,步骤5中所述的进行目标系统的生存性评估的过程为:
根据灰色评估算法对采集的服务性能数据进行处理,对各服务的服务性能进行量化;
根据灰色评估算法对系统的生存性进行评估,以判断出系统生存性所处的等级,找出影响系统生存性的服务。
所述的网络信息系统的安全性及生存性评估方法,所述的灰色评估算法为:
(1)建立三角白化权函数,如下式所示:
f j k ( x ) = 0 , x ∉ [ a k - 1 , a k + 2 ] x - a k - 1 λ k - a k + 1 , x ∈ [ a k - 1 , λ k ] a k + 2 - x a k + 2 - λ k , x ∈ [ λ k , a k + 2 ] --式1
其中, λ k = a k + a k + 1 2
m个参数指标X1,X2,……,Xj,……,Xm,该参数指标的状态数为s,各参数指标的取值范围划分为s个灰类,将Xj参数指标的取值范围[a1,as+1]划分为[a1,a2],…,[ak-1,ak],…,[as-1,as],[as,as+1],令属于第k个风险等级灰类的白化权函数值为
Figure C20051008690700184
与第(k-1)个风险等级灰类的起点ak-1和第(k+1)个风险等级灰类的终点ak+2连接,得到Xj。参数指标关于第k个风险等级灰类的三角白化权函数fj k(x),j=1,2,…,m;k=1,2,…,s;
(2)计算参数指标属于各个状态灰类的隶属度,具体地,将具体的参数指标Xj,(j=1,2,…,m)代入式1,得到属于各个服务性能状态灰类k(k=1,2,…,s)的隶属度fj k(xj);
(3)计算综合聚类系数σk,具体地,根据 σ k = Σ j = 1 m f j k ( x j ) · η j 得到该参数关于状态灰类k(k=1,2,…,s)的综合聚类系数σk,其中,ηj为参数指标Xj(j=1,2,…,m)在综合聚类中的权重;
(4)判断所述参数指标所处的状态,具体地,根据 max 1 ≤ k ≤ s { σ k } = σ k * 判断在该参数指标的状态属于状态灰类k*
(5)对上述参数指标所处的状态进行综合处理,确定影响所有参数指标确定的项目的性能状态的因素;
(6)对所有参数指标确定的项目的性能进行量化,具体地,根据所述参数所处的状态,及该参数在这个状态的量化范围,确定出所述项目的量化值。
所述的网络信息系统的安全性及生存性评估方法,当根据灰色评估算法对采集的服务性能数据进行处理,对各服务的服务性能进行量化时,所述的灰色评估算法中的参数指标为服务性能指标;
当根据灰色评估算法对系统的生存性进行评估时,所述的灰色评估算法中的参数指标为服务指标。
本发明模拟人为的攻击,真实地反映了被测目标的真实状况,采用主动攻击进行测试,静态分析和动态测试相结合,既有系统生存性的定性结合定量的评估结果,又有全面的生存性改进建议,对系统生存性的演化改进非常全面。
附图说明
图1为本发明所述基于入侵情景测试网络信息系统的生存性评估系统的结构示意图;
图2为本发明所述基于入侵情景测试网络信息系统的生存性评估系统的硬件组成示意图;
图3为本发明OR结构的测试树示意图;
图4为本发明AND结构的测试树示意图;
图5为本发明所述基于入侵情景测试网络信息系统的生存性评估方法的流程图;
图6为本发明所述目标系统信息树的结构图;
图7为本发明漏洞威胁量化关系图;
图8为本发明主机威胁量化关系图;
图9为本发明主机安全量化关系图;
图10为本发明目标系统安全量化关系图;
图11为本发明中服务Xj指标关于各个风险等级灰类的三角白化权函数;
图12为本发明目标系统安生存评估层次结构图;
图13为本发明一具体实施例的测试网络拓扑图;
图14为本发明具体实施例中的系统对目标系统自动进行端口扫描后的结果示意图;
图15为本发明具体实施例中的系统对目标系统进行信息采集后的结果示意图;
图16为本发明具体实施例中的系统对WWW服务器进行漏洞探测的结果;
图17为本发明具体实施例中的系统。
具体实施方式
以下结合附图和具体实施例对本发明进行详细地说明。
本发明提供一种基于入侵情景测试网络信息系统的生存性评估系统,如图1所示,包括信息采集模块100、漏洞探测模块200、测试验证模块300、安全性及生存性评估模块400和数据库500;所述信息采集模块100,用于对目标系统进行信息采集,将采集的目标系统信息发送给漏洞探测模块200;
所述漏洞探测模块200,用于对目标系统进行漏洞探测,发现其存在的安全漏洞信息,并将漏洞探测结果发送给所述测试验证模块300;
所述测试验证模块300,用于对目标存在的安全漏洞进行测试验证,并将测试验证后的结果发送给所述安全性及生存性评估模块400;
所述安全性及生存性评估模块400对接收到的测试验证结果进行量化,并根据量化结果对目标系统进行安全性和生存性的评估,形成评估报告;
所述数据库500用于存储各种信息数据,为所述漏洞探测模块200、所述测试验证模块300和所述安全性及生存性评估模块400提供所需的数据。
其中,所述漏洞探测模块200包括基于Windows系统的漏洞探测模块和基于Linux系统的漏洞探测模块,分别用于对Windows系统的漏洞信息和Linux系统的漏洞信息进行探测。
上述的每一种漏洞探测模块又包括漏洞探测控制子模块210和漏洞探测服务子模块220,所述漏洞探测控制子模块210向所述漏洞探测服务子模块220提交漏洞探测任务,接收来自所述漏洞探测服务子模块220的探测结果,并将探测到的漏洞信息存入所述数据库500;所述漏洞探测服务子模块220实施漏洞探测任务,并把探测到的漏洞信息回传给所述漏洞探测控制子模块210。
随着安全漏洞的不断更新,漏洞探测手段也应该相应更新,因此本系统的漏洞探测部分提供漏洞探测手段的更新功能。系统所有的安全漏洞知识都存放在数据库系统的漏洞信息库中,每一条安全漏洞数据记录都关联到测试模式库和测试工具库的相应字段。即该漏洞的探测手段,在进行漏洞探测手段更新时,只需升级更新数据库记录和相应漏洞探测脚本即可。
所述测试验证模块300包括基于Windows系统漏洞的测试验证模块、基于Linux系统漏洞的测试验证模块和拒绝服务攻击测试验证模块,分别用于对Windows系统漏洞信息、Linux系统漏洞信息和拒绝服务攻击的测试验证。
上述的每一种测试验证模块又包所述测试验证模块包括入侵情景生成子模块310和入侵情景实现子模块320,所述入侵情景生成子模块310用于生成针对目标系统的入侵情景,进而构成测试树,所述入侵情景实现子模块320应用生成的入侵情景,对目标系统进行测试验证。
所述安全性及生存性评估模块400包括安全性评估子模块410和生存性评估子模块420,所述安全性评估子模块410将测试验证得到的结果数据进行量化,根据量化值得到目标系统及系统中主机的安全性等级;所述生存性评估子模块420对衡量系统生存性的因素指标量化,利用数学方法对量化的数据进行分析处理,判断该系统的生存性状态,分析影响生存性的因素,针对容易受影响的与关键服务和非关键服务相关的服务组件,从抵抗攻击、识别性、可恢复性三个方面给出改进建议。
所述数据库500包括信息知识库510和测试数据库520。
所述信息知识库510为系统的支撑数据库,包括:漏洞信息库511、测试工具库512、服务信息库513等信息数据库,以及测试模式库514、服务性能参数库515、漏洞评估库516等知识库。其中,所述漏洞信息库511,描述了系统漏洞信息,详细地记录了各种漏洞的信息,包括漏洞的编号、漏洞风险等级、漏洞CVE类型、漏洞的后果特征以及漏洞说明,同时也为用户提供了系统出现的漏洞的风险指标,以及为用户提供了如何防止漏洞的方法。
所述测试工具库512,包括测试工具的编号、存放路径、危险程度、测试结果、所属组别、运行参数、选取规则以及运行说明。同时也提供了每个测试工具对应的抵抗、识别和恢复的方法。所述的测试工具是指由硬件或软件实现的、可以利用系统漏洞对指定目标的一种或多种性能进行测试的功能。
所述服务信息库513,列出了系统中可能存在的服务名称、版本、提供商、默认的开放端口以及对应的可能存在的漏洞编号。
所述测试模式库514,分类列出了测试模式名称、描述、对应的测试工具编号,以及抵抗、识别和恢复的方法。
所述服务性能参数库515,列出了量化每项服务的性能指标名称,不同状态下的量化值等。
所述漏洞评估库516,从对该漏洞攻击的技术难度、该漏洞存在普遍性、对该漏洞攻击的隐蔽性、该漏洞存在的时间、漏洞风险等级五方面对漏洞的威胁性进行了量化。包括考察项名称、权重、默认值、类型等。
所述测试数据库520存储了历次测试验证的结果数据,供历史检索使用。主要包括目标系统基本信息、漏洞信息、测试验证信息和生存性评估结果。
所有数据库内容都可以在系统升级更新的时候进行升级更新,但最经常升级更新的是知识库。漏洞探测库要求和漏洞探测脚本同步更新,至少漏洞探测脚本支持的漏洞在漏洞探测库中必须有对应项。
上述基于入侵情景测试网络信息系统的生存性评估系统从硬件组成上划分,包括测试控制台A、Linux网络漏洞测试仪B和拒绝服务攻击测试仪C三台设备,如图2所示。所述测试控制台A安装Windows操作系统,运行主控界面,完成人机交互控制、目标系统信息采集、基于Windows系统的漏洞探测模块的功能、基于Windows系统漏洞的测试验证模块的功能、安全性及生存性评估模块400、评估报告的生成,其上还安装数据库500;所述Linux网络漏洞测试仪B完成基于Linux系统的漏洞探测模块的功能、基于Linux系统漏洞的测试验证模块的功能;所述拒绝服务攻击测试仪C是利用专用网络处理器IXP1200开发的硬件,专门完成拒绝服务攻击(DoS)测试。
上述的测试验证模块300是本系统的关键组成部分。鉴于目前的实际测试并不是简单的对孤立主机的测试,而是有计划和针对性的对服务性能的某项指标进行测试,所以本发明对目标系统的测试并不是简单的由多个测试工具叠加后进行的测试,而是引入入侵情景的概念,本发明根据入侵情景,对目标信息系统的漏洞进行测试验证。具体做法是由入侵情景实现子模块执行入侵测试脚本,验证攻击结果,确定成功的入侵情景和被损害的组件,为以后的生存性分析提供依据。所述的入侵情景是由一个或多个测试工具组合在一起使用而构成的入侵情景,该入侵情景将尽量模拟真实的入侵行为。其中,入侵情景由多个入侵步骤构成,(所述测试工具实际上就是入侵工具,测试步骤就是入侵的步骤)根据黑客入侵系统所经历的各个阶段进行分解,对每个阶段使用一个和多个测试验证工具进行模拟入侵测试,各个阶段的测试验证工具合起来组成了一个入侵情景。一个入侵情景可以模拟一种黑客入侵的基本模式和过程,从这个角度来说,入侵情景最终映射为一个或多个测试工具。
针对目标系统的多个入侵情景又构成了针对目标系统的测试树。所谓测试树,是指由多种入侵情景构成的等级结构,一般来说,测试树包括AND和OR两种构成关系,如图3、4所示。图中T0、T1、T2……Tn表示的是测试者利用攻击手段要达到的测试(攻击)目标。图3为OR结构的测试树示意图,在OR结构下,测试者要达到测试(攻击)目标T0,只需实现测试(攻击)目标T1至测试(攻击)目标Tn中的任何一个就可以了。图4为AND结构的测试树示意图,在AND结构下,测试者必须先实现测试(攻击)目标T1至测试(攻击)目标Tn,才能达到测试(攻击)目标T0。
测试验证模块300由两部分构成,即入侵情景生成子模块310和入侵情景实现子模块320。入侵情景生成子模块310主要用于帮助用户生成针对特定系统的入侵情景,进而构成测试树。入侵情景实现子模块320主要应用生成的入侵情景,对目标信息系统的漏洞进行测试验证,验证攻击结果,确定成功的入侵手段和目标系统中被损害的组件,为以后的安全性分析提供依据。在本发明中,系统将根据探测到的漏洞,自动选择合适的入侵情景并自动加载,也就是说,漏洞探测结果将作为入侵情景自动加载的依据。另外,漏洞探测结果也是系统生存性评估的一部分依据,将根据漏洞的威胁等级等因素确定目标系统的安全等级。
所述安全性及生存性评估模块400包括安全性评估子模块410和生存性评估子模块420,所述安全性评估子模块410将测试验证得到的结果数据进行量化,根据量化值得到目标系统及系统中主机的安全性等级;量化过程分为以下三个阶段:
1.漏洞对主机的威胁等级:由漏洞自身的威胁对应的指标评价值和漏洞存在的可能性对应的指标评价值确定。
2.主机的安全性等级:由该主机存在的各威胁等级的漏洞数、所述主机的权重和各主机安全等级的评估值上下限确定。
3.系统的安全性等级:由各主机的权重和主机的安全性等级确定。
系统综合每个量化阶段所得的量化值,最终得到对目标系统的安全评估等级。
所述漏洞自身威胁的指标评价值的来源:从信息采集模块100采集的信息中提取出的目标系统可能对应的漏洞信息,从漏洞评估库的漏洞指标数据表中获取这些漏洞自身威胁的指标评价值。在漏洞指标数据表中,漏洞自身威胁的评价指标用以下字段描述:指标名称、指标类型、指标权重、指标的评估值。
指标类型包括“可利用性”和“严重性”两个项,“可利用性”指标包括“攻击的技术难度”、“漏洞存在的普遍性”、“攻击的隐蔽性”、“漏洞存在时间”;“严重性”指标包括“漏洞存在时间”和“漏洞风险等级”。
所述指标权重是指,指标相对于指标类型所具有的权重值,该权重值代表了该种指标在该类型指标中的重要性,所有指标权重的和为1;各指标的评估值的范围为0-100,该评估值可由操作人员在实际测试评估中进行修改,代表操作人员对实际目标系统中该指标重要性的评价分值。每一个指标都有不同的评估值,该值正是要在系统进行评估的过程中得到,只有得到了这个值,系统才能评估主机的安全等级。具体从数据库的设计上来说,所有指标包括:
漏洞存在的普遍性,评价因素:存在该漏洞的软件的使用广泛程度;评价方法:扫描探测结果描述与经验判断;评价值:0-100。
漏洞存在时间,评价因素:漏洞公布时间;评价方法:扫描探测结果描述与经验判断;评价值:0-100。
攻击的技术难度,评价因素:有无现成的攻击工具、直接利用该漏洞的技术难度;评价方法:扫描探测结果与攻击验证描述、经验判断;评价值:0-100。
攻击条件关联性,评价因素:利用该漏洞攻击是否需要其它条件,如其它漏洞等;评价方法:扫描探测结果描述与经验判断;评价值:0-100。
攻击的资源消耗,评价因素:CPU利用率、内存使用、攻击需持续时间等;评价方法:扫描探测结果描述与经验判断:评价值:0-100。
漏洞风险等级,评价因素:Nessus提供的风险等级(高、中、低等);评价方法:扫描探测结果描述;评价值:0-100。
攻击后果严重程度,评价因素:利用该漏洞攻击造成的破坏或窃取信息的严重程度;评价方法:扫描探测结果与经验判断;评价值:0-100。
攻击的隐蔽性,评价因素:利用该漏洞攻击是否容易被发现;评价方法:扫描探测结果与攻击验证描述和经验判断;评价值:0-100。
攻击的可处理性,评价因素:常见的防御系统对利用该漏洞进行的攻击能否进行处理;评价方法:扫描探测结果与攻击验证描述、经验判断;评价值:0-100。
安全性评估子模块410通过读取漏洞评估库的漏洞指标数据表各项数据值(这些值也可以由操作人员在实际评估过程中根据实际情况进行修改)可以得到所有漏洞的“可利用性”和“严重性”的权值及评估值,将“可利用性”和“严重性”权值分别乘以评估值,然后将两项值相加,即可得到该漏洞自身的威胁指标评价值。其中,权值、评估值不是计算得来,是从数据库中读取得来的,但这两个数据项可以由操作人员在实际评估过程中根据实际情况进行修改。
在系统取得指标评价值的过程中,系统在得到所有漏洞自身威胁的指标评价值后显示给测试人员,测试人员可根据目标系统的实际情况对漏洞自身威胁的指标评价值进行修改。
生存性评估子模块420首先对可以衡量一个网络系统生存性的因素指标量化,在本发明中,这些可以衡量一个网络系统生存性的因素指标是指目标系统在遭受攻击时的关键服务和非关键服务的性能变化指标。对服务性能指标的描述包括指标名称、指标描述、指标权重、指标状态和评估值。“指标名称”和“指标描述”是对该项服务性能指标的简要说明;“指标权重”是指该项指标对于该服务正常运行的重要性;“指标状态”描述服务受到攻击后的状态,内容为“正常状态”、“轻度损伤”、“中度损伤”、“高度损伤”、“瘫痪状态”五项;“评估值”是指该服务受到攻击后的状态分值,该分值可由测试人员根据测试结果结合“指标状态”在一定的上下限范围内进行微调。对于不同的网络结构,网络内部的关键服务和非关键服务的定义也不同。比如一个Web网站除了http服务器可能还有FTP服务器,但是FTP服务器显然不是关键服务。但这种情况在以FTP服务为主的网络系统中则恰恰相反,所以我们必须要定义可能影响网络正常提供服务的关键服务和非关键服务。具体的定义由不同目标系统的主要功能而定。在对服务性能各指标进行量化后,系统利用数学方法对量化的数据进行分析处理,判断该网络系统的生存性状态,然后分析影响生存性的因素,针对容易受影响的与关键服务和非关键服务相关的服务组件,从抵抗攻击、识别性、可恢复性三个方面给出改进建议。
本发明还提供了一种基于入侵情景测试网络信息系统的生存性评估方法,如图5所示,包括以下步骤:
步骤1.对目标系统进行信息采集,根据所采集的信息生成信息树;
步骤2.从数据库中提取所述信息树中的信息可能对应的漏洞信息,对所述的漏洞信息进行探测,并将探测到的漏洞信息及相关数据存入数据库;
步骤3.对探测到的漏洞信息进行验证,得到目标系统确实存在的漏洞信息;
步骤4.根据信息树中的信息可能对应的漏洞信息,按照系统安全性等级指标项及其评价值,进行目标系统的安全性评估;
步骤5.根据信息树中的信息可能对应的漏洞信息,按照系统生存性指标及其评价值,进行目标系统的生存性评估;
步骤6.根据步骤3中的漏洞信息的验证结果、步骤4中的安全性评估结果和步骤5中的生存性评估结果,从抵抗攻击、识别性、可恢复性三个方面给出改进建议,形成系统生存性评估报告。
具体如下:
第一步,测试人员要与目标系统管理人员交流,对目标系统生存性的需求进行分析。该步骤分析系统的生存性需求,是进行生存性评估分析的基础。为了使测试人员能直观地与目标系统管理人员交流,该步骤引入统一建模语言(Unified Modeling Language,简称UML)分析机制,利用Use Case图和序列图与客户交流。
测试人员首先根据目标系统管理人员提供的系统设计和需求文档,通过实地考察以及与他们的交流,分析提取系统能够提供的功能,以Use Case图的形式给出;分析系统的组成要素,提取系统的架构,通过序列图的形式对系统提供的功能进行分析,发现系统组成要素的属性;分析目标系统存在的内部用户主机。
然后,测试人员从目标系统提供的功能中选取系统出现故障时必须能够继续提供的服务,定义为关键服务。定义为保证关键服务的持续性可以暂时挂起、停止的服务为非关键服务。通过UML序列图工具分析提供服务所必须的数据和组件,为下一步的测试分析收集必要信息。关键服务和非关键服务是抽象的概念,它由一个或多个具体的服务组件组成。比如一个HTTP关键服务由HTTP服务组件和后台的数据库服务器组件组成。关键服务和非关键服务的各项服务性能指标权重不同,如,关键服务的某个次要性能的性能指标权重可能比此非关键服务的某个重要性能的性能指标权重大。
第二步,测试人员输入目标系统的基本信息,包括IP地址范围、主机操作系统类型版本、IP地址等等;
第三步,测试人员确定目标系统提供的服务,在本发明中,可以采用自动探测,也可以采用人工手动输入;
第四步,如果测试人员选择自动探测,则信息采集模块开始自动探测目标系统存在的服务,获取目标系统的开放端口以及可能对应的服务类型;
第五步,如果测试人员选择人工手动输入,则本发明给出人机交互界面,让测试人员输入目标系统的开放端口以及对应的服务类型信息;
第六步,测试人员将与目标系统管理人员交流所得信息与自动探测或手动输入的信息进行结合考虑,进一步明确指定目标系统中确实正常运行的服务,明确其中的关键服务和非关键服务以及各服务对应的服务组件、提供服务运行的主机的IP地址和各服务的服务性能指标。在本发明中,采用自动探测和手动输入的结合考虑的是黑盒测试和灰盒测试的结合。在黑盒测试中,测试人员并不知道目标网络系统的网络部署以及服务等情况,所以必须要自动探测;灰盒测试可以由测试人员与管理员交流后协助完成测试。在手动输入时采用自动测试可以发现一些手动会漏输的数据,如内网某个用户开了一个临时的FTP一直未关,很可能会造成生存性威胁。
第七步,本发明根据前六步获得的信息从数据库中提取出目标系统可能对应的漏洞信息。
第八步,本发明根据信息采集结果生成目标系统信息树,至此,对目标进行的信息采集工作已经完成。目标系统信息树的结构如图6所示。
第九步,漏洞探测控制子模块从数据库中的测试工具库提取针对这些漏洞信息的漏洞探测工具,并提示操作人员选择必要的漏洞探测工具。
第十步,漏洞探测控制子模块将用户选中的漏洞探测工具形成工具列表,提交至漏洞探测服务子模块。
第十一步,漏洞探测服务子模块自动调度漏洞探测工具的执行顺序,每个漏洞探测工具完成一组漏洞探测任务,若探测到目标主机存在该组漏洞,则漏洞探测服务子模块向漏洞探测控制子模块发送探测到的漏洞信息,并存储到测试数据库的临时表中;若该漏洞探测工具没有探测到漏洞,则向漏洞控制子模块发送探测进度消息。
其中,漏洞探测工具按照测试工具库的所属组别、运行参数和选取规则三个数据表项来确定执行顺序,某些测试工具需要在特定测试工具成功后才能运行,这时候先完成的工具需要将测试结果传给待启动的测试工具,这些都在选取规则中有说明。
探测工具的基本原理是模拟一次攻击,如攻击成功,则表明存在该漏洞;具体的攻击方式,如通过对目标系统发送各种特殊数据包,从目标系统的回应数据来确定是否存在该漏洞;另外还有些根据漏洞的不同而各有不同的攻击方式,涉及到具体的漏洞探测工具的编制技术,在此不赘述。
第十二步,漏洞探测服务子模块探测完毕后,向漏洞探测控制子模块发送结束信息。漏洞探测控制子模块收到结束信息后将测试数据库临时表中目标存在漏洞信息写入测试数据库中。在本发明中,使用临时表作中间结果的临时存储地,可以减少写入数据库的次数,提高系统效率。至此,系统的漏洞探测工作完成。
第十三步,测试人员配置目标系统各主机安全性等级及量化值评价指标项,包括各主机的权重、各主机系统安全性等级的主机安全评估值上下限值,这些指标值用于对目标系统进行安全性评估。其中,不同权重的主机其不同等级的安全评估值不一样,比如一台非常关键的服务器,其权重很高,那么只有其安全评估值为95-100的时候那么其等安全性等级才能为高,而某台非关键的用户主机其评估值为80-90时其安全性等级即可为高,“各主机系统安全等级的主机安全评估值”就是描述这种对应关系。本发明从以下三个层次对目标系统的安全性进行量化。
(1)漏洞对主机的威胁等级:将漏洞对主机的威胁等级从“漏洞自身威胁”和“漏洞存在可能性”两方面进行量化,其量化关系如图8所示,由漏洞自身的威胁指标评价值和漏洞存在的可能性指标评价值确定,分为五级:“低”、“较低”、“中”、“较高”、“高”。
其中,漏洞自身的威胁从“可利用性”和“严重性”两方面进行量化,如图7所示。“可利用性”细化为4项:漏洞存在普遍性、漏洞存在时间、攻击隐蔽性、攻击技术难度;“严重性”细化为2项:漏洞风险等级、漏洞存在时间。
(2)主机的安全性等级:主机的安全性等级由该主机存在的各威胁等级的漏洞数、各主机的权重和各主机系统安全性等级的主机安全评估值上下限值确定,分为五级:“低”、“较低”、“中”、“较高”、“高”。主机的安全量化从上述五个方面来评估,如图9所示。
(3)系统的安全性等级:根据目标系统各主机的权重和和主机的安全性等级的评估值,利用加权求和法对目标系统的安全性等级作出评价,系统的安全性等级分为五级:“低”、“较低”、“中”、“较高”、“高”。其量化关系如图10所示。
第十四步,测试人员设置目标系统服务性能评估指标,这些指标值用于对目标系统进行生存性评估。主要定义如下指标:
服务性能评估指标权重,用于区分服务性能评估指标的重要性。
指标定性描述,为指标在服务性能各个状态下的定性描述,用于在测试过程中帮助评估人员将服务性能与测试过程中的实际情况比较,确定服务性能所处的状态。
指标取值范围,指标在服务性能各个状态的取值范围,用于确定该指标的评估值,判断服务性能所处的状态。
服务性能取值范围,定义了该服务的性能评估值在各个状态的取值范围,用于确定服务性能的评估值。
第十五步,测试人员设置目标系统生存性评估指标,这些指标值用于对目标系统进行生存性评估。在本步骤中,主要定义以下指标:
目标系统生存性评估指标权重,用于区分关键服务和非关键服务。
各生存性等级(低生存性等级、中等生存性等级和高生存性等级)的服务性能评估值范围,不同生存性等级对服务性能评估值有不同要求,采用取值范围反映这一要求。
服务恢复正常时限,对于关键服务和非关键服务,用户对服务性能恢复正常状态有时间要求,理想状态下,服务应该在确定的恢复时间内恢复正常的服务性能,本项值用于选取判断服务性能状态的时机。
第十六步,在本发明中,对测试人员指定的服务给出其可能存在的5种状态,状态等级包括瘫痪状态、重度损伤、中度损伤、轻度损伤和正常状态,以便测试人员在测试验证过程中对服务状态进行判断。
第十七步,入侵情景生成子模块根据采集到的目标系统信息和探测到的目标系统漏洞信息,从预定义的入侵情景选择合适的入侵情景,根据目标系统信息树形成测试树,并提交给测试人员进行修改。如测试人员不满意本发明提供的入侵情景,测试人员可以直接定制此次的入侵情景。此步骤涉及以下概念,分别解释如下:
测试工具:由硬件或软件构成,可以利用系统漏洞对指定目标的一种或多种性能进行测试。
入侵情景:由一个或多个测试工具组合使用构成真实的入侵情景,以达到测试目的。
测试树:多种入侵情景构成的等级结构。
测试树模型借鉴攻击树概念,是一种对系统的安全威胁进行建模的方法,入侵情景分析用测试树模型来描述,通过测试树列举出对系统所有可能存在的入侵路径,结合攻击工具库,形成可行的入侵测试脚本。测试树的建模分信息采集、漏洞发现、目标攻击、权限提升、上载木马、信息攫取、二次攻击七个阶段进行。具体测试流程包括:漏洞利用测试、Shell通信测试、木马上传测试、远程控制测试、服务破坏测试、信息获取测试和拒绝服务测试,基本模拟了网络攻击中实施攻击的流程。
入侵情景根据分析的深度确定,不一定只针对提供关键服务和非关键服务的组件,为充分分析系统面临的威胁,本发明还针对其他组件,以充分对目标系统所有可能存在弱点组件进行分析。入侵测试脚本的内容包括入侵工具、入侵目的、入侵步骤、目标组件等。
第十八步,测试人员配置好入侵情景后,本发明根据该情景自动生成测试树提交给目标系统管理员,由其对测试树上的测试条目进行确认。
第十九步,入侵情景实现子模块根据入侵情景,对目标系统的漏洞进行测试验证。入侵情景实现子模块执行入侵测试脚本,进行攻击;验证攻击结果,确定成功的入侵情景和被损害的组件,为以后的生存性分析提供依据。所述的入侵情景是由一个或多个测试工具组合在一起使用而构成的入侵情景,该入侵情景将尽量模拟真实的入侵行为。其中,入侵情景由多个入侵步骤构成,它根据黑客入侵系统所经历的各个阶段进行分解,对每个阶段使用一个和多个测试验证工具进行模拟入侵测试,各个阶段的测试验证工具合起来组成了一个入侵情景。一个入侵情景可以模拟一种黑客入侵的基本模式和过程,从这个角度来说,入侵情景最终映射为一个或多个测试工具。
在进行测试验证的过程中,目标系统管理员根据生存性需求中定义的服务性能指标,监控指定服务性能状态的变化,对服务性能指标进行量化,采集并填写服务性能变化数据报告。同时,可以对每一步的测试结果进行动态判定,决定是否要进一步执行下一步测试。
测试验证结束后,测试人员可根据结果调整入侵情景参数进行二次测试,最终达到最佳的测试效果。至于如何调整入侵情景参数,需要测试人员根据其经验进行调整,有经验的,特别是具有网络攻击经验的测试人员可以发现测试树中某个测试步骤不能成功的原因,从而对入侵情景参数进行调整,这完全与测试人员的经验有关,系统提供了这一环节和接口。
第二十步,测试验证工作完成后,形成验证报告,该报告与目标系统管理员填写的服务性能变化数据报告一起,形成测试结果,保存到数据库中,作为安全性评估的数据来源。
第二十一步,提取第七步中获得的目标系统各主机可能对应的漏洞信息,从漏洞评估库的漏洞指标数据表中获取这些漏洞自身威胁的指标评价值。在本发明中,为了不漏下每一个漏洞信息对目标系统的影响,不仅要得出测试验证后确实存在的漏洞信息对目标系统的影响,还要计算没有验证出来的漏洞信息对主机的影响。所以,在本步骤中,对所有可能的漏洞信息都给出漏洞自身威胁的指标评价值。
在漏洞指标数据表中,漏洞自身威胁的评价指标用以下字段描述:指标名称、指标类型、指标权重、指标的评估值。其中,指标名称是对该指标的简单描述;指标类型包括“可利用性”和“严重性”两个指标项,“可利用性”指标包括“攻击的技术难度”、“漏洞存在的普遍性”、“攻击的隐蔽性”、“漏洞存在时间”;“严重性”指标包括“漏洞存在时间”和“漏洞风险等级”;指标权重是指指标相对于指标类型所具有的权重值,所有指标权重的和为1;指标评估值的范围为0-100,漏洞自身威胁的指标评价值是指该漏洞自身的威胁评估值。“漏洞存在时间”对“可利用性”和“严重性”分别具有不同的权值和评估值。
本发明通过该指标库可以计算所有漏洞的“可利用性”和“严重性”权值及评估值,权值乘以评估值相加,即可得到漏洞自身的威胁评估值。
系统在获取所有漏洞的评估值后显示给测试人员,测试人员可根据目标系统的实际情况对漏洞的威胁评估值进行修改。
第二十二步,对于第七步中获得的目标系统可能存在的漏洞信息中,如探测出不存在的其它漏洞,则反馈给测试人员,要求测试人员配置确认这些漏洞存在的可能性。对于测试验证中确认已经存在的漏洞,系统自动认为这部分漏洞存在的可能性为1。
第二十三步,本发明根据漏洞可能性评估值和漏洞自身威胁评估值,采用加权求和法即可得到该漏洞对主机的威胁值,以此评价漏洞对主机的威胁等级。
第二十四步,根据上一步骤的结果,统计目标系统各主机不同威胁等级的漏洞数。
第二十五步,本发明根据测试人员配置的评价指标项,包括各威胁等级漏洞数个数、各主机的权值利用加权求和法得到各主机的安全性等级评估值,再根据各主机安全等级的评估值上下限,对主机安全性等级及量化值做出评价。
第二十六步,根据目标系统各主机的权重和和主机的安全性等级的评估值,利用加权求和法对目标系统的安全性等级作出评价。至此,本发明完成对目标系统的安全性评估工作。
第二十七步,本发明根据灰色评估算法对采集的服务性能数据进行处理,对各服务的服务性能进行量化。首先根据服务性能指标构造三角白化权函数,然后根据白化权函数和各指标的量化值来计算各指标在各服务的性能状态隶属度,最后计算各服务性能状态的综合聚类系数,根据综合聚类系数判断服务所处的状态,得到服务性能的评估值。根据灰色评估算法对采集的服务性能数据对各服务的服务性能进行量化的具体过程如下:
(1)建立三角白化权函数
根据如下的规则来构造三角白化权函数:设某服务有m个服务性能指标X1,X2,……,Xj,……,Xm,该服务的性能状态数为s,各服务性能指标的取值范围划分为s个灰类,将Xj指标的取值范围[a1,as+1]划分为[a1,a2],…,[ak-1,ak],…,[as-1,as],[as,as+1]。
Figure C20051008690700341
属于第k个风险等级灰类的白化权函数值为1,
Figure C20051008690700343
与第(k-1)个风险等级灰类的起点ak-1和第(k+1)个风险等级灰类的终点ak+2连接,得到Xj指标关于第k个风险等级灰类的三角白化权函数fj k(x),j=1,2,…,m;k=1,2,…,s,其表达式如式1所示。对于fj 1(x)和fj s(x),可分别将Xj指标取数域向左右延拓至a0,as+2,如图11所示。
f j k ( x ) = 0 , x ∉ [ a k - 1 , a k + 2 ] x - a k - 1 λ k - a k + 1 , x ∈ [ a k - 1 , λ k ] a k + 2 - x a k + 2 - λ k , x ∈ [ λ k , a k + 2 ] (式1),其中, λ k = a k + a k + 1 2 .
(2)计算各服务性能指标属于服务性能各个状态灰类的隶属度
在该步骤中,计算各服务性能指标Xj(j=1,2,…,m)属于各个服务性能状态灰类k(k=1,2,…,s)的隶属度fj k(xj)。对于Xj指标的一个观测样点值,也就是指标评价值xj,将其代入式1中,可以依次计算出其属于服务性能状态灰类k(k=1,2,…,s)的隶属度fj k(xj)。
(3)计算综合聚类系数σk
得到各服务性能指标属于各服务性能状态灰类的隶属度后,计算该服务关于服务性能状态灰类k(k=1,2,…,s)的综合聚类系数 σ k = Σ j = 1 m f j k ( x j ) · η j , 其中,ηj为服务性能指标Xj(j=1,2,…,m)在综合聚类中的权重。
(4)判断该服务的服务性能所处的状态
某个状态灰类的综合聚类系数越大,则该服务的性能处于该状态的可能性越强。我们可以根据 max 1 ≤ k ≤ s { σ k } = σ k * 来判断在该服务的服务性能状态属于状态灰类k*
(5)确定对服务性能状态影响较大的因素
对上述所有服务性能指标所处的状态进行综合处理,确定对服务性能状态影响较大的因素。所述的综合处理是指:从所有的服务性能指标X1所属的状态灰类k+1的隶属度fj k+1(x1)中找到为0的那一个服务性能指标,若所述参数指标Xl属于状态灰类k+1的隶属度 f j k + 1 ( x 1 ) = 0 , 则确定该服务属于服务性能状态灰类k*的可能性最大,属于服务性能状态灰类k*+1的可能性极小。这样,为其形成的建议提供依据。例如,所述的建议可以为:如果该服务要从目前的状态k*向状态k*+1过渡,服务指标Xi对服务性能状态的影响较大,要想改善服务的性能就要仔细分析影响该项评估指标的因素,采取相应的生存性措施来提高该服务在遭受攻击、故障或意外事故时的服务性能。
(6)对服务的性能进行量化
以上对各服务性能进行的评估是根据定量的信息得出定性的评估结果,只是判断出各服务的性能处于什么状态,要进行系统生存性的评估,还需要根据定性的评估结果对服务性能进行量化。当定义各服务的服务性能状态时,可以为相应的服务性能状态定义一个量化值范围,对服务性能的量化不能超出此范围,以限制对服务性能量化的随意性。
总结以上对各服务性能进行评估的过程,我们首先根据各个服务性能评估指标的定量信息利用基于三角白化权函数的灰色评估法得到一个定性的评估结果--服务性能所处的状态,然后对服务性能进行量化。这样做的目的是尽量避免直接对各服务的服务性能进行量化所带来的主观性和随意性。
第二十八步,对所有的服务性能量化完成后,系统根据灰色评估算法对系统的生存性进行评估,以判断出系统生存性所处的等级(即,低生存性等级、中等生存性等级和高生存性等级),找出对系统生存性影响较大的服务。对系统的生存性进行评估的流程和算法,与对服务的性能评估类似,只要将服务性能评估指标替换为服务即可。系统的生存性等级由所有服务的服务性能量化值确定,每一服务的服务性能量化值由其服务性能指标确定,如图12所示。
评估生存性并不只是简单的为了得到一个评估值,而是为了验证系统的生存性是否符合系统的要求,以判断系统生存性是否满足系统生存性需求分析阶段所定义的生存性需求。根据生存性需求分析建立的指标,对服务性能的评估值进行处理,判断系统的生存性是否符合系统的要求。服务性能评估指标和系统生存性评估的指标在第十五步、第十六步分别由测试人员进行配置。表1、2是指标配置的一个示例。
表1服务性能评估的指标表
Figure C20051008690700361
表2系统生存性评估的指标表
  名称   权重   指标在“低生存性等级”的取值范围   指标在“中等生存性等级”的取值范围   指标在“高生存性等级”取值范围
  关键服务A性能   80   0≤x<sub>1</sub>≤20   20≤x<sub>1</sub>≤80   80≤x<sub>1</sub>≤100
  非关键服务B性能   20   0≤x<sub>2</sub>≤50   50≤x<sub>2</sub>≤90   90≤x<sub>2</sub>≤100
假设已经分析出系统中存在关键服务A,我们用服务性能指标a和b来评估服务A的性能,两个指标的权重和为100,服务性能评价值范围为0到100,指标a在“瘫痪状态”下的描述是指该指标在服务A处于“瘫痪状态”时的表现,指标a在“瘫痪状态”下的取值范围是指在服务A处于“瘫痪状态”时该指标评估值应当取值的范围,其他状态依次类推。
至此,本发明已完成对目标系统的生存性评估,已得出影响系统生存性的相关服务,进而得到影响该服务性能的因素,并可确定系统生存性等级和各服务以及各服务性能对生存性等级的影响程度。
第二十九步,本发明根据入侵分析与测试和生存性评估的结果,针对成功的入侵情景和易受损害的组件(提供关键服务的组件优先级最高,提供非关键服务的组件优先级次之,其他组件优先级最低),从3R方面进行生存性分析。针对成功的入侵情景及受损组件,对比现有的安全策略和系统架构,从安全策略和系统架构两方面提出改进建议,形成评估分析报告。改进建议包括针对组件及类型(应用程序、网络等)、入侵情景、3R建议、预期效果、实施步骤等。
综上所述,本发明的特点和优点主要在于:
1.本发明针对生存性研究和生存性评估的实际需求,提出了一种定性与定量结合、在一定程度上便于自动化分析处理的评估分析模型。该模型侧重于模拟人为的攻击,利用主动攻击测试方法,借鉴并改善SSA(美国系统软件联合公司)的定性分析模型和定量分析模型,采用“从服务性能进行生存性评估,从3R进行生存性改进”和“静态分析、动态测试”的基本思路,该生存性评估分析模型由四个步骤组成:生存性需求分析、入侵分析与测试、生存性评估、生存性分析,是一个螺旋的动态演化模型。本发明最终的评估分析结果既有系统生存性的定性结合定量的评估结果,又有全面的生存性改进建议,对系统生存性的演化改进相当全面。
2.本发明在测试验证过程中采用的入侵情景测试分析技木解决了目前的安全评估技术不能真实反映被测目标真实状况的问题。常见的安全评估技术就是仅仅根据被测试网络信息系统中安全策略配置、系统和应用服务存在的漏洞或弱点等静态信息进行评估分析,无法动态验证,并不能真实反映被测试网络信息系统的真实情况。
本发明采用了静态测试与动态分析结合的方法,为实现真实的网络攻击模拟测试,特别引入和实现了入侵情景测试。本发明针对可能存在的漏洞,加载一系列的测试工具,组成测试树,按照其在攻击中所处的位置进行加载,组成入侵情景。测试验证流程完全模拟实际情况下网络攻击中实施攻击的流程,本发明可以对每一步的测试结果进行动态判定,决定是否要进一步执行下一步测试。
本发明为高级用户提供的入侵情景设计功能,高级用户可以针对特定环境、被测网络信息系统特点和测试需求,自己设计入侵情景,添加入侵工具,增强了本发明的可扩展性。针对一般用户,本发明支持简单的入侵情景设计,极大的增强了本发明的灵活性。
本发明还提供入侵情景加载功能,入侵情景的加载有两种形式:自动加载和手动加载。本发明会根据测试目标开放的服务和存在的漏洞自动加载可利用的入侵情景,灵活智能,可有效减轻用户的工作量。
对测试验证结果的判断有两种,一是本发明的测试验证结果,一是用户根据实际攻击情况给出的测试结果。这种主观和客观判定方式相结合的方法更能反映被测目标的真实情况。
3.本发明采用的软硬件结合的DoS攻击测试技术提高了适用的可测目标,使得本发明既可以适用于小型网络系统也适用于大型网络系统。
传统技术中,一般利用软件在PC机上实现DoS攻击测试,其优点是功能灵活,易于伪造数据包,控制包的格式和大小等,缺点是速率有限,要进行大流量的测试需要大量的PC机。本发明基于网络处理器的硬件DoS攻击测试的优点是可以进行高速率、大流量、多种类型的模拟攻击测试,可以比较真实的模拟真实环境中的网络在遭受大规模DoS测试的情形。
本发明采用INTEL公司网络处理器IXP1200实现了专用的DoS攻击测试手段,通过硬件模拟真实的DoS攻击场景,可精确地控制DoS发送速率和攻击包发送数量,可方便地增加新的攻击接口,可实现攻击包的线速发送。
4.本发明采用的基于信息预采集的灰盒测试技术,结合了评估测试领域中白盒测试和黑盒测试的优点。目前,国内外大多数的扫描器、脆弱性扫描系统和安全评估系统只是支持黑盒测试,将扫描、漏洞探测结合到了一起,用户无法将网络现有的信息作为已知信息输入到系统当中,如国外著名的漏洞扫描器Nessus、EEYE的Retina漏洞扫描器、国内的扫描器X-Scanner、启明星辰的天镜脆弱性扫描系统等。实际上,真实的系统攻击其信息并不仅仅来源于网络,社会工程学也是攻击者获取目标系统信息的手段之一。在采用社会工程学进行攻击时,攻击者会对目标系统的基本信息进行基本了解,这样,单纯的黑盒测试显然无法达到真正的测试评估目的。
本发明在进行测试评估的时候,增加了信息预采集环节,之后的测试验证将基于这些对目标系统的预采集信息,这样更能够反映目标系统真实的脆弱性,使测试评估结果更具有完备性。
下面通过一个应用实例来说明本发明的实施方案。
本应用实例的系统结构如图2所示,包括测试控制台A、Linux网络漏洞测试仪B和拒绝服务攻击测试仪C三台设备,所述测试控制台A安装Windows操作系统,运行主控界面,完成人机交互控制、目标系统信息采集、基于Windows系统的漏洞探测模块的功能、基于Windows系统漏洞的测试验证模块的功能、安全性及生存性评估模块400、评估报告的生成,其上还安装数据库500;所述Linux网络漏洞测试仪B完成基于Linux系统的漏洞探测模块的功能、基于Linux系统漏洞的测试验证模块的功能;所述拒绝服务攻击测试仪C是利用专用网络处理器IXP 1200开发的硬件,专门完成拒绝服务攻击(DoS)测试。
在本应用实例中,被测网络信息系统的网络拓扑图如图13所示。被测网络信息系统包括一台WWW服务器10和若干内部用户20、21、22等等,WWW服务器10和用户主机20、21均与交换机30连接,交换机30、防火墙40、VPN50路由器60和VPN70依次连接,VPN70通过交换机80与本发明所述系统连接,其中,用户主机22直接与交换机80连接,被测网络信息系统的安全防护有防火墙40和VPN50、70。
首先,进行生存性需求分析:
通过分析可以发现目标网络信息系统提供的主要功能是对外提供WWW服务和内部用户访问Internet。其中,WWW服务要求系统在遭受攻击或其他以外情况下仍能正常提供服务,但允许性能下降,内部用户访问Internet没有硬性要求,因此可以将WWW服务定义为关键服务。
进行必要的信息的采集,采集时的方式为:
由测试人员输入目标系统的IP地址范围、主机操作系统类型、版本、IP地址等信息,并且由系统对目标系统自动进行端口扫描,扫描结果如图14所示:
因此,对其中WWW服务器进行信息采集的结果如图15所示:
在本实施例中,在系统内部根据采集到的信息生成信息树。
第二步,进行漏洞探测:
对WWW服务器进行漏洞探测的结果如图16所示,从对其进行漏洞扫描的结果来看,该网络信息系统WWW服务器上存在严重漏洞WEBDev漏洞。
第三步,进行参数配置:
按照实际情况配置各漏洞对各主机的威胁权重、各主机在系统中的安全性权重、服务在系统中的安全性权重。
测试人员设置目标系统服务性能评估指标,这些指标值用于对目标系统进行生存性评估。主要定义如下指标:
服务性能评估指标权重,用于区分服务性能评估指标的重要性。
指标定性描述,为指标在服务性能各个状态下的定性描述,用于在测试过程中帮助评估人员将服务性能与测试过程中的实际情况比较,确定服务性能所处的状态。
指标取值范围,指标在服务性能各个状态的取值范围,用于确定该指标的评估值,判断服务性能所处的状态。
服务性能取值范围,定义了该服务的性能评估值在各个状态的取值范围,用于确定服务性能的评估值。
并对WWW服务的指标“能否访问HTTP服务信息”权重设置为100;
设置目标系统生存性评估指标,这些指标值用于对目标系统进行生存性评估。在本步骤中,主要定义以下指标:
目标系统生存性评估指标权重,用于区分关键服务和非关键服务。
各生存性等级(低生存性等级、中等生存性等级和高生存性等级)的服务性能评估值范围,不同生存性等级对服务性能评估值有不同要求,采用取值范围反映这一要求。
服务恢复正常时限,对于关键服务和非关键服务,用户对服务性能恢复正常状态有时间要求,理想状态下,服务应该在确定的恢复时间内恢复正常的服务性能,本项值用于选取判断服务性能状态的时机。如,当用“服务信息的可用性”来衡量服务的性能时,该服务性能指标具体信息如表3所示:
表1服务性能指标的具体信息
  指标名称   服务信息的可用性
  指标权重   100
  指标说明   指标衡量用户能否访问HTTP服务信息
  正常状态时的指标状态描述   用户能够正常访问HTTP信息,无异常感觉
  轻度受损时的指标状态描述   用户访问HTTP信息速度稍感缓慢
  中度受损时指标状态描述   用户访问HTTP信息速度缓慢
  高度受损时指标状态描述   用户访问HTTP信息速度慢得不能忍受
  瘫痪状态时指标状态描述   用户完全不能访问HTTP信息
  服务性能对指标的要求范围   0:30:60:80:90:100五个区间
  服务性能指标量化范围   0:30:60:80:90:100五个区间
表中各状态下的指标状态描述项是定性描述,用来辅助评估人员判断指标处于哪个状态;
服务性能对指标的要求范围的六个端点划分为五个区间,用来建立评估的三角白化权函数,如式1所示。服务性能指标量化值范围的每个区间对应一个指标状态,用以降低服务性能指标量化的随意性。
目标系统服务指标评价如表4所示。
表4目标系统服务指标评价表
  指标名称   WWW服务
  服务权重   100
  服务属性   关键服务
  系统生存性对服务性能评估值要求范围   0:30:60:80:90:100五个区间
  服务性能量化值范围   0:30:60:80:90:100五个区间
其中服务权重反映服务的重要程度;
服务属性表明该服务是关键服务还是非关键服务,按照关键服务和非关键服务的定义,关键服务的重要程度应当大于非关键服务的重要程度;
系统生存性对服务性能评估值要求范围的六个端点划分为五个区间,用来建立评估的三角白化权函数,见式1;服务性能量化值范围的每个区间对应一个服务性能状态,用以降低服务性能量化的随意性。
第四步,进行测试验证:
建立测试树模型,每个入侵情景由若干入侵测试步骤组成,每个入侵测试步骤对应一个或多个测试工具。选择对应测试树中的一条路径,即一个入侵情景,通过测试树举出对系统所有可能存在的攻击路径,结合攻击工具库,形成可行的入侵测试脚本。
本实施例选择了针对WEBDev漏洞的攻击树(攻击树模型是由Bruce在1999年提出。它将针对系统的一个攻击表示为与或树的结构的形式。树的根节点表示网络攻击要达到的一个目标,叶节点表示实现这一攻击目的而可能采取的手段。每一条从根节点到叶节点的路径表示实现这个攻击目标而进行的一个完整的攻击过程。攻击树的节点分为与(AND)节点和或(OR)节点两类。其中与节点表示:只有在所有子节点(也就是叶节点)都实现之后,其父节点(也就是根节点)才能实现,并将任务继续向上传递;或节点表示:只要其中一个子节点已经实现,其父节点就可以实现,并将任务向上一级传递。)执行入侵情景后,观察服务性能指标的变化,攻击测试后WWW服务瘫痪,不能对外提供服务,则服务性能指标状态为瘫痪状态,服务性能指标的量化值为0。
第五步,进行安全性评估:
通过对探测到漏洞的数量以及威胁程度的量化生成对目标主机的安全评估值,通过对目标主机的安全评估值得到主机的安全性等级及安全量化值评价,最后通过系统中各主机的安全等级得到对目标系统的安全等级评估。其结果如图17所示。
结果显示该目标系统的安全等级为低。
第六步,进行生存性评估:
根据三角白化权函数式1,将服务性能指标的量化值代入式1,计算服务性能指标对于服务性能各状态的隶属度fj 1(x),fj 2(x),fj 3(x),fj 4(x),fj 5(x),然后计算综合聚类系数 &sigma; k = &Sigma; j = 1 m f j k ( x j ) &CenterDot; &eta; j , 其中m=1,为指标个数,σk为状态k的综合聚类系数,ηj为指标j的权重。最后根据各状态综合聚类系数的大小判断服务性能所处的状态,综合聚类系数最大的状态为最终的服务性能状态。
计算结果得出HTTP服务的最终的服务性能状态为瘫痪状态,HTTP服务的可用性能是影响HTTP服务器的最重要因素。
将服务指标变为服务的量化值时,根据基于三角白化权函数的灰色评估算法即可以计算出目标系统生存性的评估值,经过计算,目标系统的生存性等级为“低生存性等级”,HTTP服务受到攻击后的性能是影响系统生存性等级的最重要因素。
第七步,进行生存性分析:
该步骤根据入侵分析与测试和生存性评估的结果,针对成功的入侵情景和易受损害的组件从三个方面进行生存性分析,提出改进建议,形成系统生存性评估报告。如表5所示,列出了平台对目标网络信息系统给出的重要建议。
表5重要建议
入侵情景名称 抵抗攻击建议 可识别性建议 可恢复性建议
缓冲区溢出攻击 对操作系统打上相应的漏洞补丁;加装防火墙,过滤攻击数据 加装IDS系统,配置对该缓冲区溢出攻击的识别规则 增加WWW服务器的冗余备份,各服务器的操作系统和服务组件不应相同增加数据备份
最后所应说明的是:以上实施例仅用以说明本发明而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明进行修改或者等同替换,而不脱离本发明的精神和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (19)

1.一种网络信息系统的安全性及生存性评估系统,其特征在于,包括:信息采集模块、漏洞探测模块、测试验证模块、安全性及生存性评估模块和数据库;其中,
所述信息采集模块,用于对目标系统进行信息采集,将采集的目标系统信息发送给所述漏洞探测模块;
所述漏洞探测模块,用于对目标系统进行漏洞探测,发现其存在的安全漏洞信息,并将漏洞探测结果发送给所述测试验证模块;
所述测试验证模块,用于对目标系统存在的安全漏洞进行测试验证,并将测试验证后的结果发送给所述安全性及生存性评估模块;
所述安全性及生存性评估模块,对接收到的测试验证结果进行量化,并根据量化结果对目标系统进行安全性和生存性的评估,形成评估报告;
所述数据库,用于存储各种信息数据,为所述漏洞探测模块、所述测试验证模块和所述安全性及生存性评估模块提供所需的数据;
其特征在于,所述漏洞探测模块包括漏洞探测控制子模块和漏洞探测服务子模块,所述漏洞探测控制子模块向所述漏洞探测服务子模块提交漏洞探测任务,接收来自所述漏洞探测服务子模块的探测结果,并将探测到的漏洞信息存入所述数据库;所述漏洞探测服务子模块实施漏洞探测任务,并把探测到的漏洞信息回传给所述漏洞探测控制子模块;
所述测试验证模块包括入侵情景生成子模块和入侵情景实现子模块,所述入侵情景生成子模块用于生成针对目标系统的入侵情景,进而构成测试树,所述入侵情景实现子模块应用生成的入侵情景测试树,对目标系统进行测试验证;
所述安全性及生存性评估模块包括安全性评估子模块和生存性评估子模块,所述安全性评估子模块将测试验证得到的结果数据进行量化,根据量化值得到目标系统的安全性等级;所述生存性评估子模块对衡量系统生存性的因素指标量化,对量化的数据进行分析处理,判断该系统的生存性状态,分析影响生存性的因素,针对容易受影响的与关键服务和非关键服务相关的服务组件,从抵抗攻击、识别性、可恢复性三个方面给出改进建议。
2.根据权利要求1所述的网络信息系统的安全性及生存性评估系统,其特征在于,所述漏洞探测模块包括基于Windows系统的漏洞探测模块和基于Linux系统的漏洞探测模块,分别用于对Windows系统的漏洞信息和Linux系统的漏洞信息进行探测。
3.根据权利要求1所述的网络信息系统的安全性及生存性评估系统,其特征在于,所述测试验证模块分别为基于Windows系统漏洞的测试验证模块、基于Linux系统漏洞的测试验证模块和拒绝服务攻击测试验证模块,分别用于对Windows系统漏洞信息、Linux系统漏洞信息和拒绝服务攻击的测试验证。
4.根据权利要求1所述的网络信息系统的安全性及生存性评估系统,其特征在于,所述数据库包括信息知识库和测试数据库,其中,所述信息知识库为系统的支撑数据库,包括:漏洞信息库、测试工具库、服务信息库、测试模式库、服务性能参数库和漏洞评估库;所述测试数据库存储了历次测试验证的结果数据,供历史检索使用,包括目标系统基本信息、漏洞信息、测试验证信息或生存性评估结果。
5.一种网络信息系统的安全性及生存性评估方法,其特征在于,包括以下步骤:
步骤1.对目标系统进行信息采集,根据所采集的信息生成信息树;
步骤2.从数据库中提取所述信息树中的信息可能对应的漏洞信息,对所述的漏洞信息进行探测,并将探测到的漏洞信息及相关数据存入数据库;
步骤3.对探测到的漏洞信息进行验证,得到目标系统确实存在的漏洞信息及所述漏洞的可利用性;
步骤4.根据信息树中的信息可能对应的漏洞信息,按照系统安全性等级指标项及其评价值,进行目标系统的全安性评估;
步骤5.根据信息树中的信息可能对应的漏洞信息,按照系统生存性指标及其评价值,进行目标系统的生存性评估;
步骤6.根据步骤3中的漏洞信息的验证结果、步骤4中的全安性评估结果和步骤5中的生存性评估结果,从抵抗攻击、识别性、可恢复性三个方面进行生存性分析,提出改进建议,形成系统生存性评估报告;
其特征在于,步骤2中所述的对所述的漏洞信息进行探测的过程为:
从数据库中的测试工具库提取针对所述漏洞信息的漏洞探测工具;
按照测试工具库的所属组别、运行参数和选取规则确定漏洞探测工具执行顺序;
每个漏洞探测工具完成一组漏洞探测任务,若探测到目标主机存在该组漏洞,则将探测到的漏洞信息存储到测试数据库的临时表中;若所述漏洞探测工具没有探测到漏洞,记录探测进度消息;
步骤3中所述的对探测到的漏洞信息进行验证的过程为:
根据目标系统信息树形成测试树;
选择测试树中的一条合适的入侵路径,即一个入侵情景;
执行所述的入侵情景;
步骤4中所述的进行目标系统的全安性评估的过程为:
提取目标系统各主机可能对应的漏洞信息,从漏洞评估库的漏洞指标数据表中获取所述漏洞自身威胁的指标评价值和漏洞可能性评估值,根据所述漏洞自身威胁的指标评价值和漏洞可能性评估值,采用加权求和法得到所述漏洞对主机的威胁值,确定所述漏洞对所述主机的威胁等级,所述漏洞对所述主机的威胁等级包括“低”、“较低”、“中”、“较高”、“高”;
统计目标系统各主机不同威胁等级的漏洞数,根据每一主机的漏洞数和所述主机的权重得到每一主机的安全性评估值,再根据各主机安全等级的评估值上下限,确定每一主机的安全性等级,所述主机的安全性等级包括:“低”、“较低”、“中”、“较高”、“高”;
根据目标系统各主机的权重和主机的安全性等级的评估值,利用加权求和法对目标系统的安全性等级作出评价;
步骤5中所述的进行目标系统的生存性评估的过程为:
根据灰色评估算法对采集的服务性能数据进行处理,对各服务的服务性能进行量化;
根据灰色评估算法对系统的生存性进行评估,以判断出系统生存性所处的等级,找出影响系统生存性的服务。
6.根据权利要求5所述的网络信息系统的安全性及生存性评估方法,其特征在于,在步骤2和步骤3之间还包括如下步骤:
步骤21.进行参数配置,包括:配置目标系统安全性等级评估指标、目标系统服务性能评估指标和目标系统生存性评估指标。
7.根据权利要求6所述的网络信息系统的安全性及生存性评估方法,其特征在于,步骤21中的所述目标系统安全性等级评估指标包括:漏洞自身的威胁及其对应的指标评价值、漏洞存在的可能性及其对应的指标评价值;每一主机或设备存在的各威胁等级的漏洞数;每一主机或设备的权重及其安全量化值。
8.根据权利要求6所述的网络信息系统的安全性及生存性评估方法,其特征在于,步骤21中的所述目标系统服务性能评估指标包括:
服务性能评估指标权重,用于区分服务性能评估指标的重要性;
指标定性描述,用于在测试过程中帮助评估人员将服务性能与测试过程中的实际情况比较,确定服务性能所处的状态;
指标取值范围,用于确定该指标的评估值,判断服务性能所处的状态;
服务性能取值范围,用于确定服务性能的评估值。
9.根据权利要求6所述的网络信息系统的安全性及生存性评估方法,其特征在于,步骤21中的所述目标系统生存性评估指标包括:
生存性评估指标权重,用于区分关键服务和非关键服务;
各生存性等级的服务性能评估值范围,用于反映不同生存性等级对服务性能评估值的不同要求;
服务恢复正常时限,用于选取判断服务性能状态的时机。
10.根据权利要求5所述的网络信息系统的安全性及生存性评估方法,其特征在于,步骤1中所述的对目标系统进行信息采集的过程为:输入目标系统的基本信息;自动探测或人工输入目标系统的开放端口以及可能对应的服务类型;明确目标系统中正常运行的服务,目标系统中的关键服务、非关键服务和各服务对应的服务组件,提供服务运行的主机的IP地址和各服务的服务性能指标。
11.根据权利要求5所述的网络信息系统的安全性及生存性评估方法,其特征在于,从数据库中的测试工具库提取针对所述漏洞信息的漏洞探测工具后,提示操作人员进行修改所做的选择或重新选择。
12.根据权利要求5所述的网络信息系统的安全性及生存性评估方法,其特征在于,根据目标系统信息树形成测试树后,由测试人员对所述测试树上的测试条目进行确认。
13.根据权利要求5所述的网络信息系统的安全性及生存性评估方法,其特征在于,选择测试树中的一条合适的入侵路径,即一个入侵情景后,如测试人员对所述的入侵情景不满意,所述测试人员直接定制所述的入侵情景。
14.根据权利要求5所述的网络信息系统的安全性及生存性评估方法,其特征在于,所述执行所述的入侵情景的过程为:
所述的入侵情景结合攻击数据库,形成可行的入侵测试脚本;
执行所述入侵测试脚本,进行攻击;
验证攻击结果,确定成功的入侵情景和被损害的组件。
15.根据权利要求5、12、13或14所述的网络信息系统的安全性及生存性评估方法,其特征在于,执行所述的入侵情景时,根据每一步骤的测试结果进行动态判定,决定是否要进一步执行下一步测试。
16.根据权利要求5、12、13或14所述的网络信息系统的安全性及生存性评估方法,其特征在于,测试人员根据验证结果调整入侵情景参数进行二次测试。
17.根据权利要求5所述的网络信息系统的安全性及生存性评估方法,其特征在于,在所述漏洞指标数据表中,所述漏洞自身威胁的评价指标用以下字段描述:指标名称、指标类型、指标权重和指标评估值;
其中,所述指标名称,是对该指标的简单描述;
所述指标类型,包括可利用性和严重性两个指标项,所述可利用性指标包括:攻击的技术难度、漏洞存在的普遍性、攻击的隐蔽性和漏洞存在时间;所述严重性指标包括漏洞存在时间和漏洞风险等级;
所述指标权重,指指标相对于指标类型所具有的权重值,所有指标权重的和为1;
所述指标评估值,指每一漏洞指标的范围,为0-100。
18.据权利要求5所述的网络信息系统的安全性及生存性评估方法,其特征在于,所述漏洞自身威胁的指标评价值通过计算得到所述漏洞的可利用性和严重性的权值及评估值后,可利用性的权值与评估值的乘积与严重性的权值与评估值的乘积相加获得,并且,测试人员可根据目标系统的实际情况对获得的所述漏洞自身威胁的指标评价值进行修改。
19.根据权利要求5所述的网络信息系统的安全性及生存性评估方法,其特征在于,所述的灰色评估算法为:
(1)建立三角白化权函数,如下式所示:
f j k ( x ) = 0 , x &NotElement; [ a k - 1 , a k + 2 ] x - a k - 1 &lambda; k - a k + 1 , x &Element; [ a k - 1 , &lambda; k ] a k + 2 - x a k + 2 - &lambda; k , x &Element; [ &lambda; k , a k + 2 ] ——式1
其中, &lambda; k = a k + a k + 1 2
m个参数指标X1,X2,……,Xj,……,Xm,该参数指标的状态数为s,各参数指标的取值范围划分为s个灰类,将Xj参数指标的取值范围[a1,as+1]划分为[a1,a2],…,[ak-1,ak],…,[as-1,as],[as,as+1],令属于第k个风险等级灰类的白化权函数值为1,
Figure C2005100869070007C4
与第(k-1)个风险等级灰类的起点ak-1和第(k+1)个风险等级灰类的终点ak+2连接,得到Xj参数指标关于第k个风险等级灰类的三角白化权函数fj k(x),j=1,2,…,m;k=1,2,…,s;
(2)计算参数指标属于各个状态灰类的隶属度,具体地,将具体的参数指标Xj(j=1,2,…,m)代入式1,得到属于各个服务性能状态灰类k(k=1,2,…,s)的隶属度fj k(xj);
(3)计算综合聚类系数σk,具体地,根据 &sigma; k = &Sigma; j = 1 m f j k ( x j ) &CenterDot; &eta; j 得到该参数关于状态灰类k(k=1,2,…,s)的综合聚类系数σk,其中,ηj为参数指标Xj(j=1,2,…,m)在综合聚类中的权重;
(4)判断所述参数指标所处的状态,具体地,根据 max 1 &le; k &le; s { &sigma; k } = &sigma; k * 判断在该参数指标的状态属于状态灰类k*
(5)对上述所有参数指标所处的状态进行综合处理,确定影响所有参数指标确定的项目的性能状态的因素;
(6)对所有参数指标确定的项目的性能进行量化,具体地,根据所述参数所处的状态,及该参数在这个状态的量化范围,确定出所述项目的量化值。
CNB2005100869075A 2005-11-17 2005-11-17 网络信息系统的安全性及生存性评估的系统和方法 Expired - Fee Related CN100403691C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100869075A CN100403691C (zh) 2005-11-17 2005-11-17 网络信息系统的安全性及生存性评估的系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100869075A CN100403691C (zh) 2005-11-17 2005-11-17 网络信息系统的安全性及生存性评估的系统和方法

Publications (2)

Publication Number Publication Date
CN1761208A CN1761208A (zh) 2006-04-19
CN100403691C true CN100403691C (zh) 2008-07-16

Family

ID=36707160

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100869075A Expired - Fee Related CN100403691C (zh) 2005-11-17 2005-11-17 网络信息系统的安全性及生存性评估的系统和方法

Country Status (1)

Country Link
CN (1) CN100403691C (zh)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101187952B (zh) * 2007-12-14 2010-04-07 哈尔滨工程大学 一种网络信息系统的生存能力的仿真判定方法
CN101500000B (zh) * 2008-01-30 2012-08-08 珠海金山软件有限公司 互联网网站的安全评估方法及其装置
CN101674203B (zh) * 2008-09-08 2011-12-28 网星资讯股份有限公司 监控网站应用程序使用情境安全性的系统及方法
CN101447991B (zh) * 2008-11-19 2012-10-24 中国人民解放军信息安全测评认证中心 用于测试入侵检测系统的测试装置及测试方法
CN101447898B (zh) * 2008-11-19 2012-12-05 中国人民解放军信息安全测评认证中心 一种用于网络安全产品的测试系统及测试方法
CN101895530B (zh) * 2010-06-08 2012-11-21 安徽师范大学 一种基于点积协议的协议安全性量化方法及系统
CN101950338A (zh) * 2010-09-14 2011-01-19 中国科学院研究生院 一种基于层次化漏洞威胁评估的漏洞修复方法
CN102457476B (zh) * 2010-10-15 2015-04-01 中兴通讯股份有限公司 对等网络安全防御方法及系统
CN102075377A (zh) * 2010-11-30 2011-05-25 北京神州绿盟信息安全科技股份有限公司 一种网络设备测试系统及其方法
CN102541729A (zh) * 2010-12-31 2012-07-04 航空工业信息中心 软件安全漏洞检测装置和方法
CN102354310B (zh) * 2011-07-12 2013-06-12 广东电网公司信息中心 一种自动化信息安全评估的方法及装置
CN102306258B (zh) * 2011-09-23 2013-09-25 国网电力科学研究院 一种基于可配置知识库的unix主机安全配置审计方法
CN102495884B (zh) * 2011-12-08 2016-06-15 中国信息安全测评中心 一种基于互联网的漏洞信息云服务方法
CA2909161A1 (en) * 2013-03-14 2014-10-02 Bandura, Llc Internet protocol threat prevention
CN103905450B (zh) * 2014-04-03 2017-05-31 国网河南省电力公司电力科学研究院 智能电网嵌入式设备网络检测评估系统与检测评估方法
CN105844169B (zh) * 2015-01-15 2019-09-13 中国移动通信集团安徽有限公司 信息安全度量方法及装置
CN104836855A (zh) * 2015-04-30 2015-08-12 国网四川省电力公司电力科学研究院 一种基于多源数据融合的Web应用安全态势评估系统
CN105025011B (zh) * 2015-06-12 2016-10-19 吉林大学 车载信息安全的评价方法
CN105975863A (zh) * 2016-04-27 2016-09-28 国网天津市电力公司 一种配电自动化终端设备信息安全风险测评与计算方法
CN106131041A (zh) * 2016-07-29 2016-11-16 北京匡恩网络科技有限责任公司 一种工控网络安全检测装置和未知漏洞检测方法
CN106649429B (zh) * 2016-08-25 2019-09-17 北京知道未来信息技术有限公司 一种基于多维统计的漏洞危害等级快速评估方法和装置
SG10201913241PA (en) * 2016-11-04 2020-03-30 Univ Singapore Technology & Design Computer-implemented method and data processing system for testing device security
CN107294975A (zh) * 2017-06-27 2017-10-24 四维创智(北京)科技发展有限公司 一种基于信息收集的Web安全漏洞检测系统及检测方法
CN107562631A (zh) * 2017-09-08 2018-01-09 杭州安恒信息技术有限公司 基于轻量级脚本的漏洞检测方法及装置
US10678954B2 (en) * 2017-09-21 2020-06-09 GM Global Technology Operations LLC Cybersecurity vulnerability prioritization and remediation
CN108363926A (zh) * 2017-10-19 2018-08-03 北京安天网络安全技术有限公司 一种漏洞防御方法及系统
RU2715025C2 (ru) * 2018-04-19 2020-02-21 Акционерное общество "Лаборатория Касперского" Способ автоматизированного тестирования программно-аппаратных систем и комплексов
CN109522725B (zh) * 2019-01-22 2019-08-27 冯丽 一种可穿戴设备风险评估和安全认证的方法
CN110430185A (zh) * 2019-07-31 2019-11-08 中国工商银行股份有限公司 用于检测命令执行漏洞的方法和检测设备
CN110489975B (zh) * 2019-08-26 2022-06-10 江苏方天电力技术有限公司 一种信息系统服务安全评估方法
CN111030837B (zh) * 2019-10-28 2023-04-18 安天科技集团股份有限公司 一种网络环境现状评估方法、装置、电子设备及存储介质
CN111031003B (zh) * 2019-11-21 2022-03-15 中国电子科技集团公司第三十研究所 一种跨网隔离安全系统的智能评估系统
CN111083126A (zh) * 2019-12-05 2020-04-28 国网浙江省电力有限公司电力科学研究院 一种基于专家知识库的渗透测试风险评估方法以及模型
CN111178753B (zh) * 2019-12-27 2023-04-21 重庆大学 一种面向信息服务的安全能力水平分级评估方法
CN111159155B (zh) * 2019-12-31 2020-11-03 百望股份有限公司 基于大数据的数据库安全保障系统及方法
CN112287352A (zh) * 2020-09-25 2021-01-29 长沙市到家悠享网络科技有限公司 软件质量评估方法、设备及存储介质
CN114124759B (zh) * 2021-11-15 2024-03-08 中国工商银行股份有限公司 用于分布式系统的评估方法及装置、电子设备、存储介质
CN114154169A (zh) * 2021-12-06 2022-03-08 南方电网深圳数字电网研究院有限公司 一种基于Jenkins和JMeter的自动化测试方法及装置
CN114884722A (zh) * 2022-05-05 2022-08-09 五八有限公司 漏洞检测方法、装置、电子设备及可读存储介质
CN114780967B (zh) * 2022-05-23 2023-01-17 中咨数据有限公司 基于大数据漏洞挖掘的挖掘评估方法及ai漏洞挖掘系统
CN115277490B (zh) * 2022-09-28 2023-01-17 湖南大佳数据科技有限公司 一种网络靶场评估方法、系统、设备及存储介质
CN117421253B (zh) * 2023-12-19 2024-04-02 深圳市智慧城市科技发展集团有限公司 接口安全测试方法、装置、设备及存储介质
CN117725596A (zh) * 2024-01-04 2024-03-19 章和技术(广州)有限公司 一种网络安全漏洞探测方法、装置、电子设备及存储介质
CN117743061B (zh) * 2024-02-19 2024-05-10 四川天邑康和通信股份有限公司 基于fttr的fpga密钥无线静态测试方法、装置、设备及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1172507C (zh) * 2000-02-08 2004-10-20 哈里公司 评估网络安全姿态的系统和方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1172507C (zh) * 2000-02-08 2004-10-20 哈里公司 评估网络安全姿态的系统和方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
入侵防护系统研究概述. 李雄伟,温小东.无线电工程,第35卷第8期. 2005 *
可生存性分析方法研究. 夏春和,王继伟,赵勇,吴震.计算机应用研究,第12期. 2002 *
网络可生存性研究概述. 张永,方滨兴,包秀国.计算机工程与应用,第7期. 2005 *

Also Published As

Publication number Publication date
CN1761208A (zh) 2006-04-19

Similar Documents

Publication Publication Date Title
CN100403691C (zh) 网络信息系统的安全性及生存性评估的系统和方法
Xiong et al. Threat modeling–A systematic literature review
CN107659543B (zh) 面向云平台apt攻击的防护方法
CN106534195B (zh) 一种基于攻击图的网络攻击者行为分析方法
Fonseca et al. Evaluation of web security mechanisms using vulnerability & attack injection
Kotenko et al. Attack modeling and security evaluation in SIEM systems
Benaicha et al. Intrusion detection system using genetic algorithm
CN100463461C (zh) 主动式网络安全漏洞检测器
CN111786950A (zh) 基于态势感知的网络安全监控方法、装置、设备及介质
Singh et al. An approach to understand the end user behavior through log analysis
CN107294953A (zh) 攻击操作检测方法及装置
Bahrololum et al. Anomaly intrusion detection design using hybrid of unsupervised and supervised neural network
CN116680704B (zh) 一种用于客户端的数据安全防护方法及系统
Stainforth et al. Security principles for public-resource modeling research
CN114553596B (zh) 适用于网络安全的多维度安全情况实时展现方法及系统
CN106302412A (zh) 一种针对信息系统抗压性测试的智能检测系统和检测方法
Li et al. An approach to model network exploitations using exploitation graphs
CN115408697A (zh) 网络靶场中防御人员能力评估方法、装置、设备及产品
Kuang et al. Dnids: A dependable network intrusion detection system using the csi-knn algorithm
Paul et al. An ontology-based integrated assessment framework for high-assurance systems
Kersten et al. 'Give Me Structure': Synthesis and Evaluation of a (Network) Threat Analysis Process Supporting Tier 1 Investigations in a Security Operation Center
Holm et al. A metamodel for web application injection attacks and countermeasures
KR102111136B1 (ko) 대응지시서를 생성하고, 적용 결과를 분석하는 방법, 감시장치 및 프로그램
CN115333806A (zh) 渗透测试攻击路径规划方法、装置、电子设备及存储介质
CN115021983A (zh) 一种基于吸收马尔科夫链的渗透路径确定方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080716

Termination date: 20111117