CN114741692A - 一种后门流量识别的方法、系统、设备及可读存储介质 - Google Patents
一种后门流量识别的方法、系统、设备及可读存储介质 Download PDFInfo
- Publication number
- CN114741692A CN114741692A CN202011553677.XA CN202011553677A CN114741692A CN 114741692 A CN114741692 A CN 114741692A CN 202011553677 A CN202011553677 A CN 202011553677A CN 114741692 A CN114741692 A CN 114741692A
- Authority
- CN
- China
- Prior art keywords
- flow
- detected
- behavior
- features
- language
- 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
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/253—Grammatical analysis; Style critique
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- 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
Abstract
本申请公开了一种后门流量识别的方法,包括:获取至少一条待测流量;根据预设语言特征库中的语言特征识别待测流量的语言特征类别,预设语言特征库中具有多种语言特征;根据待测流量的语言特征类别选择对应类别的语义分析引擎对待测流量进行语义分析,得到对应的语义行为;根据预设判定策略将语义行为判定为善意行为或恶意行为,并将恶意行为对应的待测流量判定为后门流量。本申请利用多种语言的语义分析,识别后门流量中的危险代码,能够应对各种混淆绕过的隐藏手段,并且能够直接对待测流量进行语义分析来判断是否含有危险操作,提高了后门流量识别的准确率。本申请同时还提供了一种后门流量识别的系统、设备及可读存储介质,具有上述有益效果。
Description
技术领域
本申请涉及后门流量识别领域,特别涉及一种后门流量识别的方法、系统、设备及可读存储介质。
背景技术
WebShell是一种以网页文件形式存在的命令执行程序,也称为后门文件,是黑客渗透网站服务器的重要工具。通过访问此后门,黑客可以得到一个远程执行环境,从而能够执行任意危险命令、任意代码,或者实现对数据库的增删改查等危险操作。
传统的WebShell后门检测技术主要有两种:
一种是通过设置流量拦截规则来拦截WebShell后门流量,然而该技术在面对混淆加密的WebShell后门流量时缺乏检测能力,导致后门流量识别的准确率较低;另一种是利用机器学习来判断待测流量是否为WebShell后门流量,然而由于后门特征在逐渐变弱,机器学习也只能使用一些弱特征,同样导致后门流量识别的准确率较低。
因此,如何提高后门流量识别的准确率是本领域技术人员目前需要解决的技术问题。
发明内容
本申请的目的是提供一种后门流量识别的方法、系统、设备及可读存储介质,用于提高后门流量识别的准确率。
为解决上述技术问题,本申请提供一种后门流量识别的方法,该方法包括:
获取至少一条待测流量;
根据预设语言特征库中的语言特征识别所述待测流量的语言特征类别,所述预设语言特征库中具有多种语言特征;
根据所述待测流量的语言特征类别选择对应类别的语义分析引擎对所述待测流量进行语义分析,得到对应的语义行为;
根据预设判定策略将所述语义行为判定为善意行为或恶意行为,并将所述恶意行为对应的待测流量判定为后门流量。
可选的,在根据预设语言特征库中的语言特征识别所述待测流量的语言特征类别之后,还包括:
将不具有所述预设语言特征库中语言特征的待测流量标记为安全流量。
可选的,在根据预设语言特征库中的语言特征识别所述待测流量的语言特征类别之前,还包括:
检测所述待测流量中是否存在后门流量特征;
将存在所述后门流量特征的待测流量标记为所述后门流量。
可选的,所述预设语言特征库的建立过程包括:
获取每种语言的语法文件,并根据所述语法文件确定对应的语言特征;
根据每个所述语法特征构建所述预设语言特征库。
可选的,在根据所述待测流量的语言特征类别选择对应类别的语义分析引擎对所述待测流量进行语义分析,得到对应的语义行为之后,还包括:
根据预设对应关系为每个所述语义行为分发对应的行为编号;
根据所述待测流量与所述语义行为的对应关系以及所述行为编号对应生成所述待测流量的行为序列;
将符合后门流量行为的行为序列对应的待测流量标记为所述后门流量。
可选的,在获取至少一条待测流量之后,在根据预设语言特征库中的语言特征识别所述待测流量的语言特征类别之前,还包括:
检测所述待测流量中是否存在待还原特征;
当所述待测流量中存在所述待还原特征时,对所述待还原特征进行还原处理得到还原处理结果,并将所述待测流量中的所述待还原特征替换为所述还原处理结果。
可选的,所述待还原特征包括编码特征;
对所述待还原特征进行还原处理得到还原处理结果,并将所述待测流量中的所述待还原特征替换为所述还原处理结果,包括:
对所述编码特征进行解码处理得到解码处理结果,并将所述待测流量中的所述编码特征替换为所述解码处理结果。
可选的,所述待还原特征包括加密特征;
对所述待还原特征进行还原处理得到还原处理结果,并将所述待测流量中的所述待还原特征替换为所述还原处理结果,包括:
对所述加密特征进行解密处理得到解密处理结果,并将所述待测流量中的所述加密特征替换为所述解密处理结果。
可选的,对所述待测流量进行语义分析,得到对应的语义行为,包括:
对所述待测流量进行词法分析,得到对应的单词序列;
对所述单词序列进行语法分析,构建对应的语法树;
对所述语法树进行语义分析,得到还原后的真实代码片段,并确定所述真实代码片段对应的语义行为。
本申请还提供一种后门流量识别的系统,该系统包括:
获取模块,用于获取至少一条待测流量;
识别模块,用于根据预设语言特征库中的语言特征识别所述待测流量的语言特征类别,所述预设语言特征库中具有多种语言特征;
语义分析模块,用于根据所述待测流量的语言特征类别选择对应类别的语义分析引擎对所述待测流量进行语义分析,得到对应的语义行为;
判定模块,用于根据预设判定策略将所述语义行为判定为善意行为或恶意行为,并将所述恶意行为对应的待测流量判定为后门流量。
本申请还提供一种后门流量识别设备,该后门流量识别设备包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述任一项所述后门流量识别的方法的步骤。
本申请还提供一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述后门流量识别的方法的步骤。
本申请所提供后门流量识别的方法,包括:获取至少一条待测流量;根据预设语言特征库中的语言特征识别待测流量的语言特征类别,预设语言特征库中具有多种语言特征;根据待测流量的语言特征类别选择对应类别的语义分析引擎对待测流量进行语义分析,得到对应的语义行为;根据预设判定策略将语义行为判定为善意行为或恶意行为,并将恶意行为对应的待测流量判定为后门流量。
本申请所提供的技术方案,通过根据待测流量的语言特征类别选择对应类别的语义分析引擎对待测流量进行语义分析,得到对应的语义行为,然后根据预设判定策略将语义行为判定为善意行为或恶意行为,来判断待测流量中是否含有危险操作,并将恶意行为对应的待测流量标记为后门流量,本申请利用多种语言的语义分析,识别后门流量中的危险代码,能够应对各种混淆绕过的隐藏手段,并且能够直接对待测流量进行语义分析来判断是否含有危险操作,提高了后门流量识别的准确率。本申请同时还提供了一种后门流量识别的系统、设备及可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种后门流量识别的方法的流程图;
图2为本申请实施例所提供的另一种后门流量识别的方法的流程图;
图3为图1所提供的一种后门流量识别的方法中S102的一种实际表现方式的流程图;
图4为本申请实施例所提供的再一种后门流量识别的方法的流程图;
图5为本申请实施例所提供的一种后门流量识别的系统的结构图;
图6为本申请实施例所提供的一种后门流量识别设备的结构图。
具体实施方式
本申请的核心是提供一种后门流量识别的方法、系统、设备及可读存储介质,用于提高后门流量识别的准确率。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
传统的WebShell后门检测技术主要有两种:
1.通过设置流量拦截规则来拦截WebShell后门流量。
早期一些知名的后门流量中存在明显的特征,比如b374k系列的后门会在cookie中使用“b374k”作为cookie的前缀。这些特征的确有助于识别早期的WebShell后门。但是随着攻防对抗的日趋激烈,WebShell也在不断进化,其后门特征也变得越来越弱,且越来越少。比如2010版菜刀会带有@eval(base64_decode($_POST[z0]))这些敏感关键词,2011版的菜刀会将上述payload进行url编码%40eval%01%28base64_decode%28%24_POST%5Bz0%5D%29%29%3B,2014版的菜刀会将上述payload用上下文的ascii码+base64编码替换(payload太长省略),2016版的菜刀则直接使用语义混淆"ass"."ert",array("ev"."Al(\"\\\$xx%3D\\\"Ba"."SE6"."4_dEc"."OdE\\\"来绕过。因此,设置流量拦截规则的方式对于混淆加密的WebShell后门流量缺乏检测能力。
2.利用机器学习来判断WebShell后门。
这种方案会学习流量出现的模式,如访问次数、访问时间以及流量中出现的可疑字符串等。由于机器学习具备更强的泛化能力,因此这种方案一定程度上具备混淆WebShell后门的检测能力。然而,由于后门特征在逐渐变弱,机器学习也只能使用一些弱特征。同样导致后门流量识别的准确率较低。
故本申请提供了一种后门流量识别的方法,用于解决上述问题。
请参考图1,图1为本申请实施例所提供的一种后门流量识别的方法的流程图。
其具体包括如下步骤:
S101:获取至少一条待测流量;
本申请中的待测流量即为需要检测是否为后门流量的流量,这里提到的流量也指数据包,分为请求包和响应包,是网络上传输的数据格式,一般由数据包头和传输内容组成,传输的内容一般是明文显示。
可选的,基于后门流量为逃脱流量拦截规则的拦截,存在着对后门流量特征进行加密或者编码等处理的情况,因此为实现对待测流量的还原,在获取至少一条待测流量之后,在执行步骤S102之前,还可以执行图2所示的步骤,下面请参考图2,图2为本申请实施例所提供的另一种后门流量识别的方法的流程图,其具体包括以下步骤:
S201:检测待测流量中是否存在待还原特征;
S202:当待测流量中存在待还原特征时,对待还原特征进行还原处理得到还原处理结果,并将待测流量中的待还原特征替换为还原处理结果。
可选的,这里提到的待还原特征可以包括编码特征和/或加密特征;
当待还原特征包括编码特征时,这里提到的,对待还原特征进行还原处理得到还原处理结果,并将待测流量中的待还原特征替换为还原处理结果,其具体可以为:
对编码特征进行解码处理得到解码处理结果,并将待测流量中的编码特征替换为解码处理结果。
可选的,在一个具体实施例中,可以先将编码特征进行统一资源定位符(UniformResource Locator,URL)解码,然后根据各个编码的特征(如unicode常含有%u)有选择的进行解码操作,例如html解码、base64解码、16进制解码、unicode解码等。
当待还原特征包括加密特征时,这里提到的对待还原特征进行还原处理得到还原处理结果,并将待测流量中的待还原特征替换为还原处理结果,其具体可以为:
对加密特征进行解密处理得到解密处理结果,并将待测流量中的加密特征替换为解密处理结果。
可选的,在一个具体实施例中,可以预先收集使用了加密算法的WebShell后门流量,并分析出对应的解密方式,然后整理出对应WebShell后门独有的弱特征,这里提到的弱特征即为疑似的WebShell后门的流量所具有的特征;再对存在弱特征的流量使用对应的解密方式尝试进行解密,比如尝试提取其中的密钥或者通过遍历常规密钥的方法进行解密(使用了对称加密算法的冰蝎可以通过提取密钥来进行解密),如果解密成功则替换为解密后的流量。
基于上述实施例,本申请在检测待测流量中存在待还原特征时,对待还原特征进行还原处理得到还原处理结果,并将待测流量中的待还原特征替换为还原处理结果,实现了对加密或者编码后的后门流量特征的还原,进一步提高了后门流量识别的准确率。
S102:根据预设语言特征库中的语言特征识别待测流量的语言特征类别;
这里提到的预设语言特征库中具有多种语言特征,可选的,这里提到的预设语言特征库的建立过程具体可以为:
获取每种语言的语法文件,并根据语法文件确定对应的语言特征;
根据每个语法特征构建预设语言特征库。
在一个具体实施例中,可以通过shell、sql、php、jsp、php等官网上的语法文件,整理出各个语言独有的关键词作为语法特征,并且覆盖到每个语法文件的各个版本,然后通过收集到的关键词特征将其归类到不同的语言中,比如“chmod”归类到bash语言、“<?php”归类到脚本语言、“and 1=1”归类到SQL语言等等,以此来构建不同语义分析引擎对应的特征库。
可选的,在根据预设语言特征库中的语言特征识别待测流量的语言特征类别之前,还可以执行如下步骤:
检测待测流量中是否存在后门流量特征;
将存在后门流量特征的待测流量标记为后门流量,并对后门流量进行拦截。
在一个具体实施例中,可以通过收集已知的WebShell后门流量,提取流量中的强特征作为后门流量特征,然后根据这些后门流量特征来过滤掉一些知名的WebShell后门的流量(比如b374k系列后门的cookie前缀会带有b374k这个关键词),进而减少语义分析带来的性能压力。
可选的,在根据预设语言特征库中的语言特征对待测流量进行语言特征识别之后,还可以将不具有预设语言特征库中语言特征的待测流量标记为安全流量,然后对其放行,进而进一步减少语义分析带来的性能压力。
S103:根据待测流量的语言特征类别选择对应类别的语义分析引擎对待测流量进行语义分析,得到对应的语义行为;
在本步骤中,对待测流量进行语义分析的目的在于,根据语义行为判断待测流量中是否含有危险操作。
可选的,由于可能存在一个待测流量具有多种语言特征的情况,因此还可以在多个语义分析引擎得到的语义行为中只要存在一个恶意行为时,便可将对应的待测流量标记为后门流量,并对其进行拦截。
可选的,这里提到的对待测流量进行语义分析,得到对应的语义行为,其具体通过执行图3所示的步骤实现,下面请参考图3,图3为图1所提供的一种后门流量识别的方法中S102的一种实际表现方式的流程图,其具体包括如下步骤:
S301:对待测流量进行词法分析,得到对应的单词序列;
可选的,如果有部分流量无法转化成单词,则意味着该部分流量不符合词法分析要求,此时还可以将该部分流量标记为安全流量,并直接放行。
S302:对单词序列进行语法分析,构建对应的语法树;
本步骤在词法分析的基础上对单词序列进行语法分析,将单词序列组合成各类语法短语,如“程序”、“语句”、“表达式”等等,最终构建出完整的语法树;
可选的,如果语法树构建失败,则意味着待测流量不符合语法约束,此时还可以将该部分流量标记为安全流量,并直接放行。
S303:对语法树进行语义分析,得到还原后的真实代码片段,并确定真实代码片段对应的语义行为。
本步骤遍历语法树,进行语义分析,对于混淆绕过的案例,能够还原出真实的代码片段,比如php中可以使用字符串拼接来隐藏恶意的字符串特征,“assert”函数常常被用于WebShell后门中,为了躲避检测,攻击者可以使用“ass”.“ert”来隐藏此恶意特征,通过执行步骤S303,可以利用语义分析恢复出此恶意字符串“assert”。
进一步的,在对待测流量进行词法分析之前,还可以先确定流量中的待测的代码片段位置,以减少词法分析过程的工作量,例如,可以通过向前向后扫描分隔字符(比如&、;、=等)实现确定待测代码片段的边界。
基于上述实施例,本申请在面对混淆绕过的WebShell后门流量时,能够通过进行词法分析、语法分析及语义分析,实现对混淆绕过的WebShell后门流量的还原,进一步提高了后门流量识别的准确率。
优选的,在根据待测流量的语言特征类别选择对应类别的语义分析引擎对待测流量进行语义分析,得到对应的语义行为之后,为了进一步提高后门流量识别的准确率,还可以执行图4所示的步骤,下面请参考图4,图4为本申请实施例所提供的再一种后门流量识别的方法的流程图,其具体包括如下步骤:
S401:根据预设对应关系为每个语义行为分发对应的行为编号;
S402:根据待测流量与语义行为的对应关系以及行为编号对应生成待测流量的行为序列;
S403:将符合后门流量行为的行为序列对应的待测流量标记为后门流量。
针对于后门流量变化多端的情况,本申请还提供了一种基于行为顺序的后门流量识别方法,即如果待测流量里面出现了符合一系列后门流量操作过程的行为时,比如出现了登陆标记->文件操作标记->数据库连接标记->数据库下载标记这一顺序行为时,该操作有很大可能为后门流量执行的操作,此时将这一系列行为对应的待测流量标记为后门流量并进行拦截。
基于上述技术方案,本申请实施例在对待测流量进行语义分析,得到对应的语义行为之后,根据预设对应关系为每个语义行为分发对应的行为编号,然后根据待测流量与语义行为的对应关系以及行为编号对应生成待测流量的行为序列,最后将符合后门流量行为的行为序列对应的待测流量标记为后门流量,进一步提高了后门流量识别的准确率。
S104:根据预设判定策略将语义行为判定为善意行为或恶意行为,并将恶意行为对应的待测流量判定为后门流量。
这里提到的预设判定策略用于对语义行为进行判定,例如可以将危险函数调用、引用远程文件等行为判定为恶意行为,本申请对预设判定策略的内容不作具体限定,可以根据实际情况中恶意行为的种类对预设判断策略进行设定和修改;
可选的,还可以将善意行为对应的待测流量标记为安全流量,并对安全流量放行。
基于上述技术方案,本申请所提供的一种后门流量识别的方法,通过根据待测流量的语言特征类别选择对应类别的语义分析引擎对待测流量进行语义分析,得到对应的语义行为,然后根据预设判定策略将语义行为判定为善意行为或恶意行为,来判断待测流量中是否含有危险操作,并将恶意行为对应的待测流量标记为后门流量,本申请利用多种语言的语义分析,识别后门流量中的危险代码,能够应对各种混淆绕过的隐藏手段,并且能够直接对待测流量进行语义分析来判断是否含有危险操作,提高了后门流量识别的准确率。
请参考图5,图5为本申请实施例所提供的一种后门流量识别的系统的结构图。
该系统可以包括:
获取模块100,用于获取至少一条待测流量;
识别模块200,用于根据预设语言特征库中的语言特征识别待测流量的语言特征类别,预设语言特征库中具有多种语言特征;
语义分析模块300,用于根据待测流量的语言特征类别选择对应类别的语义分析引擎对待测流量进行语义分析,得到对应的语义行为;
判定模块400,用于根据预设判定策略将语义行为判定为善意行为或恶意行为,并将恶意行为对应的待测流量判定为后门流量。
在上述实施例的基础上,在一个具体实施例中,该系统还可以包括:
第一标记模块,用于在根据预设语言特征库中的语言特征识别待测流量的语言特征类别之后,将不具有预设语言特征库中语言特征的待测流量标记为安全流量。
在上述实施例的基础上,在一个具体实施例中,该系统还可以包括:
第一检测模块,用于检测待测流量中是否存在后门流量特征;
第二标记模块,用于将存在后门流量特征的待测流量标记为后门流量。
在上述实施例的基础上,在一个具体实施例中,该系统还可以包括:
确定模块,用于获取每种语言的语法文件,并根据语法文件确定对应的语言特征;
构建模块,用于根据每个语法特征构建预设语言特征库。
在上述实施例的基础上,在一个具体实施例中,该系统还可以包括:
行为编号分发模块,用于根据预设对应关系为每个语义行为分发对应的行为编号;
行为序列生成模块,用于根据待测流量与语义行为的对应关系以及行为编号对应生成待测流量的行为序列;
第三标记模块,用于将符合后门流量行为的行为序列对应的待测流量标记为后门流量。
在上述实施例的基础上,在一个具体实施例中,该系统还可以包括:
第二检测模块,用于检测待测流量中是否存在待还原特征;
还原处理模块,用于当待测流量中存在待还原特征时,对待还原特征进行还原处理得到还原处理结果,并将待测流量中的待还原特征替换为还原处理结果。
在上述实施例的基础上,在一个具体实施例中,该还原处理模块可以包括:
解码处理子模块,用对编码特征进行解码处理得到解码处理结果,并将待测流量中的编码特征替换为解码处理结果。
在上述实施例的基础上,在一个具体实施例中,该还原处理模块可以包括:
解密处理子模块,用对加密特征进行解密处理得到解密处理结果,并将待测流量中的加密特征替换为解密处理结果。
在上述实施例的基础上,在一个具体实施例中,该语义分析模块300可以包括:
词法分析子模块,用于对待测流量进行词法分析,得到对应的单词序列;
语法分析子模块,用于对单词序列进行语法分析,构建对应的语法树;
语义分析子模块,用于对语法树进行语义分析,得到还原后的真实代码片段,并确定真实代码片段对应的语义行为。
由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
请参考图6,图6为本申请实施例所提供的一种后门流量识别设备的结构图。
该后门流量识别设备600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)622(例如,一个或一个以上处理器)和存储器632,一个或一个以上存储应用程序642或数据644的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器632和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对装置中的一系列指令操作。更进一步地,处理器622可以设置为与存储介质630通信,在后门流量识别设备600上执行存储介质630中的一系列指令操作。
后门流量识别设备600还可以包括一个或一个以上电源626,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口656,和/或,一个或一个以上操作系统641,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述图1至图4所描述的后门流量识别的方法中的步骤由后门流量识别设备基于该图6所示的结构实现。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置、设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,功能调用装置,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本申请所提供的一种后门流量识别的方法、系统、设备及可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (12)
1.一种后门流量识别的方法,其特征在于,包括:
获取至少一条待测流量;
根据预设语言特征库中的语言特征识别所述待测流量的语言特征类别,所述预设语言特征库中具有多种语言特征;
根据所述待测流量的语言特征类别选择对应类别的语义分析引擎对所述待测流量进行语义分析,得到对应的语义行为;
根据预设判定策略将所述语义行为判定为善意行为或恶意行为,并将所述恶意行为对应的待测流量判定为后门流量。
2.根据权利要求1所述的方法,其特征在于,在根据预设语言特征库中的语言特征识别所述待测流量的语言特征类别之后,还包括:
将不具有所述预设语言特征库中语言特征的待测流量标记为安全流量。
3.根据权利要求1所述的方法,其特征在于,在根据预设语言特征库中的语言特征识别所述待测流量的语言特征类别之前,还包括:
检测所述待测流量中是否存在后门流量特征;
将存在所述后门流量特征的待测流量标记为所述后门流量。
4.根据权利要求1所述的方法,其特征在于,所述预设语言特征库的建立过程包括:
获取每种语言的语法文件,并根据所述语法文件确定对应的语言特征;
根据每个所述语法特征构建所述预设语言特征库。
5.根据权利要求1-4任一项所述的方法,其特征在于,在根据所述待测流量的语言特征类别选择对应类别的语义分析引擎对所述待测流量进行语义分析,得到对应的语义行为之后,还包括:
根据预设对应关系为每个所述语义行为分发对应的行为编号;
根据所述待测流量与所述语义行为的对应关系以及所述行为编号对应生成所述待测流量的行为序列;
将符合后门流量行为的行为序列对应的待测流量标记为所述后门流量。
6.根据权利要求1所述的方法,其特征在于,在获取至少一条待测流量之后,在根据预设语言特征库中的语言特征识别所述待测流量的语言特征类别之前,还包括:
检测所述待测流量中是否存在待还原特征;
当所述待测流量中存在所述待还原特征时,对所述待还原特征进行还原处理得到还原处理结果,并将所述待测流量中的所述待还原特征替换为所述还原处理结果。
7.根据权利要求6所述的方法,其特征在于,所述待还原特征包括编码特征;
对所述待还原特征进行还原处理得到还原处理结果,并将所述待测流量中的所述待还原特征替换为所述还原处理结果,包括:
对所述编码特征进行解码处理得到解码处理结果,并将所述待测流量中的所述编码特征替换为所述解码处理结果。
8.根据权利要求6所述的方法,其特征在于,所述待还原特征包括加密特征;
对所述待还原特征进行还原处理得到还原处理结果,并将所述待测流量中的所述待还原特征替换为所述还原处理结果,包括:
对所述加密特征进行解密处理得到解密处理结果,并将所述待测流量中的所述加密特征替换为所述解密处理结果。
9.根据权利要求1所述的方法,其特征在于,对所述待测流量进行语义分析,得到对应的语义行为,包括:
对所述待测流量进行词法分析,得到对应的单词序列;
对所述单词序列进行语法分析,构建对应的语法树;
对所述语法树进行语义分析,得到还原后的真实代码片段,并确定所述真实代码片段对应的语义行为。
10.一种后门流量识别的系统,其特征在于,包括:
获取模块,用于获取至少一条待测流量;
识别模块,用于根据预设语言特征库中的语言特征识别所述待测流量的语言特征类别,所述预设语言特征库中具有多种语言特征;
语义分析模块,用于根据所述待测流量的语言特征类别选择对应类别的语义分析引擎对所述待测流量进行语义分析,得到对应的语义行为;
判定模块,用于根据预设判定策略将所述语义行为判定为善意行为或恶意行为,并将所述恶意行为对应的待测流量判定为后门流量。
11.一种后门流量识别设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至9任一项所述后门流量识别的方法的步骤。
12.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至9任一项所述后门流量识别的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011553677.XA CN114741692A (zh) | 2020-12-24 | 2020-12-24 | 一种后门流量识别的方法、系统、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011553677.XA CN114741692A (zh) | 2020-12-24 | 2020-12-24 | 一种后门流量识别的方法、系统、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114741692A true CN114741692A (zh) | 2022-07-12 |
Family
ID=82274271
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011553677.XA Pending CN114741692A (zh) | 2020-12-24 | 2020-12-24 | 一种后门流量识别的方法、系统、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114741692A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117313047A (zh) * | 2023-11-28 | 2023-12-29 | 深圳润世华软件和信息技术服务有限公司 | 源代码混淆方法、混淆逆转方法、相应装置及存储介质 |
-
2020
- 2020-12-24 CN CN202011553677.XA patent/CN114741692A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117313047A (zh) * | 2023-11-28 | 2023-12-29 | 深圳润世华软件和信息技术服务有限公司 | 源代码混淆方法、混淆逆转方法、相应装置及存储介质 |
CN117313047B (zh) * | 2023-11-28 | 2024-03-15 | 深圳润世华软件和信息技术服务有限公司 | 源代码混淆方法、混淆逆转方法、相应装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10956477B1 (en) | System and method for detecting malicious scripts through natural language processing modeling | |
CN109922052B (zh) | 一种结合多重特征的恶意url检测方法 | |
US10114946B2 (en) | Method and device for detecting malicious code in an intelligent terminal | |
Nunan et al. | Automatic classification of cross-site scripting in web pages using document-based and URL-based features | |
Wang et al. | Jsdc: A hybrid approach for javascript malware detection and classification | |
Mehtab et al. | AdDroid: rule-based machine learning framework for android malware analysis | |
KR101874373B1 (ko) | 난독화 스크립트에 대한 악성 스크립트 탐지 방법 및 그 장치 | |
CN113194058B (zh) | Web攻击检测方法、设备、网站应用层防火墙及介质 | |
US20140150101A1 (en) | Method for recognizing malicious file | |
KR20180081053A (ko) | 도메인 생성 알고리즘(dga) 멀웨어 탐지를 위한 시스템 및 방법들 | |
CN112989348B (zh) | 攻击检测方法、模型训练方法、装置、服务器及存储介质 | |
Dalai et al. | Neutralizing SQL injection attack using server side code modification in web applications | |
KR20210084204A (ko) | 악성 코드 수집 방법 및 시스템 | |
CN113055399A (zh) | 注入攻击的攻击成功检测方法、系统及相关装置 | |
CN113067792A (zh) | 一种xss攻击识别方法、装置、设备及介质 | |
CN112817877B (zh) | 异常脚本检测方法、装置、计算机设备和存储介质 | |
Abaimov et al. | A survey on the application of deep learning for code injection detection | |
CN114741692A (zh) | 一种后门流量识别的方法、系统、设备及可读存储介质 | |
CN116167057B (zh) | 基于关键代码语义检测的代码动态安全加载方法及装置 | |
CN114626061A (zh) | 网页木马检测的方法、装置、电子设备及介质 | |
Fang et al. | Pbdt: Python backdoor detection model based on combined features | |
Dubin | Content disarm and reconstruction of PDF files | |
Zhang et al. | An empirical study of code deobfuscations on detecting obfuscated android piggybacked apps | |
Maurel et al. | Comparing the Detection of XSS Vulnerabilities in Node. js and a Multi-tier JavaScript-based Language via Deep Learning | |
CN115774873A (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 |