CN111260033A - 一种基于卷积神经网络模型的网站后门检测方法 - Google Patents
一种基于卷积神经网络模型的网站后门检测方法 Download PDFInfo
- Publication number
- CN111260033A CN111260033A CN202010040177.XA CN202010040177A CN111260033A CN 111260033 A CN111260033 A CN 111260033A CN 202010040177 A CN202010040177 A CN 202010040177A CN 111260033 A CN111260033 A CN 111260033A
- Authority
- CN
- China
- Prior art keywords
- neural network
- convolutional neural
- backdoor
- file
- training
- 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
Images
Classifications
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于计算机安全技术领域,涉及网站安全中的异常检测方法,具体的说是一种基于卷积神经网络模型的网站后门检测方法。包括以下步骤:步骤1:从网站服务器中提取普通网页文件样本,从网上搜集恶意后门文件样本,删除注释等冗余信息并划分训练集和测试集;步骤2:对步骤1中提取的数据进行预处理;步骤3:搭建卷积神经网络,根据步骤2得到的数据对卷积神经网络进行训练,得到卷积神经网络模型;步骤4:根据步骤3得到的模型进行实时检测网站服务器中的网页文件样本是否存在后门文件样本。本发明训练的模型能检测多种语言的Webshell,同时能对通过混淆编码进行隐藏的样本具有很好的检测效果,准确率高,召回率和F1值效果都很好。
Description
技术领域
本发明属于计算机安全技术领域,涉及网站安全中的异常检测方法,具体的说是一种基于卷积神经网络模型的网站后门检测方法。
背景技术
目前在实际的服务器安全扫描的工作中,即在判断一个脚本文件或者可执行文件是否为安全的文件,排除这个文件是网页后门的工作中,通常利用脚本文件中所使用的关键词、高危函数、文件修改的时间、文件权限、文件的所有者以及和其它文件的关联性等特征生成特征库,将待检测文件内容与特征库进行匹配,根据待检测文件是否存在特征库中内容,判断该文件是否为网页后门(WebShell),又称网站的后门工具。
如果对该执行文件或脚本文件进行特殊处理,例如,对自己加密,在执行前先解密,又例如,变量名使用一些随机字符串,在中间代码插入大量无用的随机字符串,将完整的语句拆成多条;再例如,在执行前对传入的参数做一些判断,只有匹配条件时才会转到真正执行的代码。就无法通过这种检测方式进行检测。因此,现有技术中存在着无法对经过特殊处理后的网页后门文件进行检测的问题。
发明内容
针对上述问题,本发明提出一种基于卷积神经网络模型的网站后门检测方法。
本发明的技术方案为:
一种基于卷积神经网络模型的网站后门检测方法,包括以下步骤:
步骤1、从网站服务器中提取普通网页文件样本,从网上搜集恶意后门文件样本,删除注释等冗余信息并划分训练集和测试集;
步骤2、对步骤1中提取的数据进行预处理;
步骤3、搭建卷积神经网络,根据步骤2得到的数据对卷积神经网络进行训练,得到卷积神经网络模型;
步骤4、根据步骤3得到的模型进行实时检测网站服务器中的网页文件样本是否存在后门文件样本。
进一步的,所述步骤1中提取的网站文件为普通网页文件样本,主要为PHP,JSP,ASP,ASPX四种类型,搜集的恶意样本文件根据其特点确认为恶意样本文件样本,主要为PHP,JSP,ASP,ASPX四种类型,同时分别对普通文件样本和恶意后门文件样本进行注释信息删除并分别标记为负样本和正样本,然后将正负样本按7:3的比例划分为训练集和测试集,划分后再分别将测试集和训练集打乱;
进一步的,所述步骤2中的预处理包括以下过程:
S1:对每个文件中的每行代码利用空格和非数字和字母的特殊字符进行分词;
S2:对样本进行词向量化训练,得到词向量化模型;
S3:根据S2中的模型对样本进行向量化,每一行代码转为一个二维向量,每个样本文件均转化为一个三维向量;
S4:将S3得到的三维向量进行截取和填充,转为统一规定大小的三维向量。
进一步的,所述步骤3具体过程如下:
S1:搭建卷积神经网络网络,利用训练集进行训练;
S2:通过测试集对步骤S1得到的卷积神经网络模型进行测试,若满足准确率、召回率、及F1值预设要求则停止,否则调整卷积神经网络网络参数后继续进行训练。
本发明的有益效果是:
(1)本发明通过卷积神经网络模型学习恶意后门文件共有特征,识别出通过隐藏手段进行绕过特征匹配的恶意后门文件,正确率高,速度快;
(2)本发明通过对各种脚本语言的恶意后门文件进行训练学习,能实现一次检测多种语言的恶意后门文件,能实现广泛应用。
附图说明
图1为本发明流程示意图。
图2为本发明中分词方法示意图。
图3为本发明最终实验结果中ROC曲线。
具体实施方式
下面结合附图和具体实施例对本发明做进一步说明。
如图1所示,一种基于卷积神经网络模型的网站后门检测方法,包括以下步骤:
步骤1:样本获取与划分;
S1:从网站文件提取普通网页文件样本,搜集的恶意样本文件同时分别对普通文件样本和恶意后门文件样本进行注释信息删除并分别标记为负样本和正样本。
在正负样本中可能会出现重复样本,通过去重提高样本质量。如
<?php
eval(@$_POST['a']);?>//执行我们传递过去的'a'
其中//是注释符,后面为注释内容,注释内容一般每个用户写的都不一样,且对语句功能无影响作用,但是有时会因为用户特殊注释,影响判断结果,因此进行删除操作,最终处理后样本为:
<?php
eval(@$_POST['a']);?>
S2:分别将正负样本按7:3的比例划分为训练集和测试集,划分后再分别将测试集和训练集打乱;
由于在训练时是将所有样本分批次导入训练,打乱正负样本可防止训练时出现整个训练批次全是正样本或负样本,将正负样本按比例划分后再分别将测试集和训练集打乱。
步骤2:对步骤1中提取的数据进行预处理,包括以下步骤:
S1:对样本进行分词处理;
如图2所示,首先,每行代码都被视为一个句子。如果直接根据空格进行分词会导致词的类型更多,词库量很大,也十分耗内存,而且部分出现频率低的词在词向量化时直接进行向量填充,失去其具体含义。因此在模型这个中考虑采用通过空格和非数字和字母的特殊字符进行分词,将第n句Sn'进行分词得到列表Sn:
Sn=[Wn,1,Wn,2,…,Wn,m]
其中Wn,j是第n句中的第j个词,m代表一个句子中词的数量。如<?php eval(@$_POST['a']);?>分为:[[<,?,php],[eval,(,@,$,_,POST,[,',a,',],),;,?,>]]。
S2:对样本进行词向量化训练,得到词向量化模型;
使用Word2vec方法(谷歌开源的词向量化方法)对分词后的样本进行词向量化训练,得到词向量化模型,此词向量化模型保存了每个词对应的向量表示,其中向量化维度可以自由设置。例如“php”可以通过词向量化表示为[0.2,0.1,0,4]。
S3:根据S2中的模型对样本进行向量化,每个词转为一个一维向量,每一行代码转为一个二维向量,每个样本均转化为一个三维向量;
若模型中没有样本中出现的字符,则用1向量填充,即行向量每个元素值都取1;每条样本均可转化为一个三维矩阵。
如[[<,?,php],[eval,(,@,$,_,POST,[,',a,',],),;,?,>]]向量化示意图:
[[[0.1,2,0.8,3],[0.3,0.9,2,0.1],[0.9,0.6,0.1,3]],[[0.9,0.2,0.7,3],[0.4,0.6,0.1,0.9],[0.1,1.2,2.2,0.6],[1.9,0.3,0.5,1.3],[0.4,0.8,1.2,1],[1.2,1.2,2.3,0.3],[0.3,2.2,4.7,1.3],[0.2,1.2,0.5,2.3],[2.3,1.2,2.1,0.3],[0.2,1.2,0.5,2.3],[1.3,1.2,2.1,0.2],[0.1,0.4,1.1,2.4],[0.4,2.3,1.8,3.2],[0.3,0.9,2,0.1],[1.1,1.8,0.1,2.2]]]
S4:将S3得到的三维向量转化为统一大小的三维向量;
若向量每行词数行数小于指定值,则在最后一直补0向量至其为指定大小,若词数大于指定值,则去掉该行最后的词至其为指定大小;若向量行数小于指定值,则在最后一直补0向量至其为指定大小,若行数大于指定值,则去掉该向量最后的行至其为指定大小。
步骤3:搭建CNN网络,根据步骤2得到的数据对CNN网络进行训练,得到CNN模型(模型训练)。
S1:搭建CNN网络进行训练;
S2:过验证集对S1得到的模型进行测试,若误差满足预设要求则停止,否则调整卷积神经网络参数后继续进行训练。
通过测试集对训练好的模型进行测试,若误差(准确率、召回率、及F1值)在可接受范围内则该模型符合要求,否则通过调整神经网络参数继续进行训练,参数包括卷积神经网络整体结构,网络层数、训练次数、卷积核大小、数量、池化函数、分类函数、激活函数等等。
步骤4:根据步骤3得到的卷积神经网络模型实时检测的网站是否存在后门。
实施例
本发明方法的ROC曲线如图3所示,从图中可以看出本发明检测性能很好;本发明训练的模型并未提取一些具有明显可见性的特征,对于一些通过混淆编码绕过特征匹配检测的Webshell有很好的检测效果,对Webshell语言也没有特殊要求,一个模型就能满足对多种不同语言的Webshell的检测。
通过测试,该模型对测试样本的检测准确率为97.29%,召回率为96.97%,F1为96.58%。
本发明中出现的符号如下:
网页后门(WebShell):又称网站的后门工具,WebShell就是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页后门。黑客在入侵了一个网站后,通常会将asp或php后门文件与网站服务器WEB目录下正常的网页文件混在一起,然后就可以使用浏览器来访问asp或者php后门,得到一个命令执行环境,以达到控制网站服务器的目的。顾名思义,“web”的含义是显然需要服务器开放web服务,“shell”的含义是取得对服务器某种程度上操作权限。webshell常常被称为入侵者通过网站端口对网站服务器的某种程度上操作的权限。由于webshell其大多是以动态脚本的形式出现,也有人称之为网站的后门工具。
ASP(Active Server Pages),是微软MicroSoft公司开发的服务器端脚本环境,可用来创建动态交互式网页并建立强大的web应用程序。当服务器收到对ASP文件的请求时,它会处理包含在用于构建发送给浏览器的超文本置标语言(HTML,HyperText MarkupLanguage)网页文件中的服务器端脚本代码。除服务器端脚本代码外,ASP文件也可以包含文本、HTML(包括相关的客户端脚本)和com组件调用。
PHP(Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。
JSP(Java Server Pages,中文名:“java服务器页面”),其根本是一个简化的Servlet设计,它是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。
CNN(Convolutional Neural Network,中文名:“卷积神经网络”),是一种深度前馈人工神经网络;CNN是一个针对图像识别问题设计的神经网络,它模仿人类识别图像的多层过程。
Claims (4)
1.一种基于卷积神经网络模型的网站后门检测方法,其特征在于,包括以下步骤:
S1、从网站服务器中提取普通网页文件样本,从网上搜集恶意后门文件样本,删除注释信息并划分训练集和测试集;
S2、对步骤1中提取的数据进行预处理;
S3、搭建卷积神经网络,根据步骤2得到的数据对卷积神经网络进行训练,得到训练好的卷积神经网络模型;
S4、利用S3训练好的卷积神经网络模型进行实时检测,判断网站服务器中的网页文件样本是否存在后门文件样本。
2.根据权利要求1所述的一种基于卷积神经网络模型的网站后门检测方法,其特征在于,步骤S1中,分别将普通文件样本和恶意后门文件样本标记为负样本和正样本,然后将正负样本按7:3的比例划分为训练集和测试集,划分后再分别将测试集和训练集打乱。
3.根据权利要求1所述的一种基于卷积神经网络模型的网站后门检测方法,其特征在于,步骤S2的具体方法为:
(1)对每个文件中的每行代码利用空格和非数字和字母的特殊字符进行分词;
(2)对样本进行词向量化训练,得到词向量化模型;
(3)根据S2中的模型对样本进行向量化,每一行代码转为一个二维向量,每个样本文件均转化为一个三维向量;
(4)将S3得到的三维向量进行截取和填充,转为统一规定大小的三维向量。
4.根据权利要求1所述的一种基于卷积神经网络模型的网站后门检测方法,其特征在于,步骤S3的具体方法为:
(1)搭建卷积神经网络网络,利用训练集进行训练;
(2)通过测试集对步骤S1得到的卷积神经网络模型进行测试,若满足准确率、召回率、及F1值预设要求则停止,否则调整卷积神经网络网络参数后继续进行训练。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010040177.XA CN111260033A (zh) | 2020-01-15 | 2020-01-15 | 一种基于卷积神经网络模型的网站后门检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010040177.XA CN111260033A (zh) | 2020-01-15 | 2020-01-15 | 一种基于卷积神经网络模型的网站后门检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111260033A true CN111260033A (zh) | 2020-06-09 |
Family
ID=70945270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010040177.XA Pending CN111260033A (zh) | 2020-01-15 | 2020-01-15 | 一种基于卷积神经网络模型的网站后门检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111260033A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112651025A (zh) * | 2021-01-20 | 2021-04-13 | 广东工业大学 | 一种基于字符级嵌入编码的webshell检测方法 |
CN112883373A (zh) * | 2020-12-30 | 2021-06-01 | 国药集团基因科技有限公司 | 一种PHP类型的WebShell检测方法及其检测系统 |
CN112905869A (zh) * | 2021-03-26 | 2021-06-04 | 北京儒博科技有限公司 | 语言模型的自适应训练方法、装置、存储介质及设备 |
CN113141360A (zh) * | 2021-04-21 | 2021-07-20 | 建信金融科技有限责任公司 | 网络恶意攻击的检测方法和装置 |
CN113194064A (zh) * | 2021-03-16 | 2021-07-30 | 中国科学院信息工程研究所 | 基于图卷积神经网络的webshell检测方法及装置 |
CN113190849A (zh) * | 2021-04-28 | 2021-07-30 | 重庆邮电大学 | Webshell脚本检测方法、装置、电子设备及存储介质 |
CN113204745A (zh) * | 2021-04-12 | 2021-08-03 | 武汉大学 | 基于模型剪枝和逆向工程的深度学习后门防御方法 |
CN114499944A (zh) * | 2021-12-22 | 2022-05-13 | 天翼云科技有限公司 | 一种检测WebShell的方法、装置和设备 |
CN115577361A (zh) * | 2022-12-09 | 2023-01-06 | 四川大学 | 一种改进的基于图神经网络的PHP Web shell检测方法 |
CN116383814A (zh) * | 2023-06-02 | 2023-07-04 | 浙江大学 | 一种神经网络模型后门检测方法和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109413028A (zh) * | 2018-08-29 | 2019-03-01 | 集美大学 | 基于卷积神经网络算法的sql注入检测方法 |
CN109492692A (zh) * | 2018-11-07 | 2019-03-19 | 北京知道创宇信息技术有限公司 | 一种网页后门检测方法、装置、电子设备及存储介质 |
CN110232277A (zh) * | 2019-04-23 | 2019-09-13 | 平安科技(深圳)有限公司 | 网页后门的检测方法、装置和计算机设备 |
-
2020
- 2020-01-15 CN CN202010040177.XA patent/CN111260033A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109413028A (zh) * | 2018-08-29 | 2019-03-01 | 集美大学 | 基于卷积神经网络算法的sql注入检测方法 |
CN109492692A (zh) * | 2018-11-07 | 2019-03-19 | 北京知道创宇信息技术有限公司 | 一种网页后门检测方法、装置、电子设备及存储介质 |
CN110232277A (zh) * | 2019-04-23 | 2019-09-13 | 平安科技(深圳)有限公司 | 网页后门的检测方法、装置和计算机设备 |
Non-Patent Citations (1)
Title |
---|
TINGTING LI.ET AL: "Webshell Detection Based on the Word Attention Mechanism", 《IEEE ACCESS》, vol. 07, 16 December 2019 (2019-12-16), pages 185140 - 185146 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112883373A (zh) * | 2020-12-30 | 2021-06-01 | 国药集团基因科技有限公司 | 一种PHP类型的WebShell检测方法及其检测系统 |
CN112651025A (zh) * | 2021-01-20 | 2021-04-13 | 广东工业大学 | 一种基于字符级嵌入编码的webshell检测方法 |
CN113194064B (zh) * | 2021-03-16 | 2022-07-26 | 中国科学院信息工程研究所 | 基于图卷积神经网络的webshell检测方法及装置 |
CN113194064A (zh) * | 2021-03-16 | 2021-07-30 | 中国科学院信息工程研究所 | 基于图卷积神经网络的webshell检测方法及装置 |
CN112905869A (zh) * | 2021-03-26 | 2021-06-04 | 北京儒博科技有限公司 | 语言模型的自适应训练方法、装置、存储介质及设备 |
CN113204745B (zh) * | 2021-04-12 | 2022-08-30 | 武汉大学 | 基于模型剪枝和逆向工程的深度学习后门防御方法 |
CN113204745A (zh) * | 2021-04-12 | 2021-08-03 | 武汉大学 | 基于模型剪枝和逆向工程的深度学习后门防御方法 |
CN113141360A (zh) * | 2021-04-21 | 2021-07-20 | 建信金融科技有限责任公司 | 网络恶意攻击的检测方法和装置 |
CN113190849A (zh) * | 2021-04-28 | 2021-07-30 | 重庆邮电大学 | Webshell脚本检测方法、装置、电子设备及存储介质 |
CN113190849B (zh) * | 2021-04-28 | 2023-03-03 | 重庆邮电大学 | Webshell脚本检测方法、装置、电子设备及存储介质 |
CN114499944A (zh) * | 2021-12-22 | 2022-05-13 | 天翼云科技有限公司 | 一种检测WebShell的方法、装置和设备 |
CN114499944B (zh) * | 2021-12-22 | 2023-08-08 | 天翼云科技有限公司 | 一种检测WebShell的方法、装置和设备 |
CN115577361A (zh) * | 2022-12-09 | 2023-01-06 | 四川大学 | 一种改进的基于图神经网络的PHP Web shell检测方法 |
CN115577361B (zh) * | 2022-12-09 | 2023-04-07 | 四川大学 | 一种改进的基于图神经网络的PHP Web shell检测方法 |
CN116383814A (zh) * | 2023-06-02 | 2023-07-04 | 浙江大学 | 一种神经网络模型后门检测方法和系统 |
CN116383814B (zh) * | 2023-06-02 | 2023-09-15 | 浙江大学 | 一种神经网络模型后门检测方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111260033A (zh) | 一种基于卷积神经网络模型的网站后门检测方法 | |
David et al. | Deepsign: Deep learning for automatic malware signature generation and classification | |
Opara et al. | HTMLPhish: Enabling phishing web page detection by applying deep learning techniques on HTML analysis | |
Ito et al. | Web application firewall using character-level convolutional neural network | |
CN109005145B (zh) | 一种基于自动特征抽取的恶意url检测系统及其方法 | |
CN108156131B (zh) | Webshell检测方法、电子设备和计算机存储介质 | |
US8965894B2 (en) | Automated web page classification | |
CN107992764B (zh) | 一种敏感网页识别与检测方法及装置 | |
CN108664791B (zh) | 一种超文本预处理器代码中的网页后门检测方法及装置 | |
CN107204960A (zh) | 网页识别方法及装置、服务器 | |
Lei et al. | XSS detection technology based on LSTM-attention | |
CN112749284A (zh) | 知识图谱构建方法、装置、设备及存储介质 | |
CN113596007A (zh) | 一种基于深度学习的漏洞攻击检测方法和设备 | |
ALBayari et al. | Cyberbullying classification methods for Arabic: A systematic review | |
CN111866004A (zh) | 安全评估方法、装置、计算机系统和介质 | |
CN111488422A (zh) | 一种结构化数据样本的增量方法、装置、电子设备及介质 | |
CN113918794B (zh) | 企业网络舆情效益分析方法、系统、电子设备及存储介质 | |
US20160034378A1 (en) | Method and system for testing page link addresses | |
CN115130613A (zh) | 虚假新闻识别模型构建方法、虚假新闻识别方法与装置 | |
CN114285641B (zh) | 网络攻击检测方法及装置、电子设备、存储介质 | |
Yan et al. | Cross-site scripting attack detection based on a modified convolution neural network | |
Hajian et al. | Analyzing new features of infected web content in detection of malicious web pages | |
CN114429635A (zh) | 书本管理方法 | |
CN112866279A (zh) | 网页安全检测方法、装置、设备及介质 | |
CN113918936A (zh) | Sql注入攻击检测的方法以及装置 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200609 |
|
RJ01 | Rejection of invention patent application after publication |