基于随机森林的协议加密算法类型识别方法技术

技术编号:21899272 阅读:35 留言:0更新日期:2019-08-17 18:36
本发明专利技术公开了一种基于随机森林的协议加密算法类型识别方法,所述方法包括如下步骤:(1)从HTTPS数据流中提取加密应用数据,分析提取密文特性并构建特征;(2)将训练集输入到包含10棵C4.5决策树的随机森林中,每棵决策树使用自助采样法选取训练子集;(3)用训练子集训练随机森林的决策树;(4)当所有决策树训练完毕后,选择结点上占比最大的加密类型作为该结点的加密类型;(5)将测试集输入到使用HTTPS协议应用密文训练的随机森林模型中;(6)随机森林中的每棵决策树给出分类结果,依据相对多数投票法则选出最终的分类结果。该方法可以对互联网上的加密应用数据进行初步的分析,分析其加密算法类型。

Type Recognition Method of Protocol Encryption Algorithms Based on Random Forest

【技术实现步骤摘要】
基于随机森林的协议加密算法类型识别方法
本专利技术属于网络信息安全领域,涉及一种对互联网上存在应用层加密的加密算法类型识别的方法。
技术介绍
近年移动终端的逐渐普及和网络的蓬勃发展催生了新型互联网结构的诞生,促进了网络流量的增长。在如此庞大的网络背后,对网络流量的有效监管是网络安全保护的基石。用户在网络应用上保存了大量隐私信息,尤其是在网上支付、社交网络等应用上,这些信息若被恶意流量或应用泄露,将会对用户个人信息安全造成极大威胁,故对于用户信息的保密尤为重要,现今许多互联网流量都对上层数据进行了加密。但是对于网络监管来说,必须要对各个应用进行规范和督查,因此,对于线上加密流量的分析尤为重要。用户主要产生的流量大致来源于分享音乐、视频等文件,浏览网络上的网页,收发电子邮件,社交中的聊天、视频等操作,网上购物等。网页、邮件内容主要是通过HTTP、HTTPS、SMTP、POP3协议进行传输,其中HTTPS、SSH协议涉及到加密流量的传输,用以保证用户信息的安全传输。许多流量都采用了加密应用数据的方法来保证用户信息在链路传输时的安全性,例如Skype、HTTP、SSH等。对于加密应用数据来说,对该部分数据文本特征进行分析,与一定的算法相结合,可以识别出密文的具体加密算法。对于加密数据的研究现在也逐渐引入了机器学习算法。Alshammari等使用了聚类方法来识别VoIP流量,改变以往基于IP地址、端口的方式,采用流特征的方式较好的识别了GTalk、Skype流量,引入了C4.5决策树、遗传编程等算法,在着重分析了加密流量的属性特征基础上,实现了对加密流量的有效分类。对于加密的SSH协议,Dusi等使用了GMM算法、SVM算法,以数据流的包大小、方向为特征对协议流量进行识别,并取得了较好的成果。李继中等将基于贝叶斯决策与加密算法的识别模型相结合,针对密码算法指令条数、子程序指令使用频度和基本连续块信息频度等方式来实现加密算法的度量,针对加密软件MD5calculator、keygen等,成功的识别出了上述加密软件中的核心加密算法。吴杨等使用改进型K-Means算法对由AES、Camellia、DES、3DES等加密算法加密的文件内容进行初始聚类划分,最终识别的精确率超过85%,取得了较好的实验成果。将机器学习的算法思想与加密算法识别相结合有着一定的优势:首先,以数据流为单位的特征无法被隐藏,即使通过加密,也能通过对数据流进行一定的辨别和归类;其次,统计特征是对整体数据流进行分析得到的,不需要对所有数据包逐个进行深层包处理和高层应用协议识别,可以加快协议的识别效率。
技术实现思路
本专利技术的目的是提供一种基于随机森林的协议加密算法类型识别方法,该方法可以对互联网上的加密应用数据进行初步的分析,分析其加密算法类型。本专利技术的目的是通过以下技术方案实现的:一种基于随机森林的协议加密算法类型识别方法,包括如下步骤:步骤一、训练阶段:(1)从HTTPS数据流中提取加密应用数据,分析提取密文特性并构建特征,组成具有M维的特征F={f1,f2,...,fM},M=11,通过该方式将原始数据处理为可以被随机森林识别的数据集,数据集包括训练集和测试集两个部分;(2)将训练集输入到包含10棵C4.5决策树的随机森林中,每棵决策树使用自助采样法选取训练子集T′,自助抽样法的使用会随机从训练集中抽出一部分子集,从而针对每一棵子树训练出不同的决策树;(3)每棵决策树在训练时,随机丢弃部分特征维度,使用剩下的特征F′进行信息增益比的判断,直到每个结点上的样本个数小于阈值;(4)当所有决策树训练完毕后,选择结点上占比最大的加密类型作为该结点的加密类型,其中:决策树训练完毕的标志为每棵树的节点在样本点纯度上都达到给定的要求;步骤二、测试阶段:(1)由于测试集中存在多种不同类型的协议,而本方法针对HTTPS协议进行进行分析,故将测试集按照不同协议类型分开,针对其中的HTTPS协议,作为随机森林测试集;(2)将测试集的样本数据输入到使用HTTPS协议应用密文训练的随机森林模型中;(3)随机森林中的每棵决策树给出分类结果,依据相对多数投票法则选出最终的分类结果。相比于现有技术,本专利技术具有如下优点:本专利技术针对流量应用数据所使用的加密算法类型的识别,提出了基于随机森林的算法模型。若直接对所有网络数据进行加密算法类型识别,由于非加密应用数据的存在,不仅影响识别效果的准确性,也会因为处理了太多的无关数据影响到算法的执行效率。因此,本专利技术提出的加密算法类型识别模型建立于对各类协议初步分类的基础之上,在不同的协议类别中针对其中进行了应用数据加密的协议类别,依据协议流特性对其密文进行特征构建,建立随机森林算法模型对不同的加密算法进行分类。分类方法建立在聚类算法的基础上,规避了未加密的应用数据,既减少了算法处理的数据量,也可以得到更好的识别结果。附图说明图1是html文本图。图2是随机森林算法流程图。图3是本专利技术整体算法流程图。具体实施方式下面结合附图对本专利技术的技术方案作进一步的说明,但并不局限于此,凡是对本专利技术技术方案进行修改或者等同替换,而不脱离本专利技术技术方案的精神和范围,均应涵盖在本专利技术的保护范围中。本专利技术第一步将对应用密文进行分析和处理,通过对不同密文的分析,可以得知密文由乱码字符、字母、数字组成,对于使用不同加密算法创建的密文,密码文本中的乱码、字母、数字等字符分布存在着一定差异。本专利技术主要针对HTTPS协议的应用数据进行密文分析。HTTP中传输的数据使用ASCII码表示,文件中大部分字符为字母,少部分为数字和换行符等控制字符。html文本如图1所示。除了对密文各类数字、字母、非ASCII码字符出现的频率分析之外,本专利技术增加随机性检测方案的分析方法。分析方法如下:码元频数检测是以二进制方式读取ASCII编码类型的密文流,对于二进制密文序列中的0、1的出现频率进行检测,计算时首先将密文流E={e1,e2,...,en}进行变换,变换为X={x1,x2,...,xn},变换公式如公式(1)所示:xi=2ei-1(1)。进行变换后,对X逐位求和,将每一位的xi值相加,并将结果规格化,计算公式如式(2)所示:游程检测以二进制读取密文流,针对二进制密文流中连续的0、1位进行检测,主要的判断依据为当前位和后继位是否相等,以r(k)表示第k位和第k+1位是否相等,若相等该值为1,反之为0,计算公式为公式(3)所示:块内频数检测以二进制读取密文流,用于检测密文流分组内部0和1的出现频率,分组长度的选择与加密算法的分组相同,通常为64比特,计算时首先要将密文流以分组为单位分开,由于加密时就对最后一个不满足分组长度的数据段进行了扩充,所以对于加密数据,其长度一定可整除检测分组。将密文流分为长度为M的N个分组,在每一块分组中,统计比特1出现的比例(mj代表当前位是否为1),计算公式如公式(4)所示:基于上述公式和经验判断,采用的特征为各种类型字符所占比例,最终将特征定义为表1所展示的特征。表1不同加密算法在某部分较为接近,这是由于加密过程中一般遵循了扩散和混乱的原则。但如果加密数据完全遵循随机原则,那么对于密文的解密将无从下手,故加密的密文仍是“有规律”、“可逆转”的扩散和混本文档来自技高网
...

