CN111177731A - 一种基于人工神经网络的软件源代码漏洞检测方法 - Google Patents
一种基于人工神经网络的软件源代码漏洞检测方法 Download PDFInfo
- Publication number
- CN111177731A CN111177731A CN201911363149.5A CN201911363149A CN111177731A CN 111177731 A CN111177731 A CN 111177731A CN 201911363149 A CN201911363149 A CN 201911363149A CN 111177731 A CN111177731 A CN 111177731A
- Authority
- CN
- China
- Prior art keywords
- data
- source code
- training
- neural network
- network
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 33
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 15
- 238000000034 method Methods 0.000 claims abstract description 25
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 21
- 238000012549 training Methods 0.000 claims description 37
- 230000006870 function Effects 0.000 claims description 34
- 238000010801 machine learning Methods 0.000 claims description 12
- 238000012360 testing method Methods 0.000 claims description 11
- 238000007637 random forest analysis Methods 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 abstract description 15
- 238000013135 deep learning Methods 0.000 abstract description 15
- 238000005516 engineering process Methods 0.000 abstract description 15
- 230000008569 process Effects 0.000 abstract description 9
- 238000012545 processing Methods 0.000 abstract description 7
- 230000003313 weakening effect Effects 0.000 abstract description 3
- 230000003068 static effect Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000003449 preventive effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Security & Cryptography (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computational Linguistics (AREA)
- Evolutionary Biology (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于人工神经网络的软件源代码漏洞检测方法,本发明基于的深度学习和源于语言模型的词向量技术:使得代码的隐含模式能够自动的被深度学习的算法所习得,从而省去了人工提取特征的耗时和繁琐过程;进一步弱化了代码的处理和分析的复杂程度,从而节省代码处理和分析的时间投入。基于ELMo的深度学习构架能够直接接受源代码序列作为输入并输出预测结果,从真正意义上做到在源代码层面上的端到端的检测。
Description
技术领域
本发明涉及软件源代码漏洞检测技术领域,具体为一种基于人工神经网络的软件源代码漏洞检测方法。
背景技术
软件漏洞检测技术作为一种预防性的攻击抵御措施,在计算机安全领域备受关注。而成本效益最高的举措就是在软件正式发布前进行软件漏洞检测。这样,可能被攻击者利用的漏洞可以提前被发现并被及时修复,从而避免用户的数据和服务受到攻击。
传统的软件漏洞检测技术可分为静态,动态和混合三类。静态分析技术如:基于规则匹配的筛选和符号执行是通过分析软件源代码来实现的。这些静态分析方法的缺陷是会产生较多的误报。动态的软件分析技术通常包括模糊测试和污点分析等,是需要将软件编译运行后才可实施。其主要优势就是误报率低,但是漏报率高。混合分析技术结合了静态和动态分析的优势,成为软件工程领域中较为先进的分析方式。但其缺点是往往需要分析人员同时具有软件源代码和编译环境,且在实际操作过程中步骤较为繁琐和复杂,分析效率有待提高。
近年来,机器学习和数据挖掘技术的广泛应用使得研究人员将目光投向了基于机器学习和模式识别的漏洞检测方法。采用传统机器学习技术的最大优势就是传统机器学习算法可以自动的学习软件代码漏洞的潜在和隐式模式。和人为设计的漏洞代码匹配规则相比,传统机器学习算法所学习的模式和规则具有更好的鲁棒性和泛化性。而且,这些模式和规则可以根据训练数据的不同而自动习得。但是,传统机器学习方法的最大局限在于算法所学习的特征需要专家提取。这就造成:1)特征选取的优劣很大程度决定了或者限制了算法的检测性能;2)特征提取过程操作繁琐。早期研究者,比如Neuhaus等人通过提取库引用和函数调用来提取相应的特征,进而预测有漏洞的软件模块。这样的特征能够很好的检测出由库引用和函数调用造成的软件漏洞。但是对于非库引用带来的漏洞则无能为力。所以,特征工程的质量就可能限制算法预测性能的发挥。为了保证提取特征的质量,特征工程参与者不得不对软件项目本身进行深入了解,这大大增加了特征参与者的门槛。同时,提取特征通常是一个劳动力密集型的工作,对人力和时间成本有较高的需求。例如,Chowdhury和Zulkernine,以及Shin等人的方案所依赖的特征主要来源于:软件代码复杂度度量,代码改动日志和预先发现的软件缺陷。这就要求研究者用各样工具去提取和分析软件代码复杂度,读取并处理软件版本控制系统日志等工作。对于数百人乃至千人参与开发的大型软件,读取并处理软件版本控制系统日志的工作量就及其可观。
发明内容
本发明的目的在于提供一种基于人工神经网络的软件源代码漏洞检测方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种基于人工神经网络的软件源代码漏洞检测方法,包括以下步骤:
A、需要先用带有标记的数据来训练一个完整的网络,该网络包含第1至第6层,即函数级别的词向量框架加上两层全连接网络;
B、同时将有标记的数据,即有标记的漏洞和正常函数以及没有标记的数据,即需要检测的是否具有漏洞函数的数据,同时输入到预训练好的网络中;
C、将这些有标记数据的特征作为输入喂给传统的机器学习算法;
D、最后,将未标记数据的特征输入训练好的分类器,得到分类结果。
优选的,所述步骤D中分类器训练方法如下:
a、通过计算机图形模型生成数据集,所述数据集包括多种场景类别的样本;
b、使用深度神经网络训练所述数据集来得到训练模型;
c、测试所述训练模型来得到各个场景类别的测试结果;
d、将测试结果中最低正确率对应的场景类别的信息反馈给所述计算机图形模型;
e、所述计算机图形模型修改与该场景类别对应的参数,生成关于该场景类别的新样本;以及将所述新样本添加到所述数据集中,完成分类器的训练。
优选的,所述步骤A中,对于训练的数据,先用少量具有标记的软件源代码的函数作为训练样本,即每一个训练的样本是一个正常或者是漏洞的函数源代码。
优选的,所述步骤B中,输入训练好的网络后取倒数第三层网络的输出作为有标记数据和未标记数据的抽象表达,该抽象表达就是这个函数级别词向量框架自动生成和学习的特征。
优选的,所述步骤C中机器学习算法采用随机森林算法,通过随机森林算法来训练一个分类器。
与现有技术相比,本发明的有益效果是:
(1)本发明基于的深度学习和源于语言模型的词向量技术:使得代码的隐含模式能够自动的被深度学习的算法所习得,从而省去了人工提取特征的耗时和繁琐过程;进一步弱化了代码的处理和分析的复杂程度,从而节省代码处理和分析的时间投入。基于ELMo的深度学习构架能够直接接受源代码序列作为输入并输出预测结果,从真正意义上做到在源代码层面上的端到端的检测。
(2)本发明最大的优势就是能够实现源代码序列作为输入,并输出检测结果。这种端到端的检测要归结于ELMo词向量能够直接将源代码转化为向量表达。同时,算法能够直接采用源代码作为输入,节省了代码分析和预处理的时间。
(3)本发明不需要人工提取特征:采用深度学习网络自动提取网络输出的抽象表达作为特征可以避免繁琐的特征工程。深度学习网络的多层结构可以对输入数据进行一个多层次的抽象和降噪。同时,深度学习的激活函数所引入的“非线性变化”有助于学习更加复杂的数据分部和数据的隐含模式。
(4)本发明不需要额外训练词向量网络:本发明所用的词向量层不需要像主流的Word2vec,FastText等词向量模型一样需要进行训练后才可以使用。虽然训练的过程是一个非监督的学习过程,不需要标记数据,但是在代码库(词库)庞大的应用场景中,训练往往需要大量的时间投入。
(5)本发明采用的是检测函数级别的漏洞数据。和软件模块或者软件文件级别的漏洞相比,检测函数级别的漏洞可以帮助开发和软件测试人员更快的定位到包含漏洞的代码块,缩少了人工进一步定位漏洞的范围,提高了漏洞检测效率。
附图说明
图1为本发明流程示意图;
图2为本发明对比示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本发明提供一种技术方案:一种基于人工神经网络的软件源代码漏洞检测方法,包括以下步骤:
A、需要先用带有标记的数据来训练一个完整的网络,该网络包含第1至第6层,即函数级别的词向量框架加上两层全连接网络;
B、同时将有标记的数据,即有标记的漏洞和正常函数以及没有标记的数据,即需要检测的是否具有漏洞函数的数据,同时输入到预训练好的网络中;
C、将这些有标记数据的特征作为输入喂给传统的机器学习算法;
D、最后,将未标记数据的特征输入训练好的分类器,得到分类结果。
本发明中,所述步骤D中分类器训练方法如下:
a、通过计算机图形模型生成数据集,所述数据集包括多种场景类别的样本;
b、使用深度神经网络训练所述数据集来得到训练模型;
c、测试所述训练模型来得到各个场景类别的测试结果;
d、将测试结果中最低正确率对应的场景类别的信息反馈给所述计算机图形模型;
e、所述计算机图形模型修改与该场景类别对应的参数,生成关于该场景类别的新样本;以及将所述新样本添加到所述数据集中,完成分类器的训练。
本发明的分类器训练方法,可以提高分类器训练的准确性并且减少分类器训练的时间。
本发明中,步骤A中,对于训练的数据,先用少量具有标记的软件源代码的函数作为训练样本,即每一个训练的样本是一个正常或者是漏洞的函数源代码。
本发明中,步骤B中,输入训练好的网络后取倒数第三层网络的输出作为有标记数据和未标记数据的抽象表达,该抽象表达就是这个函数级别词向量框架自动生成和学习的特征。
本发明中,步骤C中机器学习算法采用随机森林算法,通过随机森林算法来训练一个分类器。
本发明通过一系列的实验验证了本方案的效果:
实验数据
实验方法:
首先在人工合成的漏洞数据库SARD上进行测试,对本发明和常用的开源静态代码检测工具Flawfinder进行对比,结果如图2所示。
结果表明,本发明通过函数级别的词向量框架提取的特征,不论是通过随机深林还是通过支持向量机分类,都取得了比开源的静态代码检测工具Flawfinder更好的性能。在图中的三个性能指标Precision(查准率),Recall(查全率)和F1-score上,都全面领先。
其次,对比了采用本方案的ELMo词向量技术和主流的Word2vec词向量技术在Github开源软件上(三个开源软件FFmpeg,LibTIFF 和OpenSSL)的漏洞函数检测性能。其结果如下:
上表的结果显示,同样的网络结构,采用ELMo词向量技术网络检测漏洞函数的效果要优于采用Word2vec词向量技术的检测结果。比如,以FFmpeg软件项目为实验对象的时候,在采用ELMo的网络分类结果中,选取10个网络认为最可能为漏洞函数的样本(根据分类为漏洞的概率),有9个样本是真实的漏洞,只有1个误报。相比之下,采用Word2vec网络的有2个误报。当网络返回前100个最可能是漏洞的函数中,采用ELMo词向量的网络能够发现48个真实。
漏洞,但是Word2vec的网络只发现了32个真实漏洞。同样,在其他的软件项目上,采用ELMo的网络都表现出了更强的检测性能。由此可见,在我们的数据上,ELMo词向量技术在识别代码语义上,比Word2vec更有助于网络识别漏洞函数。
综上所述,本发明提出了ELMo词向量技术结合Bi-LSTM网络来识别函数级别的漏洞源代码。和传统的词向量技术相比,ELMo词向量技术能够更好的识别代码语义,尤其是能够通过上下文判别语义,使得所得出的向量具有更多更准确的信息,便于后续网络结构的学习。在ELMo的基础上,采用的双层的Bi-LSTM网络结构,识别代码的“上下文”依赖关系,试图捕捉可能由多行代码所构成的“漏洞模式”。实验结果表明,本方案和静态代码识别工具Flawfinder相比具有更好的识别漏洞函数的效果。
本发明基于的深度学习和源于语言模型的词向量技术:使得代码的隐含模式能够自动的被深度学习的算法所习得,从而省去了人工提取特征的耗时和繁琐过程;进一步弱化了代码的处理和分析的复杂程度,从而节省代码处理和分析的时间投入。基于ELMo的深度学习构架能够直接接受源代码序列作为输入并输出预测结果,从真正意义上做到在源代码层面上的端到端的检测;本发明最大的优势就是能够实现源代码序列作为输入,并输出检测结果。这种端到端的检测要归结于ELMo词向量能够直接将源代码转化为向量表达。同时,算法能够直接采用源代码作为输入,节省了代码分析和预处理的时间;本发明不需要人工提取特征:采用深度学习网络自动提取网络输出的抽象表达作为特征可以避免繁琐的特征工程。深度学习网络的多层结构可以对输入数据进行一个多层次的抽象和降噪。同时,深度学习的激活函数所引入的“非线性变化”有助于学习更加复杂的数据分部和数据的隐含模式;本发明不需要额外训练词向量网络:本发明所用的词向量层不需要像主流的Word2vec,FastText等词向量模型一样需要进行训练后才可以使用。虽然训练的过程是一个非监督的学习过程,不需要标记数据,但是在代码库(词库)庞大的应用场景中,训练往往需要大量的时间投入;本发明采用的是检测函数级别的漏洞数据。和软件模块或者软件文件级别的漏洞相比,检测函数级别的漏洞可以帮助开发和软件测试人员更快的定位到包含漏洞的代码块,缩少了人工进一步定位漏洞的范围,提高了漏洞检测效率。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (5)
1.一种基于人工神经网络的软件源代码漏洞检测方法,其特征在于:包括以下步骤:
A、需要先用带有标记的数据来训练一个完整的网络,该网络包含第1至第6层,即函数级别的词向量框架加上两层全连接网络;
B、同时将有标记的数据,即有标记的漏洞和正常函数以及没有标记的数据,即需要检测的是否具有漏洞函数的数据,同时输入到预训练好的网络中;
C、将这些有标记数据的特征作为输入喂给传统的机器学习算法;
D、最后,将未标记数据的特征输入训练好的分类器,得到分类结果。
2.根据权利要求1所述的一种基于人工神经网络的软件源代码漏洞检测方法,其特征在于:所述步骤D中分类器训练方法如下:
a、通过计算机图形模型生成数据集,所述数据集包括多种场景类别的样本;
b、使用深度神经网络训练所述数据集来得到训练模型;
c、测试所述训练模型来得到各个场景类别的测试结果;
d、将测试结果中最低正确率对应的场景类别的信息反馈给所述计算机图形模型;
e、所述计算机图形模型修改与该场景类别对应的参数,生成关于该场景类别的新样本;以及将所述新样本添加到所述数据集中,完成分类器的训练。
3.根据权利要求1所述的一种基于人工神经网络的软件源代码漏洞检测方法,其特征在于:所述步骤A中,对于训练的数据,先用少量具有标记的软件源代码的函数作为训练样本,即每一个训练的样本是一个正常或者是漏洞的函数源代码。
4.根据权利要求1所述的一种基于人工神经网络的软件源代码漏洞检测方法,其特征在于:所述步骤B中,输入训练好的网络后取倒数第三层网络的输出作为有标记数据和未标记数据的抽象表达,该抽象表达就是这个函数级别词向量框架自动生成和学习的特征。
5.根据权利要求1所述的一种基于人工神经网络的软件源代码漏洞检测方法,其特征在于:所述步骤C中机器学习算法采用随机森林算法,通过随机森林算法来训练一个分类器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911363149.5A CN111177731A (zh) | 2019-12-26 | 2019-12-26 | 一种基于人工神经网络的软件源代码漏洞检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911363149.5A CN111177731A (zh) | 2019-12-26 | 2019-12-26 | 一种基于人工神经网络的软件源代码漏洞检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111177731A true CN111177731A (zh) | 2020-05-19 |
Family
ID=70650604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911363149.5A Pending CN111177731A (zh) | 2019-12-26 | 2019-12-26 | 一种基于人工神经网络的软件源代码漏洞检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111177731A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111625272A (zh) * | 2020-06-08 | 2020-09-04 | 成都信息工程大学 | 一种源代码自动化审计开发方法 |
CN112015641A (zh) * | 2020-08-22 | 2020-12-01 | 南京工业大学 | 一种基于多粒度级联森林模型的代码异味检测方法 |
CN116450187A (zh) * | 2023-05-05 | 2023-07-18 | 四川励致科技有限公司 | 应用于ai分析的数字化在线应用处理方法及ai应用系统 |
US11948118B1 (en) * | 2019-10-15 | 2024-04-02 | Devfactory Innovations Fz-Llc | Codebase insight generation and commit attribution, analysis, and visualization technology |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108763931A (zh) * | 2018-05-28 | 2018-11-06 | 上海交通大学 | 基于Bi-LSTM和文本相似性的漏洞检测方法 |
CN109657473A (zh) * | 2018-11-12 | 2019-04-19 | 华中科技大学 | 一种基于深度特征的细粒度漏洞检测方法 |
CN110119627A (zh) * | 2019-05-22 | 2019-08-13 | 刘士刚 | 自动化人工智能漏洞检测系统 |
-
2019
- 2019-12-26 CN CN201911363149.5A patent/CN111177731A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108763931A (zh) * | 2018-05-28 | 2018-11-06 | 上海交通大学 | 基于Bi-LSTM和文本相似性的漏洞检测方法 |
CN109657473A (zh) * | 2018-11-12 | 2019-04-19 | 华中科技大学 | 一种基于深度特征的细粒度漏洞检测方法 |
CN110119627A (zh) * | 2019-05-22 | 2019-08-13 | 刘士刚 | 自动化人工智能漏洞检测系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11948118B1 (en) * | 2019-10-15 | 2024-04-02 | Devfactory Innovations Fz-Llc | Codebase insight generation and commit attribution, analysis, and visualization technology |
CN111625272A (zh) * | 2020-06-08 | 2020-09-04 | 成都信息工程大学 | 一种源代码自动化审计开发方法 |
CN112015641A (zh) * | 2020-08-22 | 2020-12-01 | 南京工业大学 | 一种基于多粒度级联森林模型的代码异味检测方法 |
CN116450187A (zh) * | 2023-05-05 | 2023-07-18 | 四川励致科技有限公司 | 应用于ai分析的数字化在线应用处理方法及ai应用系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11568055B2 (en) | System and method for automatically detecting a security vulnerability in a source code using a machine learning model | |
CN108304720B (zh) | 一种基于机器学习的安卓恶意程序检测方法 | |
CN110737899B (zh) | 一种基于机器学习的智能合约安全漏洞检测方法 | |
CN109697162B (zh) | 一种基于开源代码库的软件缺陷自动检测方法 | |
CN108647520B (zh) | 一种基于脆弱性学习的智能模糊测试方法与系统 | |
CN110222512B (zh) | 一种基于中间语言的软件漏洞智能检测与定位方法与系统 | |
CN111177731A (zh) | 一种基于人工神经网络的软件源代码漏洞检测方法 | |
Tian et al. | BVDetector: A program slice-based binary code vulnerability intelligent detection system | |
CN114077741B (zh) | 软件供应链安全检测方法和装置、电子设备及存储介质 | |
CN113821804B (zh) | 一种面向第三方组件及其安全风险的跨架构自动化检测方法与系统 | |
CN111931179B (zh) | 基于深度学习的云端恶意程序检测系统及方法 | |
CN113468524B (zh) | 基于rasp的机器学习模型安全检测方法 | |
Partenza et al. | Automatic identification of vulnerable code: Investigations with an ast-based neural network | |
CN116305158A (zh) | 一种基于切片代码依赖图语义学习的漏洞识别方法 | |
CN112148602A (zh) | 一种基于历史优化特征智能学习的源代码安全分析方法 | |
CN111309589A (zh) | 一种基于代码动态分析的代码安全扫描系统及方法 | |
CN117725592A (zh) | 一种基于有向图注意力网络的智能合约漏洞检测方法 | |
CN117938430A (zh) | 基于Bert模型的Webshell检测方法 | |
CN112464237A (zh) | 一种静态代码安全诊断方法及装置 | |
CN114285587A (zh) | 域名鉴别方法和装置、域名分类模型的获取方法和装置 | |
CN114065202B (zh) | 一种恶意代码检测方法、装置、电子设备及存储介质 | |
CN115510449A (zh) | 源代码漏洞检测方法及装置 | |
CN114021136A (zh) | 针对人工智能模型的后门攻击防御系统 | |
CN117195238B (zh) | 一种异构图神经网络代码漏洞检测方法 | |
CN117592061B (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200519 |
|
WD01 | Invention patent application deemed withdrawn after publication |