基于损失量的软件强安全性度量方法

文档序号:6587204阅读:230来源:国知局
专利名称:基于损失量的软件强安全性度量方法
技术领域
本发明属于软件可信性的分支一软件安全性,具体涉及以损失量为基础,通过概率理论度量安全性和预测损失的方法。
背景技术
软件安全性是软件可信性的一个重要分支,国家标准GB/T 11457中对软件安全性的定义为:通过对软件系统进行防护,阻止针对软件产品的恶意攻击,使软件系统免于受到恶意的或无意但有害的破坏。软件的漏洞是软件缺陷的一种,Schultz在Responding tocomputer security incidents中定义软件漏洞为“一种缺陷,使得入侵者可以绕过安全机制”,Pfieeger在Security in computing中将漏洞定义为“安全系统中可被用来引起损失或危害白勺弱点”,Y.Shin 在 s complexity really the enemy of software security 中认为“软件漏洞是软件规格、开发或配置中缺陷的一个实例,它的运行违反潜在或外在的安全策略”。无论怎样定义软件漏洞,都离不开软件、安全策略或措施、以及入侵者这三方面的参与。因为入侵者是自然人,所以软件漏洞有了不同于软件安全的其它方面一如可靠性一一的一些特性。同时,入侵者通常不是软件的开发者,所以他们的存在有一定的隐蔽性,他们的活动有一定的随机性,这些因素加大了漏洞预测的难度。现有的实际漏洞库给出的最基本的数据都是发现漏洞的个数、类型和严重程度等数据。虽然这些量在一定程度上可以反映软件质量的高低,但是,单纯的统计漏洞数目意义不大,我们研究漏洞的目的是明确漏洞对软件安全性乃至可信性等属性的影响。学者们在这方面进行了许多探索,Alhazmi讨论了软件漏洞的度量、分析和预测等一系列问题的基本方面,Sridhara、Malaiya等讨论了漏洞的量化问题,Yonghee ShiruChowdhury等讨论了复杂度对漏洞以及安全性的影响,Caragea、William等提出了一些基于经验的漏洞预测方法,Jinyoo Kim等人研究了多版本软件中的漏洞的特性。

现有的漏洞分类方法主要从两方面入手,一是按照漏洞的出现原因或利用方式——如缓冲区溢出,SQL注入,会话劫持等——分类,二是按照漏洞对系统安全造成威胁的严重程度分类。第一种方法中,相同原因的两个漏洞,如缓冲区溢出,对系统安全性造成的威胁可能差别很大,例如,两个网银软件,可能各有一个漏洞,使得用户的权限泄露。但是其中一个不会造成账户被黑客操作,只是泄露信息,用户必须重置账户信息,银行在此过程中只要支付一定的办公开支;而另一个软件系统则造成账户中的钱被取走或消费,银行可能需要赔付客户损失。这两个漏洞即使被认定为属于不同的种类,对严重程度的反映也并不直观。而且在有些分类方法中,由于都属于权限的泄露,这两个漏洞可能被分为同一级。所以,从我们的目的出发,用第一种方法度量和预测漏洞价值不大。第二种方法看起来很有价值,但是当我们把漏洞当成可信的一个子属性时,我们发现严重程度只是针对软件系统本身而言的,没有充分的反应软件的可信属性,还是上面的例子,如果两个漏洞对系统的威胁被认为有同样的严重程度,但是一个给用户造成比较大的损失,而另一个没有,那么显然后一个可信,但是漏洞的严重程度分类没有显现出这种差别。
另一个问题是,为了度量不同软件的可信属性,我们有必要统一度量的量纲,而以上两种分类方法中,第一种显然做不到这一点,第二种勉强可以做到,但没有充分的反应软件的可信属性。为了使得漏洞的度量能直观有效的反映软件的可信属性,我们有必要重新选择度量的标准。我们发现,漏洞对软件安全和软件可信所造成威胁的实际严重程度,既不是与个数直接相关,也不一定和类型或等级挂钩。那么,有没有一个影响因子,即能比较客观的反映出用户对软件系统安全性的信任,又能作为一个统一的量纲来度量软件安全性乃至可信性呢?我们认为,漏洞所造成的经济损失量符合这个要求。首先,重大的软件安全问题几乎总是直接或间接地造成重大的经济损失,当我们用损失量来描述这样的事故时,问题的严重程度就一目了然了。其次,损失量——即钱数——本身就是个量化的值,而且是统一的。例如,两个不同的漏洞各造成了 10000美元的损失,尽管这两个漏洞可能有很大区别,但是10000美元和10000美元总是相等的。由于用户的主管判断对软件的可信性有着至关重要的影响,而用户通常不关心技术细节,而一般不会忽视损失,那么使用损失量度量软件安全性乃至可信性可以让用户抛开细节,直接面对他们关心的方面,从而将软件可信问题的主观因素统一在度量中。设想一下,如果我们可以预测漏洞所造成的损失,那么软件的开发者和用户在这样直观的预测下,显然会更重视安全问题,并采取措施避免或减小损失。同时,用户在比较多个软件系统的优劣时,不需要再面对诸如漏洞个数、类型、严重程度等多个复合指标,只需列出漏洞所造成的损失及其预测结果,就可以直观地做出判断。而在建立模型时,我们也不用再去量化本来很难表示的用户主观因素。