【技术保护点】
1.一种基于随机森林的协议加密算法类型识别方法,其特征在于所述方法包括如下步骤:步骤一、训练阶段:(1)从HTTPS数据流中提取加密应用数据,分析提取密文特性并构建特征,组成具有M维的特征F={f1,f2,...,fM},M=11,通过该方式将原始数据处理为可以被随机森林识别的数据集;(2)将训练集输入到包含10棵C4.5决策树的随机森林中,每棵决策树使用自助采样法选取训练子集T′;(3)每棵决策树在训练时,随机丢弃部分特征维度,使用剩下的特征F′进行信息增益比的判断,直到每个结点上的样本个数小于阈值;(4)当所有决策树训练完毕后,选择结点上占比最大的加密类型作为该结点的加密类型;步骤二、测试阶段:(1)将测试集按照不同协议类型分开,针对其中的HTTPS协议,作为随机森林测试集;(2)将测试集的样本数据输入到使用HTTPS协议应用密文训练的随机森林模型中;(3)随机森林中的每棵决策树给出分类结果,依据相对多数投票法则选出最终的分类结果。

【技术特征摘要】
1.一种基于随机森林的协议加密算法类型识别方法,其特征在于所述方法包括如下步骤:步骤一、训练阶段:(1)从HTTPS数据流中提取加密应用数据,分析提取密文特性并构建特征,组成具有M维的特征F={f1,f2,...,fM},M=11,通过该方式将原始数据处理为可以被随机森林识别的数据集;(2)将训练集输入到包含10棵C4.5决策树的随机森林中,每棵决策树使用自助采样法选取训练子集T′;(3)每棵决策树在训练时,随机丢弃部分特征维度,使用剩下的特征F′进行信息增益比的判断,直到每个结点上的样本个数小于阈值;(4)当所有决策树训练完毕后,选择结点上占比最大的加密类型作为该结点的加密类型;步骤二、测试阶段:(1)将测试集按照不同协议类型分开,针对其中的HTTPS协议,作为随机森林测试集;(2)将测试集的样本数据输入到使用HTTPS协议应用密文训练的随机森林模型中;(3)随机森林中的每棵决策树给出分类结果,依据相对多数投票法则选出...

【专利技术属性】
技术研发人员:杨武
申请(专利权)人:哈尔滨英赛克信息技术有限公司
类型:发明
国别省市:黑龙江,23

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1