CN115396128A - 恶意流量检测方法、装置、存储介质及电子设备 - Google Patents
恶意流量检测方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN115396128A CN115396128A CN202110544999.6A CN202110544999A CN115396128A CN 115396128 A CN115396128 A CN 115396128A CN 202110544999 A CN202110544999 A CN 202110544999A CN 115396128 A CN115396128 A CN 115396128A
- Authority
- CN
- China
- Prior art keywords
- network
- word
- traffic
- flow
- 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.)
- Pending
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/1425—Traffic logging, e.g. anomaly detection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例公开了一种恶意流量检测方法、装置、存储介质及电子设备,其中,方法包括:监测当前网络环境下的网络流量,从所述网络流量中提取待检测的网络流量摘要,基于所述网络流量摘要确定针对所述网络流量的至少一个网络维度的网络流量特征,将所述网络流量特征输入至流量识别模型,得到所述网络流量对应的流量识别结果。采用本申请实施例,可以提高恶意流量检测的准确性、时效性以及覆盖广度。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种恶意流量检测方法、装置、存储介质及电子设备。
背景技术
随着社会的发展以及互联网技术的进步,网络安全问题越来越重视。恶意流量攻击检测问题在网络安全运营中日渐突出。
目前恶意流量通常以未经许可的方式对网络(尤其是家庭网络)进行侵入、攻击以及干扰。具体的,恶意流量在网络蠕虫、木马、后门等传统恶意代码形态的基础上发展并融合,从而产生一种复合攻击方式,也即僵尸网络。其中,僵尸网络可以发送垃圾邮件、窃取用户隐私信息以及分布式拒绝服务(Distributed Denial of Service,DDoS)攻击等网络恶意行为。为了有效拦截网络恶意行为,对恶意流量进行检测尤其重要。
发明内容
本申请实施例提供了一种恶意流量检测方法、装置、存储介质及电子设备,可以提高恶意流量检测的准确性、时效性以及覆盖广度。所述技术方案如下:
第一方面,本申请实施例提供了一种恶意流量检测方法,所述方法包括:
监测当前网络环境下的网络流量,从所述网络流量中提取待检测的网络流量摘要;
基于所述网络流量摘要确定针对所述网络流量的至少一个网络维度的网络流量特征;
将所述网络流量特征输入至流量识别模型,得到所述网络流量对应的流量识别结果。
第二方面,本申请实施例提供了一种恶意流量检测装置,所述装置包括:
摘要提取模块,用于监测当前网络环境下的网络流量,从所述网络流量中提取待检测的网络流量摘要;
特征确定模块,用于基于所述网络流量摘要确定针对所述网络流量的至少一个网络维度的网络流量特征;
识别结果模块,用于将所述网络流量特征输入至流量识别模型,得到所述网络流量对应的流量识别结果。
第三方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
第四方面,本申请实施例提供一种电子设备,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。
本申请一些实施例提供的技术方案带来的有益效果至少包括:
在本申请一个或多个实施例中,监测当前网络环境下的网络流量,从所述网络流量中提取待检测的网络流量摘要,基于所述网络流量摘要确定针对所述网络流量的至少一个网络维度的网络流量特征,将所述网络流量特征输入至流量识别模型,得到所述网络流量对应的流量识别结果。其中,通过提取网络流量中待检测的网络流量摘要,可以在不丢失具有区分度的网络流量特征的前提下,简化对网络流量的预处理,同时提高网络流量特征的提取效率。此外,通过流量识别模型对网络流量进行识别,可以提高恶意流量检测的准确性、时效性以及覆盖广度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种恶意流量检测方法的流程示意图;
图2是本申请实施例提供的另一种恶意流量检测方法的流程示意图;
图3是本申请实施例提供的另一种恶意流量检测方法的流程示意图;
图4是本申请实施例提供的另一种恶意流量检测方法的举例示意图;
图5是本申请实施例提供的一种恶意流量检测装置的结构示意图;
图6是本申请实施例提供的一种特征确定模块的结构示意图;
图7是本申请实施例提供的一种连接特征提取单元的结构示意图;
图8是本申请实施例提供的一种协议特征提取单元的结构示意图;
图9是本申请实施例提供的一种词特征提取单元的结构示意图;
图10是本申请实施例提供的另一种恶意流量检测装置的结构示意图;
图11是本申请实施例提供的一种电子设备的结构示意图;
图12是本申请实施例提供的操作系统和用户空间的结构示意图
图13是本申请实施例提供的一种Android系统操作系统的架构图;
图14是本申请实施例提供的一种IOS操作系统的架构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本申请的描述中,需要说明的是,除非另有明确的规定和限定,“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
在相关技术中,恶意流量检测方法通常是提取现有的恶意流量样本中具有区分度的流量特征,并将该流量特征作为流量检测依据记录至规则库中。在对当前网络流量进行检测时,将当前网络流量的流量特征与规则库中的流量特征进行比对,从而确定当前网络流量是否为恶意流量。然而,将识别到的恶意流量中的流量特征作为流量检测判别的依据,不仅造成流量检测的时效性低以及覆盖范围小,还受到规则库的流量特征容量的限制,使得难以对恶意流量样本的具有区分度的流量特征进行完整的记录,从而导致无法准确地检测恶意流量。
根据一些实施例,本申请提供的恶意流量检测方法可以解决上述一个或者多个问题。
下面结合具体的实施例对本申请进行详细说明。
在一个实施例中,如图1所示,特提出了一种恶意流量检测方法,该方法可依赖于计算机程序实现,可运行于基于冯诺依曼体系的恶意流量检测装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行。所述恶意流量检测装置可以为终端设备,包括但不限于:个人电脑、平板电脑、手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备等。在不同的网络中终端设备可以叫做不同的名称,例如:用户设备、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置、蜂窝电话、无绳电话、5G网络或未来演进网络中的终端设备等。
具体的,该恶意流量检测方法包括:
S101:监测当前网络环境下的网络流量,从所述网络流量中提取待检测的网络流量摘要。
根据一些实施例,网络环境是指在电子计算机和现代通讯技术相结合基础上构建的宽带、高速、综合、广域型数字式电信网络。在本申请实施例中,当前网络环境可以是在不同使用场景下的网络环境,包括但不限于:家庭网络环境、公共网络环境以及企业网络环境等。其中,随着物联网的普及,家庭网络设备极易受到恶意流量的攻击,将家庭网络设备(如个人电脑、智能电视、智能摄像头、路由器等)作为本申请实施例的执行主体,可以有效检测家庭网络环境中的恶意流量,从而营造良好的家庭网络环境。
具体的,监测当前网络环境下的网络流量可以是按照预设周期采集当前网络环境下的网络流量,也可以是实时采集当前网络环境下的网络流量。
其中,该采集周期可以基于网络环境标准来设置。该网络环境标准可以是网络环境质量等级、网络环境重要程度以及网络环境对抗恶意流量的能力程度等。示意性的,当前网络环境的网络环境质量差,时常受到恶意流量的攻击,则设置较短的预设周期,以提高流量采集的频率,从而增强网络流量的检测。
可选的,基于流量检测的资源占用以及设备性能的考虑,设置采集周期。例如,在家庭网络环境中,家庭网络设备在采集网络流量时,可以以1分钟为采集周期采集网络流量,使得对该采集周期的网络流量进行处理时,即不过分占用资源,也不受设备性能的限制,同时使得在对网络流量进行预处理的过程中可以在计算量、内存消耗、检出的及时性、有效性方面达到平衡。
在本申请实施例中,从所述网络流量中提取待检测的网络流量摘要,是指从各维度提取网络流量的基础信息,可以理解的是,该基础信息包括网络流量特征的数据,如网络四元组以及协议类型等数据。
S102:基于所述网络流量摘要确定针对所述网络流量的至少一个网络维度的网络流量特征。
具体的,读取网络流量摘要中的数据信息,提取该数据信息中具有黑白流量区分度的流量特征,根据当前网络流量环境,选择合适的网络维度的网络流量特征。其中各网络纬度的网络流量特征包括但不限于:网络连接特征、网络协议特征以及网络词特征。
S103:将所述网络流量特征输入至流量识别模型,得到所述网络流量对应的流量识别结果。
具体的,流量识别模型可以通过对网络流量特征的综合评测,确定流量识别结果,其中,该流量识别结果可以是网络流量的流量类型,也可以是针对网络流量的分值。
易于理解的是,流量类型包括黑流量(也即恶意流量)和白流量(也即正常流量),其中,可以通过流量类型确定网络流量是否为恶意流量。
可选的,分值是指流量识别模型对网络流量特征的综合评测得到的数值,可以通过分值的大小判断网络流量是否为恶意流量。例如,当针对网络流量的分值在恶意流量对应的分值范围内,则可以确定网络流量为恶意流量。
在本申请实施例中,监测当前网络环境下的网络流量,从所述网络流量中提取待检测的网络流量摘要,基于所述网络流量摘要确定针对所述网络流量的至少一个网络维度的网络流量特征,将所述网络流量特征输入至流量识别模型,得到所述网络流量对应的流量识别结果。其中,通过提取网络流量中待检测的网络流量摘要,可以在不丢失具有区分度的网络流量特征的前提下,简化对网络流量的预处理,同时提高网络流量特征的提取效率。此外,通过流量识别模型对网络流量进行识别,可以提高恶意流量检测的准确性、时效性以及覆盖广度。
请参见图2,图2是本申请提出的一种恶意流量检测方法的另一种实施例的流程示意图。具体的:
S201:监测当前网络环境下的网络流量,从所述网络流量中提取待检测的网络流量摘要。
具体可参见S101,此处不再赘述。
需要说明的是,网络流量特征的提取过程可以包括S202、S203及S204中至少一种,具体如下所述:
S202:基于至少一个网络元组数据对所述网络流量摘要进行连接维度特征提取,得到网络连接特征。
在本申请实施例中,各网络维度的网络流量特征包括网络连接特征,具体的,网络连接特征是指网络流量在传输过程中所涉及的与信息连接相关的特征,其中,网络流量在传输过程中所涉及的信息数据可以理解为网络元组数据。需要说明的是,网络元组数据包括网络四元组、网络五元组以及网络七元组中的至少一种。
进一步的,网络四元组的连接元素包括:源IP(srcIP)地址、源端口(srcPort),目的IP(destIP)地址以及目的端口(destPort);网络五元组的连接元素包括源IP地址,源端口,目的IP地址,目的端口以及传输层协议;网络七元组的连接元素包括接口索引、源IP地址、目的IP地址、源端口、目的端口、传输层协议以及ToS。
根据一些实施例,以网络四元组为例,获取网络连接特征的过程可以为:
按照所述网络元组数据对应的各连接元素进行组合聚类处理,得到各连接元素组合对应的分类数量;所述连接元素组合由所述网络四元组对应的至少一个连接元素构成;
对所述网络流量摘要中与各所述连接元素组合对应的分类数量进行分类特征值计算,生成由所述分类特征值构成的网络连接特征。
具体的,将网络四元组的连接元素分级组合,首先按照一级组合将网络四元组中的各连接元素(包括:srcIP、srcPort、destIP以及destPort)作为一个组合,并对该组合进行聚类处理,得到总分类数量。然后在各连接元素中选取预设个数的元素作为一个组合,其中该预设个数可以为1,则组合可以为“srcIP”、“srcPort”、“destIP”或“destPort”;该预设个数可以为2,则组合可以为“srcIP,srcPort”、“destIP,destIP”或“srcIP,destPort”等;该预设个数还可以为3,则组合可以为“srcIP,srcPort,destIP”、“srcIP,destPort”等。在总分类数量的基础上分别对选定的各组合进行聚类处理,可以得到该组合对应的分类数量。例如,如下表所示,一种可行的网络四元组的连接元素一级组合:
其中,可以将各组合的分类数量作为网络连接特征对应的特征值。进一步的,“srcIP,srcPor,destIP,destPort”组合的分类数量为N,为各组合的分类数量的最大值,因此,可以将“srcIP,srcPor,destIP,destPort”组合之外的其他组合的分类数量与分类数量N的比值作为网络连接特征对应的特征值;还可以将其他组合的分类数量中的各分组对应的聚类数量多的最大值作为网络连接特征对应的特征值;还可以将其他组合的分类数量中的各分组对应的聚类数量多的最大值与分类数量N的比值作为网络连接特征对应的特征值。
其次按照二级组合在各连接元素中选取预设个数的元素作为一个组合中的第一级,选取预设元素作为该组合的第二级,其中该预设个数可以为1,预设元素分别为srcIP,srcIP,srcPort或destPort,则组合可以为“srcIP-srcPort”、“srcIP-destIP”或“srcIP-destPort”;该预设个数可以为2,则组合可以为“srcIP,srcPort”、“srcIP,destIP-srcPort”或“srcIP,destPort-srcPort”等;该预设个数还可以为3或4。分别对选定的各组合进行聚类处理,可以得到该组合对应的分类数量。例如,如下表所示,一种可行的网络四元组的连接元素二级组合:
其中,对各一级组合进行聚类,再对一级组合下的各二级组合进行聚类,可以将一级组合下的各二级组合对应的分类数量的最大值作为网络连接特征对应的特征值。
S203:基于至少一种网络传输协议对所述网络流量摘要进行协议维度特征提取,得到网络协议特征。
在本申请实施例中,各网络维度的网络流量特征包括网络连接特征,具体的,网络协议特征是指网络流量在传输过程中所涉及的协议信息的特征,其中所述网络协议特征包括所述存在性特征、属性数值特征以及异常数值特征中的至少一种因此,确定网络协议特征的过程可以包括S2031、S2032及S2033中至少一种,具体如下所述:
S2031:基于至少一种网络传输协议,对所述网络流量摘要进行传输协议类型判决处理,在所述网络流量摘要中确定各所述网络传输协议对应的所述存在性特征。易于理解的是,存在性特征是指网络流量是否存在该网络协议数据。
示意性的,网络传输协议可以包括:超文本传输协议(Hypertext TransferProtocol,HTTP)、用户数据报协议(User Datagram Protocol,UDP)、传输控制协议(Transmission Control Protocol,TCP)、控制报文协议(Internet Control MessageProtocol,ICMP)以及Telnet协议。
如下表所示,确定网络流量中各网络协议对应的存在性特征:
S2032:在所述网络流量摘要中,确定各所述网络传输协议对应的协议数据的流量属性参数,基于所述流量属性参数生成所述属性数值特征。
其中,针对不同类型的网络传输协议,网络传输协议对应的属性数值特征不同。
示意性的,确定Telnet协议的属性数值可以是网络流量对应的包数、错误密码时间间隔以及错误密码数量。进一步的,Telnet协议的属性数值特征可以是各属性数值对应的计算值,例如,包数中的最大值、最小值、均值以及和值。
如下表所示,确定网络流量中Telnet协议对应的属性数值特征:
示意性的,确定用户数据报协议的属性数值可以是网络流量对应的上行数据字节数、下行数据字节数、上行平均字节数、下行平均字节数、流内上行平均间隔时间、流内下行平均间隔时间以及错误密码数量。进一步的,用户数据报协议的属性数值特征可以是各属性数值对应的计算值,例如,上行数据字节数中的最大值、最小值、均值以及和值。
如下表所示,确定网络流量中用户数据报协议对应的属性数值特征:
示意性的,确定控制报文协议的属性数值可以是网络流量对应的请求包数以及响应报数进一步的,控制报文协议的属性数值特征可以是各属性数值对应的计算值,例如,请求包数对应的和值。
如下表所示,确定网络流量中控制报文协议对应的属性数值特征:
示意性的,确定传输控制协议的属性数值可以是网络流量对应的上行TCP flag为push和ack的包数、下行TCP flag为push和ack的包数、TCP flag为SYN的包数、TCP flag为SYN和ACK的包数、上行数据字节数、下行数据字节数、上行最大数据字节长度、下行最大数据字节长度、上行平均字节数、下行平均字节数、流内上行平均间隔时间以及流内下行平均间隔时间。进一步的,传输控制协议的属性数值特征可以是各属性数值对应的计算值,例如,上行TCP flag为push和ack的包数对应的和值。
如下表所示,确定网络流量中传输控制协议对应的属性数值特征:
S2033:在所述网络流量摘要中对预设网络传输协议的协议数据进行异常数据包识别处理,生成所述异常数值特征。
示意性的,确定传输控制协议的异常数值特征,如下表所示,确定网络流量中控制报文协议对应的异常数值特征:
可以理解的是,S2031、S2032、S2033执行不分先后顺序,可以是并行执行也可以是串行执行。
S204:基于预设的词表以及逆文本频率表对所述网络流量摘要进行词维度特征提取,得到网络词特征。
具体的,基于所述网络流量摘要确定网络词特征数据,所述网络词特征数据包括目的端口特征数据以及网络地址特征数据;
基于所述词表以及所述逆文本频率表,对所述网络词特征数据进行词频统计处理,得到高维词频特征;所述高维词频特征由所述目的端口特征数据对应的第一词频特征和所述网络地址特征数据对应的第二词频特征构成;
对所述高维词频特征进行降维生成低维词频矩阵,并基于所述低维词频矩阵确定网络词特征。
其中,可以采用词频-逆文本频率指数(term frequency–inverse documentfrequency,TF-IDF)算法,计算网络词特征数据对应的高维词频特征。
根据一些实施例,网络词特征包括目的端口特征数据对应的第一词频特征以及网络地址特征数据对应的第二词频特征。网络地址特征数据可以是网络流量中统一资源定位系统(uniform resource locator,URL)的超文本传输协议数据。所述词表包括端口词表和地址词表,所述逆文本频率表包括逆端口频率表和逆地址频率表。
其中,提取第一词频特征(目的端口对应的词频特征)的方法包括:基于所述目的端口特征数据对应的端口聚类数量、所述端口词表以及所述逆端口频率表,采用预设词频算法计算所述目的端口特征数据对应的第一词文本频率值,将所述第一词文本频率值作为第一词频特征。
可以理解的是,预设词频算法可以为TF-IDF算法,第一词文本频率值可以为目的端口特征数据对应的TF-IDF值。
具体的,确定目的端口特征数据对应的端口聚类数量(N),可以计算TF值为1加端口聚类数量的对数值(1+logN)。基于端口词表中的第一索引信息查找在逆端口频率表中目的端口特征数据对应的IDF值,则TF-IDF值为TF值与IDF值的乘积,进一步的,目的端口特征数据包括至少一个,在计算目标目的端口特征数据对应的第一词文本频率值时,可以计算该TF-IDF值与各目的端口特征数据对应的数值的比值,则该比值为目标目的端口特征数据对应的第一词文本频率值,其中,各目的端口特征数据对应的数值的计算过程为:计算各目的端口特征数据对应的TF-IDF值的平方和,在对该平方和进行开平方计算,得到的数值即为各目的端口特征数据对应的数值。
需要说明的是,端口聚类数量可以是基于网络四元组中总分类数量进行聚类处理,得到的目的端口(destPort)对应的聚类数量。
其中,提取第二词频特征(URL对应的词频特征)的方法包括:基于所述网络地址特征数据对应的单词聚类数量、所述地址词表以及所述逆地址频率表,采用预设词频算法计算所述网络地址特征数据对应的第二词文本频率值,将所述第二词文本频率值作为第二词频特征。
可以理解的是,第一词文本频率值可以为网络地址特征数据对应的TF-IDF值。
具体的,对超文本传输协议数据(http)进行分词处理,得到超文本传输协议数据对应的协议单词,确定协议单词对应的单词聚类数量(M),可以计算TF值为1加端口聚类数量的对数值(1+logM)。基于地址词表中的第二索引信息查找逆协议频率表中协议单词对应的IDF值,则TF-IDF值为TF值与IDF值的乘积,进一步的,协议单词包括至少一个,在计算目标协议单词对应的第一词文本频率值时,可以计算该TF-IDF值与各协议单词对应的数值的比值,则该比值为协议单词对应的第一词文本频率值,其中,各协议单词对应的数值的计算过程为:计算各协议单词对应的TF-IDF值的平方和,在对该平方和进行开平方计算,得到的数值即为各协议单词对应的数值。
需要说明的是,由于协议单词的数量较多,采用一定的检索资源基于地址词表中的索引信息查找逆协议频率表中协议单词对应的IDF值,可以增加计算效率,同时相对于直接生成数组所占用的空间资源少。其中,该检索资源可以为双数组检索树。可以理解的是,双数组检索树是用于协议单词检索的双数组Trie树(Double-array Trie,DAT)。
可选的,为了减小资源消耗,增加了计算速度,采用降维算法将高维词频特征转化为低维词频矩阵。其中,降维算法包括但不限于:截断奇异值分解(Truncated singularvalue decomposition,TSVD)、奇异值分解(singular value decomposition,TSVD)、主成分分析(Principal Component Analysis,PCA)、因子分析(factor analysis,FA)以及独立成分分析(independent component analysis,ICA)。
示意性的,使用TSVD算法对TF-IDF矩阵进行降维,得到30维的低维词频矩阵,也即每个词数据(目的端口特征数据或网络地址特征数据对应的协议单词)在低维词频矩阵中的30个维度上的权重值。
可以理解的是,S202、S203、S204执行不分先后顺序,可以是并行执行也可以是串行执行。
S205:将所述网络流量特征输入至流量识别模型,得到所述网络流量对应的流量识别结果。
具体可参见S103,此处不再赘述。
在本申请实施例中,监测当前网络环境下的网络流量,从所述网络流量中提取待检测的网络流量摘要,基于所述网络流量摘要确定针对所述网络流量的至少一个网络维度的网络流量特征,将所述网络流量特征输入至流量识别模型,得到所述网络流量对应的流量识别结果。其中,通过提取网络流量中待检测的网络流量摘要,可以在不丢失具有区分度的网络流量特征的前提下,简化对网络流量的预处理,同时提高网络流量特征的提取效率。此外,通过流量识别模型对网络流量进行识别,可以提高恶意流量检测的准确性、时效性以及覆盖广度。进一步的,通过提取网络流量的网络连接特征、网络协议特征以及网络词特征作为识别流量的流量特征,使得流量特征具有较强的区分度,从而提高了恶意流量检测的准确性。
请参见图3,图3是本申请提出的一种恶意流量检测方法的另一种实施例的流程示意图。具体的:
S301:获取预设流量样本集中的流量样本,所述流量样本包括标记恶意类型的恶意样本流量以及标记正常类型的正常样本流量。
在本申请实施例中,预设流量样本集包括大量的流量样本,该流量样本包括包括标记恶意类型的恶意样本流量以及标记正常类型的正常样本流量,其中恶意流量的类型包含但不限于:Gafgyt、Mirai、Dofloo、BillGates等。
在获取预设流量样本集中的流量样本之后,为了便于流量识别模型的训练以及恶意流量的检测,确定所述样本流量对应的词表,所述词表包括端口词表和地址词表,以及确定所述样本流量对应的逆文本频率表,所述逆文本频率表包括逆端口频率表和逆地址频率表。
其中,确定所述样本流量对应的端口词表的方法为:
提取所述样本流量中各样本流量摘要的目的端口特征数据,确定各所述目的端口特征数据与所述逆端口频率表对应的第一索引信息,生成包含各所述目的端口特征数据以及所述第一索引信息的端口词表。
可选的,将端口聚类数量较少的目的端口特征数据作为噪声,不纳入端口词表。例如,按照端口聚类数量的大小对目的端口特征数据进行排序,将排列中位于末尾的10%目的端口特征数据去除。
其中,确定所述样本流量对应的地址词表的方法为:
提取所述样本流量中各样本流量摘要的网络地址特征数据,对各所述网络地址特征数据进行分词处理,确定各所述网络地址特征数据对应的至少一个地址单词,确定各所述地址单词与所述逆地址频率表对应的第二索引信息,生成包含各所述网络地址特征数据以及所述第二索引信息的地址词表。
可选的,将单词聚类数量较少的地址单词作为噪声,不纳入地址词表。例如,按照单词聚类数量的大小对地址单词进行排序,将排列中位于末尾的10%地址单词去除。
其中,确定所述样本流量对应的逆端口频率表的方法为:
统计各所述目的端口特征数据在各所述流量样本中的第一样本存在数量,计算各所述流量样本的总样本数量与所述第一样本存在数量的第一商值,确定所述第一商值的第一对数值;生成所述逆端口频率表,所述逆端口频率表包括各所述目的端口特征数据以及各所述目的端口特征数据对应的第一对数值。
易于理解的是,目的端口特征数据对应的第一样本存在数量是指具有该目的端口特征数据的流量样本的数量。
其中,确定所述样本流量对应的逆地址频率表的方法为:
统计各所述地址单词在各所述流量样本中的第二样本存在数量,计算所述总样本数量与所述第二样本存在数量的第二商值,确定所述第二商值的第二对数值;生成所述逆地址频率表,所述逆地址频率表包括各所述地址单词以及各所述地址单词对应的第二对数值。
易于理解的是,地址单词对应的第一样本存在数量是指具有地址单词的流量样本的数量。
S302:提取所述流量样本的样本流量摘要,基于所述样本流量摘要确定针对所述流量样本的至少一个网络维度的样本流量特征。
具体的,从样本流量摘要中提取至少一个网络纬度的样本流量特征的过程可以包括S3021、S3022及S3023中至少一种,具体如下所述:
S3021:基于至少一个网络元组数据对所述样本流量摘要进行连接维度特征提取,得到样本连接特征;其中,所述网络元组数据包括网络四元组、网络五元组以及网络七元组中的至少一种;
S3022:基于至少一种网络传输协议对所述样本流量摘要进行协议维度特征提取,得到样本协议特征;
S3023:基于预设的词表以及逆文本频率表对所述样本流量摘要进行词维度特征提取,得到样本词特征。
上述样本流量特征的提取与一些实施例中的网络流量特征的提取属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
可以理解的是,S3021、S3022、S3023执行不分先后顺序,可以是并行执行也可以是串行执行。
需要说明的是,提取所述流量样本的样本流量摘要的周期与待检测网络流量的检测周期相同,以保证训练和检测的标准一致。
S303:基于所述样本流量特征对初始流量识别模型进行训练,生成训练好的流量识别模型。
在本申请实施例中,初始流量识别模型包括但不限于:LightGBM模型、随机森林(Random Forest)以及Xgboost模型等。其中,LightGBM模型时基于Histogram(直方图)的决策树算法,在训练的过程中采用梯度增强的方式,对单棵树错判的样本进行进一步学习,可以达到更高的准确率,因此,LightGBM模型作为初始流量识别模型的最优选择。
具体的,基于所述样本流量特征对初始流量识别模型进行训练的过程可以为使用训练样本进行LightGBM模型训练,根据验证集的结果调整模型参数:树的数量,训练的步长,树的深度、叶子的个数,叶子上最小的样本个数。
进一步的,对所述流量识别模型对应的文件以及流量预处理文件进行固化处理,所述流量预处理文件包括所述样本流量对应的词表、所述样本流量对应的逆文本频率表以及所述地址词表对应的检索资源。其中,所述地址词表对应的检索资源可以是静态双数组检索树。
易于理解的是,对所述流量识别模型对应的文件以及流量预处理文件进行固化处理可以有效减少计算和存储资源,可以直接加载使用,同时便于大量分发以及快速更新。
示意性的,一种可行的固化文件列表如下:
如图4所示,一种可行的流量识别模型的内存布局的举例示意图,可以按照图示的布局方式对流量识别模型进行布局,将流量识别模型产生的300棵决策树按照树属性及树节点分别集中存储于文件的前后区域。
S304:监测当前网络环境下的网络流量,从所述网络流量中提取待检测的网络流量摘要。
具体可参见S101,此处不再赘述。
S305:基于所述网络流量摘要确定针对所述网络流量的至少一个网络维度的网络流量特征。
具体可参见S102,此处不再赘述。.
S306:将所述网络流量特征输入至流量识别模型,得到所述网络流量对应的流量识别结果。
根据一些实施例,基于所述流量识别模型,输出所述待检测流量对应的目标分值,若所述目标分值大于分值阈值,则确定所述待检测流量为恶意流量类型。
具体的,将所提取的网络流量特征转化为一维特征向量,并将该一维特征向量针对单棵决策树从根节点开始,根据决策树非叶子节点中所标识的特征索引,从当前数据的特征列表中获取特征值,与树节点中的阈值进行比较,决定下一节点的走向,最终达到叶子节点,获得当前决策树的分值,从而得到目标分值。
其中,分值阈值可以是根据流量样本集在流量识别模型中的验证集结果,选取误报率在预设标准以下,检出达到预设标准以上的分值阈值和流量识别模型作为最终的分值阈值和流量监测模型。
在本申请实施例中,监测当前网络环境下的网络流量,从所述网络流量中提取待检测的网络流量摘要,基于所述网络流量摘要确定针对所述网络流量的至少一个网络维度的网络流量特征,将所述网络流量特征输入至流量识别模型,得到所述网络流量对应的流量识别结果。其中,通过提取网络流量中待检测的网络流量摘要,可以在不丢失具有区分度的网络流量特征的前提下,简化对网络流量的预处理,同时提高网络流量特征的提取效率。此外,通过流量识别模型对网络流量进行识别,可以提高恶意流量检测的准确性、时效性以及覆盖广度。
下面将结合图5,对本申请实施例提供的恶意流量检测装置进行详细介绍。需要说明的是,图5所示的恶意流量检测装置,用于执行本申请图1~图4所示实施例的方法,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请图1~图4所示的实施例。
请参见图5,其示出本申请实施例的恶意流量检测装置的结构示意图。该恶意流量检测装置1可以通过软件、硬件或者两者的结合实现成为装置的全部或一部分。根据一些实施例,该恶意流量检测装置1包括摘要提取模块11、特征确定模块12和识别结果模块13,具体用于:
摘要提取模块11,用于监测当前网络环境下的网络流量,从所述网络流量中提取待检测的网络流量摘要;
特征确定模块12,用于基于所述网络流量摘要确定针对所述网络流量的至少一个网络维度的网络流量特征;
识别结果模块13,用于将所述网络流量特征输入至流量识别模型,得到所述网络流量对应的流量识别结果。
可选的,如图6所示,所述特征确定模块12,包括:
连接特征提取单元121,用于基于至少一个网络元组数据对所述网络流量摘要进行连接维度特征提取,得到网络连接特征;其中,所述网络元组数据包括网络四元组、网络五元组以及网络七元组中的至少一种;
协议特征提取单元122,用于基于至少一种网络传输协议对所述网络流量摘要进行协议维度特征提取,得到网络协议特征;
词特征提取单元123,用于基于预设的词表以及逆文本频率表对所述网络流量摘要进行词维度特征提取,得到网络词特征。
可选的,如图7所示,所述连接特征提取单元121,包括:
聚类子单元1211,用于按照所述网络元组数据对应的各连接元素进行组合聚类处理,得到各连接元素组合对应的分类数量;所述连接元素组合由所述网络四元组对应的至少一个连接元素构成;
计算子单元1212,用于对所述网络流量摘要中与各所述连接元素组合对应的分类数量进行分类特征值计算,生成由所述分类特征值构成的网络连接特征;
其中,所述网络元组数据为网络四元组,所述网络四元组的连接元素包括源IP地址、源端口,目的IP地址以及目的端口。
可选的,如图8所示,所述协议特征提取单元122,包括:
所述网络协议特征包括所述存在性特征、属性数值特征以及异常数值特征;
判决子单元1221,用于基于至少一种网络传输协议,对所述网络流量摘要进行传输协议类型判决处理,在所述网络流量摘要中确定各所述网络传输协议对应的所述存在性特征;
属性子单元1222,用于在所述网络流量摘要中,确定各所述网络传输协议对应的协议数据的流量属性参数,基于所述流量属性参数生成所述属性数值特征;
识别子单元1223,用于在所述网络流量摘要中对预设网络传输协议的协议数据进行异常数据包识别处理,生成所述异常数值特征。
可选的,如图9所示,所述词特征提取单元123,包括:
数据子单元1231,用于基于所述网络流量摘要确定网络词特征数据,所述网络词特征数据包括目的端口特征数据以及网络地址特征数据;
词频子单元1232,用于基于所述词表以及所述逆文本频率表,对所述网络词特征数据进行词频统计处理,得到高维词频特征;所述高维词频特征由所述目的端口特征数据对应的第一词频特征和所述网络地址特征数据对应的第二词频特征构成;
矩阵子单元1233,用于对所述高维词频特征进行降维生成低维词频矩阵,并基于所述低维词频矩阵确定网络词特征。
可选的,所述词频子单元1232,具体用于:
所述词表包括端口词表和地址词表,所述逆文本频率表包括逆端口频率表和逆地址频率表
基于所述目的端口特征数据对应的端口聚类数量、所述端口词表以及所述逆端口频率表,采用预设词频算法计算所述目的端口特征数据对应的第一词文本频率值,将所述第一词文本频率值作为第一词频特征;以及
基于所述网络地址特征数据对应的单词聚类数量、所述地址词表以及所述逆地址频率表,采用预设词频算法计算所述网络地址特征数据对应的第二词文本频率值,将所述第二词文本频率值作为第二词频特征。
可选的,如图10所示,所述装置1,还包括:
样本获取模块14,用于获取预设流量样本集中的流量样本,所述流量样本包括标记恶意类型的恶意样本流量以及标记正常类型的正常样本流量;
样本特征模块15,用于提取所述流量样本的样本流量摘要,基于所述样本流量摘要确定针对所述流量样本的至少一个网络维度的样本流量特征;
样本训练模块16,用于基于所述样本流量特征对初始流量识别模型进行训练,生成训练好的流量识别模型。
可选的,所述样本特征模块15,还包括:
样本连接单元151,用于基于至少一个网络元组数据对所述样本流量摘要进行连接维度特征提取,得到样本连接特征;其中,所述网络元组数据包括网络四元组、网络五元组以及网络七元组中的至少一种;
样本协议单元152,用于基于至少一种网络传输协议对所述样本流量摘要进行协议维度特征提取,得到样本协议特征;
样本词单元153,用于基于预设的词表以及逆文本频率表对所述样本流量摘要进行词维度特征提取,得到样本词特征。
可选的,所述装置1,还包括:
词表确定模块17,用于确定所述样本流量对应的词表,所述词表包括端口词表和地址词表;
频率表确定模块18,用于确定所述样本流量对应的逆文本频率表,所述逆文本频率表包括逆端口频率表和逆地址频率表。
可选的,所述词表确定模块17,包括:
端口词表单元171,用于提取所述样本流量中各样本流量摘要的目的端口特征数据,确定各所述目的端口特征数据与所述逆端口频率表对应的第一索引信息,生成包含各所述目的端口特征数据以及所述第一索引信息的端口词表;
地址词表单元172,用于提取所述样本流量中各样本流量摘要的网络地址特征数据,对各所述网络地址特征数据进行分词处理,确定各所述网络地址特征数据对应的至少一个地址单词,确定各所述地址单词与所述逆地址频率表对应的第二索引信息,生成包含各所述网络地址特征数据以及所述第二索引信息的地址词表。
可选的,所述频率表确定模块18,包括:
端口对数值单元181,用于统计各所述目的端口特征数据在各所述流量样本中的第一样本存在数量,计算各所述流量样本的总样本数量与所述第一样本存在数量的第一商值,确定所述第一商值的第一对数值;
逆端口频率表单元182,用于生成所述逆端口频率表,所述逆端口频率表包括各所述目的端口特征数据以及各所述目的端口特征数据对应的第一对数值;
地址对数值单元183,用于统计各所述地址单词在各所述流量样本中的第二样本存在数量,计算所述总样本数量与所述第二样本存在数量的第二商值,确定所述第二商值的第二对数值;
逆地址频率表单元184,用于生成所述逆地址频率表,所述逆地址频率表包括各所述地址单词以及各所述地址单词对应的第二对数值。
可选的,所述装置1,还包括:
固化处理模块19,用于对所述流量识别模型对应的文件以及流量预处理文件进行固化处理;所述流量预处理文件包括所述样本流量对应的词表、所述样本流量对应的逆文本频率表以及所述地址词表对应的检索资源。
可选的,所述识别结果模块13,还包括:
分值输出单元131,用于基于所述流量识别模型,输出所述待检测流量对应的目标分值;
类型确定单元132,用于若所述目标分值大于分值阈值,则确定所述待检测流量为恶意流量类型。
需要说明的是,上述实施例提供的恶意流量检测装置在执行恶意流量检测方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的恶意流量检测装置与恶意流量检测方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请实施例中,监测当前网络环境下的网络流量,从所述网络流量中提取待检测的网络流量摘要,基于所述网络流量摘要确定针对所述网络流量的至少一个网络维度的网络流量特征,将所述网络流量特征输入至流量识别模型,得到所述网络流量对应的流量识别结果。其中,通过提取网络流量中待检测的网络流量摘要,可以在不丢失具有区分度的网络流量特征的前提下,简化对网络流量的预处理,同时提高网络流量特征的提取效率。此外,通过流量识别模型对网络流量进行识别,可以提高恶意流量检测的准确性、时效性以及覆盖广度。
本申请实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图1~图4所示实施例的所述恶意流量检测方法,具体执行过程可以参见图1~图4所示实施例的具体说明,在此不进行赘述。
本申请还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行如上述图1~图4所示实施例的所述恶意流量检测方法,具体执行过程可以参见图1~图4所示实施例的具体说明,在此不进行赘述。
请参考图11,其示出了本申请一个示例性实施例提供的电子设备的结构方框图。本申请中的电子设备可以包括一个或多个如下部件:处理器110、存储器120、输入装置130、输出装置140和总线150。处理器110、存储器120、输入装置130和输出装置140之间可以通过总线150连接。
处理器110可以包括一个或者多个处理核心。处理器110利用各种接口和线路连接整个电子设备内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(digital signal processing,DSP)、现场可编程门阵列(field-programmable gate array,FPGA)、可编程逻辑阵列(programmable logicArray,PLA)中的至少一种硬件形式来实现。处理器110可集成中央处理器(centralprocessing unit,CPU)、图像处理器(graphics processing unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。
存储器120可以包括随机存储器(random Access Memory,RAM),也可以包括只读存储器(read-only memory,ROM)。可选地,该存储器120包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等,该操作系统可以是安卓(Android)系统,包括基于Android系统深度开发的系统、苹果公司开发的IOS系统,包括基于IOS系统深度开发的系统或其它系统。存储数据区还可以存储电子设备在使用中所创建的数据比如电话本、音视频数据、聊天记录数据,等。
参见图12所示,存储器120可分为操作系统空间和用户空间,操作系统即运行于操作系统空间,原生及第三方应用程序即运行于用户空间。为了保证不同第三方应用程序均能够达到较好的运行效果,操作系统针对不同第三方应用程序为其分配相应的系统资源。然而,同一第三方应用程序中不同应用场景对系统资源的需求也存在差异,比如,在本地资源加载场景下,第三方应用程序对磁盘读取速度的要求较高;在动画渲染场景下,第三方应用程序则对GPU性能的要求较高。而操作系统与第三方应用程序之间相互独立,操作系统往往不能及时感知第三方应用程序当前的应用场景,导致操作系统无法根据第三方应用程序的具体应用场景进行针对性的系统资源适配。
为了使操作系统能够区分第三方应用程序的具体应用场景,需要打通第三方应用程序与操作系统之间的数据通信,使得操作系统能够随时获取第三方应用程序当前的场景信息,进而基于当前场景进行针对性的系统资源适配。
以操作系统为Android系统为例,存储器120中存储的程序和数据如图13所示,存储器120中可存储有Linux内核层320、系统运行时库层340、应用框架层360和应用层380,其中,Linux内核层320、系统运行库层340和应用框架层360属于操作系统空间,应用层380属于用户空间。Linux内核层320为电子设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动、摄像头驱动、蓝牙驱动、Wi-Fi驱动、电源管理等。系统运行库层340通过一些C/C++库来为Android系统提供了主要的特性支持。如SQLite库提供了数据库的支持,OpenGL/ES库提供了3D绘图的支持,Webkit库提供了浏览器内核的支持等。在系统运行时库层340中还提供有安卓运行时库(Android runtime),它主要提供了一些核心库,能够允许开发者使用Java语言来编写Android应用。应用框架层360提供了构建应用程序时可能用到的各种API,开发者也可以通过使用这些API来构建自己的应用程序,比如活动管理、窗口管理、视图管理、通知管理、内容提供者、包管理、通话管理、资源管理、定位管理。应用层380中运行有至少一个应用程序,这些应用程序可以是操作系统自带的原生应用程序,比如联系人程序、短信程序、时钟程序、相机应用等;也可以是第三方开发者所开发的第三方应用程序,比如游戏类应用程序、即时通信程序、相片美化程序、通知消息的显示程序等。
以操作系统为IOS系统为例,存储器120中存储的程序和数据如图14所示,IOS系统包括:核心操作系统层420(Core OS layer)、核心服务层440(Core Services layer)、媒体层460(Media layer)、可触摸层480(Cocoa Touch Layer)。核心操作系统层420包括了操作系统内核、驱动程序以及底层程序框架,这些底层程序框架提供更接近硬件的功能,以供位于核心服务层440的程序框架所使用。核心服务层440提供给应用程序所需要的系统服务和/或程序框架,比如基础(Foundation)框架、账户框架、广告框架、数据存储框架、网络连接框架、地理位置框架、运动框架等等。媒体层460为应用程序提供有关视听方面的接口,如图形图像相关的接口、音频技术相关的接口、视频技术相关的接口、音视频传输技术的无线播放(AirPlay)接口等。可触摸层480为应用程序开发提供了各种常用的界面相关的框架,可触摸层480负责用户在电子设备上的触摸交互操作。比如本地通知服务、远程推送服务、广告框架、游戏工具框架、消息用户界面接口(User Interface,UI)框架、用户界面UIKit框架、地图框架等等。
在图14所示出的框架中,与大部分应用程序有关的框架包括但不限于:核心服务层440中的基础框架和可触摸层480中的UIKit框架。基础框架提供许多基本的对象类和数据类型,为所有应用程序提供最基本的系统服务,和UI无关。而UIKit框架提供的类是基础的UI类库,用于创建基于触摸的用户界面,iOS应用程序可以基于UIKit框架来提供UI,所以它提供了应用程序的基础架构,用于构建用户界面,绘图、处理和用户交互事件,响应手势等等。
其中,在IOS系统中实现第三方应用程序与操作系统数据通信的方式以及原理可参考Android系统,本申请在此不再赘述。
其中,输入装置130用于接收输入的指令或数据,输入装置130包括但不限于键盘、鼠标、摄像头、麦克风或触控设备。输出装置140用于输出指令或数据,输出装置140包括但不限于显示设备和扬声器等。在一个示例中,输入装置130和输出装置140可以合设,输入装置130和输出装置140为触摸显示屏,该触摸显示屏用于接收用户使用手指、触摸笔等任何适合的物体在其上或附近的触摸操作,以及显示各个应用程序的用户界面。触摸显示屏通常设置在电子设备的前面板。触摸显示屏可被设计成为全面屏、曲面屏或异型屏。触摸显示屏还可被设计成为全面屏与曲面屏的结合,异型屏与曲面屏的结合,本申请实施例对此不加以限定。
除此之外,本领域技术人员可以理解,上述附图所示出的电子设备的结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,电子设备中还包括射频电路、输入单元、传感器、音频电路、无线保真(wireless fidelity,WiFi)模块、电源、蓝牙模块等部件,在此不再赘述。
在本申请实施例中,各步骤的执行主体可以是上文介绍的电子设备。可选地,各步骤的执行主体为电子设备的操作系统。操作系统可以是安卓系统,也可以是IOS系统,或者其它操作系统,本申请实施例对此不作限定。
本申请实施例的电子设备,其上还可以安装有显示设备,显示设备可以是各种能实现显示功能的设备,例如:阴极射线管显示器(cathode ray tubedisplay,简称CR)、发光二极管显示器(light-emitting diode display,简称LED)、电子墨水屏、液晶显示屏(liquid crystal display,简称LCD)、等离子显示面板(plasma display panel,简称PDP)等。用户可以利用电子设备101上的显示设备,来查看显示的文字、图像、视频等信息。所述电子设备可以是智能手机、平板电脑、游戏设备、AR(Augmented Reality,增强现实)设备、汽车、数据存储装置、音频播放装置、视频播放装置、笔记本、桌面计算设备、可穿戴设备诸如电子手表、电子眼镜、电子头盔、电子手链、电子项链、电子衣物等设备。
在本申请实施例中,监测当前网络环境下的网络流量,从所述网络流量中提取待检测的网络流量摘要,基于所述网络流量摘要确定针对所述网络流量的至少一个网络维度的网络流量特征,将所述网络流量特征输入至流量识别模型,得到所述网络流量对应的流量识别结果。其中,通过提取网络流量中待检测的网络流量摘要,可以在不丢失具有区分度的网络流量特征的前提下,简化对网络流量的预处理,同时提高网络流量特征的提取效率。此外,通过流量识别模型对网络流量进行识别,可以提高恶意流量检测的准确性、时效性以及覆盖广度。
需要说明的是,本领域的技术人员可以清楚地了解到本申请的技术方案可借助软件和/或硬件来实现。本说明书中的“单元”和“模块”是指能够独立完成或与其他部件配合完成特定功能的软件和/或硬件,其中硬件例如可以是现场可编程门阵列(Field-ProgrammaBLE Gate Array,FPGA)、集成电路(Integrated Circuit,IC)等。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些服务接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通进程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random AccessMemory,RAM)、磁盘或光盘等。
以上所述者,仅为本公开的示例性实施例,不能以此限定本公开的范围。即但凡依本公开教导所作的等效变化与修饰,皆仍属本公开涵盖的范围内。本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未记载的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的范围和精神由权利要求限定。
Claims (15)
1.一种恶意流量检测方法,其特征在于,所述方法包括:
监测当前网络环境下的网络流量,从所述网络流量中提取待检测的网络流量摘要;
基于所述网络流量摘要确定针对所述网络流量的至少一个网络维度的网络流量特征;
将所述网络流量特征输入至流量识别模型,得到所述网络流量对应的流量识别结果。
2.根据权利要求1所述的方法,其特征在于,所述基于所述网络流量摘要确定针对所述网络流量的至少一个网络维度的网络流量特征,包括S202、S203及S204中至少一种:
S202,基于至少一个网络元组数据对所述网络流量摘要进行连接维度特征提取,得到网络连接特征;其中,所述网络元组数据包括网络四元组、网络五元组以及网络七元组中的至少一种;
S203,基于至少一种网络传输协议对所述网络流量摘要进行协议维度特征提取,得到网络协议特征;
S204,基于预设的词表以及逆文本频率表对所述网络流量摘要进行词维度特征提取,得到网络词特征。
3.根据权利要求2所述的方法,其特征在于,所述基于至少一个网络元组数据对所述网络流量摘要进行连接维度特征提取,得到网络连接特征,包括:
按照所述网络元组数据对应的各连接元素进行组合聚类处理,得到各连接元素组合对应的分类数量;所述连接元素组合由所述网络四元组对应的至少一个连接元素构成;
对所述网络流量摘要中与各所述连接元素组合对应的分类数量进行分类特征值计算,生成由所述分类特征值构成的网络连接特征;
其中,所述网络元组数据为网络四元组,所述网络四元组的连接元素包括源IP地址、源端口,目的IP地址以及目的端口。
4.根据权利要求2所述的方法,其特征在于,所述基于至少一种网络传输协议对所述网络流量摘要进行协议维度特征提取,得到网络协议特征,包括S2031、S2032及S2033中至少一种:
所述网络协议特征包括所述存在性特征、属性数值特征以及异常数值特征中至少一种;
S2031,基于至少一种网络传输协议,对所述网络流量摘要进行传输协议类型判决处理,在所述网络流量摘要中确定各所述网络传输协议对应的所述存在性特征;
S2032,在所述网络流量摘要中,确定各所述网络传输协议对应的协议数据的流量属性参数,基于所述流量属性参数生成所述属性数值特征;
S2033,在所述网络流量摘要中对预设网络传输协议的协议数据进行异常数据包识别处理,生成所述异常数值特征。
5.根据权利要求2所述的方法,其特征在于,所述基于预设的词表以及逆文本频率表对所述网络流量摘要进行词维度特征提取,得到网络词特征,包括:
基于所述网络流量摘要确定网络词特征数据,所述网络词特征数据包括目的端口特征数据以及网络地址特征数据;
基于所述词表以及所述逆文本频率表,对所述网络词特征数据进行词频统计处理,得到高维词频特征;所述高维词频特征由所述目的端口特征数据对应的第一词频特征和所述网络地址特征数据对应的第二词频特征构成;
对所述高维词频特征进行降维生成低维词频矩阵,并基于所述低维词频矩阵确定网络词特征。
6.根据权利要求5所述的方法,其特征在于,所述基于所述词表以及所述逆文本频率表,对所述网络词特征数据进行词频统计处理,得到高维词频特征;所述高维词频特征由所述目的端口特征数据对应的第一词频特征和所述网络地址特征数据对应的第二词频特征构成,包括:
所述词表包括端口词表和地址词表,所述逆文本频率表包括逆端口频率表和逆地址频率表;
基于所述目的端口特征数据对应的端口聚类数量、所述端口词表以及所述逆端口频率表,采用预设词频算法计算所述目的端口特征数据对应的第一词文本频率值,将所述第一词文本频率值作为第一词频特征;以及
基于所述网络地址特征数据对应的单词聚类数量、所述地址词表以及所述逆地址频率表,采用预设词频算法计算所述网络地址特征数据对应的第二词文本频率值,将所述第二词文本频率值作为第二词频特征。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取预设流量样本集中的流量样本,所述流量样本包括标记恶意类型的恶意样本流量以及标记正常类型的正常样本流量;
提取所述流量样本的样本流量摘要,基于所述样本流量摘要确定针对所述流量样本的至少一个网络维度的样本流量特征;
基于所述样本流量特征对初始流量识别模型进行训练,生成训练好的流量识别模型。
8.根据权利要求7所述的方法,其特征在于,所述基于所述样本流量摘要确定针对所述流量样本的至少一个网络维度的样本流量特征,包括S3021、S3022及S3023中至少一种:
S3021,基于至少一个网络元组数据对所述样本流量摘要进行连接维度特征提取,得到样本连接特征;其中,所述网络元组数据包括网络四元组、网络五元组以及网络七元组中的至少一种;
S3022,基于至少一种网络传输协议对所述样本流量摘要进行协议维度特征提取,得到样本协议特征;
S3023,基于预设的词表以及逆文本频率表对所述样本流量摘要进行词维度特征提取,得到样本词特征。
9.根据权利要求7所述的方法,其特征在于,所述基于所述样本流量特征对初始流量识别模型进行训练之前,还包括:
确定所述样本流量对应的词表,所述词表包括端口词表和地址词表;
确定所述样本流量对应的逆文本频率表,所述逆文本频率表包括逆端口频率表和逆地址频率表。
10.根据权利要求9所述的方法,其特征在于,所述确定所述样本流量对应的词表,所述词表包括端口词表和地址词表,包括:
提取所述样本流量中各样本流量摘要的目的端口特征数据,确定各所述目的端口特征数据与所述逆端口频率表对应的第一索引信息,生成包含各所述目的端口特征数据以及所述第一索引信息的端口词表;
提取所述样本流量中各样本流量摘要的网络地址特征数据,对各所述网络地址特征数据进行分词处理,确定各所述网络地址特征数据对应的至少一个地址单词,确定各所述地址单词与所述逆地址频率表对应的第二索引信息,生成包含各所述网络地址特征数据以及所述第二索引信息的地址词表。
11.根据权利要求10所述的方法,其特征在于,所述确定所述样本流量对应的逆文本频率表,所述逆文本频率表包括逆端口频率表和逆地址频率表,包括:
统计各所述目的端口特征数据在各所述流量样本中的第一样本存在数量,计算各所述流量样本的总样本数量与所述第一样本存在数量的第一商值,确定所述第一商值的第一对数值;
生成所述逆端口频率表,所述逆端口频率表包括各所述目的端口特征数据以及各所述目的端口特征数据对应的第一对数值;
统计各所述地址单词在各所述流量样本中的第二样本存在数量,计算所述总样本数量与所述第二样本存在数量的第二商值,确定所述第二商值的第二对数值;
生成所述逆地址频率表,所述逆地址频率表包括各所述地址单词以及各所述地址单词对应的第二对数值。
12.根据权利要求9所述的方法,其特征在于,所述基于所述样本流量特征对初始流量识别模型进行训练,生成训练好的流量识别模型之后,还包括:
对所述流量识别模型对应的文件以及流量预处理文件进行固化处理;所述流量预处理文件包括所述样本流量对应的词表、所述样本流量对应的逆文本频率表以及所述地址词表对应的检索资源。
13.根据权利要求1所述的方法,其特征在于,所述得到所述网络流量对应的流量识别结果,包括:
基于所述流量识别模型,输出所述待检测流量对应的目标分值;
若所述目标分值大于分值阈值,则确定所述待检测流量为恶意流量类型。
14.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1~13任意一项的方法步骤。
15.一种电子设备,其特征在于,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1~13任意一项的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110544999.6A CN115396128A (zh) | 2021-05-19 | 2021-05-19 | 恶意流量检测方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110544999.6A CN115396128A (zh) | 2021-05-19 | 2021-05-19 | 恶意流量检测方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115396128A true CN115396128A (zh) | 2022-11-25 |
Family
ID=84114670
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110544999.6A Pending CN115396128A (zh) | 2021-05-19 | 2021-05-19 | 恶意流量检测方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115396128A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116366346A (zh) * | 2023-04-04 | 2023-06-30 | 中国华能集团有限公司北京招标分公司 | 一种dns流量还原方法 |
-
2021
- 2021-05-19 CN CN202110544999.6A patent/CN115396128A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116366346A (zh) * | 2023-04-04 | 2023-06-30 | 中国华能集团有限公司北京招标分公司 | 一种dns流量还原方法 |
CN116366346B (zh) * | 2023-04-04 | 2024-03-22 | 中国华能集团有限公司北京招标分公司 | 一种dns流量还原方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017096987A1 (zh) | 消息显示方法及终端设备 | |
CN109684052B (zh) | 事务分析方法、装置、设备及存储介质 | |
CN112162965B (zh) | 一种日志数据处理的方法、装置、计算机设备及存储介质 | |
CN111447107B (zh) | 网络状态确定方法、装置、存储介质及电子设备 | |
CN112600834B (zh) | 内容安全识别方法及装置、存储介质和电子设备 | |
CN112653670B (zh) | 业务逻辑漏洞检测方法、装置、存储介质以及终端 | |
CN111311136A (zh) | 风控决策方法、计算机设备及存储介质 | |
CN105809471B (zh) | 一种获取用户属性的方法、装置及电子设备 | |
CN108304452B (zh) | 文章处理方法及装置、存储介质 | |
CN114422211B (zh) | 基于图注意力网络的http恶意流量检测方法及装置 | |
US20230069970A1 (en) | Identifying fraudulent requests for content | |
CN114422271B (zh) | 数据处理方法、装置、设备及可读存储介质 | |
CN112052911A (zh) | 识别图像中暴恐内容的方法、装置、电子设备和存储介质 | |
CN113626624B (zh) | 一种资源识别方法和相关装置 | |
CN114157568B (zh) | 一种浏览器安全访问方法、装置、设备及存储介质 | |
Li et al. | Can we learn what people are doing from raw DNS queries? | |
CN111586695A (zh) | 短信识别方法及相关设备 | |
CN115150261A (zh) | 告警分析的方法、装置、电子设备及存储介质 | |
CN115396128A (zh) | 恶意流量检测方法、装置、存储介质及电子设备 | |
CN111027065B (zh) | 一种勒索病毒识别方法、装置、电子设备及存储介质 | |
US11886590B2 (en) | Emulator detection using user agent and device model learning | |
CN111262842B (zh) | 网页防篡改方法、装置、电子设备、及存储介质 | |
CN113904837A (zh) | 一种攻击检测的方法、装置、电子设备及介质 | |
CN115795100A (zh) | 用户事件处理方法、装置、电子设备及可读存储介质 | |
CN113765924A (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 |