一种基于攻击过程的漏洞严重度综合评估方法和系统与流程

文档序号:11293233阅读:217来源:国知局
一种基于攻击过程的漏洞严重度综合评估方法和系统与流程

本发明属于漏洞研究领域,更具体地,涉及一种基于攻击过程的漏洞严重度综合评估方法和系统。



背景技术:

面对日益复杂的计算机系统和各式各样的安全漏洞,计算机系统管理者需要及时的对漏洞进行安全评估,并及时的根据安全评估的严重程度来进行对漏洞进行修补,从而来减少损失。为了能对漏洞进行客观准确的评估,各个安全产商和安全机构都对安全漏洞的严重等级做了一定程度研究,继而纷纷提出自己的安全漏洞评估方法和评估标准。这种不一致性也产生这样情形:针对同一个漏洞,采用不同的评估方法等到的评估结果有可能不相同。因此这种不一致也致使计算机管理者很难去决断漏洞的真实危险程度。

为了解各种安全评估系统的不一致性,niac提出了一个开放的普遍的漏洞评估系统cvss(commonvulnerabilityscoringsystem)。它的主要目的在于评价漏洞的严重度,它使用0-10之间的数字来表明漏洞的严重程度。数值分数越高,则代表这个漏洞的严重程度越大,同时为了解决之前的漏洞评估系统的不相容问题,它提供了一种简洁统一的漏洞评估方式,从而有利于在短时间内对漏洞进行风险评估,把损失降到最小。

现有改进cvss的评估方式有以下几种:基于增加额外属性来提高cvss漏洞评估准确性,基于公布漏洞信息来预测cvss漏洞评估,基于考虑其他因素来改进cvss评估。基于增加额外属性的方式来提高cvss漏洞评估准确性是提出增加额外的特征属性如增加漏洞软件的程序依赖图和攻击表面路径可达性等来提高cvss漏洞评估准确度。但是这里只是考虑了漏洞软件的结构图,然而在面对其他攻击如rop攻击,就可能导致评估结果出现错误,这种方法没有考虑到人为因素的干扰,因此存在一定主观性。另外一些方法是基于挖掘大量公布的漏洞信息来提高cvss漏洞评估的结果,首先大规模的收集在各个网站上已公布的漏洞信息,通过机器学习的算法来挖掘出这些漏洞的信息,将其当做漏洞属性。通过这些属性再去进行cvss漏洞评估,得出漏洞的严重度。这种方法虽然考虑到了基于大数据下的客观结果的评估,试图去排除人为因素的干扰,但是这种方法只能够给出一个预测的值,不能够反应出漏洞的真实严重度。基于考虑其他因素来改进cvss评估方法虽然在对于有助于提高cvss评估,但是也存在很多的不确定性问题,比如考虑经济因素,这些数据都很难获得或者是很难度量,因此在评估过程中这些因素无法去评估,导致漏洞评估不准确。

综上所述,现有的改进cvss的评估方式的方案都无法同时满足漏洞评估准确性和客观性。绝大多数的方法都在试图去提高cvss漏洞评估的准确性,但是很少考虑去排除人为因素的干扰从而提高cvss漏洞评估的客观性。



技术实现要素:

针对现有技术的以上缺陷或改进需求,本发明提供了一种基于攻击过程的漏洞严重度综合评估方法和系统,其目的在于对攻击过程的漏洞严重度进行综合评估,有效地解决了人为因素的参与而导致漏洞严重度评估不准确的问题。

为实现上述目的,按照本发明的一个方面,提供了一种基于攻击过程的漏洞严重度综合评估方法,包括离线训练和在线评估部分,

离线训练部分包括:

(1)定义插桩特征集合与插桩属性之间的映射关系,以及插桩属性的评估规则;

(2)采集插桩属性,利用插桩属性的评估规则得到插桩属性的等级,进而根据插桩特征集合与插桩属性之间的映射关系,得到插桩特征集合的等级;

(3)对所有的插桩属性重复步骤(2),训练得到属性处理模型;

在线评估部分包括:

(t1)采集攻击过程的属性,攻击过程的属性包括插桩属性和监控属性;