发明内容
本发明的目的在于提供一种以金钱损失量为基础的以损失等级来度量的软件强安全性预测方法。本发明的特征在于软件安全性预测是一种以资金或利润损失分类而非以漏洞数或漏洞等级分类的软件安全性度预测方法,是在计算机中依次按下述步骤实现的:步骤(I)计算机初始化,设定以下参数:编号,是指从软件发布之日起,把至少造成一个损失量级的软件漏洞按发现的先后顺序排列后对发现次数给出的序号,用η表示,其中的损失量级分为c级,c=4,每级损失相当于设定的钱数,累计天数,指造成所述至少一个损失量级的软件漏洞的发现日距软件发布日间相差的天数,损失,在所述累计天数内,对同一天内金钱的总损失量计算均值后转化成的损失量级数作为一天的损失程度,累计损失,自软件发布日起,到指定的至少造成一个损失量级的软件漏洞发现日止的损失总量,损失量级小于一级的不计入编号;步骤(2)计算机从中国国家信息安全漏洞库中提取自软件发布日起到最后一次发现造成至少一个损失量级的软件漏洞所对应的指定日止的至少一个损失量级的所有软件漏洞数据,每次都形成一个数据组,其中包括:编号、损失、累计天数、累计损失;
采样时刻用一天即24小时作为单位,用τ表示,软件发布日用^表示,所述指定日用τ η表示,中间的任一日用τ t表示,t=0, 1,2... …Τ-1, Δ τ t= τ t-τ H=I天,编号用η表示,至少造成一个损失量级的软件漏洞的编号所对应的漏洞发现日用表示,其中η=0, 1,2...η…N-Lnci表示软件发布日Tci时的编号。nfO,I^1表示最后发现
至少一个损失量级的编号,N为编号的总数,在数值上N=T ;累计损失用m表示,τ ^时Iiici=O, τ 时Ih=Iiit'中间任何一个编号η所对应的累计损失为mn ;以所述每一个数据组为行,从而形成一个矩阵形式的用于表示从软件发布日起到所述指定日止的至少造成一个损失量级的软件漏洞数据组的序列,其中,各参数值时已知的;步骤(3)依次按以下步骤进行基于损失量的软件强安全性预测:步骤(3.1)采用下表转换的形式把最后一次发现至少一个损失量级的软件漏洞发现日τ η,对应的累计损失!V1以及对应的编号N-1的都转换为预测起始日的数据:
权利要求
1.基于损失量的软件强安全性预测方法,其特征在于,软件安全性预测是一种以资金或利润损失分类而非以漏洞数或漏洞等级分类的软件安全性度预测方法,是在计算机中依次按下述步骤实现的: 步骤(I)计算机初始化,设定以下参数: 编号,是指从软件发布之日起,把至少造成一个损失量级的软件漏洞按发现的先后顺序排列后对发现次数给出的序号,用η表示,其中的损失量级分为C级,c=4,每级损失相当于设定的钱数, 累计天数,指造成所述至少一个损失量级的软件漏洞的发现日距软件发布日间相差的天数, 损失,在所述累计天数内,对同一天内金钱的总损失量计算均值后转化成的损失量级数作为一天的损失程度, 累计损失,自软件发布日起,到指定的至少造成一个损失量级的软件漏洞发现日止的损失总量,损失量级小于一级的不计入编号; 步骤(2)计算机从中国国家信息安全漏洞库中提取自软件发布日起到最后一次发现造成至少一个损失量级的软件漏洞所对应的指定日止的至少一个损失量级的所有软件漏洞数据,每次都形成一个数据组,其中包括:编号、损失、累计天数、累计损失; 采样时刻用一天即24小时作为单位,用τ表示,软件发布日用^表示,所述指定日用 τ η 表示,中间的任一日用 τ t 表示,t=0, 1,2... ...Τ_1, Δ τ t= τ t-τ H=I 天, 编号用η表示,至少造成一个损失量级的软件漏洞的编号所对应的漏洞发现日用R表示,其中η=0, 1,2...η…N-Lnci表示软件发布日Tci时的编号。nfO,I^1表示最后发现至少一个损失量级的编号,N为编号的总数,在数值上N=T ; 累计损失用m表示,τ ^时Iiici=O, τ 时In=Iv1,中间任何一个编号η所对应的累计损失为mn ; 以所述每一个数据组为行,从而形成一个矩阵形式的用于表示从软件发布日起到所述指定日止的至少造成一个损失量级的软件漏洞数据组的序列,其中,各参数值时已知的;步骤(3)依次按以下步骤进行基于损失量的软件强安全性预测: 步骤(3.1)采用下表转换的形式把最后一次发现至少一个损失量级的软件漏洞发现日T^1,对应的累计损失IV1以及对应的编号N-1的都转换为预测起始日的数据:
全文摘要
基于损失量的软件强安全性预测方法属于软件在特定使用环境下的可信性预测领域,其特征在于,以包括成本和利润在内的金钱损失量为尺度,以自软件发布之日起到预测起始日间公布的损失、累计天数、累计损失为基础的损失至少为一个损失量级的经过编写的软件漏洞损失数据为基础,在假定软件漏洞在设定的预测时间步长内按泊松分布的前提下,以1天为时间步长,再用最大似然估计的方法,通过计算预测间隔内初始损失密度估计值和损失密度下降率的乘积来计算设定预测步长内的损失量,从中安设定的软件漏洞预测数据次数提取损失量至少为一个损失量级的软件漏洞预测数据序列,按误差在[-0.4,0.4]损失量级的标准与已公开的在相同预测次数范围内的数据相比,准确率为70%。
文档编号G06F11/36GK103198013SQ20131006242
公开日2013年7月10日 申请日期2013年2月27日 优先权日2013年2月27日
发明者吴世忠, 赵向辉, 姚尧, 罗平, 刘晖, 易锦, 黄雅芳, 刘彦钊, 张磊, 吴润浦, 李娟 , 姚原岗 申请人:中国信息安全测评中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1