研究文章|开放获取
石建涛,于向战,刘泽超, "无处隐藏:一种新的私有协议识别算法",安全及通讯网络, 卷。2021, 文章的ID6672911, 10 页面, 2021. https://doi.org/10.1155/2021/6672911
无处隐藏:一种新的私有协议识别算法
摘要
近年来,随着移动互联网和5G技术的快速发展,给我们的生活带来了巨大的变化,人类已经进入了大数据时代。5G中的这些新功能和技术为用户提供了许多不同类型的移动应用程序,这使得网络安全非常具有挑战性。其中,越来越多的应用涉及到用户的隐私数据,如位置信息、财务信息、生物信息等。为了防止用户的隐私泄露,大多数应用程序选择使用私有协议。然而,这种私有协议也为恶意软件和恶意应用程序提供了窃取用户隐私和机密数据的手段。从更安全的角度来看,我们需要提供一种方法,让用户知道有多少私有协议在他们的手机上运行,并区分哪些是授权的应用程序,哪些不是。因此,私有协议的分析与识别成为当前研究的热点。如何有效地提取网络协议的特征,准确地识别私有协议成为本研究的重要内容。本文将遗传算法和关联规则算法相结合,提出了一套针对未知协议的特征提取算法和协议识别算法。基于实际数据的实验分析表明,这些方法能够有效地解决未知协议的特征提取和识别问题,大大提高了私有协议识别的准确性。
1.介绍
近年来,互联网的快速发展,特别是移动互联网和5G技术,给我们的生活带来了巨大而深远的影响。手机上的互联网应用已经成为人类生活中不可缺少的一部分,是人们交流信息、处理数据的重要方式。这些信息可能来自个人、公司甚至政府,可能与个人、公司或国家的隐私数据有关。为了防止用户的隐私泄露,大多数应用程序选择使用私有协议。通信协议的私营化使得通信路由上的中间节点难以直接获取传输内容。此外,私有协议一般还采用多层加密技术,以密文的方式防止用户的隐私数据在通信过程中被泄露。可见,正确使用私有协议对用户隐私是相对安全的。不幸的是,一些非法用户和恶意软件也在数据传输中使用私有协议。由于这些恶意软件和非法服务的隐蔽性,用户无法知道他们在传输什么。大量此类私有协议正在非法窃取个人用户和企业用户的私有数据。 Therefore, from the perspective of security, we need to provide a way for users to know how many private protocols are running on their mobile phones and distinguish which are authorized applications and which are not. It is necessary to track and detect the network traffic and private protocol, understand the source and destination of user’s personal data, analyze the characteristics of different network information, and effectively help us adjust the network.
私有协议的分析与识别已成为当前研究的热点。如何有效地提取网络协议的特征,准确地识别私有协议成为本研究的重要内容。对传统的网络流量识别和协议识别进行了大量的研究。最常用的方法是深度包检测(Deep Packet Inspection, DPI)。这种DPI技术需要事先获取检测内容的特征,然后根据特征对消息进行检测。对于未知的协议,目前的反向分析方法和协议识别方法通常是手工完成的。然而,随着专网协议和应用的日益增多,以及专网协议二进制设计带来的复杂性,手工提取数据特征的方法效率极其低下,分析结果的准确性难以保证。更严重的是,对于传统的人工检测方法,仍然缺乏必要的自动验证方案来检查识别的准确性。
因此,如何有效地提取专网协议的特征已成为当前研究的重中之重。协议识别技术主要包括以下几个方面:基于固定端口的协议识别技术[1,基于流量加载的协议识别技术[2,基于机器学习的协议识别技术[3.,以及基于格式反向分析的识别技术[4- - - - - -6].前两种技术通常用于识别已知协议,第三种技术可用于识别已知协议和未知协议,第四种技术用于识别未知协议。
本文系统地分析了现有的协议识别和分析方法,将遗传算法和关联规则算法相结合,提出了一套针对私有协议的特征提取和协议识别算法。然后,针对该协议难以提取有效固定特征的问题,提出了一种基于遗传规划的常规特征提取算法。有效地解决了未知协议的特征提取和识别问题,提高了协议识别率的准确性。本文的主要工作如下:(1)本文首先总结了协议识别和协议反向分析的相关方法,比较了各种方法的优缺点,然后介绍了信息理论、模式匹配、数据挖掘算法、遗传规划等相关概念。(2)提出了一种完整的私有协议特征提取和协议识别算法。主要过程包括数据预处理、数据流块切割、频繁模式多级过滤、周期性特征生成和基于关联规则的特征验证。本文对各算法进行了详细的设计和实验,并根据实际数据分析了特征提取的实际意义,取得了良好的实验结果。(3)最后,根据遗传规划的相关算法和正则表达式的特点,提出了一种基于树遗传规划的正则特征提取算法。该方法通过遗传迭代获得较好的规则特征。
2.相关的工作
首先,协议识别域根据不同的端口对协议进行分类。然而,随着Internet的发展,出现了许多新的协议,这些协议往往采用动态端口号。此外,大量的网络攻击流量和恶意代码故意使用普通端口来躲避流量检测,给传统的基于端口的协议识别带来了挑战[7,8].这种协议识别的准确率越来越低,基于端口的协议识别技术几乎已经过时。随后,基于负载的流量识别技术DPI (Deep Packet Inspection)应运而生[9- - - - - -12].DPI技术首先根据目标流量提取特征,获取流量有效载荷的特征字符串;根据特征进行串匹配。如果网络流量中出现了相应的特征字符串,则识别出具体的协议;否则,它就不是。基于负载的协议识别技术的准确性与特征串的准确性成正比。因此,使用DIP技术的前提是获取协议的准确指纹信息。传统的指纹提取和维护往往严重依赖人工,效率很低。此外,由于DPI技术需要对每个数据流进行字符串匹配,因此会消耗大量的空间和时间。在遗传学方面,研究人员使用多序列比较技术提取DNA中相似的片段[4],而在协议反向工程中,具有特定格式的消息字段也从大量消息中提取出来。由于这种相似性,研究人员经常将多序列比较技术应用于协议格式推断,通过提取消息中的变量和不可变字段来获取协议消息的格式信息[13,14].随着机器学习的发展,基于机器学习的协议识别逐渐成为协议识别领域的一个重要方向。在协议识别技术领域,对流量数据进行标定是非常必要的。由于基于机器学习的流量识别技术不需要分析负载内容,因此应用范围更广,对加密协议具有良好的识别效果。基于机器学习的协议识别技术可分为两类。一种是基于监督学习的协议识别技术[15],该技术需要标记训练样本,对模型进行持续训练,并通过迭代优化结果,以达到最高的识别率。另一种是无监督学习的协议识别技术,它不需要标记的训练样本[16].
上述算法在互联网发展的不同阶段都发挥了重要作用,其中基于端口的方法已经逐渐被淘汰。基于负载和基于测量的算法仍然是未来协议识别领域的两个热点。
3.整个算法架构
本文在分析未知协议特征提取研究现状的基础上,提出了一套未知协议特征提取算法。数字1描述了未知协议特征提取与识别算法的总体框图。可以清楚地看到,该算法包括三个过程。首先是数据的准备和预处理过程,包括数据的采集和划分。将数据随机分为实验集和测试集,为后续特征提取和特征验证准备数据。二是特征提取过程,这是算法的核心部分,包括数据分割模块、特征滤波模块、特征权重分配模块和规则特征提取模块。数据分割模块和特征选择模块主要是将数据流切割成承载信息载荷的定长块。的N采用-gram算法进行数据分割,利用Jaccard系数确定过滤短频繁模式的阈值。利用阈值对低频模式串进行滤波,利用模式串的位置熵和信息增益对模式串进行滤波。特征权值分配模块在频繁模式集的基础上,利用遗传算法对模式集上的每个模式串进行权值分配,进而对模式串进行过滤。规则特征提取模块通过挖掘同一类别下的模式字符串之间的多个关联规则,根据关联关系生成正则表达式特征。最后一部分主要对第二阶段得到的特征进行验证,主要采用以下两种方法:基于模式匹配的特征验证和基于聚类算法的特征验证。通过这两种特征验证方法来判断特征提取的优缺点。
4.关键算法
4.1.流分割算法
结合的缺点N-gram,本文提出了一种改进方法N-gram算法使用多个滑动窗口(1,2,…,N);同时记录gram的位置信息,便于后续的特征融合和特征之间的关联规则分析,最终得到具有位置和频率的候选特征模式集(算法1.
|
利用上述算法提取带有位置信息的频繁模式集。结果模式集中的每个项都是长度为1−的固定长度模式字符串n.然而,由于采用了多重滑动窗N-gram在数据分割中,模式之间必须有一定的重叠。因此,频繁模式集中存在冗余,需要进行模式融合。根据特征项的未知信息及其频率信息,将具有冗余子串的特征项与位置差等于冗余子串长度的特征项进行组合,得到融合后的特征模式集。
如果协议分片时获得的频繁模式集包含“42ad”、“2ad2”、“c200”三个模式,且这三个特征串的位置相近,则频率差不大,其差值位置均为1。很明显,“42ad”和“2ac2”包含了“2ad”的冗余字符串,而冗余字符串恰好是前一个字符串的后缀和后一个字符串的前缀。合并后的字符串“42ad2”可能是本协议的特征字符串。同样,“2ac200”也可能是该协议的特征字符串,合并后的两个特征字符串将进一步合并,得到“43ac200”。
对于字符流类的一些协议,本文采用了使用固定分隔符(如“,”;“”;”n”;市场细分等)。分词后的位置不同于分词后的位置N-gram算法,但单词的位置在行中。该方法有效地解决了字符类协议,类似于HTTP协议。
4.2.屏幕功能算法
后N-gram数据进行分割,得到候选特征模式集,从特征集的特征中可以看出,该特征集中存在大量冗余和无用的特征。因此,需要进行特征筛选。一方面,为了提高算法的时间效率,需要筛选出无用的特征,并对特征集进行降维,以便后续分析;另一方面,在过滤掉无用的特征后,可以有效地提高特征的准确性。最后,通过更精确的特征集对协议进行识别。
每个数据流被分割成固定长度的数据字符串集。我们将这些集合随机分成两个相等的部分。理论上,经过统计,两者之间的相似性应该是非常高的。但如果存在噪声串,则两个样本数据的相似性会降低。因此,如果在计算过程中删除这些冗余字符串,计算结果将得到相应的改善。为了减少冗余字符串的影响,可以对频率低于阈值的字符串进行预先滤波。这确保了两个样本集更加相似。在实验中,应根据不同的情况选择不同的阈值,并分别计算通过阈值过滤后的两组Jaccard系数。这样,当Jaccard系数达到最大值时,两个集合的相似度最高。相应的阈值为本文需要确定的频率阈值。 Finally, according to this threshold, the pattern whose frequency is less than this threshold is eliminated for the subsequent operation.
根据协议流数据的特点并结合结果进行了分析N-gram实验时,雅卡尔系数需要重新定义,具体如下:
将整个协议流数据集设置为dataset,然后执行N-gram对整个数据集进行分割,将结果随机等分为大小相同的两个子集DataSet1和DataSet2,然后根据每个模式字符串出现的频率降序排列模式字符串。两个排序后的数据集可以如下所示: 在哪里θ我表示集合中每个特征的频率。根据以上集合,本文可以具体定义Jaccard系数。定义如下式所示:
从方程(2),与原Jaccard系数相似,重新定义的Jaccard系数的值也在0到1之间。由公式可以看出,两个集合越相似,值越大,值越小。计算出的雅卡尔系数的伪代码在算法中给出2.
|
根据上述算法,可以得到相应的最大Jaccard值的频率,并将该频率设置为滤波阈值,根据该阈值可以对频繁模式集进行滤波。
4.3.正则表达式提取算法
在未知协议流中,存在定位模式字符串和模糊字符串。正则表达式自动提取算法的最终结果是生成一个正则树,将固定字符串和模糊字符串连接在一起。遗传规划算法采用树编码方法,种群中的每一个个体都是有效的正则表达式树,树中的非叶节点设置为正则表达式操作符:(1)连接节点”。,”来connect leaf nodes or other nodes(2)数量修饰符包括“∗+”、“++”和“?”+”(3)集团运算符“()”(4)分割器是“|”,这意味着两个节点进行或操作
树上的叶子如下:(1)字符、数字或通用符号(2)字符范围,如" [一个- - - - - -Z)”和“(一个- - - - - -z)”(3)字符类符号,如“”和“d”(4)通配符,如"。"
通过随机初始化得到初始种群,通过染色体间交叉变异和随机组合搜索全局空间,通过适应度函数实现“超越”的整个算法过程。
4.4.算法的合理性验证
从本文中可以看出,如果遗传规划经过一定的迭代次数后能够收敛到稳定状态,那么应用本章的问题将会收敛到一个更“有代表性”的正则表达式。因此,证明算法的合理性就是证明上述假设。为了解决上述问题,我们需要引入一个马尔可夫链,其定义如下:(1)符号表示时刻不同状态的概率t(2)符号表示状态转移矩阵,其中表示从我第一个状态jth状态(3)马尔可夫链在时刻的状态值t+ 1只与时刻的状态有关t可以用一定的概率表示: (4)如果有自然数k使矩阵中的所有元素大于0,那么叫做质数矩阵
定义1。让C,米,年代是概率转移矩阵,其中所有列中必须有一项大于0年代,以及所有的元素米大于0;那么产品CMS中的所有元素都大于零。
定义2。状态转移矩阵是质数矩阵。作为k趋于无穷时,收敛于
,在哪里
为独立于初始状态的唯一值,且所有元素均大于0。这实际上是由马尔可夫链稳态定理决定的。
在证明中,整个人口的状态被视为一种状态年代将选择操作、交叉操作和变异操作的概率组合成一个概率转移矩阵。一般情况下,0 << 1,0≤≤1,设米,C,年代,分别表示变异、交叉、选择操作引起的概率转移,因此得到总体概率转移矩阵
.
概率米我,j种群状态的演化年代我来年代j在个体变异为下式后:
在上式中,h是两个种群中每个个体具有不同值的基因数量之和,由此可以得出结论吗米是质数矩阵。
通过个体选择操作,我们假设种群状态的概率年代我保持不变的是年代我,j,定义如下式所示:
所有列年代必须有一个大于0的元素。根据定义1,我们知道概率转移矩阵是质数矩阵。
在分析传统的优化算法时,首先要考虑的问题是优化算法是否能收敛到全局最优点。假设全局最优点的适应度值为maxf,定义全局最优点的收敛性为
根据定义2,可以知道,典型的遗传算法将收敛到一个所有总体状态概率都大于0的概率分布。每次迭代得到的种群最终会对个体具有最高的评价值。不断的寻找最优解的练习会使上述公式成立,最终我们会得到整个搜索空间的最优解。
5.实验
5.1.环境设置
本节将对上述提出的算法进行验证,测试私有协议特征提取算法的可行性和有效性,获得算法操作的效率。本算法的测试环境如表所示1.
|
||||||||||||||
实验中的数据源分为两部分:已知的协议数据和未知格式的协议数据。已知的协议数据是从DARPA-2000数据集中选择的。该数据集包含58种典型的攻击数据流。这些流可以分为五种典型的攻击类型:DOS、U2R、Probe、R2L和Data。作为最全面的协议数据集之一,该数据集被广泛应用于入侵检测、协议分析、协议识别等领域。在我们的实验中,从实验数据中选择了三种已知的协议,ARP协议、ICMP协议和HTTP协议。
对于其他类型的未知协议,主要从Linux下的多个日志系统中抓取报文。然后通过数据预处理模块获取私有协议数据帧。然后对日志传输过程中使用的私有协议进行特征提取和验证。从而验证了本文方法的有效性。本文使用的未知格式协议数据是通过FASP协议传输的数据。作为一种高效的大数据传输技术,FASP协议在各种广域网传输速度测试中表现良好,已被应用于生命科学、云计算、媒体等多个不同领域。由于FASP协议是专利协议,协议的格式不公开,其传输的数据格式也不公开,因此协议数据适合用作系统的测试数据。
5.2。实验结果
5.2.1。数据流分割实验
首先对实验数据头进行处理,获得有效的实验数据。实验使用了FASP、HTTP、ARP和ICMP协议。对于数据分割算法,计算上述四种协议的Jaccard系数,计算阈值如图所示2- - - - - -5.横坐标为频率,纵坐标为雅卡尔系数。
我们可以看到,当四个协议的Jaccard系数最高时,对应的频率阈值是不同的。当Jaccard系数达到最大值时,ARP协议的阈值约为600,FASP协议的阈值峰值约为2200,ICMP协议的阈值为700,HTTP协议的阈值约为370。因此,对于这四个协议,之后N-gram分割,我们可以根据以上实验结果进行频率滤波和筛选候选模式串。从而提高后续算法的效率和准确性。
5.2.2。模式集提取实验
表中显示了四个协议提取的候选模式集2:每个协议都有多个候选模式集,模式融合后会删除大量冗余特性。以FASP协议为例。FASP是一个未知的协议,但经过初步的人工逆向分析,并与公开信息进行比较,可以大致获得其协议格式信息。根据人工反求结果,频繁字符串“0 × 56”为传输标志,频繁字符串“0 × 19”和“0 × 1”为传输标志一个分别为初始传输标识和重传数据标识。其他协议也可以得到类似的结果。从以上结果可以看出,数据分割筛选后的特征模式集具有一定的代表性。但仍有一些噪声数据需要进一步处理。
|
||||||||||||||||
5.2.3。正则表达式提取实验
根据模式字符串的出现位置选择模式字符串之间的关联关系。通过关联规则获得的规则如表所示3..挖掘特性字符串之间的关联关系可以从Table中看到3..根据关联关系和模式字符串之间的位置差,可以成功生成正则表达式。由于我们没有挖掘ICMP协议频繁模式集之间的关联,常规特征退化为字符串特征。
|
||||||||||||||||
5.2.4。特征验证结果分析
数据6和7,分别展示了使用频繁模式集和规则特征对这四种协议的实验结果。实验采用模式匹配和聚类分析作为特征验证方法。输入数据为混合数据。
从图中可以看出6对于所选的四个协议,在使用模式匹配算法进行特征验证时,由于HTTP协议和ARP协议提取的是长特征串,使用频繁模式集和规则模式对ARP和HTTP的识别均可达到100%。对于ICMP协议,当使用频繁模式集时,识别率为96.7%,当使用基于关联规则的规则模式时,识别率为97.9%。随着规则强度的增加,识别率增加。FASP协议的识别率分别为92.4%和93.8%,略低于已知协议的识别率。还可以看出,随着特征强度的增加,识别率显著增加。
从图中可以看出7,四种协议在使用聚类分析时识别率较高。使用各种特征对FASP协议进行分类时,其识别率略低于使用模式匹配时的识别率。
综上所述,可以看出频繁模式特征和关联规则特征在识别和分类中的作用逐渐增强。对于未知协议FASP,利用挖掘的特征进行聚类分析的结果优于匹配分析的结果。对于ARP和HTTP协议,上述方法的识别率接近100%。同时,对于私有协议FASP,识别率可达93.8%左右。
6.结论
私有协议的识别对于防止5G网络中用户私有数据的滥用具有重要意义。本文总结了目前协议识别与分析的研究方法,结合遗传算法和关联规则算法,提出了一套针对未知私有协议的特征提取与识别算法。对各算法进行了详细的设计和实验。最后,通过对实际数据的分析,提取出该特征的实际意义,并通过实验进行验证。实验结果表明,该方法能够有效地识别私有协议。
数据可用性
用于支持这项研究结果的数据包括在文章中。
的利益冲突
作者声明他们没有利益冲突。
致谢
基金资助:国家重点研发计划资助项目(no. 201430724);基金资助:国家自然科学基金资助项目(no. 61872111, no. 61402137);JCKY2019210B029)。
参考文献
- T. Karagiannis, K. Papagiannaki, M. Faloutsos, " BLINC:黑暗中的多层次交通分类",刊于计算机通信的应用、技术、架构和协议2005会议论文集,SIGCOMM 2005,页229-240,纽约,纽约,美国,2005年8月。视图:谷歌学者
- D. Stutzbach和R. Rejaie,“理解点对点网络中的搅扰”,在第六届ACM SIGCOMM互联网测量论文集,IMC 06,第189页,巴西里约热内卢,2006年10月。视图:谷歌学者
- A. V. Aho和M. J. Corasick,《高效字符串匹配》,ACM的通信第18卷第2期6、第333-340页,1975年。视图:出版商的网站|谷歌学者
- “基于分布式深度学习的边缘设备网络攻击检测系统”,北京大学学报(自然科学版),工业信息学学报,第16卷,第5期。第3页,1963-1971,2020。视图:出版商的网站|谷歌学者
- 范勇,朱勇,袁磊,“基于网络跟踪的未知安全协议的自动逆向工程”第四届IEEE计算机与通信国际会议论文集2018年12月,中国成都。视图:谷歌学者
- H. Gascon, C. Wressnegger和F. Yamaguchi,脉冲星:通信网络中专有网络协议安全与隐私的状态黑箱模糊出版日期:2015年11月11日
- “基于证据推理网络的边缘计算环境下横向运动实时检测”,“基于证据推理网络的边缘计算环境下横向运动实时检测”,工业信息学学报,第15卷,第5期。7, pp. 4285-4294, 2019。视图:出版商的网站|谷歌学者
- 谭青,高银,石建军,王旭东,方斌,田志强,“对tor隐服务的月蚀攻击的全面洞察”,IEEE物联网期刊,第6卷,第2期2, pp. 1584-1593, 2019。视图:出版商的网站|谷歌学者
- V. D. J. Merwe, R. Caceres, Y. Chu et al, " mmdump:一种监控互联网多媒体流量的工具",计算机通信评论,第30卷,第2期5,第48-59页,2000。视图:谷歌学者
- H. J. Kang, M. S. Kim和W. K. Hong,一种多媒体业务流量监控与分析方法,施普林格,柏林,德国,2003。
- A. G. Medrano-Chávez, E. Pérez-Cortés,和M. Lopez-Guerrero,“在高流动率场景下的chord和kademlia dht的性能比较,”点对点网络和应用程序,第8卷,第2期5, pp. 807-821, 2015。视图:出版商的网站|谷歌学者
- S. Sen, O. Spatscheck和D. Wang,“使用应用程序签名精确、可扩展的P2P流量网络内识别”第十三届国际万维网会议论文集2004年5月,美国纽约。视图:谷歌学者
- 张振章,张振章,李鹏程,刘勇,谢国忠,“基于非监督协议的特征词提取”,IEEE通信选定领域期刊,第32卷,第2期10, pp. 1894-1906, 2014。视图:出版商的网站|谷歌学者
- 王勇,云新,王明志等,“一种基于语义感知的未知协议自动逆向工程”2012第20届IEEE网络协议国际会议论文集, IEEE, Austin, TX, USA, 2012年11月。视图:谷歌学者
- W. H. Turkett, A. V. Karode,和E. W. Fulp,“在黑暗中的网络流量分类使用支持向量机,”在第23届人工智能会议论文集,AAAI 20082008年7月,美国伊利诺伊州芝加哥。视图:谷歌学者
- 周伟,董力,李立平等,“基于前馈神经网络的网络流量分类”,《中国科学:信息科学》IEEE 2011国际计算问题解决会议论文集(ICCP), pp. 641-646,中国成都,2011年10月。视图:谷歌学者
版权
版权所有©2021石建涛等。这是一篇发布在知识共享署名许可协议,允许在任何媒介上不受限制地使用、传播和复制,但必须正确引用原作。