CN107862327A - 一种基于多特征的安全缺陷识别系统和方法 - Google Patents
一种基于多特征的安全缺陷识别系统和方法 Download PDFInfo
- Publication number
- CN107862327A CN107862327A CN201711037584.XA CN201711037584A CN107862327A CN 107862327 A CN107862327 A CN 107862327A CN 201711037584 A CN201711037584 A CN 201711037584A CN 107862327 A CN107862327 A CN 107862327A
- Authority
- CN
- China
- Prior art keywords
- defect
- safety
- submitter
- security
- information
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3608—Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3624—Software debugging by performing operations on the source code, e.g. via a compiler
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于多特征的安全缺陷识别系统和方法,其中系统包括数据收集模块,获取缺陷的基本数据;缺陷特征提取模块,用于根据软件源代码生成函数调用图,提取缺陷代码特征,将缺陷信息转化成数值作为缺陷信息数值特征,使用缺陷修复复杂度衡量算法对缺陷的补丁文件进行解析,得到缺陷修复复杂度,进而得到特征向量;分类器模块,用于标记特征向量的类标签得到带有类标签的训练向量,利用训练向量训练安全缺陷识别模型,得到分类器;识别模块,用于根据待识别的缺陷报告及其对应的补丁文件得到特征向量,将特征向量输入分类器,得到待识别的缺陷报告的缺陷类型。本发明在确保系统执行效率的同时,显著地提高了识别准确度。
Description
技术领域
本发明属于自动化识别领域,更具体地,涉及一种基于多特征的安全缺陷识别系统和方法。
背景技术
目前各大软件开发商都是通过缺陷追踪系统,如Bugzilla,来管理众多的缺陷报告。这些缺陷报告来自不同的地方,包括开发团队,测试团队,以及终端用户等。这些缺陷涉及软件质量的各个方面,如功能,性能,兼容性,稳定性以及安全性等,深入理解不同类型的缺陷对项目的影响,对提高软件质量是必不可少的。特别地,在性质上安全相关的缺陷有别于普通缺陷:安全缺陷代表的是功能的滥用,可以给计算机系统引入一个可能的利用点。这个缺陷能导致安全缺口,并造成严重的不良后果,与之相反,传统的、与安全无关的缺陷则是功能错误或者功能不足。因此,我们希望安全相关的缺陷比其他类型的缺陷具有更高的优先级,能够被更快地修复。
绝大多数的安全缺陷是不安全代码的直接结果。因此,保护计算机系统依赖于对软件中安全缺陷的严格识别,这是一个单调乏味且易于出错的过程,需要大量的专业知识。然而,针对安全缺陷的识别与修复,现有的缺陷追踪系统存在以下问题:首先,缺陷提交人员在提交缺陷报告时,不能正确识别危险的安全缺陷,将其错误地打上了低危标签,降低了安全缺陷的优先级,导致安全工程师不能及时地修补漏洞,给软件的维护造成了严重的损失。其次,在指派缺陷给相应的开发者修复时,由于不能准确地识别安全缺陷,导致安全缺陷未能分配给合适的安全人员,从而导致其不能得到专业的安全修复,攻击者就可以利用这些安全缺陷进行攻击,并对整个系统造成影响。因此,需要一个自动化识别安全缺陷的系统,用于区分安全缺陷与非安全缺陷,方便安全缺陷得到更及时更专业的修复。
现有的安全缺陷识别方法主要有基于度量、基于文本两大类。基于度量的方法是运用统计学知识,在不同的度量值上研究安全缺陷与非安全缺陷之间的统计学差异。选取的度量值包括,缺陷提交时间,修复时间,重现次数,分配次数,分配时间,参与修复人数等缺陷的基本信息。基于文本是运用文本挖掘技术,通过对缺陷报告的文本分析来识别安全缺陷。该技术使用自然语言处理方法从缺陷报告中解析出关键术语,并创建相应的频率矩阵,最后通过识别模型来对缺陷报告来进行分类。选取的关键术语是最有可能表明缺陷报告类型的单词,例如“Attack”,“Vulnerability”,“Buffer overflow”,“Crash”,“Performance”等。基于度量、文本的方案,虽然算法复杂度较低,可大规模用于缺陷追踪系统。但是两者都没有充分的考虑安全缺陷的各类特征,不能在进行安全缺陷匹配的过程中真实全面的反映安全缺陷的本质特征,从而导致安全缺陷识别准确度比较低。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于多特征的安全缺陷识别系统和方法,由此解决现有技术存在没有充分的考虑安全缺陷的各类特征,不能在进行安全缺陷匹配的过程中真实全面的反映安全缺陷的本质特征,从而导致安全缺陷识别准确度比较低的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种基于多特征的安全缺陷识别系统,包括数据收集模块、缺陷特征提取模块、训练分类器模块和识别模块,
数据收集模块,用于获取缺陷的基本数据,缺陷的基本数据包括软件源代码、安全缺陷信息、非安全缺陷信息和缺陷的补丁文件;
缺陷代码特征提取模块,用于根据软件源代码生成函数调用图,并基于函数调用图提取缺陷代码特征,缺陷代码特征包括可达性、攻击入口点、可达路径和危险函数,将安全缺陷信息和非安全缺陷信息转化成数值作为缺陷信息数值特征,使用缺陷修复复杂度衡量算法对缺陷的补丁文件进行解析,得到缺陷修复复杂度,将缺陷代码特征、缺陷信息数值特征和缺陷修复复杂度转化成特征向量;
分类器模块,用于标记特征向量的类标签得到带有类标签的训练向量,利用训练向量训练安全缺陷识别模型,得到分类器;
识别模块,用于根据待识别的缺陷报告及其对应的补丁文件得到特征向量,将特征向量输入分类器,得到待识别的缺陷报告的缺陷类型。
进一步的,安全缺陷信息包括安全缺陷提交时间、安全缺陷提交者的信息、安全缺陷严重度和安全缺陷优先级,所述非安全缺陷信息包括非安全缺陷提交时间、非安全缺陷提交者的信息、非安全缺陷严重度和非安全缺陷优先级。
进一步的,安全缺陷提交者的信息包括安全缺陷提交者账号创建时间、安全缺陷提交者上次活跃时间、安全缺陷提交者过去提交的缺陷数目、安全缺陷提交者过去提交的评论数、安全缺陷提交者过去提交的补丁文件数和安全缺陷提交者过去被分配的缺陷数,所述非安全缺陷提交者的信息包括非安全缺陷提交者账号创建时间、非安全缺陷提交者上次活跃时间、非安全缺陷提交者过去提交的缺陷数目、非安全缺陷提交者过去提交的评论数、非安全缺陷提交者过去提交的补丁文件数和非安全缺陷提交者过去被分配的缺陷数。
进一步的,识别模块的具体实现方式为:
从待识别的缺陷报告中获取安全缺陷信息、非安全缺陷信息,将安全缺陷信息和非安全缺陷信息转化成数值作为缺陷信息数值特征,根据软件源代码生成函数调用图,基于函数调用图提取缺陷代码特征;使用缺陷修复复杂度衡量算法对缺陷的补丁文件进行解析,得到缺陷修复复杂度,将缺陷代码特征、缺陷信息数值特征和缺陷修复复杂度转化成特征向量,将特征向量输入分类器,得到待识别的缺陷报告的缺陷类型。
按照本发明的另一方面,提供了一种基于多特征的安全缺陷识别方法,包括:
(1)获取缺陷的基本数据,缺陷的基本数据包括软件源代码、安全缺陷信息、非安全缺陷信息和缺陷的补丁文件;
(2)根据软件源代码生成函数调用图,并基于函数调用图提取缺陷代码特征,缺陷代码特征包括可达性、攻击入口点、可达路径和危险函数,将安全缺陷信息和非安全缺陷信息转化成数值作为缺陷信息数值特征,使用缺陷修复复杂度衡量算法对缺陷的补丁文件进行解析,得到缺陷修复复杂度,将缺陷代码特征、缺陷信息数值特征和缺陷修复复杂度转化成特征向量;
(3)标记特征向量的类标签得到带有类标签的训练向量,利用训练向量训练安全缺陷识别模型,得到分类器;
(4)根据待识别的缺陷报告及其对应的补丁文件得到特征向量,将特征向量输入分类器,得到待识别的缺陷报告的缺陷类型。
进一步的,安全缺陷信息包括安全缺陷提交时间、安全缺陷提交者的信息、安全缺陷严重度和安全缺陷优先级,所述非安全缺陷信息包括非安全缺陷提交时间、非安全缺陷提交者的信息、非安全缺陷严重度和非安全缺陷优先级。
进一步的,安全缺陷提交者的信息包括安全缺陷提交者账号创建时间、安全缺陷提交者上次活跃时间、安全缺陷提交者过去提交的缺陷数目、安全缺陷提交者过去提交的评论数、安全缺陷提交者过去提交的补丁文件数和安全缺陷提交者过去被分配的缺陷数,所述非安全缺陷提交者的信息包括非安全缺陷提交者账号创建时间、非安全缺陷提交者上次活跃时间、非安全缺陷提交者过去提交的缺陷数目、非安全缺陷提交者过去提交的评论数、非安全缺陷提交者过去提交的补丁文件数和非安全缺陷提交者过去被分配的缺陷数。
进一步的,步骤(4)的具体实现方式为:
从待识别的缺陷报告中获取安全缺陷信息、非安全缺陷信息,将安全缺陷信息和非安全缺陷信息转化成数值作为缺陷信息数值特征,根据软件源代码生成函数调用图,基于函数调用图提取缺陷代码特征;使用缺陷修复复杂度衡量算法对缺陷的补丁文件进行解析,得到缺陷修复复杂度,将缺陷代码特征、缺陷信息数值特征和缺陷修复复杂度转化成特征向量,将特征向量输入分类器,得到待识别的缺陷报告的缺陷类型。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)本发明有效地解决了基于度量和文本的安全缺陷识别算法准确度低的问题,在确保系统执行效率的同时,显著地提高了识别准确度。本发明适用于大型缺陷追踪系统的安全缺陷识别,能够避免因未及时修补安全缺陷导致的损失。本发明充分考虑了缺陷多类特征,有效降低了检测结果的误报率和漏报率。使得本发明可以准确的识别安全缺陷。
(2)本发明获取了安全缺陷信息和非安全缺陷信息,在训练安全缺陷识别模型阶段,标记特征向量的类标签得到带有类标签的训练向量,利用训练向量训练安全缺陷识别模型,得到分类器。本发明同样适用于其他类型缺陷的识别,用户只需要在在训练安全缺陷识别模型阶段,给不同类型缺陷打上不同标签即可,可扩展性非常高。
(3)本发明在各个模块之间耦合性非常低,可以快速地完成模块的增删与修改,允许用户自定义模块功能级别。
附图说明
图1是本发明实施例提供的一种基于多特征的安全缺陷识别系统的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
如图1所示,一种基于多特征的安全缺陷识别系统,包括数据收集模块、缺陷特征提取模块、训练分类器模块和识别模块,
数据收集模块,用于获取缺陷的基本数据,缺陷的基本数据包括软件源代码、安全缺陷信息、非安全缺陷信息和缺陷的补丁文件;安全缺陷信息包括安全缺陷提交时间、安全缺陷提交者的信息、安全缺陷严重度(blocker,critical,major,normal,minor,trivial,enhancement)和安全缺陷优先级(P1-P5),所述非安全缺陷信息包括非安全缺陷提交时间、非安全缺陷提交者的信息、非安全缺陷严重度和非安全缺陷优先级。安全缺陷提交者的信息包括安全缺陷提交者账号创建时间、安全缺陷提交者上次活跃时间、安全缺陷提交者过去提交的缺陷数目、安全缺陷提交者过去提交的评论数、安全缺陷提交者过去提交的补丁文件数和安全缺陷提交者过去被分配的缺陷数,所述非安全缺陷提交者的信息包括非安全缺陷提交者账号创建时间、非安全缺陷提交者上次活跃时间、非安全缺陷提交者过去提交的缺陷数目、非安全缺陷提交者过去提交的评论数、非安全缺陷提交者过去提交的补丁文件数和非安全缺陷提交者过去被分配的缺陷数。
缺陷特征提取模块,用于根据软件源代码生成函数调用图,并基于函数调用图提取缺陷代码特征,缺陷代码特征包括可达性、攻击入口点、可达路径和危险函数,将安全缺陷信息和非安全缺陷信息转化成数值缺陷信息作为数值特征,使用缺陷修复复杂度衡量算法对缺陷的补丁文件进行解析,得到缺陷修复复杂度,将缺陷代码特征、缺陷信息数值特征和缺陷修复复杂度转化成特征向量;
分类器模块,用于标记特征向量的类标签得到带有类标签的训练向量,利用训练向量训练安全缺陷识别模型,得到分类器;具体的,对于特征向量中的两类缺陷(安全缺陷与非安全缺陷)报告分别提取缺陷代码特征和缺陷信息数值特征,并计算相应的缺陷修复复杂度,由此构成特征属性集合S={s1,s2,……,sn},将每个报告的特征属性集合作为一个特征向量si={xi 1,xi 2,……,xi m},其中xi m表示每一个报告的特征属性;为每个特征向量打上对应的类标签,分为C,C’类,分别代表安全缺陷与非安全缺陷,其中C={c1,c2,……,cn},C’{c’1,c’2,……,c’n};将特征向量及其标签值,作为安全缺陷识别模型(即为支持向量机)的输入,经过学习训练,得到精确的分类器。
识别模块,用于从待识别的缺陷报告中获取安全缺陷信息、非安全缺陷信息,将安全缺陷信息和非安全缺陷信息转化成数值作为缺陷信息数值特征,根据软件源代码生成函数调用图,基于函数调用图提取缺陷代码特征;使用缺陷修复复杂度衡量算法对缺陷的补丁文件进行解析,得到缺陷修复复杂度,将缺陷代码特征、缺陷信息数值特征和缺陷修复复杂度转化成特征向量,将特征向量输入分类器,得到待识别的缺陷报告的缺陷类型。如果是安全缺陷,则输出,如果不是,则继续进行下一个缺陷报告的识别。
本发明实施例优选的,数据收集模块,包括:
源代码获取单元,用于从源代码版本库中通过爬虫自动爬取选定版本的软件源代码,用来生成函数调用图。
缺陷基本信息获取单元,用于解析缺陷追踪系统网页,定位到缺陷描述中缺陷所在的位置,缺陷涉及的函数,得到缺陷信息。
缺陷补丁文件获取单元,用于解析缺陷追踪系统网页,定位到补丁链接,通过爬虫脚本自动爬取该链接下缺陷的补丁文件,用来分析缺陷修复复杂度。
本发明实施例优选的,缺陷特征提取模块,包括:
函数调用图生成单元,用于通过CodeViz为软件源代码生成函数调用图,原理是在GCC中打入补丁,使其在编译每个源文件时dump出其中函数的调用图,然后用Perl脚本收集并整理调用关系,最终得到整个软件源代码的函数调用图。
可达路径遍历单元,用于分析函数调用图中的入口点,计算入口点个数,得到攻击表面大小;从入口点使用深度优先的方式遍历图中所有的可达的路径,只在当前节点无后继结点或者重新回到环入口节点时才开始向上层回溯。根据缺陷位置确定是否可达(即为可达性),以及可达路径。
危险函数分析单元,危险函数是指容易造成安全问题的库函数或者API,如memcpy,strcpy,gets等。从软件源代码中提取出缺陷所涉及的函数,标准化缺陷函数后,对其进行词法和语法分析,确定其中的函数调用。然后对比危险函数表,确定缺陷函数中调用的危险函数。
缺陷信息数值化单元,用于通过映射将缺陷信息转换成对应的数值。对于缺陷提交时间,将其转换成时间戳形式作为特征之一;对于安全缺陷提交者的信息,缺陷提交者账号创建时间和缺陷提交者上次活跃时间同样转换时间戳形式作为特征之一,其余数值信息可直接作为特征;对于缺陷严重度,7类严重度分别对应数值1~7,缺省时为0;对于缺陷优先级,5类优先级分别对应数值1~5,缺省时为0.
补丁文件解析单元,分为三个部分,其一为解析补丁文件头,获取并记录缺陷涉及修改的文件数目;其二为解析补丁文件段,统计增删改的代码行数。对补丁文件段中的代码进行字符串匹配,补丁文件段中以“+”行开始表示增加的代码行,以“-”行开始表示删减的代码行;其三为计算熵值,衡量缺陷修复复杂度。这里使用的熵值为Shannon熵,定义为 其中且其中:
对于分布P,所有元素都有相同的发生概率此时达到最大熵值。另一方面,对于分布P,其中只有一个元素有概率发生,实现最小熵值为0。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于多特征的安全缺陷识别系统,其特征在于,包括数据收集模块、缺陷特征提取模块、训练分类器模块和识别模块,
数据收集模块,用于获取缺陷的基本数据,缺陷的基本数据包括软件源代码、安全缺陷信息、非安全缺陷信息和缺陷的补丁文件;
缺陷特征提取模块,用于根据软件源代码生成函数调用图,并基于函数调用图提取缺陷代码特征,缺陷代码特征包括可达性、攻击入口点、可达路径和危险函数,将安全缺陷信息和非安全缺陷信息转化成数值作为缺陷信息数值特征,使用缺陷修复复杂度衡量算法对缺陷的补丁文件进行解析,得到缺陷修复复杂度,将缺陷代码特征、缺陷信息数值特征和缺陷修复复杂度转化成特征向量;
分类器模块,用于标记特征向量的类标签得到带有类标签的训练向量,利用训练向量训练安全缺陷识别模型,得到分类器;
识别模块,用于根据待识别的缺陷报告及其对应的补丁文件得到特征向量,将特征向量输入分类器,得到待识别的缺陷报告的缺陷类型。
2.如权利要求1所述的一种基于多特征的安全缺陷识别系统,其特征在于,所述安全缺陷信息包括安全缺陷提交时间、安全缺陷提交者的信息、安全缺陷严重度和安全缺陷优先级,所述非安全缺陷信息包括非安全缺陷提交时间、非安全缺陷提交者的信息、非安全缺陷严重度和非安全缺陷优先级。
3.如权利要求2所述的一种基于多特征的安全缺陷识别系统,其特征在于,所述安全缺陷提交者的信息包括安全缺陷提交者账号创建时间、安全缺陷提交者上次活跃时间、安全缺陷提交者过去提交的缺陷数目、安全缺陷提交者过去提交的评论数、安全缺陷提交者过去提交的补丁文件数和安全缺陷提交者过去被分配的缺陷数,所述非安全缺陷提交者的信息包括非安全缺陷提交者账号创建时间、非安全缺陷提交者上次活跃时间、非安全缺陷提交者过去提交的缺陷数目、非安全缺陷提交者过去提交的评论数、非安全缺陷提交者过去提交的补丁文件数和非安全缺陷提交者过去被分配的缺陷数。
4.如权利要求1-3任意一项所述的一种基于多特征的安全缺陷识别系统,其特征在于,所述识别模块的具体实现方式为:
从待识别的缺陷报告中获取安全缺陷信息、非安全缺陷信息,将安全缺陷信息和非安全缺陷信息转化成数值作为缺陷信息数值特征,根据软件源代码生成函数调用图,基于函数调用图提取缺陷代码特征;使用缺陷修复复杂度衡量算法对缺陷的补丁文件进行解析,得到缺陷修复复杂度,将缺陷代码特征、缺陷信息数值特征和缺陷修复复杂度转化成特征向量,将特征向量输入分类器,得到待识别的缺陷报告的缺陷类型。
5.一种基于多特征的安全缺陷识别方法,其特征在于,包括:
(1)获取缺陷的基本数据,缺陷的基本数据包括软件源代码、安全缺陷信息、非安全缺陷信息和缺陷的补丁文件;
(2)根据软件源代码生成函数调用图,并基于函数调用图提取缺陷代码特征,缺陷代码特征包括可达性、攻击入口点、可达路径和危险函数,将安全缺陷信息和非安全缺陷信息转化成数值作为缺陷信息数值特征,使用缺陷修复复杂度衡量算法对缺陷的补丁文件进行解析,得到缺陷修复复杂度,将缺陷代码特征、缺陷信息数值特征和缺陷修复复杂度转化成特征向量;
(3)标记特征向量的类标签得到带有类标签的训练向量,利用训练向量训练安全缺陷识别模型,得到分类器;
(4)根据待识别的缺陷报告及其对应的补丁文件得到特征向量,将特征向量输入分类器,得到待识别的缺陷报告的缺陷类型。
6.如权利要求5所述的一种基于多特征的安全缺陷识别方法,其特征在于,所述安全缺陷信息包括安全缺陷提交时间、安全缺陷提交者的信息、安全缺陷严重度和安全缺陷优先级,所述非安全缺陷信息包括非安全缺陷提交时间、非安全缺陷提交者的信息、非安全缺陷严重度和非安全缺陷优先级。
7.如权利要求6所述的一种基于多特征的安全缺陷识别方法,其特征在于,所述安全缺陷提交者的信息包括安全缺陷提交者账号创建时间、安全缺陷提交者上次活跃时间、安全缺陷提交者过去提交的缺陷数目、安全缺陷提交者过去提交的评论数、安全缺陷提交者过去提交的补丁文件数和安全缺陷提交者过去被分配的缺陷数,所述非安全缺陷提交者的信息包括非安全缺陷提交者账号创建时间、非安全缺陷提交者上次活跃时间、非安全缺陷提交者过去提交的缺陷数目、非安全缺陷提交者过去提交的评论数、非安全缺陷提交者过去提交的补丁文件数和非安全缺陷提交者过去被分配的缺陷数。
8.如权利要求5-7任意一项所述的一种基于多特征的安全缺陷识别方法,其特征在于,所述步骤(4)的具体实现方式为:
从待识别的缺陷报告中获取安全缺陷信息、非安全缺陷信息,将安全缺陷信息和非安全缺陷信息转化成数值作为缺陷信息数值特征,根据软件源代码生成函数调用图,基于函数调用图提取缺陷代码特征;使用缺陷修复复杂度衡量算法对缺陷的补丁文件进行解析,得到缺陷修复复杂度,将缺陷代码特征、缺陷信息数值特征和缺陷修复复杂度转化成特征向量,将特征向量输入分类器,得到待识别的缺陷报告的缺陷类型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711037584.XA CN107862327B (zh) | 2017-10-26 | 2017-10-26 | 一种基于多特征的安全缺陷识别系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711037584.XA CN107862327B (zh) | 2017-10-26 | 2017-10-26 | 一种基于多特征的安全缺陷识别系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107862327A true CN107862327A (zh) | 2018-03-30 |
CN107862327B CN107862327B (zh) | 2020-07-24 |
Family
ID=61697807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711037584.XA Active CN107862327B (zh) | 2017-10-26 | 2017-10-26 | 一种基于多特征的安全缺陷识别系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107862327B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109657473A (zh) * | 2018-11-12 | 2019-04-19 | 华中科技大学 | 一种基于深度特征的细粒度漏洞检测方法 |
CN111046390A (zh) * | 2019-07-12 | 2020-04-21 | 哈尔滨安天科技集团股份有限公司 | 一种协同防御补丁防护方法、装置及存储设备 |
CN111177011A (zh) * | 2020-01-02 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 软件免测的预测方法、装置、设备及存储介质 |
CN112306730A (zh) * | 2020-11-12 | 2021-02-02 | 南通大学 | 基于历史项目伪标签生成的缺陷报告严重程度预测方法 |
CN114968813A (zh) * | 2022-06-21 | 2022-08-30 | 江苏工程职业技术学院 | 一种面向软件仓库挖掘的缺陷定位方法 |
CN115310079A (zh) * | 2022-10-13 | 2022-11-08 | 中国汽车技术研究中心有限公司 | 一种基于智能网联汽车攻击矩阵的展示方法 |
CN115455425A (zh) * | 2022-09-13 | 2022-12-09 | 中国电信股份有限公司 | 防护补丁生成方法、系统、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101017458A (zh) * | 2007-03-02 | 2007-08-15 | 北京邮电大学 | 基于源代码静态分析的软件安全代码分析器及其检测方法 |
CN101930401A (zh) * | 2010-09-20 | 2010-12-29 | 南京大学 | 一种基于检测对象的软件漏洞模型检测方法 |
CN105279075A (zh) * | 2014-06-10 | 2016-01-27 | 江苏博智软件科技有限公司 | 一种基于序列模式软件安全漏洞的检测方法 |
WO2016054384A1 (en) * | 2014-10-02 | 2016-04-07 | Massachusetts Institute Of Technology | Systems and methods for risk rating framework for mobile applications |
CN106529293A (zh) * | 2016-11-09 | 2017-03-22 | 东巽科技(北京)有限公司 | 一种用于恶意软件检测的样本类别判定方法 |
CN106709335A (zh) * | 2015-11-17 | 2017-05-24 | 阿里巴巴集团控股有限公司 | 漏洞检测方法和装置 |
-
2017
- 2017-10-26 CN CN201711037584.XA patent/CN107862327B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101017458A (zh) * | 2007-03-02 | 2007-08-15 | 北京邮电大学 | 基于源代码静态分析的软件安全代码分析器及其检测方法 |
CN101930401A (zh) * | 2010-09-20 | 2010-12-29 | 南京大学 | 一种基于检测对象的软件漏洞模型检测方法 |
CN105279075A (zh) * | 2014-06-10 | 2016-01-27 | 江苏博智软件科技有限公司 | 一种基于序列模式软件安全漏洞的检测方法 |
WO2016054384A1 (en) * | 2014-10-02 | 2016-04-07 | Massachusetts Institute Of Technology | Systems and methods for risk rating framework for mobile applications |
CN106709335A (zh) * | 2015-11-17 | 2017-05-24 | 阿里巴巴集团控股有限公司 | 漏洞检测方法和装置 |
CN106529293A (zh) * | 2016-11-09 | 2017-03-22 | 东巽科技(北京)有限公司 | 一种用于恶意软件检测的样本类别判定方法 |
Non-Patent Citations (1)
Title |
---|
YAQIN ZHOU ETC,: ""Automated Identification of Security Issues from Commit Messages and Bug Reports"", 《2017 11TH JOINT MEETING OF THE EUROPEAN SOFTWARE ENGINEERING CONFERENCE》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109657473A (zh) * | 2018-11-12 | 2019-04-19 | 华中科技大学 | 一种基于深度特征的细粒度漏洞检测方法 |
CN109657473B (zh) * | 2018-11-12 | 2020-09-18 | 华中科技大学 | 一种基于深度特征的细粒度漏洞检测方法 |
CN111046390A (zh) * | 2019-07-12 | 2020-04-21 | 哈尔滨安天科技集团股份有限公司 | 一种协同防御补丁防护方法、装置及存储设备 |
CN111046390B (zh) * | 2019-07-12 | 2023-07-07 | 安天科技集团股份有限公司 | 一种协同防御补丁防护方法、装置及存储设备 |
CN111177011A (zh) * | 2020-01-02 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 软件免测的预测方法、装置、设备及存储介质 |
CN112306730A (zh) * | 2020-11-12 | 2021-02-02 | 南通大学 | 基于历史项目伪标签生成的缺陷报告严重程度预测方法 |
CN112306730B (zh) * | 2020-11-12 | 2021-11-30 | 南通大学 | 基于历史项目伪标签生成的缺陷报告严重程度预测方法 |
CN114968813A (zh) * | 2022-06-21 | 2022-08-30 | 江苏工程职业技术学院 | 一种面向软件仓库挖掘的缺陷定位方法 |
CN115455425A (zh) * | 2022-09-13 | 2022-12-09 | 中国电信股份有限公司 | 防护补丁生成方法、系统、设备及存储介质 |
CN115455425B (zh) * | 2022-09-13 | 2024-08-27 | 中国电信股份有限公司 | 防护补丁生成方法、系统、设备及存储介质 |
CN115310079A (zh) * | 2022-10-13 | 2022-11-08 | 中国汽车技术研究中心有限公司 | 一种基于智能网联汽车攻击矩阵的展示方法 |
CN115310079B (zh) * | 2022-10-13 | 2023-01-10 | 中国汽车技术研究中心有限公司 | 一种基于智能网联汽车攻击矩阵的展示方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107862327B (zh) | 2020-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107862327A (zh) | 一种基于多特征的安全缺陷识别系统和方法 | |
US10830817B2 (en) | Touchless testing platform | |
CN113656805B (zh) | 一种面向多源漏洞信息的事件图谱自动构建方法及系统 | |
WO2021174812A1 (zh) | 用于画像的数据的清洗方法、装置、介质及电子设备 | |
CN102609406B (zh) | 学习装置、判断装置、学习方法和判断方法 | |
Kobayashi et al. | Towards an NLP-based log template generation algorithm for system log analysis | |
CN110543422B (zh) | 一种用于fpr的软件包代码缺陷数据处理方法、系统及介质 | |
CN111090641A (zh) | 数据处理方法及装置、电子设备、存储介质 | |
CN110555485B (zh) | 穿模样本生成、模型训练、检测方法、装置及介质 | |
CN110175851A (zh) | 一种作弊行为检测方法及装置 | |
CN107992578A (zh) | 敏感视频源的数据库自动检测方法 | |
CN111752833B (zh) | 一种软件质量体系准出方法、装置、服务器及存储介质 | |
CN112650670A (zh) | 应用测试方法、装置、系统、电子设备和存储介质 | |
CN111679975A (zh) | 单证生成方法、装置、电子设备及介质 | |
JP2017068293A (ja) | テストdbデータ生成方法及び装置 | |
CN110287700A (zh) | 一种iOS应用安全分析方法及装置 | |
CN113011164A (zh) | 数据质量检测方法、装置、电子设备及介质 | |
CN111240978A (zh) | 数据报告生成与分析方法 | |
CN110472416A (zh) | 一种网页恶意代码检测方法及相关装置 | |
US20230011129A1 (en) | Log analyzer for fault detection | |
CN107577760A (zh) | 一种基于约束规范的文本分类方法及装置 | |
CN113778875A (zh) | 一种系统测试缺陷分类方法、装置、设备及存储介质 | |
CN113515588A (zh) | 表单数据检测方法、计算机装置及存储介质 | |
CN111240652A (zh) | 数据处理方法及装置、计算机存储介质、电子设备 | |
CN109558418A (zh) | 一种自动识别信息的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |