System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及机器学习与信息安全,尤其涉及一种基于决策树的app通信协议识别方法、装置及存储介质。
技术介绍
1、随着智能手机的不断更新和迭代,已有成千上万的用户成为智能手机的主人。据中国网络信息中心于2021年8月公布的《中国互联网络发展状况统计报告》显示,截至2021年6月,中国手机网民数量约为10.07亿。无论国外还是国内,智能手机越来越普及,在智能手机的操作系统中,安卓系统的使用比例在90%左右。从当前智能手机的使用频率之高来看,手机app通信协议的安全显得尤为重要。手机开发者需要考虑在用户使用过程中,能够有效保证用户的数据隐私不被泄露,确保这些关键性数据不会被其他非法分子所利用。
2、手机app客户端与服务器进行通信主要采用http协议和https协议,两者相比各有利弊,http协议更简单,访问效率更高,而https协议加入了ssl协议相对更安全,但传输速度相对较慢。开发者需要给用户建立一个安全的通信环境,在这里建议包含用户有关敏感信息的相关app在进行客户端与服务器端之间的网络数据通信的过程中采用https协议标准。然而,大多数的app仍然采用http协议或其他协议,这种不安全的通信的方式无疑给不法分子打开了一扇门,攻击者很轻易就可以掌握用户的隐私数据。由于使用app的用户数量之庞大,占用资源之多,很多用户会将隐私数据保存到app中,使得app能够很轻易就收集到用户隐私,造成了大量app用户隐私的安全隐患。同时使用https加密协议也不是绝对安全的,也可能出现一些安全隐患,比如rsa的安全隐患以及恶意流量
3、而传统的网络协议识别方法已经不能满足当前对app通信加密协议的识别,当前有很多app已经采取了加密协议作为客户端app与服务器的通信方式,从简单的端口号已经无法识别到加密后的关键信息。因此,对app通信协议进行针对性的识别分类与研究,具有非常重要的研究意义与价值。
技术实现思路
1、为此,本专利技术实施例提供了一种基于决策树的app通信协议识别方法、装置及存储介质,用于解决现有技术中传统的检测技术已经不能满足对app通信加密协议的识别研究的问题。
2、为了解决上述问题,本专利技术实施例提供一种基于决策树的app通信协议识别方法,所述方法包括:
3、s1:构建app通信协议分析系统框架,对app通信协议分析系统初始化;
4、s2:基于app通信协议分析系统框架,获取app通信数据包;
5、s3:对app通信数据包进行预处理,将预处理后的数据按比例划分为训练集与测试集,并标准化训练集,构建app通信协议识别分类模型;
6、s4:基于app通信协议类别集和app通信协议特征集构建app通信加密协议识别模型;
7、s5:通过统计信息获取app通信协议特征值,从中选取关键的特征;
8、s6:通过孤立森林对数据集中的噪声数据进行处理;
9、s7:根据c5.0选择器设置合适的参数对数据集进行测试,实现对app通信加密协议的识别。
10、优选地,所述app通信协议分析系统框架具体包括:
11、所述app通信协议分析系统包括数据包捕获模块、通信协议分析模块、异常检测模块及查询统计模块;
12、所述数据包捕获模块用于通过网络抓包技术对安卓app在实际进行网络数据的传输过程中所使用的具体通信协议进行捕获,并将捕获得到的协议数据包传递给通信协议分析模块;所述通信协议分析模块用于选择合适的决策树算法对捕获到的数据进行建模、训练和测试;所述异常检测模块用于将通信协议分析模块的输出结果以表格的形式展现给用户;所述查询统计模块用于将数据包捕获模块捕获到的数据进行统计,并将其数据可视化。
13、优选地,所述对app通信协议分析系统初始化的方法具体包括:
14、首先,将app通信协议分析系统的工作模式分为离线分析模式与实时分析模;在离线分析模式中,app通信协议分析系统直接从本地数据库中读取所要查询的内容,再利用决策树模型对查询到的数据进行分析;
15、其次,在实时分析模式中,app通信协议分析系统根据必要的过滤规则对安卓app的数据包进行捕获,捕获到的数据首先要先进行数据的预处理;
16、然后,将处理好的数据传递给通信协议分析模块,将分析后的结果存储到后台数据库中,以便异常监测模块的调用与分析;
17、最后,与事先制定好的审计规则进行比对,若符合该审计规则将其做出一个警报标记,将此标记添加至数据库monitor表中。
18、优选地,所述对app通信数据包进行预处理,将预处理后的数据按比例划分为训练集与测试集,并标准化训练集的方法具体包括:
19、利用fit_transform()函数对app通信数据包中的数据进行预处理;
20、利用函数包中的train_test_split()函数将预处理后的数据按比例划分为训练集与测试集;
21、利用standardscaler()函数使得每个样本数据维度的特征数据均值为0,方差为1。
22、优选地,构建app通信协议分类模型的方法具体包括:
23、首先要利用decisiontreeclassifier()函数进行模型初始化,然后利用model_tree.fit()函数对训练集和测试集进行拟合,接着使用决策树对测试数据进行类别预测,以评价模型的准确性,最后将决策树模型可视化。
24、优选地,所述基于app通信协议类别集和app通信协议特征集构建app通信加密协议识别模型的方法具体包括:
25、s41:检查捕获到的数据是否是单项协议数据流,若捕获到数据是单项协议数据流,则执行步骤s42;否则结束捕获;
26、s42:通过whois方式解析加密协议;
27、s43:通过域名网站查询加密协议对应的app域名;
28、s44:定义app通信协议特征集;
29、s45:构建所有协议数据流中每项的特征集;
30、s46:使用app通信协议类别集和app通信协议特征集构建app通信加密协议识别模型。
31、优选地,所述定义app通信协议特征集具体包括:
32、单项协议数据流:将单项协议数据流定义为一个五元组,即{源ip地址,目的ip地址,所使用到的协议,源端口,目的端口};
33、app通信协议类别集:app在通信过程中的协议类别集包含了所有类别的app通信协议,用向量x={x1,x2,…,xi,…,xn}表示app通信协议类别集合,其中x1,x2,…,xi,…,xn表示app的具体通信协议类别;
34、app通信协议特征集:app通信协议特征集能够区分不同app通信协议类别,用向量y={y1,y2,…,yj,…,yn}表示,其中yj表示第j个通信协议特征属性;
35、app通信协议本文档来自技高网...
【技术保护点】
1.一种基于决策树的APP通信协议识别方法,其特征在于,包括:
2.根据权利要求1所述的基于决策树的APP通信协议识别方法,其特征在于,所述APP通信协议分析系统框架具体包括:
3.根据权利要求2所述的基于决策树的APP通信协议识别方法,其特征在于,所述对APP通信协议分析系统初始化的方法具体包括:
4.根据权利要求1所述的基于决策树的APP通信协议识别方法,其特征在于,所述对APP通信数据包进行预处理,将预处理后的数据按比例划分为训练集与测试集,并标准化训练集的方法具体包括:
5.根据权利要求1所述的基于决策树的APP通信协议识别方法,其特征在于,构建APP通信协议分类模型的方法具体包括:
6.根据权利要求1所述的基于决策树的APP通信协议识别方法,其特征在于,所述基于APP通信协议类别集和APP通信协议特征集构建APP通信加密协议识别模型的方法具体包括:
7.根据权利要求6所述的基于决策树的APP通信协议识别方法,其特征在于,所述定义APP通信协议特征集具体包括:
8.根据权利要求1所述的基于
9.一种电子装置,其特征在于,所述电子装置包括处理器、存储器和总线系统,所述处理器和存储器通过该总线系统相连,所述存储器用于存储指令,所述处理器用于执行存储器存储的指令,以实现权利要求1至8任意一项所述的基于决策树的APP通信协议识别方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机软件产品,所述计算机软件产品包括的若干指令,用以使得一台计算机设备执行权利要求1至8任意一项所述的基于决策树的APP通信协议识别方法。
...【技术特征摘要】
1.一种基于决策树的app通信协议识别方法,其特征在于,包括:
2.根据权利要求1所述的基于决策树的app通信协议识别方法,其特征在于,所述app通信协议分析系统框架具体包括:
3.根据权利要求2所述的基于决策树的app通信协议识别方法,其特征在于,所述对app通信协议分析系统初始化的方法具体包括:
4.根据权利要求1所述的基于决策树的app通信协议识别方法,其特征在于,所述对app通信数据包进行预处理,将预处理后的数据按比例划分为训练集与测试集,并标准化训练集的方法具体包括:
5.根据权利要求1所述的基于决策树的app通信协议识别方法,其特征在于,构建app通信协议分类模型的方法具体包括:
6.根据权利要求1所述的基于决策树的app通信协议识别方法,其特征在于,所述基于app通信协议类别集和app通信协议特征集构建ap...
【专利技术属性】
技术研发人员:周自强,闫科霖,朱睿,高伟,景峰,
申请(专利权)人:国网山西省电力公司电力科学研究院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。