CN113141360B - 网络恶意攻击的检测方法和装置 - Google Patents
网络恶意攻击的检测方法和装置 Download PDFInfo
- Publication number
- CN113141360B CN113141360B CN202110431253.4A CN202110431253A CN113141360B CN 113141360 B CN113141360 B CN 113141360B CN 202110431253 A CN202110431253 A CN 202110431253A CN 113141360 B CN113141360 B CN 113141360B
- Authority
- CN
- China
- Prior art keywords
- sample data
- word
- data
- malicious attack
- sample
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- 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/044—Recurrent networks, e.g. Hopfield 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/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Probability & Statistics with Applications (AREA)
- Virology (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种网络恶意攻击的检测方法和装置,涉及人工智能技术领域。该方法的一具体实施方式包括:采集正常业务web服务请求数据及含有网络恶意攻击代码的web服务请求数据作为样本数据;对每条样本数据,进行特征提取并构建无向特征图,根据样本数据是否含有恶意攻击代码对样本数据对应的无向特征图进行打标;将打标后的无向特征图作为训练数据,采用图神经网络算法对训练数据进行训练以构建检测模型;使用检测模型进行网络恶意攻击检测。该实施方式能够提高对网络恶意攻击webshell的检测效率及准确率,可以在误报较低的情况下完成对网络恶意攻击webshell的检测。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种网络恶意攻击的检测方法和装置。
背景技术
随着互联网的飞速普及,进入了信息化时代,互联网技术应用在各个领域,如政务、医疗、电子银行、电子商务、工业等等。越来越多的业务通过互联网实现交互,如果出现黑客采取恶意攻击网站盗取信息传播病毒等,将会对用户的信息安全或者政府及企业的利益造成损害,具有非常严重的安全风险。因此对Webshell等网络恶意攻击的脚本检测是保证互联网应用安全的重要手段之一。Webshell是使用asp、aspx、jsp、php等编程语言编写的木马后门。
目前,web恶意攻击检测的主要手段是通过黑白名单的检测机制,如web应用防火墙、IDS(入侵检测系统)等,基于字符匹配特征或者哈希值匹配判定是否为网络恶意攻击。一般情况能够防御绝大部分的网络恶意攻击,但是实际使用中规则库需要人工维护来实现对新发现的恶意样本的特征和哈希进行检测。上述技术方式存在人工维护繁琐,效率低,成本高,而且随着规则库的升级,规则会变得臃肿,严重影响检测效率和正常业务需求。同时webshell等网络恶意攻击在通过编码混淆加密后很容易绕过规则库。
综上,在实现本发明过程中,发明人发现传统的webshell等网络恶意攻击的检测方式存在规则库维护繁琐,泛化性差等问题。因此,如何高效且准确地发现webshell等网络恶意攻击脚本是当下亟待解决的问题。
发明内容
有鉴于此,本发明实施例提供一种网络恶意攻击的检测方法和装置,能够提高对网络恶意攻击webshell的检测效率及准确率,可以在误报较低的情况下完成对网络恶意攻击webshell的检测。
为实现上述目的,根据本发明实施例的一个方面,提供了一种网络恶意攻击的检测方法。
一种网络恶意攻击的检测方法,包括:
采集正常业务web服务请求数据及含有网络恶意攻击代码的web服务请求数据作为样本数据;
对每条样本数据,进行特征提取并构建无向特征图,根据所述样本数据是否含有恶意攻击代码对所述样本数据对应的无向特征图进行打标;
将打标后的无向特征图作为训练数据,采用图神经网络算法对所述训练数据进行训练以构建检测模型;
使用所述检测模型进行网络恶意攻击检测。
可选地,进行特征提取并构建无向特征图包括:
对所述样本数据进行分词并获取分词后得到的每个单词的词向量以进行特征提取;
根据所述每个单词的词向量构建无向特征图。
可选地,对所述样本数据进行分词之前,还包括:
根据所述网络恶意攻击代码的脚本类型对所述样本数据进行分类,得到所述样本数据的类别标签。
可选地,对所述样本数据进行分词包括:
基于N-gram语言模型算法对所述样本数据进行分词。
可选地,基于N-gram语言模型算法对所述样本数据进行分词包括:
根据所述样本数据的类别标签,从N-gram语言模型算法中获取所述类别标签对应的分词规则;
基于所述分词规则对所述样本数据进行分词。
可选地,对所述样本数据进行分词之后,获取分词后得到的每个单词的词向量之前,还包括:
对分词后得到的每个单词,根据预设的分类规则确定所述单词的分类标签,所述分类标签包括:http请求参数字段字符、网络恶意攻击代码常用函数字符、特殊字符和中文字符。
可选地,根据所述每个单词的词向量构建无向特征图包括:
将所述每个单词的词向量作为图的节点,节点之间通过边进行连接;
将每个单词对应的分类标签作为边的权重,以构建无向特征图。
可选地,采用图神经网络算法对所述训练数据进行训练以构建检测模型包括:
采用图神经网络算法,通过自学习的训练方式,传播过程使用基于文本的长短期记忆网络,以对所述训练数据进行训练,构建检测模型。
可选地,所述图神经网络为二层图卷积网络,且第一层使用ReLU为激活函数,第二层使用softmax函数进行分类,使用交叉熵作为损失函数。
根据本发明实施例的另一方面,提供了一种网络恶意攻击的检测装置。
一种网络恶意攻击的检测装置,包括:
样本采集模块,用于采集正常业务web服务请求数据及含有网络恶意攻击代码的web服务请求数据作为样本数据;
样本处理模块,用于对每条样本数据,进行特征提取并构建无向特征图,根据所述样本数据是否含有恶意攻击代码对所述样本数据对应的无向特征图进行打标;
模型训练模块,用于将打标后的无向特征图作为训练数据,采用图神经网络算法对所述训练数据进行训练以构建检测模型;
攻击检测模块,用于使用所述检测模型进行网络恶意攻击检测。
可选地,所述样本处理模块还用于:
对所述样本数据进行分词并获取分词后得到的每个单词的词向量以进行特征提取;
根据所述每个单词的词向量构建无向特征图。
可选地,所述装置还包括样本分类模块,用于:
在对所述样本数据进行分词之前,根据所述网络恶意攻击代码的脚本类型对所述样本数据进行分类,得到所述样本数据的类别标签。
可选地,所述样本处理模块还用于:
基于N-gram语言模型算法对所述样本数据进行分词。
可选地,所述样本处理模块还用于:
根据所述样本数据的类别标签,从N-gram语言模型算法中获取所述类别标签对应的分词规则;
基于所述分词规则对所述样本数据进行分词。
可选地,所述装置还包括标签确定模块,用于:
在对所述样本数据进行分词之后,获取分词后得到的每个单词的词向量之前,对分词后得到的每个单词,根据预设的分类规则确定所述单词的分类标签,所述分类标签包括:http请求参数字段字符、网络恶意攻击代码常用函数字符、特殊字符和中文字符。
可选地,所述样本处理模块还用于:
将所述每个单词的词向量作为图的节点,节点之间通过边进行连接;
将每个单词对应的分类标签作为边的权重,以构建无向特征图。
可选地,所述模型训练模块还用于:
采用图神经网络算法,通过自学习的训练方式,传播过程使用基于文本的长短期记忆网络,以对所述训练数据进行训练,构建检测模型。
可选地,所述图神经网络为二层图卷积网络,且第一层使用ReLU为激活函数,第二层使用softmax函数进行分类,使用交叉熵作为损失函数。
根据本发明实施例的又一方面,提供了一种网络恶意攻击的检测电子设备。
一种网络恶意攻击的检测电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例所提供的网络恶意攻击的检测方法。
根据本发明实施例的再一方面,提供了一种计算机可读介质。
一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例所提供的网络恶意攻击的检测方法。
上述发明中的一个实施例具有如下优点或有益效果:通过采集正常业务web服务请求数据及含有网络恶意攻击代码的web服务请求数据作为样本数据;对每条样本数据,进行特征提取并构建无向特征图,根据样本数据是否含有恶意攻击代码对样本数据对应的无向特征图进行打标;将打标后的无向特征图作为训练数据,采用图神经网络算法对训练数据进行训练以构建检测模型;使用检测模型进行网络恶意攻击检测的技术方案,即可通过对web服务请求数据进行特征提取并构建无向特征图,并采用图神经网络算法构建检测模型,来实现对网络恶意攻击webshell的实时检测,提高了对网络恶意攻击webshell的检测效率及准确率,可以在误报较低的情况下完成对网络恶意攻击webshell的检测。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的网络恶意攻击的检测方法的主要步骤示意图;
图2是根据本发明实施例的网络恶意攻击的检测装置的主要模块示意图;
图3是本发明实施例可以应用于其中的示例性系统架构图;
图4是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
为了解决现有技术中存在的传统的webshell网络恶意攻击的检测方式存在规则库维护繁琐,泛化性差等的问题,本发明提供了一种网络恶意攻击的检测方法和装置,基于GNN图神经网络算法进行网络恶意攻击的实时检测,可以提高网络请求中存在webshell的检测准确率和效率。相对于现有技术来说,本发明通过人工智能算法进行网络恶意攻击检测,取代了规则库更新维护,提高了检测效率,并且通过人工智能算法还可以提高混淆加密的网络恶意攻击webshell的检测率。
图1是根据本发明实施例的网络恶意攻击的检测方法的主要步骤示意图。如图1所示,本发明实施例的网络恶意攻击的检测方法主要包括如下的步骤S101至步骤S104。
步骤S101:采集正常业务web服务请求数据及含有网络恶意攻击代码的web服务请求数据作为样本数据。其中,网络恶意攻击例如是web shell攻击。样本数据主要可以包括提交webshell代码文件的请求、webs hell通信的web服务请求以及正常业务web服务请求。
步骤S102:对每条样本数据,进行特征提取并构建无向特征图,根据样本数据是否含有恶意攻击代码对样本数据对应的无向特征图进行打标。在本发明的实施例中,每条样本数据都对应一个无向特征图,并且,根据该条样本数据是否为含有恶意攻击代码的web服务请求来对无向特征图进行打标,以形成一条训练数据。
根据本发明的一个实施例,对于每条样本,在进行特征提取并构建无向特征图时,具体可以按照以下步骤执行:
对样本数据进行分词并获取分词后得到的每个单词的词向量以进行特征提取;
根据每个单词的词向量构建无向特征图。
其中,在对样本数据进行分词时,本发明是基于N-gram语言模型算法对样本数据进行分词。N-gram是一种统计语言模型,用来根据前(n-1)个项目来预测第n个项目。在应用层面,这些项目可以是音素(语音识别应用)、字符(输入法应用)、词(分词应用)或碱基对(基因信息)等。一般来讲,可以从大规模文本或音频语料库生成N-gram模型。
由于网络恶意攻击webshell代码的编写脚本不同,其所对应的语法、语义、开发模板等就不同,例如:jsp、php、aspx等脚本类别,所对应的语法、语义和开发模板是不同的。因此,对于不同的编写脚本,其分词规则也是不同的。在本发明的实施例中,在对样本数据进行分词之前,还可以根据网络恶意攻击代码的脚本类型对样本数据进行分类,得到样本数据的类别标签。
并且,在基于N-gram语言模型算法对样本数据进行分词时,可以根据样本数据的类别标签,从N-gram语言模型算法中获取类别标签对应的分词规则;基于分词规则对样本数据进行分词。在N-gram语言模型算法中,预先编写了不同脚本类别的分词规则,如此,即可更为准确、高效地进行样本数据的分词处理。
在本发明的实施例中,在对样本数据进行分词处理时,是对样本数据的web服务请求数据进行分词处理,并不局限于对样本数据包括的URL(uniform resource locator,统一资源定位符)、Data数据、Cook ie等参数进行的分词处理。
若样本数据为正常业务web服务请求数据,例如一个正常的web请求如下:
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding:gzip,deflate,br
Accept-Language:zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7
Cache-Control:max-age=0
Connection:keep-alive
Cookie:security=high;PHPSESSID=kotmi5l37fo57ko4lras6mik87
DNT:1
Host:127.0.0.1
Referer:http://127.0.0.1/DVWA/login.php
User-Agent:Mozilla/5.0(Windows NT 10.0;Win64;x64);
对其进行分词后,可以将该正常的HTTP请求分割为:Accept、html、application、text、Accept-Encoding、Accept-Language、Cache-Control、User-Agent、Referer、Host、Cookie、Connection、Security、hight、PHPSESSID等单词。
若样本数据为含有网络恶意攻击代码的web服务请求数据,例如一个包含一句话木马的web请求如下:
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding:gzip,deflate,br
Accept-Language:zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7
Cache-Control:max-age=0
Connection:keep-alive
Cookie:security=high;PHPSESSID=kotmi5l37fo57ko4lras6mik87
DNT:1
Host:127.0.0.1
Referer:http://127.0.0.1/DVWA/updata.php
Upgrade-Insecure-Requests:1
User-Agent:Mozilla/5.0(Windows NT 10.0;Win64;x64)
Data:<?php@eval($_POST['password']);?>;
其中,最后一句代码为木马。对该含有网络恶意攻击的web服务请求数据进行分词后,可以将其分割为:Accept、html、application、text、Accept-Encoding、Accept-Language、Cache-Control、User-Agent、Referer、Host、Cookie、Connection、Security、hight、PHPSESSID、eval、POST、password、Data、(、<、?等单词。而其中,eval、POST为webshell的常用函数字符。
根据本发明的技术方案,在对样本数据进行分词之后,还要对分词后得到的每个单词,根据预设的分类规则确定单词的分类标签,分类标签包括:http请求参数字段字符、网络恶意攻击代码常用函数字符、特殊字符和中文字符。
在对样本数据进行分词后,得到的单词可以包括一个个英文单词、特殊字符及中文单词等。在对分词得到的每个单词进行分类标记时,可以将常见的http请求参数字段字符Accept、User-Agent、Accept-Encoding、Data等划分为一类;将网络恶意攻击webshell常用的函数字符如eval、POST等划分为一类;将特殊字符“<、!、(”等划分为一类;将中文字符等划分为一类。如此,对上述样本数据分词得到的单词进行分类标记,结果例如{a:eval,b:POST,c:Data,d:@,e:!},其中a、b、c、d、e为不同的分类标签。
在确定了对样本数据分词得到的每个单词的分类标签后,即可构建无向特征图。在根据每个单词的词向量构建无向特征图时,可以按照以下的步骤来执行:
将每个单词的词向量作为图的节点,节点之间通过边进行连接;
将每个单词对应的分类标签作为边的权重,以构建无向特征图。
对于给定的一个单词,给其对应的一个词向量,作为图中的一个节点,并且每个单词对应了一个分类标签。然后将每个单词对应的标签作为图中的边权重。对于一个由n个单词组成的web服务请求样本数据,处理后可以得到一个由n个节点组成的无向特征图。
之后,根据该样本数据是否含有恶意攻击代码对样本数据对应的无向特征图进行打标,即可生成一条训练数据。
步骤S103:将打标后的无向特征图作为训练数据,采用图神经网络算法对训练数据进行训练以构建检测模型。根据本发明的实施例,在采用图神经网络算法对训练数据进行训练以构建检测模型时,具体可以是:采用图神经网络算法,通过自学习Self-training的训练方式,传播过程使用基于文本的长短期记忆网络Sentence LSTM,以对训练数据进行训练,构建检测模型。图神经网络GNN,提供了图表征学习(Graph representationlearning)或图嵌入技术(Graph embedding)的框架,可以用于各种图数据上的监督,半监督及强化学习。
在本发明的一个实施例中,所使用的图神经网络为二层图卷积网络,且第一层使用ReLU为激活函数,第二层使用softmax函数进行分类,使用交叉熵作为损失函数。通过使用打标后的无向特征图作为训练数据,即可训练得到webshell的检测模型。
步骤S104:使用检测模型进行网络恶意攻击检测。根据上述步骤中训练得到的检测模型,即可对web服务请求数据进行检测,对于包含有网络恶意攻击webshell的web服务请求进行告警。
根据上述的步骤S101至步骤S104,即可通过对web服务请求数据进行特征提取并构建无向特征图,并采用图神经网络算法构建检测模型,来实现对网络恶意攻击webshell的实时检测,提高了对网络恶意攻击webshell的检测效率及准确率,可以在误报较低的情况下完成对网络恶意攻击webshell的检测。
根据本发明的另一方面,提供了一种网络恶意攻击的检测装置。图2是根据本发明实施例的网络恶意攻击的检测装置的主要模块示意图。如图2所示,本发明实施例的网络恶意攻击的检测装置200主要包括样本采集模块201、样本处理模块202、模型训练模块203和攻击检测模块204。
样本采集模块201,用于采集正常业务web服务请求数据及含有网络恶意攻击代码的web服务请求数据作为样本数据;
样本处理模块202,用于对每条样本数据,进行特征提取并构建无向特征图,根据所述样本数据是否含有恶意攻击代码对所述样本数据对应的无向特征图进行打标;
模型训练模块203,用于将打标后的无向特征图作为训练数据,采用图神经网络算法对所述训练数据进行训练以构建检测模型;
攻击检测模块204,用于使用所述检测模型进行网络恶意攻击检测。
根据本发明的一个实施例,样本处理模块202还可以用于:
对所述样本数据进行分词并获取分词后得到的每个单词的词向量以进行特征提取;
根据所述每个单词的词向量构建无向特征图。
根据本发明的另一个实施例,网络恶意攻击的检测装置200还可以包括样本分类模块(图中未示出),用于:
在对所述样本数据进行分词之前,根据所述网络恶意攻击代码的脚本类型对所述样本数据进行分类,得到所述样本数据的类别标签。
根据本发明的又一个实施例,样本处理模块202还可以用于:
基于N-gram语言模型算法对所述样本数据进行分词。
根据本发明的又一个实施例,样本处理模块202还可以用于:
根据所述样本数据的类别标签,从N-gram语言模型算法中获取所述类别标签对应的分词规则;
基于所述分词规则对所述样本数据进行分词。
根据本发明的又一个实施例,网络恶意攻击的检测装置200还可以包括标签确定模块(图中未示出),用于:
在对所述样本数据进行分词之后,获取分词后得到的每个单词的词向量之前,对分词后得到的每个单词,根据预设的分类规则确定所述单词的分类标签,所述分类标签包括:http请求参数字段字符、网络恶意攻击代码常用函数字符、特殊字符和中文字符。
根据本发明的又一个实施例,样本处理模块202还可以用于:
将所述每个单词的词向量作为图的节点,节点之间通过边进行连接;
将每个单词对应的分类标签作为边的权重,以构建无向特征图。
根据本发明的又一个实施例,模型训练模块203还可以用于:
采用图神经网络算法,通过自学习的训练方式,传播过程使用基于文本的长短期记忆网络,以对所述训练数据进行训练,构建检测模型。
根据本发明的再一个实施例,所述图神经网络为二层图卷积网络,且第一层使用ReLU为激活函数,第二层使用softmax函数进行分类,使用交叉熵作为损失函数。
根据本发明实施例的技术方案,通过采集正常业务web服务请求数据及含有网络恶意攻击代码的web服务请求数据作为样本数据;对每条样本数据,进行特征提取并构建无向特征图,根据样本数据是否含有恶意攻击代码对样本数据对应的无向特征图进行打标;将打标后的无向特征图作为训练数据,采用图神经网络算法对训练数据进行训练以构建检测模型;使用检测模型进行网络恶意攻击检测的技术方案,即可通过对web服务请求数据进行特征提取并构建无向特征图,并采用图神经网络算法构建检测模型,来实现对网络恶意攻击webshell的实时检测,提高了对网络恶意攻击webshell的检测效率及准确率,可以在误报较低的情况下完成对网络恶意攻击webshell的检测。
图3示出了可以应用本发明实施例的网络恶意攻击的检测方法或网络恶意攻击的检测装置的示例性系统架构300。
如图3所示,系统架构300可以包括终端设备301、302、303,网络304和服务器305。网络304用以在终端设备301、302、303和服务器305之间提供通信链路的介质。网络304可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备301、302、303通过网络304与服务器305交互,以接收或发送消息等。终端设备301、302、303上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备301、302、303可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器305可以是提供各种服务的服务器,例如对用户利用终端设备301、302、303所发来的web服务请求提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的web服务请求等数据进行特征提取并构建无向特征图,根据所述样本数据是否含有恶意攻击代码对所述样本数据对应的无向特征图进行打标;将打标后的无向特征图作为训练数据,采用图神经网络算法对所述训练数据进行训练以构建检测模型;使用所述检测模型进行网络恶意攻击检测等处理,并将处理结果(例如网络恶意攻击检测结果)反馈给终端设备。
需要说明的是,本发明实施例所提供的网络恶意攻击的检测方法一般由服务器305执行,相应地,网络恶意攻击的检测装置一般设置于服务器305中。
应该理解,图3中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图4,其示出了适于用来实现本发明实施例的终端设备或服务器的计算机系统400的结构示意图。图4示出的终端设备或服务器仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,计算机系统400包括中央处理单元(CPU)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储部分408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM 403中,还存储有系统400操作所需的各种程序和数据。CPU 401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
以下部件连接至I/O接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至I/O接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。在该计算机程序被中央处理单元(CPU)401执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括样本采集模块、样本处理模块、模型训练模块和攻击检测模块。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,样本采集模块还可以被描述为“用于采集正常业务web服务请求数据及含有网络恶意攻击代码的web服务请求数据作为样本数据的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:采集正常业务web服务请求数据及含有网络恶意攻击代码的web服务请求数据作为样本数据;对每条样本数据,进行特征提取并构建无向特征图,根据所述样本数据是否含有恶意攻击代码对所述样本数据对应的无向特征图进行打标;将打标后的无向特征图作为训练数据,采用图神经网络算法对所述训练数据进行训练以构建检测模型;使用所述检测模型进行网络恶意攻击检测。
根据本发明实施例的技术方案,通过采集正常业务web服务请求数据及含有网络恶意攻击代码的web服务请求数据作为样本数据;对每条样本数据,进行特征提取并构建无向特征图,根据样本数据是否含有恶意攻击代码对样本数据对应的无向特征图进行打标;将打标后的无向特征图作为训练数据,采用图神经网络算法对训练数据进行训练以构建检测模型;使用检测模型进行网络恶意攻击检测的技术方案,即可通过对web服务请求数据进行特征提取并构建无向特征图,并采用图神经网络算法构建检测模型,来实现对网络恶意攻击webshell的实时检测,提高了对网络恶意攻击webshell的检测效率及准确率,可以在误报较低的情况下完成对网络恶意攻击webshell的检测。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种网络恶意攻击的检测方法,其特征在于,包括:
采集正常业务web服务请求数据及含有网络恶意攻击代码的web服务请求数据作为样本数据;
对每条样本数据,进行特征提取并构建无向特征图,根据所述样本数据是否含有恶意攻击代码对所述样本数据对应的无向特征图进行打标;
将打标后的无向特征图作为训练数据,采用图神经网络算法对所述训练数据进行训练以构建检测模型;
使用所述检测模型进行网络恶意攻击检测;
其中,进行特征提取并构建无向特征图包括:对所述样本数据进行分词并获取分词后得到的每个单词的词向量以进行特征提取;根据所述每个单词的词向量构建无向特征图;
对所述样本数据进行分词之前,还包括:根据所述网络恶意攻击代码的脚本类型对所述样本数据进行分类,得到所述样本数据的类别标签。
2.根据权利要求1所述的方法,其特征在于,对所述样本数据进行分词包括:
基于N-gram语言模型算法对所述样本数据进行分词。
3.根据权利要求2所述的方法,其特征在于,基于N-gram语言模型算法对所述样本数据进行分词包括:
根据所述样本数据的类别标签,从N-gram语言模型算法中获取所述类别标签对应的分词规则;
基于所述分词规则对所述样本数据进行分词。
4.根据权利要求1所述的方法,其特征在于,对所述样本数据进行分词之后,获取分词后得到的每个单词的词向量之前,还包括:
对分词后得到的每个单词,根据预设的分类规则确定所述单词的分类标签,所述分类标签包括:http请求参数字段字符、网络恶意攻击代码常用函数字符、特殊字符和中文字符。
5.根据权利要求1或4所述的方法,其特征在于,根据所述每个单词的词向量构建无向特征图包括:
将所述每个单词的词向量作为图的节点,节点之间通过边进行连接;
将每个单词对应的分类标签作为边的权重,以构建无向特征图。
6.根据权利要求1所述的方法,其特征在于,采用图神经网络算法对所述训练数据进行训练以构建检测模型包括:
采用图神经网络算法,通过自学习的训练方式,传播过程使用基于文本的长短期记忆网络,以对所述训练数据进行训练,构建检测模型。
7.根据权利要求1或6所述的方法,其特征在于,所述图神经网络为二层图卷积网络,且第一层使用ReLU为激活函数,第二层使用sof tmax函数进行分类,使用交叉熵作为损失函数。
8.一种网络恶意攻击的检测装置,其特征在于,包括:
样本采集模块,用于采集正常业务web服务请求数据及含有网络恶意攻击代码的web服务请求数据作为样本数据;
样本处理模块,用于对每条样本数据,进行特征提取并构建无向特征图,根据所述样本数据是否含有恶意攻击代码对所述样本数据对应的无向特征图进行打标;
模型训练模块,用于将打标后的无向特征图作为训练数据,采用图神经网络算法对所述训练数据进行训练以构建检测模型;
攻击检测模块,用于使用所述检测模型进行网络恶意攻击检测;
所述样本处理模还用于:对所述样本数据进行分词并获取分词后得到的每个单词的词向量以进行特征提取;根据所述每个单词的词向量构建无向特征图;
所述装置还包括样本分类模块,用于:在对所述样本数据进行分词之前,根据所述网络恶意攻击代码的脚本类型对所述样本数据进行分类,得到所述样本数据的类别标签。
9.一种网络恶意攻击的检测电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110431253.4A CN113141360B (zh) | 2021-04-21 | 2021-04-21 | 网络恶意攻击的检测方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110431253.4A CN113141360B (zh) | 2021-04-21 | 2021-04-21 | 网络恶意攻击的检测方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113141360A CN113141360A (zh) | 2021-07-20 |
CN113141360B true CN113141360B (zh) | 2022-06-28 |
Family
ID=76813580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110431253.4A Active CN113141360B (zh) | 2021-04-21 | 2021-04-21 | 网络恶意攻击的检测方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113141360B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113691537B (zh) * | 2021-08-25 | 2022-07-26 | 北京邮电大学 | 基于图分析的恶意加密流量检测方法 |
CN114282218A (zh) * | 2021-12-23 | 2022-04-05 | 北京天融信网络安全技术有限公司 | 一种攻击检测方法、装置、电子设备及存储介质 |
CN114297640B (zh) * | 2021-12-29 | 2023-10-27 | 中国电信股份有限公司 | 攻击检测方法、装置、介质及设备 |
CN115277102B (zh) * | 2022-06-29 | 2023-04-07 | 北京天融信网络安全技术有限公司 | 网络攻击检测方法、装置、电子设备及存储介质 |
CN115499222A (zh) * | 2022-09-20 | 2022-12-20 | 中国农业银行股份有限公司 | 恶意请求检测模型的训练方法、恶意请求识别方法及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108718310A (zh) * | 2018-05-18 | 2018-10-30 | 安徽继远软件有限公司 | 基于深度学习的多层次攻击特征提取及恶意行为识别方法 |
CN111353153A (zh) * | 2020-03-04 | 2020-06-30 | 南京邮电大学 | 一种基于gep-cnn的电网恶意数据注入检测方法 |
CN112019569A (zh) * | 2020-10-20 | 2020-12-01 | 腾讯科技(深圳)有限公司 | 恶意域名检测方法、装置及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108347430B (zh) * | 2018-01-05 | 2021-01-12 | 国网山东省电力公司济宁供电公司 | 基于深度学习的网络入侵检测和漏洞扫描方法及装置 |
CN111260033A (zh) * | 2020-01-15 | 2020-06-09 | 电子科技大学 | 一种基于卷积神经网络模型的网站后门检测方法 |
CN111885000B (zh) * | 2020-06-22 | 2022-06-21 | 网宿科技股份有限公司 | 一种基于图神经网络的网络攻击检测方法、系统及装置 |
CN112214775B (zh) * | 2020-10-09 | 2024-04-05 | 深圳赛安特技术服务有限公司 | 防止第三方获取关键图数据信息的对图数据的注入式攻击方法、装置、介质及电子设备 |
-
2021
- 2021-04-21 CN CN202110431253.4A patent/CN113141360B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108718310A (zh) * | 2018-05-18 | 2018-10-30 | 安徽继远软件有限公司 | 基于深度学习的多层次攻击特征提取及恶意行为识别方法 |
CN111353153A (zh) * | 2020-03-04 | 2020-06-30 | 南京邮电大学 | 一种基于gep-cnn的电网恶意数据注入检测方法 |
CN112019569A (zh) * | 2020-10-20 | 2020-12-01 | 腾讯科技(深圳)有限公司 | 恶意域名检测方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113141360A (zh) | 2021-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113141360B (zh) | 网络恶意攻击的检测方法和装置 | |
US20190163742A1 (en) | Method and apparatus for generating information | |
CN109743311B (zh) | 一种WebShell检测方法、装置及存储介质 | |
US20210021624A1 (en) | Method, electronic device and computer program product for detecting abnormal network request | |
CN108268635B (zh) | 用于获取数据的方法和装置 | |
CN114385780B (zh) | 程序接口信息推荐方法、装置、电子设备和可读介质 | |
CN113986864A (zh) | 日志数据处理方法、装置、电子设备及存储介质 | |
CN111368551B (zh) | 一种确定事件主体的方法和装置 | |
CN116932919B (zh) | 信息推送方法、装置、电子设备和计算机可读介质 | |
CN112613306A (zh) | 抽取实体关系的方法、装置、电子设备、及存储介质 | |
CN111314388A (zh) | 用于检测sql注入的方法和装置 | |
CN113408507B (zh) | 基于履历文件的命名实体识别方法、装置和电子设备 | |
CN113111167B (zh) | 基于深度学习模型的接处警文本车辆型号提取方法和装置 | |
CN116562255B (zh) | 表单信息生成方法、装置、电子设备和计算机可读介质 | |
CN113204695A (zh) | 网站识别方法和装置 | |
CN115952854B (zh) | 文本脱敏模型的训练方法、文本脱敏方法及应用 | |
CN112199954A (zh) | 基于语音语义的疾病实体匹配方法、装置及计算机设备 | |
CN111353039B (zh) | 文件类别检测方法和装置 | |
CN114429106B (zh) | 页面信息处理方法、装置、电子设备和存储介质 | |
CN115587593A (zh) | 信息抽取方法、装置、电子设备和计算机可读介质 | |
CN110674497B (zh) | 一种恶意程序相似度计算的方法和装置 | |
CN110891010B (zh) | 用于发送信息的方法和装置 | |
CN117235744B (zh) | 源文件上线方法、装置、电子设备和计算机可读介质 | |
CN117077678B (zh) | 一种敏感词识别方法、装置、设备及介质 | |
CN113742479A (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 |