(t2)对于插桩属性,利用属性处理模型得到攻击过程中的插桩特征集合等级;对于监控属性,由系统直接得到攻击过程中的监控特征集合等级;

(t3)对插桩特征集合的等级和监控特征集合的等级进行综合评估得到攻击过程的漏洞严重度。

进一步的,插桩特征集合包括:攻击向量、攻击复杂度、认证、私密性和完整性,所述监控特征集合为可用性。

进一步的,综合评估的具体实现方式为:

p=(m×a1×a2×a3+n×(1-(1-a4)×(1-a5)×(1-a6))-k)×f

其中,p为攻击过程的漏洞严重度,a1表示攻击向量的等级,a2表示攻击复杂度的等级,a3表示认证的等级,a4表示私密性的等级,a5表示完整性的等级,a6表示可用性的等级,m为第一预设值,n为第二预设值,k为第三预设值,f为评估参数。

进一步的,步骤(s1)的具体实现方式为:

(s11)定义au属性与au特征集合之间的映射关系,au={op,sp},其中op代表系统的密码文件路径参数,sp代表漏洞软件的密码文件路径参数,提取与au相关的属性的路径参数;

(s12)au的属性评估规则:au定义为三个等级:高、中和低;

(s13)定义av特征集合与av属性的映射关系:av={n,a,l,p},其中n代表了远程攻击类型,a代表了局域网攻击类型,l代表了本地攻击类型,p代表了物理攻击类型;

(s14)av的属性评估规则:av定义为四个等级:远程攻击等级,局域网攻击等级,本地攻击等级,物理攻击等级;

(s15)定义ac特征集合与ac属性的映射关系:ac={sc,dsc},其中sc代表了漏洞软件的配置,dsc代表了不同的危险系统调用;

(s16)ac的属性评估规则:ac定义为三个等级:高、中、低;

(s17)定义c特征集合与c属性的映射关系:c={t|t∈({r}∩(fp1-fp2))ort∈({r}∩(up1-up2))},其中,fp1、fp2、up1和up2分别代表不同用户的文件权限,r代表了是属性中含有读权限,t代表了是属性中具有的权限;

(s18)c的属性评估规则:c定义为三个等级:高、低、无;

(s19)定义i特征集合与i属性的映射关系:c={t|t∈({w}∩(fp1-fp2))ort∈({w}∩(up1-up2))},其中,fp1、fp2、up1和up2分别代表不同用户的文件权限,w代表了是属性中含有写权限,t代表了是属性中具有的权限;

(s20)i的属性评估规则:i定义为三个等级:高、低、无。

按照本发明的另一方面,提供了一种基于攻击过程的漏洞严重度综合评估系统,包括离线训练模块和在线评估模块,

离线训练模块包括:

第一训练模块,用于定义插桩特征集合与插桩属性之间的映射关系,以及插桩属性的评估规则;

第二训练模块,用于采集插桩属性,利用插桩属性的评估规则得到插桩属性的等级,进而根据插桩特征集合与插桩属性之间的映射关系,得到插桩特征集合的等级;

第三训练模块,用于对所有的插桩属性重复执行第二模块,训练得到属性处理模型;

在线评估模块包括:

第一评估模块,用于采集攻击过程的属性,攻击过程的属性包括插桩属性和监控属性;

第二评估模块,用于对于插桩属性,利用属性处理模型得到攻击过程中的插桩特征集合等级;对于监控属性,由系统直接得到攻击过程中的监控特征集合等级;

第三评估模块,用于对插桩特征集合的等级和监控特征集合的等级进行综合评估得到攻击过程的漏洞严重度。

进一步的,插桩特征集合包括:攻击向量、攻击复杂度、认证、私密性和完整性,所述监控特征集合为可用性。

进一步的,综合评估的具体实现方式为:

p=(m×a1×a2×a3+n×(1-(1-a4)×(1-a5)×(1-a6))-k)×f

其中,p为攻击过程的漏洞严重度,a1表示攻击向量的等级,a2表示攻击复杂度的等级,a3表示认证的等级,a4表示私密性的等级,a5表示完整性的等级,a6表示可用性的等级,m为第一预设值,n为第二预设值,k为第三预设值,f为评估参数。

进一步的,第一训练模块包括:

