System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及自动化流量采集及分析领域,尤其是,主要涉及一种基于海量app流量采集及识别的方法。
技术介绍
1、随着移动互联网的发展,移动应用程序(mobile application或mobile app),常简称为应用程序(app,本文所述app即指代此)的数量和种类迅速增加,导致网络流量的复杂性和多样性不断提高。如何有效识别和分类这些流量,成为网络安全、流量管理和数据分析领域的重要研究方向。传统的流量识别方法主要依赖于特征匹配和统计分析,面对日益复杂的流量模式,已经难以满足高效、准确的识别需求。因此,基于人工智能的流量识别技术应运而生,利用机器学习和深度学习算法,能够更精确地分析和识别复杂的app流量模式。
2、现有技术中,流量识别主要通过深度包检测(dpi)、协议分析、域名、端口号和ip地址等特征进行识别。然而,随着加密技术的普及和网络流量的多样化,传统方法的准确性和效率遭遇瓶颈。尤其是移动应用的流量,其特征混淆和动态变化性使得传统方法难以有效处理。此外,手动配置特征和规则的方法,不仅繁琐且难以应对新型app的快速迭代。例如,公告号为cn118337717a的专利技术专利,公开了一种加密网络流量分类技术,但对于流量的分类粒度不够细致,其待分类流量的来源方法也不够详细;公告号为cn118138306a的专利,公开了一种基于机器学习的加密流量分类方法,但同样缺少对训练样本来源的精确描述。
3、因此,本专利技术引入对移动应用程序的自动化控制,自动提取、解析流量特征以及人工智能技术,通过机器学习和深度学习
技术实现思路
1、为克服现有技术中对app流量的识别过程中存在的耗费人力、杂项流量干扰严重、识别精度有限等问题,本专利技术提供一种采用自动化技术对app进行批量操作(包括但不限于安装、启动、点击、退出及卸载等)并抓取和保存其对应的流量,将流量数据进行清洗及进一步格式化处理后,通过人工智能技术对数据进行建模,并应用于后续预测和识别的系统。
2、根据本专利技术的一方面,提出了一种基于海量app流量采集及识别的方法,包括:
3、利用抓包程序获取app流量,形成流量数据文件,对所述流量数据文件进行预处理并提取关键流量特征,将所述关键流量特征分别整理成训练集和测试集,一并保存至数据库;
4、ai解析程序从所述数据库中读取所述训练集,进一步将所述训练集中的关键流量特征处理为适合人工智能模型的向量后,输入到所述人工智能模型进行模型训练和调整;
5、利用经过训练的人工智能模型对所述测试集中的关键流量特征进行分类和识别,从而实现对app流量的采集和识别。
6、进一步的,所述抓包程序为自动化python程序的处理流程,利用抓包程序获取app流量具体包括以下步骤:
7、运行抓包程序,加载配置文件,并进入应用市场模式或安装包模式;若进入的是应用市场模式,设备自动打开应用市场选择一个分类,自动点击第一个应用下载安装;若进入的是安装包模式,设备使用不同的命令安装安装包文件到设备;
8、应用安装完成后,自动开始流量抓取,所述流量来自与应用的交互;到达预设的交互时间后,卸载应用,结束流量抓取,将抓取到的流量数据保存为pcap文件;
9、清理应用缓存文件后,若是应用市场模式,自动打开应用市场下载安装下一个应用,若是安装包模式,自动安装下一个安装包文件。android端可采用tcpdump/iptables等工具对流量进行捕获,ios端可采用rvictl命令创建的虚拟接口,并通过tshark进行抓包,其中,tcpdump属于命令行工具,可以在unix/linux系统上捕获网络数据包。
10、进一步的,所述自动点击第一个应用下载安装和所述卸载应用均来自于自动化框架,所述自动化框架采用开源框架appium,通过特定api实现对移动设备的自动化操作,包括应用的安装、启动、点击、关闭及卸载。
11、进一步的,所述预处理主要用于对所采集的流量做数据清洗及格式整理;数据清洗的主要背景是不同的app可能调用了相同的代码集合(通常称为第三方sdk)进行开发,这些代码可能触发了相同的流量特征,从而导致对后期模型训练的干扰;对此,需要通过python代码对采集到的流量做初步过滤,以保留其独有特征;格式整理的主要作用在于后期的模型训练过程中必须将数据转化为模型能够接受的向量形式(包括但不限于将host/sni等域名信息作token化处理)。
12、进一步的,所述关键流量特征具体表示从流量数据文件中提取的关键数据组合,包括域名、端口、ip、数据包内容、协议类型和会话时序关系,不同的特征组合将影响后续模型训练的效果。
13、所述流量数据文件推荐保存为pcap格式文件,pcap格式是著名抓包工具wireshark所支持的一种流量数据的存储格式;将流量保存为pcap格式,既便于前期手动打开以检查程序抓取流量的正确性,也便于在python程序中调用支持解析pcap格式的代码库对文件进行解析。
14、进一步的,所述人工智能模型采用svm模型,具体公式如下:
15、
16、yi(wtxi+b)≥1
17、其中,w表示权重向量,wt表示w的转置,b表示偏置项,x表示输入的向量,xi表示输入向量中的第i个向量,i∈r,r表示从1开始的自然数,yi表示第i个向量的标签,取值为+1或-1。
18、所述人工智能模型在输入向量后进行模型训练和调整具体步骤为:
19、加载配置文件,根据所述配置文件选择程序的运行模式,包括:特征训练模式、模型训练模式和预测训练模式;
20、根据所述配置文件加载运行模式所对应的特征参数或模型,其中,若是特征训练模式,则加载模型,若是模型训练模式,则加载特征参数,若是预测判断模式,则加载模型和特征参数;
21、读取所述数据库中的训练集,进行预处理后调整为向量形式;
22、所述特征训练模式通过加载所述配置文件里定义的特征参数范围对模型进行调整;所述模型训练模式通过所述配置文件里指定的模型类型及选项,结合所述特征参数对模型进行训练,通过比较不同模型的预测效果以获得最优模型;所述预测判断模式通过所述配置文件里定义的特征参数及模型,对待预测流量进行处理并作出预测分类;
23、所述特征训练模式保存最优的特征参数;所述模型训练模式保存预测精度最优的模型;所述预测判断模式输出对应预测流量的判断结果。
24、所述人工智能模型在训练完不同的模式后app流量识别的具体步骤包括:所述测试集作为模型的输入数据,利用所述特征训练模式中保存的最优的特征参数作为输入参数,输入到所述模型训练模式中保存的预测精度最优的模型中,调用模型中所述预测判断模式,输出对应的预测结果。
25、人工智能模型除本文档来自技高网...
【技术保护点】
1.一种基于海量App流量采集及识别的方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的流量采集及识别的方法,其特征在于,所述利用抓包程序获取App流量具体包括以下步骤:
3.根据权利要求2所述的流量采集及识别的方法,其特征在于,所述自动点击第一个应用下载安装和所述卸载应用均来自于自动化框架,所述自动化框架采用开源框架Appium,通过特定API实现对移动设备的自动化操作,包括应用的安装、启动、点击、关闭及卸载。
4.根据权利要求1所述的流量采集及识别的方法,其特征在于,所述关键流量特征具体表示从流量数据文件中提取的关键数据组合,包括域名、端口、IP、数据包内容、协议类型和会话时序关系。
5.根据权利要求1所述的流量采集及识别的方法,其特征在于,所述人工智能模型采用SVM模型,具体公式如下:
6.根据权利要求1所述的流量采集及识别的方法,其特征在于,所述人工智能模型在输入向量后进行模型训练的具体步骤为:
7.根据权利要求1、5或6所述的流量采集及识别的方法,其特征在于,所述人工智能模型在训练完不同的模
8.一种计算机程序产品,其特征在于,其上存储有计算机程序,所述计算机程序在被处理器执行时实施如权利要求1-7中任一项所述的方法。
9.一种计算系统,其特征在于,包括处理器和存储器,所述处理器被配置为执行如权利要求1-7中任一项所述的方法。
...【技术特征摘要】
1.一种基于海量app流量采集及识别的方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的流量采集及识别的方法,其特征在于,所述利用抓包程序获取app流量具体包括以下步骤:
3.根据权利要求2所述的流量采集及识别的方法,其特征在于,所述自动点击第一个应用下载安装和所述卸载应用均来自于自动化框架,所述自动化框架采用开源框架appium,通过特定api实现对移动设备的自动化操作,包括应用的安装、启动、点击、关闭及卸载。
4.根据权利要求1所述的流量采集及识别的方法,其特征在于,所述关键流量特征具体表示从流量数据文件中提取的关键数据组合,包括域名、端口、ip、数据包内容、协议类型和会话时序关系。
5.根据权利要求1所述的流量采集及识别的方法,其特征在于,所述人工智能模型采用svm模型...
【专利技术属性】
技术研发人员:刘泽超,易子健,连志阳,凌渝,张若峰,吴鸿伟,毕永辉,
申请(专利权)人:厦门市美亚柏科信息安全研究所有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。