CN108664791B - 一种超文本预处理器代码中的网页后门检测方法及装置 - Google Patents
一种超文本预处理器代码中的网页后门检测方法及装置 Download PDFInfo
- Publication number
- CN108664791B CN108664791B CN201710196716.7A CN201710196716A CN108664791B CN 108664791 B CN108664791 B CN 108664791B CN 201710196716 A CN201710196716 A CN 201710196716A CN 108664791 B CN108664791 B CN 108664791B
- Authority
- CN
- China
- Prior art keywords
- operation code
- code
- features
- sample
- hypertext preprocessor
- 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
-
- 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/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- 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/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2119—Authenticating web pages, e.g. with suspicious links
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开揭示了一种超文本预处理器代码中的网页后门检测方法及装置,其中该方法包括如下步骤:根据触发的网页后门检测命令,获取超文本预处理器代码;将所述超文本预处理器代码转换为操作码;在所述操作码中识别出操作码保留关键字;在所述操作码中提取出所述操作码保留关键字标识的操作码片段;根据所述操作码片段生成操作码特征;将所述操作码特征输入分类模型进行分类,得到所述超文本预处理器代码是否含有网页后门的分类结果。本发明识别超文本预处理器代码是否含有网页后门的分类结果准确度更高。
Description
技术领域
本公开涉及互联网领域,特别涉及一种超文本预处理器代码中的网页后门检测方法及装置。
背景技术
黑客在入侵了一个网站后,通常会将PHP(超文本预处理器代码)形式的webshell(网页后门)与服务器WEB目录下正常的网页文件混在一起,然后就可以使用浏览器来访问该网页后门,黑客可以利用该网页后门实现对网站和服务器的控制,例如,上传下载文件,查看数据库,可以调用一些服务器上系统的相关命令(比如创建用户,修改删除文件之类的),甚至向服务器WEB目录上传网页脚本木马,从而使访问该网站的客户端感染。由此可见,这种网页后门可以对服务器以及网站产生很大破坏。
现有技术中,为了识别出服务器中的PHP代码中是否含有网页后门,通常采用如下检测步骤:
读取PHP代码:读取服务器中的PHP代码;
预处理:对PHP代码进行预处理以方便后续的特征提取步骤,例如调整PHP代码的格式;
特征提取:从每组PHP代码中提取特征;
模型训练:将每组PHP代码是否包含网页后门的结果,以及该组PHP代码的特征使用贝叶斯、决策树、逻辑回归等等方法进行模型训练,得到分类模型;
检测网页后门:将待检测的PHP文件输入该分类模型进行分类,从而可以得到该PHP文件是否含有网页后门的分类结果。
但是,由于PHP语法灵活,利用PHP写出的网页后门可以由很多不同的形式,通过上述检测步骤检测之后,往往会有很多包含了网页后门的PHP代码没有被检测出来,即,出现大量漏报;另一方面,有些没有包含网页后门的PHP代码,经过上述检测步骤得出了含有网页后门的分类结果,即,出现大量误报,大量警告信息需要人工审核,严重增加了审核人员的负担。
概括而言,现有检测PHP代码中是否含有网页后门的结果不准确。
发明内容
为了解决相关技术中存在的检测PHP代码是否含有网页后门结果不准确的技术问题,本公开提供了一种超文本预处理器代码中的网页后门检测方法及装置。
一种超文本预处理器代码中的网页后门检测方法,包括如下步骤:
根据触发的网页后门检测命令,获取超文本预处理器代码;
将所述超文本预处理器代码转换为操作码;
在所述操作码中识别出操作码保留关键字;
在所述操作码中提取出所述操作码保留关键字标识的操作码片段;
根据所述操作码片段生成操作码特征;
将所述操作码特征输入分类模型进行分类,得到所述超文本预处理器代码是否含有网页后门的分类结果。
在一个实施例中,所述操作码片段为操作码操作符;
根据所述操作码片段生成操作码特征的步骤为:
按照操作码操作符在所述操作码中的被执行顺序,将多个操作码操作符依次拼接得到操作码操作符序列;
从所述操作码操作符序列中提取N元模型特征,得到所述操作码特征;其中,N为大于1的整数。
在一个实施例中,所述操作码片段为操作码操作数;
根据所述操作码片段生成操作码特征的步骤为:
按照操作码操作数在所述操作码中的被执行顺序,将多个操作码操作数依次拼接得到操作码操作数序列;
从所述操作码操作数序列中提取N元模型特征,得到所述操作码特征;其中,N为大于1的整数。
在一个实施例中,所述操作码片段为字符串;
根据所述操作码片段生成操作码特征的步骤为:
从所述字符串中提取字符串文本特征,得到所述操作码特征。
在一个实施例中,从所述字符串中提取字符串文本特征,得到所述操作码特征的步骤为:
从所述字符串中提取字符串文本特征;
对所述字符串文本特征进行降维运算,得到所述操作码特征。
在一个实施例中,通过如下步骤得到所述分类模型:
获取样本超文本预处理器代码,以及所述样本超文本预处理器代码是否含有网页后门的样本分类结果;
将所述样本超文本预处理器代码转换为样本操作码;
在所述样本操作码中识别出操作码保留关键字;
在所述样本操作码中提取出所述操作码保留关键字标识的样本操作码片段;
根据所述样本操作码片段生成样本操作码特征;
将所述样本操作码特征与样本分类结果进行模型训练,得到所述分类模型。
本发明还提供了一种超文本预处理器代码中的网页后门检测装置,包括:
获取单元,被配置为执行:根据触发的网页后门检测命令,获取超文本预处理器代码;
转换单元,被配置为执行:将所述超文本预处理器代码转换为操作码;
识别单元,被配置为执行:在所述操作码中识别出操作码保留关键字;
提取单元,被配置为执行:在所述操作码中提取出所述操作码保留关键字标识的操作码片段;
生成单元,被配置为执行:根据所述操作码片段生成操作码特征;
分类单元,被配置为执行:将所述操作码特征输入分类模型进行分类,得到所述超文本预处理器代码是否含有网页后门的分类结果。
在一个实施例中,所述操作码片段为操作码操作符;
所述生成单元被配置为执行:按照操作码操作符在所述操作码中的被执行顺序,将多个操作码操作符依次拼接得到操作码操作符序列;
从所述操作码操作符序列中提取N元模型特征,得到所述操作码特征;其中,N为大于1的整数。
在一个实施例中,所述操作码片段为操作码操作数;
所述生成单元被配置为执行:按照操作码操作数在所述操作码中的被执行顺序,将多个操作码操作数依次拼接得到操作码操作数序列;
从所述操作码操作数序列中提取N元模型特征,得到所述操作码特征;其中,N为大于1的整数。
在一个实施例中,所述操作码片段为字符串;
所述生成单元被配置为执行:从所述字符串中提取字符串文本特征,得到所述操作码特征。
在一个实施例中,所述生成单元被配置为执行:
从所述字符串中提取字符串文本特征;
对所述字符串文本特征进行降维运算,得到所述操作码特征。
在一个实施例中,所述分类单元被配置为通过执行如下步骤得到所述分类模型:
获取样本超文本预处理器代码,以及所述样本超文本预处理器代码是否含有网页后门的样本分类结果;
将所述样本超文本预处理器代码转换为样本操作码;
在所述样本操作码中识别出操作码保留关键字;
在所述样本操作码中提取出所述操作码保留关键字标识的样本操作码片段;
根据所述样本操作码片段生成样本操作码特征;
将所述样本操作码特征与样本分类结果进行模型训练,得到所述分类模型。
本公开的实施例提供的技术方案可以包括以下有益效果:
在本发明的多个实施例中,将写法灵活的PHP代码转换为写法较不灵活的操作码,并根据操作码保留关键字,从操作码中提取出操作码片段,再根据操作码片段生成操作码特征,以得到更能准确反映PHP代码是否含有网页后门的操作码特征,然后将操作码特征输入分类模型进行分类,得到PHP代码是否含有网页后门的分类结果,与现有技术相比,本实施例的方案得到的分类结果的准确度更高。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并于说明书一起用于解释本发明的原理。
图1是本发明一种实施例的网页后门检测方法的实施环境图;
图2是本发明另一种实施例的网页后门检测方法的实施环境图;
图3是本发明一种实施例的网页后门检测方法的流程图;
图4是本发明另一种实施例的网页后门检测方法的部分流程图;
图5是本发明另一种实施例的网页后门检测方法的部分流程图;
图6是本发明另一种实施例的网页后门检测方法的部分流程图;
图7是本发明另一种实施例的网页后门检测方法的部分流程图;
图8是本发明另一种实施例的网页后门检测机的示意框图;
图9是本发明另一种实施例的网页后门检测装置的示意框图。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
如图1所示,是本发明一种实施例的网页后门检测方法的实施环境图,该实施环境包括:互联网100、防火墙101、路由器102、交换机103、网页后门检测机104和服务器105。
服务器105依次通过交换机103、路由器102和防火墙101接入互联网100,向互联网100提供服务,网页后门检测机104通过接入交换机103,并可以从服务器105获取超文本预处理器代码(以下简称PHP代码),以实施PHP代码中的网页后门检测方法,具体的网页后门检测方法将在后面的实施例进行阐述。
如图2所示,是本发明另一种实施例的网页后门检测方法的实施环境图,该实施环境包括:互联网100、防火墙101、路由器102、交换机103和服务器105。该服务器105上部署了用于实施网页后门检测方法的代理1051(例如软件或者硬件实体),该代理运行于服务器105的操作系统上,并从服务器中获取PHP代码并实施网页后门检测方法,具体的网页后门检测方法将在后面的实施例进行阐述。
如图3所示,是本发明一种实施例的PHP代码中的网页后门检测方法,包括如下步骤。
S1、根据触发的网页后门检测命令,获取超文本预处理器代码(PHP代码)。
可以设定触发规则,以实现触发网页后门检测命令的目的。该PHP代码可以是存放于服务器中的PHP代码。
该触发规则可以是服务器运营维护人员实施的检测操作,在实施了该检测操作后,将触发网页后门检测命令。
该触发规则还可以是网页后门检测机104中设定的自动定时检测规则,每当经过一定时间间隔将触发该网页后门检测命令。
该触发规则还可以是服务器105中的代理1051中设定的自动定时检测规则,每当经过一定时间间隔将触发该网页后门检测命令。
当触发网页后门检测命令之后,将从服务器中获取PHP代码。
该PHP代码可以是完全由PHP代码构成的文件,也可以是嵌入于其他语言中的PHP代码段(例如嵌入于HTML中的PHP代码段,通常情况下该HTML文件也是以.PHP来命名),在此不进行限定。
S2、将所述超文本预处理器代码转换为操作码。
PHP代码在被执行的过程中,需要由PHP解释器对其进行解释和运算,在这过程中,PHP代码将被生成操作码(opcode)。由于PHP代码写法灵活,如果根据PHP代码的特征实现对网页后门的检测,容易出错。而PHP代码对应的操作码更加底层,更能反映PHP代码实质执行动作的特征,因此对操作码进行网页后门检测更加准确。
具体而言,在本步骤中利用PHP代码转换操作码的规则,将该PHP代码转换为对应的操作码。在一个实施例中,可以利用现有的PHP解释器将该PHP代码转换为对应的操作码。
下面表1是一个PHP文件经过上述步骤S2得到的操作码:
表1
S3、在操作码中识别出操作码保留关键字。
操作码保留关键字是操作码中具有特殊含义的关键字,在写PHP代码过程中不能使用该操作码保留关键字作为自定义字符,例如变量或者函数。操作码保留关键字用于标识对应操作码片段的含义,这样,PHP解析器才能正确识别和解析PHP代码。
在操作码中,常见的操作码保留关键字包括以下几种:
用于表示操作符的操作码保留关键字:op、ops、NOP、ECHO、RETURN,其中,op和ops是操作符统称,NOP、ECHO和RETURN是具体操作符,也就是说,这些操作码保留关键字标识的操作码片段是操作符。
用于表示操作数的操作码保留关键字:operands,也就是说,此操作码保留关键字标识的操作码片段是操作数,。
其他操作码保留关键字:function name(函数名)、compiled vars(编译变量)、branch(分支)、path(路径)等,此操作码保留关键字标识的操作码片段是一些字符串。
如表1所示的操作码中,第1行含有操作码保留关键字function name,第3行含有操作码保留关键字compiled vars等等。通过本步骤S3,可以识别出表1中操作码的操作码保留关键字。
S4、在所述操作码中提取出所述操作码保留关键字标识的操作码片段。
如表1所示的操作码中,第1行的操作码保留关键字function name标识的操作码片段是紧跟在function name之后的(null)。第3行的操作码保留关键字compiled vars标识的操作码片段是none。第4行的操作码保留关键字op分别标识的操作码片段则是第5至9行的NOP、SEND_VAL、DO_FCALL、ECHO和RETURN。
S5、根据所述操作码片段生成操作码特征。
不同的操作码对应的操作码片段通常是不同的,而正常的PHP代码对应的操作码片段与含有网页后门的PHP代码对应的操作码片段亦有区别。
例如,将PHP代码形式的网页后门转换为网页后门操作码,对该网页后门操作码进行研究发现,其中操作符和操作数以外的操作码保留关键字标识的操作码片段多数是一些无含义的字符串,例如,其function name、compiled vars标识的操作码片段是一些无含义的字符串。而对于非网页后门的PHP代码对应的操作码,function name、compiled vars标识的操作码片段通常是一些有具体含义的字符串,例如实现登陆界面的PHP代码,其对应的操作码中,function name、compiled vars标识的操作码片段通常包含user name,Password,login等具有具体含义的字符串。
再如,对该网页后门操作码进行研究发现,操作符的数量,以及操作符的顺序与非网页后门的PHP代码对应的操作码有所差别;同样,操作数的数量,以及操作数的顺序与非网页后门的PHP代码对应的操作码也有所差别。
由于网页后门与非网页后门的操作码存在差别,因此根据操作码片段生成的操作码特征亦存在区别,可以根据操作码特征对网页后门与非网页后门的操作码进行区分。
S6、将操作码特征输入分类模型进行分类,得到所述超文本预处理器代码是否含有网页后门的分类结果。
该分类模型是通过机器学习得到的,例如通过贝叶斯、分类器(如SVM)、决策树(如逻辑回归)、随机森林算法(Random Forest)等算法学习得到。
在机器学习过程中,将样本PHP(已知其是否含有网页后门的分类结果)转换为样本操作码,按照上述步骤生成样本操作码特征,然后将样本操作码特征以及其对应的分类结果进行模型训练,得到该分类模型。
在本实施例的方案中,将写法灵活的PHP代码转换为写法较不灵活的操作码,并根据操作码保留关键字,从操作码中提取出操作码片段,再根据操作码片段生成操作码特征,以得到更能准确反映PHP代码是否含有网页后门的操作码特征,然后将操作码特征输入分类模型进行分类,得到PHP代码是否含有网页后门的分类结果,与现有技术相比,本实施例的方案得到的分类结果的准确度更高。
如图4所示,在一个实施例中,步骤S4中的该操作码片段是操作码操作符,上述步骤S5为:
S511、按照操作码操作符在所述操作码中的被执行顺序,将多个操作码操作符依次拼接得到操作码操作符序列。
上述多个操作码操作符,可以是操作码中的所有操作码操作符,也可以是一部分操作码操作符,在此不做限定。为了能够更好地反映操作码,应尽可能选择所有操作码操作符。
如表1所示,第5至9行的操作码操作符依次为:NOP、SEND_VAL、DO_FCALL、ECHO和RETURN,这个顺序也是这些操作码操作符被PHP解析器执行的顺序,因而,在本步骤S51中,将上述操作码操作符依次拼接为NOP SEND_VAL DO_FCALL ECHO RETURN。
S512、从所述操作码操作符序列中提取N元模型特征,得到所述操作码特征;其中,N为大于1的整数,例如N分别取2,3和4。
N元模型特征是指,利用N-Gram模型(即N元模型)从所述操作码操作符序列中提取出来的特征。
N-Gram模型的基本思想是将文本内容按字节流进行大小为N的滑动窗口操作,形成长度为N的字节片段序列,每个字节片段称为gram,对全部gram的出现频度进行统计,从而可以得到N元模型特征,一个N元模型特征包括gram、以及该gram的个数,以及对应的N值。
具体到本步骤S512中,当N=2,利用N-Gram模型可以将上述操作码操作符序列划分为以下gram:NOP SEND_VAL、SEND_VAL DO_FCALL、DO_FCALL ECHO、ECHO RETURN,每个gram的个数均为1,也就是说,当N=2,上述操作码操作符序列的N元模型特征有:
(2,NOP SEND_VAL,1)
(2,SEND_VAL DO_FCALL,1)
(2,DO_FCALL ECHO,1)
(2,ECHO RETURN,1)。
同理,当N=3时,上述操作码操作符序列的N元模型特征有:
(3,NOP SEND_VAL DO_FCALL,1)
(3,SEND_VAL DO_FCALL ECHO,1)
(3,DO_FCALL ECHO RETURN,1)。
同理,当N=4时,上述操作码操作符序列的N元模型特征有:
(4,NOP SEND_VAL DO_FCALL ECHO,1)
(4,SEND_VAL DO_FCALL ECHO RETURN,1)。
容易理解,在本实施例中,在训练得到上述分类模型时,也应将作为样本操作码特征的样本N元模型,以及对应PHP代码是否含有网页后门的分类结果进行训练。
如图5所示,在一个实施例中,步骤S4中的该操作码片段是操作码操作数,上述步骤S5为:
S521、按照操作码操作数在所述操作码中的被执行顺序,将多个操作码操作数依次拼接得到操作码操作数序列。
上述多个操作码操作数,可以是操作码中的所有操作码操作数,也可以是一部分操作码操作数,在此不做限定。为了能够更好地反映操作码,应尽可能选择所有操作码操作数。
如表1所示,第5至9行的操作码操作符依次为:’World’、’hello’、$0和1(在operands下方,其中,第2行的操作码操作符NOP没有操作码操作数),这个顺序也是这些操作码操作数被PHP解析器执行的顺序,因而,在本步骤S51中,将上述操作码操作数依次拼接为’World”hello’$0 1。
S522、从所述操作码操作数序列中提取N元模型特征,得到所述操作码特征;其中,N为大于1的整数,例如N分别取2,3和4。
具体到本步骤S522中,当N=2,利用N-Gram模型可以将上述操作码操作符序列划分为以下gram:’World”hello’、’hello’$0、$0 1,每个gram的个数均为1,也就是说,当N=2,上述操作码操作数序列的N元模型特征有:
(2,’World”hello’,1)
(2,’hello’$0,1)
(2,$0 1,1)。
同理,当N=3时,上述操作码操作数序列的N元模型特征有:
(3,’World”hello’$0,1)
(3,’hello’$0 1,1)。
同理,当N=4时,上述操作码操作数序列的N元模型特征有:
(4,’World”hello’$0 1,1)。
容易理解,在本实施例中,在训练得到上述分类模型时,也应将作为样本操作码特征的样本N元模型,以及对应PHP代码是否含有网页后门的分类结果进行训练。
在一个实施例中,步骤S4中的该操作码片段是字符串,上述步骤S5为:
S531、从所述字符串中提取字符串文本特征,得到所述操作码特征。
如表1所示,function name标识的字符串为(null),compiled vars标识的字符串为none,利用文本特征提取算法,从所述字符串(null)中提取字符串文本特征null,从所述字符串none提取字符串文本特征none,从而得到所述操作码特征null和none。常见的文本特征提取算法包括:TF-IDF算法等。
容易理解,在本实施例中,在训练得到上述分类模型时,也应将作为样本操作码特征的样本字符串文本特征,以及对应PHP代码是否含有网页后门的分类结果进行训练。
在一个实施例中,步骤S4中的该操作码片段是操作码操作符、操作码操作数和字符串中的至少两者,在步骤S5中,则分别对操作码操作符、操作码操作数和字符串进行处理,以生成对应的多种操作码特征。
例如,当步骤S4中的该操作码片段是操作码操作符和操作码操作数时,在步骤S5中,对于操作码操作符,采用前述实施例的步骤S511和S512进行处理;对于操作码操作数,采用前述实施例的步骤S521和S522进行处理。
容易理解,在本实施例中,在训练得到上述分类模型时,也应将上述多种操作码特征,以及对应PHP代码是否含有网页后门的分类结果进行训练。
如图6所示,在一个实施例中,
步骤S531为:
S5311、从所述字符串中提取字符串文本特征。
如前所述,可以采用多种文本特征提取算法,从所述字符串中提取字符串文本特征,得到所述操作码特征。
S5312、对所述字符串文本特征进行降维运算,得到所述操作码特征。
由于很多字符串文本特征与对应PHP代码是否含有网页后门的分类结果的相关度不大,因此,可以对所述字符串文本特征进行降维运算,以排除相关度不大的字符串文本特征。
这样,一方面可以提高识别PHP代码是否含有网页后门的分类结果的准确率,另一方面也可以降低分类模型的复杂度。
如图7所示,在一个实施例中,通过如下步骤得到所述分类模型:
S61、获取样本超文本预处理器代码,以及所述样本超文本预处理器代码是否含有网页后门的样本分类结果。
在一个实施例中,所述样本超文本预处理器代码是否含有网页后门的样本分类结果可以是通过人工识别获得的。
S62、将所述样本超文本预处理器代码转换为样本操作码。
S63、在所述样本操作码中识别出操作码保留关键字。
S64、在所述样本操作码中提取出所述操作码保留关键字标识的样本操作码片段。
S65、根据所述样本操作码片段生成样本操作码特征。
S66、将所述样本操作码特征与样本分类结果进行模型训练,得到所述分类模型。
如图8所示,是本发明一种实施例的网页后门检测机,该网页后门检测机用于执行网页后门检测方法。
该网页后门检测机10可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)122(例如,一个或一个以上处理器)和存储器132,一个或一个以上存储应用程序142或数据144的存储媒体130(例如一个或一个以上海量存储设备)。其中,存储器132和存储媒体130可以是短暂存储或持久存储。执行网页后门检测方法的程序存储在存储媒体130。更进一步地,中央处理器122可以设置为与存储媒体130通信,在网页后门检测机10上执行存储媒体130中的程序。网页后门检测机10还可以包括一个或一个以上电源126,一个或一个以上有线或无线网络接口150,一个或一个以上输入输出接口158,和/或,一个或一个以上操作系统141,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
在更具体的步骤中,网页后门检测机10利用有线或无线网络接口150,从服务器105中获取服务器中的PHP代码,然后在操作系统141上运行网页后门检测方法的程序,从而执行上述网页后门检测方法。
当检测到PHP代码含有网页后门的结果后,网页后门检测方法的程序将结果通过输入输出接口158输出至与网页后门检测机连接的显示屏,以供服务器运营维护人员查看。在更优的实施中,当检测到PHP代码含有网页后门之后,网页后门检测方法的程序生成警告信息,并通过输入输出接口158输出至上述显示屏。
如图9所示,一种实施例的超文本预处理器代码中的网页后门检测装置,包括:
获取单元1,被配置为执行:根据触发的网页后门检测命令,获取超文本预处理器代码;
转换单元2,被配置为执行:将所述超文本预处理器代码转换为操作码;
识别单元3,被配置为执行:在所述操作码中识别出操作码保留关键字;
提取单元4,被配置为执行:在所述操作码中提取出所述操作码保留关键字标识的操作码片段;
生成单元5,被配置为执行:根据所述操作码片段生成操作码特征;
分类单元6,被配置为执行:将所述操作码特征输入分类模型进行分类,得到所述超文本预处理器代码是否含有网页后门的分类结果。
本网页后门检测装置用于执行上述实施例的网页后门检测方法,具体的执行步骤在网页后门检测方法中有详细阐述,在此不再赘述。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (8)
1.一种超文本预处理器代码中的网页后门检测方法,其特征是,包括如下步骤:
根据触发的网页后门检测命令,获取超文本预处理器代码;
将所述超文本预处理器代码转换为操作码;
在所述操作码中识别出具有特殊含义的操作码保留关键字;
在所述操作码中提取出所述操作码保留关键字标识的操作码片段,所述操作码片段是操作码操作符、操作码操作数和字符串中的至少两者;
所述操作码片段包括字符串,从所述字符串中提取字符串文本特征,对所述字符串文本特征进行降维运算,得到所述字符串对应的操作码特征;
所述操作码片段包括操作码操作符和操作码操作数,根据所述操作码操作符和操作码操作数分别生成对应的操作码特征,以得到多种操作码特征;
将所述多种操作码特征输入分类模型进行分类;
若通过所述分类模型确定操作码特征对应的操作码片段包含无含义的字符串,或确定操作码特征对应的操作码操作符和操作码操作数中的至少一种的数量以及顺序与非网页后门的超文本预处理器代码对应的操作码有所差别,得到所述超文本预处理器代码含有网页后门的分类结果。
2.如权利要求1所述的方法,其特征是,
所述操作码片段为操作码操作符;
根据所述操作码片段生成操作码特征的步骤为:
按照操作码操作符在所述操作码中的被执行顺序,将多个操作码操作符依次拼接得到操作码操作符序列;
从所述操作码操作符序列中提取N元模型特征,得到所述操作码特征;其中,N为大于1的整数。
3.如权利要求1所述的方法,其特征是,
所述操作码片段为操作码操作数;
根据所述操作码片段生成操作码特征的步骤为:
按照操作码操作数在所述操作码中的被执行顺序,将多个操作码操作数依次拼接得到操作码操作数序列;
从所述操作码操作数序列中提取N元模型特征,得到所述操作码特征;其中,N为大于1的整数。
4.如权利要求1所述的方法,其特征是,通过如下步骤得到所述分类模型:
获取样本超文本预处理器代码,以及所述样本超文本预处理器代码是否含有网页后门的样本分类结果;
将所述样本超文本预处理器代码转换为样本操作码;
在所述样本操作码中识别出操作码保留关键字;
在所述样本操作码中提取出所述操作码保留关键字标识的样本操作码片段;
根据所述样本操作码片段生成样本操作码特征;
将所述样本操作码特征与样本分类结果进行模型训练,得到所述分类模型。
5.一种超文本预处理器代码中的网页后门检测装置,其特征是,包括:
获取单元,被配置为执行:根据触发的网页后门检测命令,获取超文本预处理器代码;
转换单元,被配置为执行:将所述超文本预处理器代码转换为操作码;
识别单元,被配置为执行:在所述操作码中识别出具有特殊含义的操作码保留关键字;
提取单元,被配置为执行:在所述操作码中提取出所述操作码保留关键字标识的操作码片段,所述操作码片段是操作码操作符、操作码操作数和字符串中的至少两者;
生成单元,被配置为执行:根据所述操作码片段包括字符串,从所述字符串中提取字符串文本特征,对所述字符串文本特征进行降维运算,得到所述字符串对应的操作码特征;所述操作码片段包括操作码操作符和操作码操作数,根据所述操作码操作符和操作码操作数分别生成对应的操作码特征,以得到多种操作码特征;
分类单元,被配置为执行:将所述操作码特征输入分类模型进行分类,若通过所述分类模型确定操作码特征对应的操作码片段包含无含义的字符串,或确定操作码特征对应的操作码操作符和操作码操作数中的至少一种的数量以及顺序与非网页后门的超文本预处理器代码对应的操作码有所差别,得到所述超文本预处理器代码含有网页后门的分类结果。
6.如权利要求5所述的装置,其特征是,
所述操作码片段为操作码操作符;
所述生成单元被配置为执行:按照操作码操作符在所述操作码中的被执行顺序,将多个操作码操作符依次拼接得到操作码操作符序列;
从所述操作码操作符序列中提取N元模型特征,得到所述操作码特征;其中,N为大于1的整数。
7.如权利要求5所述的装置,其特征是,
所述操作码片段为操作码操作数;
所述生成单元被配置为执行:按照操作码操作数在所述操作码中的被执行顺序,将多个操作码操作数依次拼接得到操作码操作数序列;
从所述操作码操作数序列中提取N元模型特征,得到所述操作码特征;其中,N为大于1的整数。
8.如权利要求5所述的装置,其特征是,
所述分类单元被配置为通过执行如下步骤得到所述分类模型:
获取样本超文本预处理器代码,以及所述样本超文本预处理器代码是否含有网页后门的样本分类结果;
将所述样本超文本预处理器代码转换为样本操作码;
在所述样本操作码中识别出操作码保留关键字;
在所述样本操作码中提取出所述操作码保留关键字标识的样本操作码片段;
根据所述样本操作码片段生成样本操作码特征;
将所述样本操作码特征与样本分类结果进行模型训练,得到所述分类模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710196716.7A CN108664791B (zh) | 2017-03-29 | 2017-03-29 | 一种超文本预处理器代码中的网页后门检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710196716.7A CN108664791B (zh) | 2017-03-29 | 2017-03-29 | 一种超文本预处理器代码中的网页后门检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108664791A CN108664791A (zh) | 2018-10-16 |
CN108664791B true CN108664791B (zh) | 2023-05-16 |
Family
ID=63786004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710196716.7A Active CN108664791B (zh) | 2017-03-29 | 2017-03-29 | 一种超文本预处理器代码中的网页后门检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108664791B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109492692A (zh) * | 2018-11-07 | 2019-03-19 | 北京知道创宇信息技术有限公司 | 一种网页后门检测方法、装置、电子设备及存储介质 |
CN109905385B (zh) * | 2019-02-19 | 2021-08-20 | 中国银行股份有限公司 | 一种webshell检测方法、装置及系统 |
CN110232277A (zh) * | 2019-04-23 | 2019-09-13 | 平安科技(深圳)有限公司 | 网页后门的检测方法、装置和计算机设备 |
CN110138794A (zh) * | 2019-05-22 | 2019-08-16 | 杭州安恒信息技术股份有限公司 | 一种仿冒网站识别方法、装置、设备及可读存储介质 |
CN110912753B (zh) * | 2019-12-11 | 2022-03-25 | 中山大学 | 一种基于机器学习的云安全事件实时检测系统及方法 |
CN111163094B (zh) * | 2019-12-31 | 2022-04-19 | 奇安信科技集团股份有限公司 | 网络攻击检测方法、网络攻击检测装置、电子设备和介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101065756A (zh) * | 2004-11-24 | 2007-10-31 | 诺基亚公司 | 电子设备中安全的程序解释的方法 |
CN101562618A (zh) * | 2009-04-08 | 2009-10-21 | 深圳市腾讯计算机系统有限公司 | 一种检测网马的方法及装置 |
CN102663285A (zh) * | 2012-03-21 | 2012-09-12 | 奇智软件(北京)有限公司 | 一种apk病毒特征码的提取方法及装置 |
CN103221960A (zh) * | 2012-12-10 | 2013-07-24 | 华为技术有限公司 | 恶意代码的检测方法及装置 |
CN106127044A (zh) * | 2016-06-20 | 2016-11-16 | 武汉绿色网络信息服务有限责任公司 | 一种函数恶意程度的检测方法和装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9292684B2 (en) * | 2013-09-06 | 2016-03-22 | Michael Guidry | Systems and methods for security in computer systems |
US20160094564A1 (en) * | 2014-09-26 | 2016-03-31 | Mcafee, Inc | Taxonomic malware detection and mitigation |
CN104484603A (zh) * | 2014-12-31 | 2015-04-01 | 北京奇虎科技有限公司 | 网站后门的检测方法及装置 |
US9798875B2 (en) * | 2015-02-03 | 2017-10-24 | Easy Solutions Enterprises Corp. | Systems and methods for detecting and addressing HTML-modifying malware |
CN110232277A (zh) * | 2019-04-23 | 2019-09-13 | 平安科技(深圳)有限公司 | 网页后门的检测方法、装置和计算机设备 |
-
2017
- 2017-03-29 CN CN201710196716.7A patent/CN108664791B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101065756A (zh) * | 2004-11-24 | 2007-10-31 | 诺基亚公司 | 电子设备中安全的程序解释的方法 |
CN101562618A (zh) * | 2009-04-08 | 2009-10-21 | 深圳市腾讯计算机系统有限公司 | 一种检测网马的方法及装置 |
CN102663285A (zh) * | 2012-03-21 | 2012-09-12 | 奇智软件(北京)有限公司 | 一种apk病毒特征码的提取方法及装置 |
CN103221960A (zh) * | 2012-12-10 | 2013-07-24 | 华为技术有限公司 | 恶意代码的检测方法及装置 |
CN106127044A (zh) * | 2016-06-20 | 2016-11-16 | 武汉绿色网络信息服务有限责任公司 | 一种函数恶意程度的检测方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108664791A (zh) | 2018-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108664791B (zh) | 一种超文本预处理器代码中的网页后门检测方法及装置 | |
CN113110988B (zh) | 利用定义的输入格式来测试应用 | |
Opara et al. | HTMLPhish: Enabling phishing web page detection by applying deep learning techniques on HTML analysis | |
CN107204960B (zh) | 网页识别方法及装置、服务器 | |
CN110191096B (zh) | 一种基于语义分析的词向量网页入侵检测方法 | |
CN111260033A (zh) | 一种基于卷积神经网络模型的网站后门检测方法 | |
US20190297092A1 (en) | Access classification device, access classification method, and recording medium | |
AU2018298640B2 (en) | Determination device, determination method, and determination program | |
CN110765459A (zh) | 一种恶意脚本检测方法、装置和存储介质 | |
CN110427755A (zh) | 一种识别脚本文件的方法及装置 | |
US11556640B1 (en) | Systems and methods for automated cybersecurity analysis of extracted binary string sets | |
CN107341399A (zh) | 评估代码文件安全性的方法及装置 | |
CN108062474B (zh) | 文件的检测方法及装置 | |
CN111428236A (zh) | 一种恶意软件的检测方法、装置、设备及可读介质 | |
Gao et al. | Detecting SQL injection attacks using grammar pattern recognition and access behavior mining | |
US20160034378A1 (en) | Method and system for testing page link addresses | |
CN110866257A (zh) | 木马检测方法及装置、电子设备、存储介质 | |
CN113067792A (zh) | 一种xss攻击识别方法、装置、设备及介质 | |
CN114285641A (zh) | 网络攻击检测方法及装置、电子设备、存储介质 | |
CN117294510A (zh) | Web注入攻击分类检测方法及检测系统 | |
CN113918936A (zh) | Sql注入攻击检测的方法以及装置 | |
CN115688108B (zh) | 一种webshell静态检测方法及系统 | |
CN112231696A (zh) | 恶意样本的识别方法、装置、计算设备以及介质 | |
CN116611065B (zh) | 脚本的检测方法、深度学习模型的训练方法及装置 | |
CN117077138B (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 |