au映射关系模块,用于定义au属性与au特征集合之间的映射关系,au={op,sp},其中op代表系统的密码文件路径参数,sp代表漏洞软件的密码文件路径参数,提取与au相关的属性的路径参数;

au评估规则模块,用于au的属性评估规则:au定义为三个等级:高、中和低;

av映射关系模块,用于定义av特征集合与av属性的映射关系:av={n,a,l,p},其中n代表了远程攻击类型,a代表了局域网攻击类型,l代表了本地攻击类型,p代表了物理攻击类型;

av评估规则模块,用于av的属性评估规则:av定义为四个等级:远程攻击等级,局域网攻击等级,本地攻击等级,物理攻击等级;

ac映射关系模块,用于定义ac特征集合与ac属性的映射关系:ac={sc,dsc},其中sc代表了漏洞软件的配置,dsc代表了不同的危险系统调用;

ac评估规则模块,用于ac的属性评估规则:ac定义为三个等级:高、中、低;

c映射关系模块,用于定义c特征集合与c属性的映射关系:c={t|t∈({r}∩(fp1-fp2))ort∈({r}∩(up1-up2))},其中,fp1、fp2、up1和up2分别代表不同用户的文件权限,r代表了是属性中含有读权限,t代表了是属性中具有的权限;

c评估规则模块,用于c的属性评估规则:c定义为三个等级:高、低、无;

i映射关系模块,用于定义i特征集合与i属性的映射关系:c={t|t∈({w}∩(fp1-fp2))ort∈({w}∩(up1-up2))},其中,fp1、fp2、up1和up2分别代表不同用户的文件权限,w代表了是属性中含有写权限,t代表了是属性中具有的权限;

i评估规则模块,用于i的属性评估规则:i定义为三个等级:高、低、无。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:首先训练属性处理模型,然后在攻击过程中,采集攻击过程的属性,对于插桩属性,利用属性处理模型得到插桩特征集合的等级,对于监控属性自动判断得到监控特征集合的等级,对插桩特征集合的等级和监控特征集合的等级进行综合评估得到攻击过程的漏洞严重度,整个过程都没有人为的参与,排除人为因素的影响,所得到的漏洞严重度准确性很高。

附图说明

图1是一种基于攻击过程的漏洞严重度综合评估方法的流程图;

图2是在线评估部分的流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

如图1所示,一种基于攻击过程的漏洞严重度综合评估方法,包括离线训练和在线评估部分,

其中,离线训练部分包括:

(1)定义特征集合与属性之间的映射关系,以及属性的评估规则,建立属性模型;包括:

(1-1)通过cvss模型的描述,提取出攻击行为的特征以及对系统或者软件的影响特征,并将这些共有特征进行集合划分,这些特征集合主要包括:攻击向量(av),攻击复杂度(ac),认证(au),隐私性(c),完整性(i),可用性(a)。其中攻击向量(av),攻击复杂度(ac),认证(au),隐私性(c)和完整性(i)反映的是攻击行为的插桩特征集合,可用性(a)反映的是对系统或者软件的监控特征集合。此外,采用集合划分主要是为了更明显的表征攻击行为的特征;

(1-2)定义特征集合与属性之间的映射关系,每一个特征集合都反映了漏洞的一个特征,如果属性与特征集合相关,则这个属性就可以用来反应漏洞的特征,这里的属性都是在攻击过程中可以从攻击程序或者系统中捕获相关的系统调用;

(1-3)定义属性的评估规则,为了更加直观的显示出属性所反映出漏洞的各个特征的严重程度,我们在这里定义了属性的评估规则,利用属性评估规则对属性进行评估进而得到特征集合的等级,一般特征集合的等级分为三个等级:高,中,低。

(2)采集插桩属性,利用插桩属性的评估规则得到插桩属性的等级,进而根据插桩特征集合与插桩属性之间的映射关系,得到插桩特征集合的等级;

具体的,定义au特征集合与au属性的映射关系:au={op,sp},其中op代表了系统的密码文件路径参数,sp代表了漏洞软件的密码文件路径参数,op主要反映了攻击者为了能够认证操作系统而试图去访问系统密码文件,sp反映了攻击者为了认证漏洞软件而进行访问漏洞软件的密码文件,这里与au相关的属性有:write、read、open、chown、fchown。提取与au相关的属性的路径参数,当与au相关的属性的路径参数属于op或sp,则该属性的特征集合为au。

