CN109995601B - 一种网络流量识别方法及装置 - Google Patents
一种网络流量识别方法及装置 Download PDFInfo
- Publication number
- CN109995601B CN109995601B CN201711483710.4A CN201711483710A CN109995601B CN 109995601 B CN109995601 B CN 109995601B CN 201711483710 A CN201711483710 A CN 201711483710A CN 109995601 B CN109995601 B CN 109995601B
- Authority
- CN
- China
- Prior art keywords
- flow
- triggering
- operation behavior
- application program
- classifying
- 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
- 238000000034 method Methods 0.000 title claims abstract description 76
- 230000006399 behavior Effects 0.000 claims abstract description 163
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 43
- 238000012544 monitoring process Methods 0.000 claims abstract description 23
- 238000012549 training Methods 0.000 claims abstract description 23
- 230000003068 static effect Effects 0.000 claims abstract description 22
- 238000004458 analytical method Methods 0.000 claims abstract description 20
- 238000013528 artificial neural network Methods 0.000 claims abstract description 15
- 230000000306 recurrent effect Effects 0.000 claims abstract description 15
- 238000010586 diagram Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 6
- 238000009434 installation Methods 0.000 claims description 6
- 238000003860 storage Methods 0.000 claims description 5
- 230000011218 segmentation Effects 0.000 claims description 3
- 230000007547 defect Effects 0.000 abstract description 6
- 230000001960 triggered effect Effects 0.000 abstract description 5
- 230000000875 corresponding effect Effects 0.000 description 16
- 238000013135 deep learning Methods 0.000 description 11
- 238000000605 extraction Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 238000005065 mining Methods 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000010191 image analysis Methods 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 230000001502 supplementing effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
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
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/026—Capturing of monitoring data using flow identification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/028—Capturing of monitoring data by filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/06—Generation of reports
- H04L43/062—Generation of reports related to network traffic
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本发明实施例公开了一种网络流量识别方法及装置,方法包括:根据具有卷积神经网络特征的区域R‑CNN模型对运行在纯净模拟器环境中的应用程序的界面进行对象识别,得到应用程序的动态操作行为信息;根据当前的操作行为类型和动态操作行为信息,对应用程序的操作行为进行分类触发,监听分类触发后的流量,并对分类触发后的流量进行流量标定,得到样本流量;将样本流量输入字符级循环神经网络char‑RNN模型进行训练,得到目标模型,根据目标模型对网络流量进行识别。弥补了代码静态分析获取操作行为的不足;根据操作行为类型有针对性地触发并监听流量,省时省力;通过目标模型来识别网络管道中的混杂用户流量,以挖掘用户所使用的应用程序中的操作行为信息。
Description
技术领域
本发明实施例涉及通信网络技术领域,具体涉及一种网络流量识别方法及装置。
背景技术
随着移动终端设备的普及和移动互联网的发展,智能移动终端设备及其衍生的移动终端应用程序(APP),在人们的生产生活中扮演着越来越重要的角色,成为人们上网、购物和娱乐的主要途径。因此,通过深度分析移动互联网流量,学习用户的画像和网络行为信息,对诸如广告推荐***和网络管理等应用程序有着重要的作用。网络运营商分析网络管道中的混杂流量(大量用户的网络数据混杂在一起),学习到移动网络用户某时(网络流量中包含时间戳)某地(GPS以及基站可以提供位置信息)所使用的APP名称、具体的按键操作等有价值信息。例如:通过某种方法,网络运营商可以知道,某用户在北京市西城区,在美团APP中点击了酒店按键,浏览附近的酒店信息,那么网络运营商就可以针对该用户定向投放附近酒店的广告信息。
目前,流量特征识别方法主要有:基于预定义或特殊端口的流量特征提取方法、基于DPI(Deep Packet Inspection,深度包检测)的流量特征提取方法和基于机器学习的流量分类方法。其中,基于预定义或特殊端口的流量特征提取方法为根据通用的网络协议端口来提取识别网络流量,或根据预定义的特殊端口,提取识别网络流量;基于DPI的流量特征提取方法为根据确定经验和规则,从流量内容中提取符合指定条件的特征字/指纹/序列,作为流量特征;基于机器学习的流量分类方法为根据预先训练好的机器学习模型对流量进行分类。
在实现本发明实施例的过程中,发明人发现现有的流量特征识别方法存在如下问题:基于预定义或特殊端口的流量识别方法对于非标准端口或新定义的端口不适用,且识别粒度不够,无法精准定位具体的应用操作;基于DPI的流量特征提取方法的特征提取过程为监督或半监督方式,确定特征字/指纹/序列的过程耗时耗力,且APP操作流量类型和内容复杂多变,无法找到通用化的特征关键字定位及提取方法;基于机器学习的流量分类方法的分类粒度不够,只能用于流量协议类型的分类问题,无法识别用户具体使用的APP操作行为。
发明内容
由于现有方法存在上述问题,本发明实施例提出一种网络流量识别方法及装置。
第一方面,本发明实施例提出一种网络流量识别方法,包括:
根据具有卷积神经网络特征的区域R-CNN模型对运行在纯净模拟器环境中的应用程序的界面进行对象识别,得到所述应用程序的动态操作行为信息;
根据当前的操作行为类型和所述动态操作行为信息,对所述应用程序的操作行为进行分类触发,监听分类触发后的流量,并对所述分类触发后的流量进行流量标定,得到样本流量;
将所述样本流量输入字符级循环神经网络char-RNN模型进行训练,得到目标模型,根据所述目标模型对网络流量进行识别。
可选地,所述根据具有卷积神经网络特征的区域R-CNN模型对所述应用程序运行过程中的界面进行对象识别,得到所述应用程序的动态操作行为信息,具体包括:
根据所述R-CNN模型的卷积层对所述应用程序运行过程中的界面进行多层卷积,获得所述界面的抽象特征图;
根据所述R-CNN模型的区域识别网络对所述抽象特征图进行卷积操作,提取得到待分类的特征区域;
根据所述R-CNN模型的分类器对所述特征区域进行分类,并识别得到所述特征区域内各对象的类型及各对象对应的文字描述信息;
其中,所述应用程序的动态操作行为信息包括各对象的类型及各对象对应的文字描述信息。
可选地,所述根据当前的操作行为类型和所述动态操作行为信息,对所述应用程序的操作行为进行分类触发,监听分类触发后的流量,并对所述分类触发后的流量进行流量标定,得到样本流量,具体包括:
根据当前的操作行为类型和所述动态操作行为信息,对所述应用程序的操作行为进行分类触发,记录操作行为的触发顺序和时间戳信息,监听分类触发后的流量,并对所述分类触发后的流量进行流量标定,得到样本流量。
可选地,所述根据当前的操作行为类型和所述动态操作行为信息,对所述应用程序的操作行为进行分类触发,记录操作行为的触发顺序和时间戳信息,监听分类触发后的流量,并对所述分类触发后的流量进行流量标定,得到样本流量,具体包括:
根据当前的操作行为类型和所述动态操作行为信息,对所述应用程序的操作行为进行分类触发,记录操作行为的触发顺序和时间戳信息,监听分类触发后的流量,根据所述触发顺序或所述时间戳对所述分类触发后的流量进行分割,并对分割后的流量进行流量标定,得到样本流量。
可选地,所述将所述样本流量输入字符级循环神经网络char-RNN模型进行训练,得到目标模型,根据所述目标模型对网络流量进行识别,具体包括:
对所述样本流量进行分析,得到所述样本流量的关键字段内容、频繁字段和最长公共子序列;
对所述样本流量的结构进行分析,得到所述样本流量的包长序列、时间窗序列数据包之间的时间间隔序列和流量协议类型序列;
根据所述样本流量的关键字段内容、频繁字段、最长公共子序列、包长序列、时间窗序列数据包之间的时间间隔序列和流量协议类型序列,构建得到字符向量对应表;
将所述字符向量对应表中的字符输入所述char-RNN模型,根据多层感知机对输入的字符进行特征学习,得到目标模型;
根据所述目标模型对网络流量进行识别。
可选地,所述根据具有卷积神经网络特征的区域R-CNN模型对运行在纯净模拟器环境中的应用程序的界面进行对象识别,得到所述应用程序的动态操作行为信息之前,还包括:
对应用程序的安装包文件进行反编译和静态分析,得到所述应用程序的所述静态操作行为信息;
相应地,所述根据预设的操作行为类型和所述动态操作行为信息,对所述应用程序的操作行为进行分类触发,监听分类触发后的流量,并对所述分类触发后的流量进行流量标定,得到样本流量,具体包括:
根据预设的操作行为类型、所述静态操作行为信息和所述动态操作行为信息,对所述应用程序的操作行为进行分类触发,监听分类触发后的流量,并对所述分类触发后的流量进行流量标定,得到样本流量。
可选地,所述操作行为类型包括划窗、按键或内容输入。
第二方面,本发明实施例还提出一种网络流量识别装置,包括:
对象识别模块,用于根据具有卷积神经网络特征的区域R-CNN模型对运行在纯净模拟器环境中的应用程序的界面进行对象识别,得到所述应用程序的动态操作行为信息;
行为触发模块,用于根据当前的操作行为类型和所述动态操作行为信息,对所述应用程序的操作行为进行分类触发,监听分类触发后的流量,并对所述分类触发后的流量进行流量标定,得到样本流量;
模型训练模块,用于将所述样本流量输入字符级循环神经网络char-RNN模型进行训练,得到目标模型,根据所述目标模型对网络流量进行识别。
第三方面,本发明实施例还提出一种电子设备,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述方法。
第四方面,本发明实施例还提出一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行上述方法。
由上述技术方案可知,本发明实施例通过深度学习方法中R-CNN模型对应用程序的界面进行动态分析获取动态操作行为信息,弥补了代码静态分析获取操作行为的不足;根据操作行为类型不同,有针对性地触发,监听获取应用程序的流量并标定后作为样本流量,省时省力;并通过使用深度学习方法中的字符级循环神经网络char-RNN模型进行训练得到目标模型,以目标模型来识别网络管道中的混杂用户流量,以挖掘用户所使用的应用程序中的操作行为信息。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。
图1为本发明一实施例提供的一种网络流量识别方法的流程示意图;
图2为本发明一实施例提供的一种APP动态分析的流程示意图;
图3为本发明一实施例提供的一种样本标定的流程示意图;
图4为本发明一实施例提供的一种规则提取的流程示意图;
图5为本发明一实施例提供的一种APP静态分析的流程示意图;
图6为本发明一实施例提供的一种网络流量识别装置的结构示意图;
图7为本发明一实施例提供的电子设备的逻辑框图。
具体实施方式
下面结合附图,对本发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
图1示出了本实施例提供的一种网络流量识别方法的流程示意图,包括:
S101、根据具有卷积神经网络特征的区域R-CNN模型对运行在纯净模拟器环境中的应用程序的界面进行对象识别,得到所述应用程序的动态操作行为信息。
其中,所述R-CNN模型为利用深度学习进行目标识别的模型,本实施例中用于识别应用程序运行过程中截取的界面中的对象。
所述纯净模拟器环境为无其它应用程序干扰的运行环境,只运行当前的应用程序。
所述动态操作行为信息为应用程序运行过程中由于用户操作行为产生的信息,包括各对象的类型及各对象对应的文字描述信息。
S102、根据当前的操作行为类型和所述动态操作行为信息,对所述应用程序的操作行为进行分类触发,监听分类触发后的流量,并对所述分类触发后的流量进行流量标定,得到样本流量。
其中,所述操作行为类型包括划窗、按键或内容输入。
具体地,根据操作行为类型(划窗、按键或内容输入),对所述应用程序的操作行为进行分类触发,实现对应用程序的操作行为的完备触发,对分类触发后的流量进行监听并记录,并对记录的流量进行标定,即为样本流量。
S103、将所述样本流量输入字符级循环神经网络char-RNN模型进行训练,得到目标模型,根据所述目标模型对网络流量进行识别。
其中,所述char-RNN模型为利用深度学习进行计算的字符级循环神经网络模型。
所述目标模型为本实施例训练得到的能够对网络流量进行识别的模型。
具体的,现有方法中缺乏能够自动获取应用程序(APP)完备操作行为流量样本的方法,本实施例提供的网络流量识别方法以预先训练好的R-CNN模型精准识别APP的动态操作行为信息,同时自动化地获取APP按键操作行为流量样本,用于流量识别模型的训练,以char-RNN模型挖掘流量特征,最终训练得到目标模型,能够识别出网络管道中混杂流量所对应的用户操作行为。
本实施例通过深度学习方法中R-CNN模型对应用程序的界面进行动态分析获取动态操作行为信息,弥补了代码静态分析获取操作行为的不足;根据操作行为类型不同,有针对性地触发,监听获取应用程序的流量并标定后作为样本流量,省时省力;并通过使用深度学习方法中的字符级循环神经网络char-RNN模型进行训练得到目标模型,以目标模型来识别网络管道中的混杂用户流量,以挖掘用户所使用的应用程序中的操作行为信息。
进一步地,在上述方法实施例的基础上,S101具体包括:
S1011、根据所述R-CNN模型的卷积层对所述应用程序运行过程中的界面进行多层卷积,获得所述界面的抽象特征图。
S1012、根据所述R-CNN模型的区域识别网络对所述抽象特征图进行卷积操作,提取得到待分类的特征区域。
S1013、根据所述R-CNN模型的分类器对所述特征区域进行分类,并识别得到所述特征区域内各对象的类型及各对象对应的文字描述信息。
其中,所述应用程序的动态操作行为信息包括各对象的类型及各对象对应的文字描述信息。
具体地,对于运行在纯净模拟器环境中的应用程序进行动态分析,挖掘并触发应用程序的操作行为;通过R-CNN模型对应用程序的UI界面进行对象识别,补充挖掘静态分析无法获取到的操作行为。同时,按照操作行为类型,对操作行为进行分类触发,并监听保存流量。
在实际应用中APP进行动态分析的流程示意图如图2所示,具体可以包括以下步骤:
A1、在纯净的模拟器环境中,使用模拟器调试adb命令自动安装APP,并根据静态分析获取到的主Activity信息,以adb命令,启动APP。
A2、在模拟器中,使用adb命令(adb screencap)或者其他截图工具,获取APP的UI交互界面截图。
A3、将获取到的UI交互界面截图输入到训练好的R-CNN模型进行图像分析,获取界面中的操作行为信息(内容、位置坐标、类型等);其中R-CNN包含三个部分:卷积层(convlayers)、区域识别网络(RPN,region proposal network)和分类器(classifier),具体分为四个子步骤:
A31、特征图获取:对输入的UI交互界面截图进行多层卷积,获得图片抽象特征图。
A32、特征区域划分:RPN网络对特征图进行卷积,提取出待分类特征区域,并对结果进行区域兴趣点池化(RoI pooling,region of interest pooling)筛选。
A33、特征区域分类:使用分类器(如SoftMax),对特征区域进行分类,最终输出特征区域内对象(及APP的操作行为)的类型以及图片内的文字描述信息。
A34、位置信息获取:将特征区域与原始图片进行图像比对,求取特征区域在图片中的位置(坐标信息)。
A4、将图像分析获得的APP操作行为信息与静态分析得到的操作行为信息,进行比对和补充,以获取完备的APP操作行为信息。
A5、使用adb命令,根据操作行为类型,对其进行分类触发,主要包含:划窗(adbinput swipe点1坐标点2坐标)、按键(adb input tap按键坐标)、内容输入(adb inputtext字符串内容),实现对APP操作行为的完备触发,同时记录操作行为的触发顺序以及时间戳等信息。其中,内容输入类操作行为的触发,需要配合按键操作触发,先点击文本框区域,再进行文本输入。同时,需要根据文本输入框或坐标附件的按键描述内容,有针对性地输入。例如:登录操作,需要在对应位置分别输入用户名和密码。
A6、在模拟器后台,启动流量监听进程(如tcpdump或其他流量监听工具),监听保存触发APP按键操作行为所产生的流量;
本实施例通过深度学习方法中R-CNN模型方法对APP的UI交互界面进行动态分析获取操作行为信息,弥补了代码静态分析获取操作行为方法的不足;且根据操作行为类型不同,有针对性地触发和监听获取APP按键操作行为流量样本。
进一步地,在上述方法实施例的基础上,S102具体包括:
根据当前的操作行为类型和所述动态操作行为信息,对所述应用程序的操作行为进行分类触发,记录操作行为的触发顺序和时间戳信息,监听分类触发后的流量,根据所述触发顺序或所述时间戳对所述分类触发后的流量进行分割,并对分割后的流量进行流量标定,得到样本流量。
具体地,通过输入为APP操作行为触发信息和触发APP所产生的流量,得到模型训练用的APP按键操作操作流量样本。在实际应用中APP进行样本标定的流程示意图如图3所示,具体可以包括以下步骤:
B1、根据APP操作行为触发信息(例如:时间戳)结合流量的会话流结构特点,对流量进行分割,不同流量片段对应不同的操作行为。
B2、根据APP组件触发信息,对分割好的流量片段进行标定,并保存成指定的形式,生成APP操作行为流量样本。
本实施例将APP按键操作行为流量样本获取部分的出口,用于将触发得到的APP流量与APP按键操作行为信息相关联,给流量打上标签label,生成测试样本,供后续深度模型的训练使用。
进一步地,在上述方法实施例的基础上,S103具体包括:
S1031、对所述样本流量进行分析,得到所述样本流量的关键字段内容、频繁字段和最长公共子序列。
S1032、对所述样本流量的结构进行分析,得到所述样本流量的包长序列、时间窗序列数据包之间的时间间隔序列和流量协议类型序列。
S1033、根据所述样本流量的关键字段内容、频繁字段、最长公共子序列、包长序列、时间窗序列数据包之间的时间间隔序列和流量协议类型序列,构建得到字符向量对应表。
S1034、将所述字符向量对应表中的字符输入所述char-RNN模型,根据多层感知机对输入的字符进行特征学习,得到目标模型。
S1035、根据所述目标模型对网络流量进行识别。
具体地,通过深度神经网络对APP操作行为对应的流量进行特征提取与语义计算,最终用于识别网络管道中的混杂用户流量。在实际应用中APP进行规则提取的流程示意图如图4所示,具体可以包括以下步骤:
C1、使用传统方法DPI或字符串匹配操作等方法,对流量内容进行分析,提取出内容特征,包括关键字段内容、频繁字段和最长公共子序列。
C2、使用传统的统计学方法结合DPI方法,对流量结构进行分析,提取出结构特征,包括包长序列、时间窗序列数据包之间的时间间隔序列以及流量协议类型序列。
C3、指定一个实数向量代表一个字符的语义,构建字符-向量对应列表,使用查找方法将字符序列转化成向量序列。字符的向量表示在训练过程中可以动态调整,使其更符合字符语义。
C4、传统的RNN模型是以word为单位,计算句子的语义。在流量内容中,通常是以字符的排列来表达特定的语义,无法划分成固定语义的word,故将一个字符作为基本单位,输入到RNN模型中计算流量中文本内容的语义。
C5、将结构特征的数字表示直接组合成向量表示,拼接到内容特征的语义向量表示后,作为后续操作的输入。
C6、使用多层感知机对流量的特征向量进行特征学习,计算将特征向量映射到不同的APP操作行为上的概率,将概率最大的作为用户操作流量识别结果。
本实施例将标定好的的APP操作行为流量样本,进行多层次特征提取,并输入到构建好的char-RNN-SoftMax操作行为流量识别模型中,挖掘流量内容文本与操作行为信息之间的隐含联系,训练模型。最终以训练好的模型,识别网络管道中的用户混杂流量。
进一步地,在上述方法实施例的基础上,S101之前,还包括:
S100、对应用程序的安装包文件进行反编译和静态分析,得到所述应用程序的所述静态操作行为信息;
相应地,S102具体包括:
根据预设的操作行为类型、所述静态操作行为信息和所述动态操作行为信息,对所述应用程序的操作行为进行分类触发,监听分类触发后的流量,并对所述分类触发后的流量进行流量标定,得到样本流量。
具体地,使用反编译技术和静态代码分析技术,对APP操作行为信息的进行静态获取。在实际应用中APP进行静态分析的流程示意图如图5所示,输入部分为APP安装包文件,即APK文件;输出为APP的操作行为信息,具体包括以下步骤:
D1、使用代码反编译技术,对APK文件(APP所对应的安装包)进行反编译,获取源码。
D2、使用代码分析技术,对获取到的APP源码,进行静态代码分析,获取代码逻辑。
D3、从APP源码部分中,提取APP的包名。
D4、从APP源码部分中,提取APP的入口Activity(APP操作行为在代码层面的载体)信息。
D5、从APP源码部分中,提取APP的子Activity信息。
本实施例通过反编译技术和代码分析技术,对APP安装包文件进行静态分析,提取APP的操作行为信息。
与现有技术相比,本实施例提供的方法创新性地提出通过深度学习方法中R-CNN模型对APP的UI交互界面进行动态分析获取操作行为信息,弥补了代码静态分析获取操作行为方法的不足;根据操作行为类型不同,有针对性地触发,监听获取APP按键操作行为流量样本;此外,创新性地提出使用深度学习方法中的字符级循环神经网络char-RNN模型,来挖掘隐含于APP按键操作行为信息与对应流量之间的关系,并将这种关系以模型参数形式,存储于模型内部;最终,以训练好的模型,识别网络管道中的混杂用户流量,挖掘用户所使用的APP按键操作行为信息。
图6示出了本实施例提供的一种网络流量识别装置的结构示意图,所述装置包括:对象识别模块601、行为触发模块602和模型训练模块603,其中:
所述对象识别模块601用于根据具有卷积神经网络特征的区域R-CNN模型对运行在纯净模拟器环境中的应用程序的界面进行对象识别,得到所述应用程序的动态操作行为信息;
所述行为触发模块602用于根据当前的操作行为类型和所述动态操作行为信息,对所述应用程序的操作行为进行分类触发,监听分类触发后的流量,并对所述分类触发后的流量进行流量标定,得到样本流量;
所述模型训练模块603用于将所述样本流量输入字符级循环神经网络char-RNN模型进行训练,得到目标模型,根据所述目标模型对网络流量进行识别。
具体地,所述对象识别模块601根据具有卷积神经网络特征的区域R-CNN模型对运行在纯净模拟器环境中的应用程序的界面进行对象识别,得到所述应用程序的动态操作行为信息;所述行为触发模块602根据当前的操作行为类型和所述动态操作行为信息,对所述应用程序的操作行为进行分类触发,监听分类触发后的流量,并对所述分类触发后的流量进行流量标定,得到样本流量;所述模型训练模块603将所述样本流量输入字符级循环神经网络char-RNN模型进行训练,得到目标模型,根据所述目标模型对网络流量进行识别。
本实施例通过深度学习方法中R-CNN模型对应用程序的界面进行动态分析获取动态操作行为信息,弥补了代码静态分析获取操作行为的不足;根据操作行为类型不同,有针对性地触发,监听获取应用程序的流量并标定后作为样本流量,省时省力;并通过使用深度学习方法中的字符级循环神经网络char-RNN模型进行训练得到目标模型,以目标模型来识别网络管道中的混杂用户流量,以挖掘用户所使用的应用程序中的操作行为信息。
本实施例所述的网络流量识别装置可以用于执行上述方法实施例,其原理和技术效果类似,此处不再赘述。
参照图7,所述电子设备,包括:处理器(processor)701、存储器(memory)702和总线703;
其中,
所述处理器701和存储器702通过所述总线703完成相互间的通信;
所述处理器701用于调用所述存储器702中的程序指令,以执行上述各方法实施例所提供的方法。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法。
本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种网络流量识别方法,其特征在于,包括:
根据具有卷积神经网络特征的区域R-CNN模型对运行在纯净模拟器环境中的应用程序的界面进行对象识别,得到所述应用程序的动态操作行为信息;
根据当前的操作行为类型和所述动态操作行为信息,对所述应用程序的操作行为进行分类触发,监听分类触发后的流量,并对所述分类触发后的流量进行流量标定,得到样本流量;
将所述样本流量输入字符级循环神经网络char-RNN模型进行训练,得到目标模型,根据所述目标模型对网络流量进行识别。
2.根据权利要求1所述的方法,其特征在于,所述根据具有卷积神经网络特征的区域R-CNN模型对运行在纯净模拟器环境中的应用程序的界面进行对象识别,得到所述应用程序的动态操作行为信息,具体包括:
根据所述R-CNN模型的卷积层对所述应用程序运行过程中的界面进行多层卷积,获得所述界面的抽象特征图;
根据所述R-CNN模型的区域识别网络对所述抽象特征图进行卷积操作,提取得到待分类的特征区域;
根据所述R-CNN模型的分类器对所述特征区域进行分类,并识别得到所述特征区域内各对象的类型及各对象对应的文字描述信息;
其中,所述应用程序的动态操作行为信息包括各对象的类型及各对象对应的文字描述信息。
3.根据权利要求1所述的方法,其特征在于,所述根据当前的操作行为类型和所述动态操作行为信息,对所述应用程序的操作行为进行分类触发,监听分类触发后的流量,并对所述分类触发后的流量进行流量标定,得到样本流量,具体包括:
根据当前的操作行为类型和所述动态操作行为信息,对所述应用程序的操作行为进行分类触发,记录操作行为的触发顺序和时间戳信息,监听分类触发后的流量,并对所述分类触发后的流量进行流量标定,得到样本流量。
4.根据权利要求3所述的方法,其特征在于,所述根据当前的操作行为类型和所述动态操作行为信息,对所述应用程序的操作行为进行分类触发,记录操作行为的触发顺序和时间戳信息,监听分类触发后的流量,并对所述分类触发后的流量进行流量标定,得到样本流量,具体包括:
根据当前的操作行为类型和所述动态操作行为信息,对所述应用程序的操作行为进行分类触发,记录操作行为的触发顺序和时间戳信息,监听分类触发后的流量,根据所述触发顺序或所述时间戳对所述分类触发后的流量进行分割,并对分割后的流量进行流量标定,得到样本流量。
5.根据权利要求1所述的方法,其特征在于,所述将所述样本流量输入字符级循环神经网络char-RNN模型进行训练,得到目标模型,根据所述目标模型对网络流量进行识别,具体包括:
对所述样本流量进行分析,得到所述样本流量的关键字段内容、频繁字段和最长公共子序列;
对所述样本流量的结构进行分析,得到所述样本流量的包长序列、时间窗序列数据包之间的时间间隔序列和流量协议类型序列;
根据所述样本流量的关键字段内容、频繁字段、最长公共子序列、包长序列、时间窗序列数据包之间的时间间隔序列和流量协议类型序列,构建得到字符向量对应表;
将所述字符向量对应表中的字符输入所述char-RNN模型,根据多层感知机对输入的字符进行特征学习,得到目标模型;
根据所述目标模型对网络流量进行识别。
6.根据权利要求1所述的方法,其特征在于,所述根据具有卷积神经网络特征的区域R-CNN模型对运行在纯净模拟器环境中的应用程序的界面进行对象识别,得到所述应用程序的动态操作行为信息之前,还包括:
对应用程序的安装包文件进行反编译和静态分析,得到所述应用程序的静态操作行为信息;
相应地,所述根据当前的操作行为类型和所述动态操作行为信息,对所述应用程序的操作行为进行分类触发,监听分类触发后的流量,并对所述分类触发后的流量进行流量标定,得到样本流量,具体包括:
根据当前的操作行为类型、所述静态操作行为信息和所述动态操作行为信息,对所述应用程序的操作行为进行分类触发,监听分类触发后的流量,并对所述分类触发后的流量进行流量标定,得到样本流量。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述操作行为类型包括划窗、按键或内容输入。
8.一种网络流量识别装置,其特征在于,包括:
对象识别模块,用于根据具有卷积神经网络特征的区域R-CNN模型对运行在纯净模拟器环境中的应用程序的界面进行对象识别,得到所述应用程序的动态操作行为信息;
行为触发模块,用于根据当前的操作行为类型和所述动态操作行为信息,对所述应用程序的操作行为进行分类触发,监听分类触发后的流量,并对所述分类触发后的流量进行流量标定,得到样本流量;
模型训练模块,用于将所述样本流量输入字符级循环神经网络char-RNN模型进行训练,得到目标模型,根据所述目标模型对网络流量进行识别。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至7任一所述的方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述网络流量识别方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711483710.4A CN109995601B (zh) | 2017-12-29 | 2017-12-29 | 一种网络流量识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711483710.4A CN109995601B (zh) | 2017-12-29 | 2017-12-29 | 一种网络流量识别方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109995601A CN109995601A (zh) | 2019-07-09 |
CN109995601B true CN109995601B (zh) | 2020-12-01 |
Family
ID=67110013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711483710.4A Active CN109995601B (zh) | 2017-12-29 | 2017-12-29 | 一种网络流量识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109995601B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220078208A1 (en) * | 2019-07-16 | 2022-03-10 | Cisco Technology, Inc. | Multi-protocol / multi-session process identification |
CN110222795B (zh) * | 2019-07-26 | 2021-10-01 | 广东工业大学 | 基于卷积神经网络的p2p流量的识别方法及相关装置 |
CN110781413B (zh) * | 2019-08-28 | 2024-01-30 | 腾讯大地通途(北京)科技有限公司 | 兴趣点确定方法及装置、存储介质、电子设备 |
CN111314161B (zh) * | 2019-11-01 | 2022-01-28 | 北京三快在线科技有限公司 | 一种流量识别方法和装置 |
CN110896381B (zh) * | 2019-11-25 | 2021-10-29 | 中国科学院深圳先进技术研究院 | 一种基于深度神经网络的流量分类方法、***及电子设备 |
CN111209475B (zh) * | 2019-12-27 | 2022-03-15 | 武汉大学 | 一种基于时空序列和社会嵌入排名的兴趣点推荐方法及装置 |
CN111355628B (zh) * | 2020-02-12 | 2023-05-09 | 博瑞得科技有限公司 | 一种模型训练方法、业务识别方法、装置和电子装置 |
CN111431819B (zh) * | 2020-03-06 | 2023-06-20 | 中国科学院深圳先进技术研究院 | 一种基于序列化的协议流特征的网络流量分类方法和装置 |
CN111711633B (zh) * | 2020-06-22 | 2021-08-13 | 中国科学技术大学 | 多阶段融合的加密流量分类方法 |
CN111988239B (zh) * | 2020-08-21 | 2022-07-15 | 哈尔滨工业大学 | 一种用于Android应用的软件纯净流量获取方法 |
CN112114803B (zh) * | 2020-08-25 | 2024-05-24 | 山东浪潮科学研究院有限公司 | 基于深度学习的ui界面的前端代码生成方法、设备及介质 |
CN111931871B (zh) * | 2020-09-27 | 2021-01-15 | 上海兴容信息技术有限公司 | 一种通信模式确定方法及*** |
CN114051061A (zh) * | 2021-11-09 | 2022-02-15 | 武汉虹旭信息技术有限责任公司 | 互联网应用协议分析方法及*** |
CN114338437B (zh) * | 2022-01-13 | 2023-12-29 | 北京邮电大学 | 网络流量分类方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104935600A (zh) * | 2015-06-19 | 2015-09-23 | 中国电子科技集团公司第五十四研究所 | 一种基于深度学习的移动自组织网络入侵检测方法与设备 |
CN107103758A (zh) * | 2017-06-08 | 2017-08-29 | 厦门大学 | 一种基于深度学习的城市区域交通流量预测方法 |
CN107256386A (zh) * | 2017-05-23 | 2017-10-17 | 东南大学 | 基于深度学习的人类行为分析方法 |
CN107392025A (zh) * | 2017-08-28 | 2017-11-24 | 刘龙 | 基于深度学习的恶意安卓应用程序检测方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150023161A1 (en) * | 2013-07-22 | 2015-01-22 | Seven Networks, Inc. | Modifying system timers for optimizing mobile traffic management |
-
2017
- 2017-12-29 CN CN201711483710.4A patent/CN109995601B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104935600A (zh) * | 2015-06-19 | 2015-09-23 | 中国电子科技集团公司第五十四研究所 | 一种基于深度学习的移动自组织网络入侵检测方法与设备 |
CN107256386A (zh) * | 2017-05-23 | 2017-10-17 | 东南大学 | 基于深度学习的人类行为分析方法 |
CN107103758A (zh) * | 2017-06-08 | 2017-08-29 | 厦门大学 | 一种基于深度学习的城市区域交通流量预测方法 |
CN107392025A (zh) * | 2017-08-28 | 2017-11-24 | 刘龙 | 基于深度学习的恶意安卓应用程序检测方法 |
Non-Patent Citations (4)
Title |
---|
"Malware Detection with Deep Neural Network Using Process Behavior";Shun Tobiyama,et al.,;《2016 IEEE 40th Annual Computer Software and Applications Conference》;20160825;全文 * |
"Network Traffic Classifier With Convolutional and Recurrent Neural Networks for Internet of Things";Manuel Lopez-Martin,et al.,;《IEEE Access》;20170906;第5卷;全文 * |
"基于卷积神经网络的网络流量识别技术研究";李勤等,;《四川大学学报(自然科学版)》;20170930;第54卷(第5期);第959-964页 * |
陈珉,." 基于Android平台的安全检测***".《中国优秀硕士学位论文全文数据库-信息科技辑》.2014, * |
Also Published As
Publication number | Publication date |
---|---|
CN109995601A (zh) | 2019-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109995601B (zh) | 一种网络流量识别方法及装置 | |
CN108021929B (zh) | 基于大数据的移动端电商用户画像建立与分析方法及*** | |
CN107315810B (zh) | 一种物联网设备行为画像方法 | |
CN109684803B (zh) | 基于手势滑动的人机验证方法 | |
US20200004815A1 (en) | Text entity detection and recognition from images | |
CN108416003A (zh) | 一种图片分类方法和装置、终端、存储介质 | |
CN109525508B (zh) | 基于流量相似性比对的加密流识别方法、装置及存储介质 | |
CN105740402A (zh) | 数字图像的语义标签的获取方法及装置 | |
JP2022088304A (ja) | ビデオを処理するための方法、装置、電子機器、媒体及びコンピュータプログラム | |
CN104808794A (zh) | 一种唇语输入方法和*** | |
CN111177462B (zh) | 视频分发时效的确定方法和装置 | |
CN105447147A (zh) | 一种数据处理方法及装置 | |
CN111901627B (zh) | 视频处理方法、装置、存储介质及电子设备 | |
CN111931809A (zh) | 数据的处理方法、装置、存储介质及电子设备 | |
CN110543506A (zh) | 数据分析方法、装置、电子设备及存储介质 | |
CN115941322B (zh) | 基于人工智能的攻击检测方法、装置、设备及存储介质 | |
CN112926621B (zh) | 数据标注方法、装置、电子设备及存储介质 | |
CN112507090A (zh) | 用于输出信息的方法、装置、设备和存储介质 | |
CN114385869A (zh) | 检测数据异常的方法、装置、存储介质及计算机设备 | |
US10217455B2 (en) | Linguistic model database for linguistic recognition, linguistic recognition device and linguistic recognition method, and linguistic recognition system | |
WO2016188334A1 (zh) | 一种用于处理应用访问数据的方法与设备 | |
CN111355628A (zh) | 一种模型训练方法、业务识别方法、装置和电子装置 | |
CN113705650B (zh) | 一种人脸图片集的处理方法、装置、介质和计算设备 | |
CN110909768A (zh) | 一种标注数据获取方法及装置 | |
CN113312451A (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 |