《一种基于缺陷分析的代码安全性评价方法.pdf》由会员分享,可在线阅读,更多相关《一种基于缺陷分析的代码安全性评价方法.pdf(10页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 104008057 A (43)申请公布日 2014.08.27 C N 1 0 4 0 0 8 0 5 7 A (21)申请号 201410262288.X (22)申请日 2014.06.13 G06F 11/36(2006.01) (71)申请人国家电网公司 地址 100031 北京市西城区西长安街86号 申请人中国电力科学研究院 (72)发明人范杰 石聪聪 郭骞 高鹏 李尼格 蒋诚智 俞庚申 冯谷 余勇 曹宛恬 鲍兴川 (74)专利代理机构北京安博达知识产权代理有 限公司 11271 代理人徐国文 (54) 发明名称 一种基于缺陷分析的代码安全性评价方法 (5。
2、7) 摘要 本发明提供了一种基于缺陷分析的代码安全 性评价方法,包括步骤1:获取代码缺陷WA的威 胁程度DW;步骤2:构建代码缺陷库;步骤3:对代 码进行量化分析;步骤4:获取代码的安全性量值 T A 。与现有技术相比,本发明提供的一种基于缺陷 分析的代码安全性评价方法,能够全面的从代码 缺陷编写产生、编写预防以及代码环境系数EVA 中的编写人员素质的结果来量化评估代码的安全 性;提高了代码安全性评价的精确度从而提高代 码的安全性以及增强应用系统的整体安全性。 (51)Int.Cl. 权利要求书2页 说明书6页 附图1页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2。
3、页 说明书6页 附图1页 (10)申请公布号 CN 104008057 A CN 104008057 A 1/2页 2 1.一种基于缺陷分析的代码安全性评价方法,其特征在于,所述方法包括下述步骤: 步骤1:获取代码缺陷WA的威胁程度DW; 步骤2:构建代码缺陷库; 步骤3:对代码进行量化分析; 步骤4:获取所述代码的安全性量值TA。 2.如权利要求1所述的一种基于缺陷分析的代码安全性评价方法,其特征在于,依据 代码缺陷分类设置代码缺陷威胁程度属性Damage,从而获取所述威胁程度DW;所述代码缺 陷WAA 1 ,A 2 ,.A i .A n ;所述威胁程度DWD 1 ,D 2 ,.D i .D。
4、 n ;所述威胁程度DW与 所述代码缺陷WA之间一一对应。 3.如权利要求1所述的一种基于缺陷分析的代码安全性评价方法,其特征在于,通过 Fortify建立代码缺陷分类,包括严重风险类缺陷Critical、高风险类缺陷Hight、中风险 类缺陷Medium和低风险类缺陷Low。 4.如权利要求1所述的一种基于缺陷分析的代码安全性评价方法,其特征在于,依据 所述威胁程度DW和人工影响指数PEA构建代码缺陷库; 所述人工影响指数PEA为编程人员对所述代码缺陷采用的处理方式对所述威胁程度 DW的影响值;所述人工影响指数PEAPEA 1 ,PEA 2 ,.PEA i .PEA n ;所述人工影响指数 。
5、PEA与所述代码缺陷WA之间一一对应。 5.如权利要求1所述的一种基于缺陷分析的代码安全性评价方法,其特征在于,所述 步骤3中的代码量化分析包括: 步骤3-1:获取所述严重风险类缺陷Critical的数量值C N 、所述高风险类缺陷Hight的 数量值H N 、所述中风险类缺陷Medium的数量值M N 和所述低风险类缺陷Low的数量值L N ; 步骤3-2:通过所述威胁程度DW、所述人工影响指数PEA、所述数量值C N 、所述数量值 H N 、所述数量值M N 和所述数量值L N 分别计算所述严重风险类缺陷Critical的威胁量化值 T C 、所述高风险类缺陷Hight的威胁量化值T H 。
6、、所述中风险类缺陷Medium的威胁量化值T M 和所述低风险类缺陷Low的威胁量化值T L ; 其中、为影响威胁量化值总体趋势的系数。 6.如权利要求1所述的一种基于缺陷分析的代码安全性评价方法,其特征在于,所述 步骤4中获取代码的安全性量值T A 包括: 步骤4-1:获取所述编程人员影响系数PT;所述其中,所述 权 利 要 求 书CN 104008057 A 2/2页 3 WT i 为编程人员的工作时间、所述WQ i 为编程人员的工作资质、所述N为编程人员总数; 步骤4-2:获取所述代码环境系数EVA;所述其中,所述ET 为可执行代码行数、所述VT为有效代码行数、所述FT为Function。
7、函数的总数、所述CT为 Class类的总数; 步骤4-3:通过所述威胁量化值T C 、威胁量化值T H 、威胁量化值T M 、低威胁量化值T L 和 代码环境系数EVA计算所述安全性量值 权 利 要 求 书CN 104008057 A 1/6页 4 一种基于缺陷分析的代码安全性评价方法 技术领域 0001 本发明涉及一种代码安全性评价方法,具体涉及一种基于缺陷分析的代码安全性 评价方法。 背景技术 0002 随着信息化建设的逐渐深入,信息安全攻击趋势也发生了变化,从以往的攻击系 统和网络向攻击应用系统进行转变。根据国际权威咨询机构Gartner统计,目前75的信 息安全攻击均发生在应用系统层面。
8、而并非系统和网络层面上,网络中常见的攻击已经由传 统的系统漏洞攻击逐渐发展演变为对应用自身弱点的攻击。其中,应用系统自身的弱点和 缺陷主要是由于开发人员在编码时没有注意编写代码的安全而引起的。 0003 由于应用系统的种类和功能越来越繁多,导致其代码规模也越来越大,代码的安 全性成为日益突出的安全性问题。现有技术中对代码安全性进行检测的工具更多的是对代 码存在多少缺陷的检测,并没有对整个代码的安全性进行评估,例如:Fortify代码安全检 测工具虽然能够提示出代码的安全等级,但其仅包括高中低三种安全等级。 0004 同时不同的代码安全缺陷研究组织,如CWE、Nist、OWASP等,对代码安全缺。
9、陷的描 述方法不同,并没有统一的代码安全缺陷分类方法,从而增加了应用系统整体代码的安全 性评估的复杂性和难度。 0005 因此,为了提高现有代码安全性评价方法,对于代码安全性进行评价过于泛化,引 进的评价因子过于缺少的局限性,提供一种代码安全性评价方法显得尤为重要。 发明内容 0006 为了满足现有技术的需要,本发明提供了一种基于缺陷分析的代码安全性评价方 法,所述方法包括下述步骤: 0007 步骤1:获取代码缺陷WA的威胁程度DW; 0008 步骤2:构建代码缺陷库; 0009 步骤3:对代码进行量化分析; 0010 步骤4:获取所述代码的安全性量值T A 。 0011 优选的,依据代码缺陷。
10、分类设置代码缺陷威胁程度属性Damage,从而获 取所述威胁程度DW;所述代码缺陷WAA 1 ,A 2 ,.A i .A n ;所述威胁程度DW D 1 ,D 2 ,.D i .D n ;所述威胁程度DW与所述代码缺陷WA之间一一对应; 0012 优选的,通过Fortify建立代码缺陷分类,包括严重风险类缺陷Critical、高风险 类缺陷Hight、中风险类缺陷Medium和低风险类缺陷Low; 0013 优选的,依据所述威胁程度DW和人工影响指数PEA构建代码缺陷库; 0014 所述人工影响指数PEA为编程人员对所述代码缺陷采用的处理方式对所述威胁 程度DW的影响值;所述人工影响指数PEA。
11、PEA 1 ,PEA 2 ,.PEA i .PEA n ;所述人工影响 指数PEA与所述代码缺陷WA之间一一对应; 说 明 书CN 104008057 A 2/6页 5 0015 优选的,所述步骤3中的代码量化分析包括: 0016 步骤3-1:获取所述严重风险类缺陷Critical的数量值C N 、所述高风险类缺陷 Hight的数量值H N 、所述中风险类缺陷Medium的数量值M N 和所述低风险类缺陷Low的数量 值L N ; 0017 步骤3-2:通过所述威胁程度DW、所述人工影响指数PEA、所述数量值C N 、所述数量 值H N 、所述数量值M N 和所述数量值L N 分别计算所述严重。
12、风险类缺陷Critcal的威胁量化值 T C 、所述高风险类缺陷Hight的威胁量化值T H 、所述中风险类缺陷Medium的威胁量化值T M 和所述低风险类缺陷Low的威胁量化值T L ; 0018 0019 0020 0021 其中、为影响威胁量化值总体趋势的系数; 0022 优选的,所述步骤4中获取代码的安全性量值T A 包括: 0023 步骤4-1:获取所述编程人员影响系数PT;所述其中,所 述WT i 为编程人员的工作时间、所述WQ i 为编程人员的工作资质、所述N为编程人员总数; 0024 步骤4-2:获取所述代码环境系数EVA;所述其中,所 述ET为可执行代码行数、所述VT为有效。
13、代码行数、所述FT为Function函数的总数、所述 CT为Class类的总数; 0025 步骤4-3:通过所述威胁量化值T C 、威胁量化值T H 、威胁量化值T M 、低威胁量化值T L 和代码环境系数EVA计算所述安全性量值 0026 与最接近的现有技术相比,本发明的优异效果是: 0027 1、本发明技术方案中,构建代码缺陷库能够更好的将代码缺陷进行分类,能够更 加客观的评价代码安全性; 0028 2、本发明技术方案中,采用人工影响指数PEA能够将编程人员对代码缺陷采用的 处理方式对威胁程度DW的影响值加入代码安全性; 0029 3、本发明技术方案中,采用代码环境系数EVA能够在评价代码。
14、安全性中加入代码 规模因子对其的影响; 0030 4、本发明技术方案中,采用编程人员影响系数PT能够在评价代码安全性中加入 编程人员工作时间和工作资质因子对其的影响; 0031 5、本发明提供的一种基于缺陷分析的代码安全性评价方法,能够全面的从代码缺 说 明 书CN 104008057 A 3/6页 6 陷编写产生、编写预防以及代码环境系数EVA中的编写人员素质的结果来量化评估代码的 安全性;提高了代码安全性评价的精确度和代码的安全性从而增强应用系统的整体安全 性。 附图说明 0032 下面结合附图对本发明进一步说明。 0033 图1是:本发明实施例中一种基于缺陷分析的代码安全性评价方法流程图。
15、。 具体实施方式 0034 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终 相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附 图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。 0035 本发明提供的一种基于缺陷分析的代码安全性评价方法,具体步骤如图1所示: 0036 步骤1:获取代码缺陷WA的威胁程度DW: 0037 :通过Fortify建立代码缺陷分类,包括严重风险类缺陷Critical、高风险类缺 陷Hight、中风险类缺陷Medium和低风险类缺陷Low; 0038 代码缺陷分类:AttributeSetCr。
16、itical,Hight,Medium,Low; 0039 代码缺陷分类集:AttributeSetsCriticalWSet,HightWSet,MediumWSet,Low WSet;。 0040 :依据代码缺陷分类设置代码缺陷威胁程度属性Damage,从而获取威胁程度 DW;代码缺陷WAA 1 ,A 2 ,.A i .A n ;威胁程度DWD 1 ,D 2 ,.D i .D n ;威胁程度DW与 代码缺陷WA之间一一对应;本实施例中威胁程度DW的取值如下表所示: 0041 说 明 书CN 104008057 A 4/6页 7 0042 0043 步骤2:构建代码缺陷库; 0044 :设定。
17、人工影响指数PEA:所述PEA为编程人员对代码缺陷WA采用的处理方式 对威胁程度DW的影响值;所述PEAPEA 1 ,PEA 2 ,.PEA i .PEA n 与代码缺陷WA之间一一 对应;所述设定人工影响指数PEA的取值方法如下表所示: 0045 说 明 书CN 104008057 A 5/6页 8 种类人工影响指数PEA 没有对代码缺陷进行修改1 对代码缺陷进行修改,但不完全2 对代码缺陷进行完全整改3 0046 :依据威胁程度DW和人工影响指数PEA构建代码缺陷库。 0047 步骤3:对代码进行量化分析: 0048 :获取严重风险类缺陷Critical的数量值C N 、高风险类缺陷Hig。
18、ht的数量值H N 、 中风险类缺陷Medium的数量值M N 和低风险类缺陷Low的数量值L N ; 0049 :通过威胁程度DW、人工影响指数PEA、数量值C N 、数量值H N 、数量值M N 和数量值 L N 分别计算: 0050 严重风险类缺陷Critical的威胁量化值 0051 高风险类缺陷Hight的威胁量化值 0052 中风险类缺陷Medium的威胁量化值 0053 低风险类缺陷Low的威胁量化值 0054 其中、为影响威胁量化值总体趋势的系数,在试验过程中,可通过调节、 的数值调整威胁量化值运算结果的精准度。 0055 步骤4:获取代码的安全性量值T A ; 0056 :通。
19、过可执行代码行数ET、有效代码行数VT、Function函数的总数FT、Class类 的总数CT和编程人员影响系数PT计算代码环境系数EVA,即 0057 其中,所述PT的数值由编程人员的工作时间WT和工作资质WQ计算得出,即 其中N是编程人员总数。 0058 本实施例中编程人员影响系数PT的取值方法如下表所示: 0059 工作时间(年) WT工作资质WQ 0-3 0.1公司0.1 3-5 0.3市级0.3 说 明 书CN 104008057 A 6/6页 9 5-8 0.5省级0.5 8-10 0.8国家级0.8 10以上1国际级1 0060 :通过威胁量化值T C 、威胁量化值T H 、威胁量化值T M 、低威胁量化值T L 和代码环 境系数EVA计算安全性量值T A ,即 0061 最后应当说明的是:所描述的实施例仅是本申请一部分实施例,而不是全部的实 施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得 的所有其他实施例,都属于本申请保护的范围。 说 明 书CN 104008057 A 1/1页 10 图1 说 明 书 附 图CN 104008057 A 10 。