au的属性评估规则:au定义为三个等级:高、中和低。在这里我们主要关心的是认证的次数。在捕获的属性中提取的路径参数属于op或sp的情况下,如果认证次数大于等于2,则au的等级为高;如果认证次数为1,则au的等级为中;如果认证次数为0,则au的等级为低。

定义av特征集合与av属性的映射关系:av={n,a,l,p},其中n代表了远程攻击类型,a代表了局域网攻击类型,l代表了本地攻击类型,p代表了物理攻击类型。这四种方式分别反映了攻击方式的类型特征,这里与av相关的属性有:socket,connect,accept,hub_port_connect_changeandusb_probe_interface。提取与av相关的属性状态,通过这几个属性状态来区分攻击方式的特征。

av的属性评估规则:av定义为四个等级:远程攻击等级,局域网攻击等级,本地攻击等级,物理攻击等级。如果在判断属性connect成功,则说明攻击可以是远程攻击因此判断为远程攻击类型。如果connect状态为不成功,同时判断服务器中的主机地址与本地主机地址是否属于同一个网段,如果是属于同一个网段则说明是局域网攻击等级,否则的话就是属于本地攻击等级。需要特别注意的是如果捕获了hub_port_conneet_change和usb_probe_interface则是属于物理攻击等级。

定义ac特征集合与ac属性的映射关系:ac={sc,dsc},其中sc代表了漏洞软件的配置,dsc代表了不同的危险系统调用。sc主要反应了攻击者是否试图去修改漏洞软件的配置文件,从而间接的来反应攻击的复杂度。dsc主要是计算在攻击过程中结果了多少个不同的危险系统调用的个数。通过这些个数的判定来反映攻击的复杂程度。这里与ac相关的属性有:setregid,umount,mkdir,umount2,ioctl,dup,dup2,

lock,kill,iopl,clone,modifyldtadjtimex,socketcall,

open,link,symlink,setresuid,setreuid,setuid,fork,

setfsuid,setgroups,setgid,setfsgid,setfsgid,

setresgid,chmod。这里主要涉及的属性是危险的系统调用,通过统计上述列出来的属性来得到dsc的值。

ac的属性评估规则:ac定义为三个等级:高、中、低。如果从上述属性中提取的参数路径与sc相同,则等级判定为中,否则判定为低。如果dsc的个数大于5且同时小于10则等级判定为中。如果dsc的个数大于10,则判定为高。如果dsc的个数小于5,则判定为低。

定义c特征集合与c属性的映射关系:c={t|t∈({r}∩(fp1-fp2))ort∈({r}∩(up1-up2))},其中,fp1、fp2、up1和up2分别代表不同用户的文件权限,r代表了是属性中含有读权限,t代表了是属性中具有的权限。这个公式表明了:一个用户本身不具有这个文件的读权限,但是他通过某种方式或者方法获得了这个文件的读权限,从而导致了隐私性的破坏。这里与c相关的属性有:

chmod,fchmodchown,fchown,lchown,setresuid,setreuid,setuid,setfsuid、此外还涉及到重要的文件路径的属性:/bin,/boot,/dev,/etc,/lib,/proc,/root,/srv,/sys。

c的属性评估规则:c定义为三个等级:高、低、无。如果从上述属性中提取的参数路径与上述的路径文件属性相同,则等级判定为高。如果是涉及到其他文件则判定为低。如果没有修改相关的读属性则判定为无。

定义i特征集合与i属性的映射关系:c={t|t∈({w}∩(fp1-fp2))ort∈({w}∩(up1-up2))},其中,fp1、fp2、up1和up2分别代表不同用户的文件权限,w代表了是属性中含有写权限,t代表了是属性中具有的权限。这个公式表明了:一个用户本身不具有这个文件的写权限,但是他通过某种方式或者方法获得了这个文件的写权限,从而导致了文件的完整性的破坏。这里与i相关的属性有:

chmod,fchmodchown,fchown,lchown,setresuid,setreuid,setuid,setfsuid、此外还涉及到重要的文件路径的属性:/bin,/boot,/dev,/etc,/lib,/proc,/root,/srv,/sys。

i的属性评估规则:i定义为三个等级:高、低、无。如果从上述属性中提取的参数路径与上述的路径文件属性相同,则等级判定为高。如果是涉及到其他文件则判定为低。如果没有修改相关的写属性,则判定为无。

定义a特征集合与a属性的映射关系:a={nu,mu,du,cu},其中nu代表了网络利用率,mu代表了内存的利用率,du代表了磁盘利用率,cu代表了cpu的利用率。我们主要是从这四个方面来考察对特征集合a的可用性的影响。值得一说的是目前我们可以通过相关的系统调用直接去获取主机或者服务器的这四个方面的相关数据,因此我们没有必要在进一步的去罗列相关的属性了。

a的属性评估规则:i定义为三个等级:高、低,无。如果nu,mu,du,cu任何一个利用率在攻击的过程中超过了80%,则等级判定为高。如果nu,mu,du,cu任何一个利用率在攻击的过程中超过了40%,则等级判定为低。如果nu,mu,du,cu任何一个利用率在攻击的过程中未超过了40%,则判定为无。

(3)对所有的插桩属性重复步骤(2),训练得到属性处理模型;

所述在线评估部分包括:

(t1)采集攻击过程的属性,攻击过程的属性包括插桩属性和监控属性;

(t2)对于插桩属性,利用属性处理模型得到攻击过程中的插桩特征集合等级;对于监控属性,由系统直接得到击过程中的监控特征集合等级;

(t3)对插桩特征集合的等级和监控特征集合的等级进行综合评估得到攻击过程的漏洞严重度。

进一步的,综合评估的具体实现方式为:

p=(m×a1×a2×a3+n×(1-(1-a4)×(1-a5)×(1-a6))-k)×f

其中,p为攻击过程的漏洞严重度,a1表示攻击向量的等级,a2表示攻击复杂度的等级,a3表示认证的等级,a4表示私密性的等级,a5表示完整性的等级,a6表示可用性的等级,m为第一预设值,n为第二预设值,k为第三预设值,f为评估参数。

优选的,m=8,n=6.246,k=1.5,当1-(1-a4)×(1-a5)×(1-a6)=0时,f取0,当1-(1-a4)×(1-a5)×(1-a6)不等于0时,f取1.176。

如图2所示,在线评估部分包括:

(1)采集攻击过程的属性,包括插桩属性和监控属性;

(2)利用插桩属性对攻击行为的特征集合进行评估,其中攻击行为的插桩特征集合包括:攻击向量(av)、攻击复杂度(ac)、认证(au)、私密性(c)和完整性(i),首先是从属性处理模型中调用相应的处理属性方法,对攻击向量(av)、攻击复杂度(ac)、认证(au)的属性经过处理分析后,得到攻击向量(av)、攻击复杂度(ac)、认证(au)的临时等级和属性,比较每一次采用处理属性方法得到攻击行为的特征集合的临时等级,保存等级较高的攻击行为的特征集合的临时等级和属性,当所有属性都处理完,得到等级较高的攻击行为的特征集合的临时等级为攻击行为的特征集合等级,将其保存在结果集合result中,同时在也从插桩属性中挑选出修改文件权限的属性作为下一步的输入;

(3)利用监控得到属性和修改文件权限的属性对影响特征集合进行评估,监控特征集合包括为可用性(a),其中对步骤(2)中的修改文件权限的属性进行属性处理分析得到私密性(c)和完整性(i)的等级,可用性(a)的等级可以直接从监控属性读取,这些结果都分别的保存在结果集合result中;

(4)对攻击向量(av)、攻击复杂度(ac)、认证(au)、私密性(c)、完整性(i)和可用性(a)的等级进行综合评估得到攻击过程的漏洞严重度,并将其结果保存在结果集合result中;

(5)最后得到两部分内容:一个是各个特征集合的等级,特征集合包括:攻击向量(av)、攻击复杂度(ac)、认证(au)、私密性(c)、完整性(i)和可用性(a),另一个是攻击过程的漏洞严重度。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1