[发明专利]一种基于协议属性的网络应用加密流量识别方法及其装置有效
申请号: | 201610187193.5 | 申请日: | 2016-03-29 |
公开(公告)号: | CN105871832B | 公开(公告)日: | 2018-11-02 |
发明(设计)人: | 沈蒙;魏明伟;祝烈煌 | 申请(专利权)人: | 北京理工大学 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 北京理工正阳知识产权代理事务所(普通合伙) 11639 | 代理人: | 王民盛 |
地址: | 100081 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种基于协议属性的网络应用加密流量识别方法及其装置,属于计算机网络服务安全技术领域,包括离线训练模块和在线识别模块,离线训练模块由数据集获取模块、基于二阶马尔科夫链的消息类型指纹建立模块和证书长度聚类模块组成,通过数据集获取模块得到训练集,对其经过基于二阶马尔科夫链的消息类型指纹建立模块得到应用指纹并存储,经过证书长度聚类模块得到聚类结果及应用证书簇类分布概率并存储;在线识别模块由网络流抓取模块和识别模块组成,识别模块将抓取模块得到的网络流与已存储的应用指纹库逐一匹配,同时考虑证书聚类结果,得到识别概率,识别结果为对应概率最高的应用。对比现有技术,本发明提高了识别的准确率和效率。 | ||
搜索关键词: | 一种 基于 协议 属性 网络 应用 加密 流量 识别 方法 及其 装置 | ||
【主权项】:
1.一种基于协议属性的网络应用加密流量识别方法,其特征在于:包括以下步骤,其中前三个步骤属于训练阶段,后两个步骤属于识别阶段:步骤1、离线训练集获取:步骤1.1基于网络抓包工具,搭建数据集获取平台,旨在监听并存储流经本平台的SSL/TLS加密网络流;步骤1.2选择多个网络纽带节点部署上述数据集获取平台,以生成多个离线训练子集,减小特殊数据集的干扰;步骤1.3将步骤1.2生成的每个离线训练子集合并,过滤非SSL/TLS加密协议的数据包,接着以“源地址”为参考字段进行归类,同源网络数据包则按照“时间”字段排序,以此生成综合的离线训练集;步骤1.4通过人工判断获取离线训练集中每条网络流对应的网络服务或应用,重新划分离线训练集,将相同网络服务或应用对应的网络流汇集在一个离线训练集中;步骤2、基于二阶马尔科夫链的消息类型建模:步骤2.1针对步骤1生成的每个网络服务或者应用的离线训练集,提取其中每条网络流的每个网络数据包中的SSL/TLS会话消息类型,构成消息类型流,将其视为二阶马尔科夫链,并以此精简地表征原网络流;步骤2.2针对步骤2.1中每种网络服务或应用的离线训练集,统计每条网络流的前两个消息类型出现的频数,从而计算该网络服务或应用“进入二阶马尔科夫链”的概率;步骤2.3针对步骤2.1中每种网络服务或应用的离线训练集,统计每条网络流的最后两个消息类型出现的频数,从而计算该网络服务或应用“退出二阶马尔科夫链”的概率;步骤2.4针对步骤2.1中每种网络服务或应用的离线训练集,以滑动窗口的方式统计消息类型状态二阶转移出现的频数,从而计算该网络服务或应用的状态二阶转移概率;步骤2.5综合步骤2.2,2.3以及2.4产生的“进入二阶马尔科夫链”概率、“退出二阶马尔科夫链”概率以及状态二阶转移概率,将以上结果以文件形式存储,并以此作为某种网络服务或应用的二阶马尔科夫链指纹;步骤3、证书长度聚类;步骤3.1针对步骤1当中生成的每个网络服务或者应用的离线训练集,提取其中每条网络流的证书消息类型的长度,将所有网络服务或应用网络流的证书长度汇集在一个综合的证书长度数据集中;步骤3.2给定簇数,将步骤3.1生成的证书长度数据集进行聚类,聚类结果以不同簇中心大小构成的列表方式给出;步骤3.3针对每种网络服务或应用的网络流以及步骤3.2生成的簇中心大小列表,判断每条网络流包含的证书属于哪个簇,判断方式为计算该证书长度与每个簇中心的距离,距离最近的簇则为所求,计算该网络服务或应用的网络流证书落在不同簇的概率,概率间差异性越大则表示证书聚类的效果越好,以此为指标来衡量给定簇数的证书聚类效果;步骤3.4假设簇数为2,3,4……,重复步骤3.2和3.3,根据上述证书聚类效果衡量指标,确定适合的簇数,并得到在此情况下的簇中心大小列表和每种网络服务或应用落在不同簇的概率,写入证书长度聚类结果文件;步骤4、在线网络流抓取;步骤4.1如同步骤1.1所述,基于网络抓包工具,搭建在线网络流抓取平台,旨在截获流经本平台的SSL/TLS加密网络流;步骤4.2将步骤4.1中的在线网络流抓取平台部署在有需要进行在线网络流识别的网络位置;步骤4.3在线抓取加密网络流,并过滤无用数据包,确保网络流完整;步骤5、在线网络流识别;步骤5.1提取步骤4.3抓取的网络流的每个网络数据包中的SSL/TLS会话消息类型,构成消息类型流,即二阶马尔科夫链,与步骤2.5生成的每种网络服务或应用的指纹匹配,得到如下匹配概率:匹配概率=进入二阶马尔科夫链概率×状态二阶转移概率×退出二阶马尔科夫链概率;步骤5.2提取步骤4.3抓取的网络流的证书消息长度,若无证书消息则忽略此步骤,否则,以步骤3.4生成的证书聚类结果为标准,判断并获知该证书属于的簇;步骤5.3假设步骤4.3抓取的网络流属于某种网络服务或应用,将网络流与此种网络服务或应用指纹的匹配概率与此种网络服务或应用属于步骤5.2判定的簇的概率的乘积作为网络流被识别为此种网络服务或应用的概率,重复此步骤以遍历离线训练集中所有的网络服务或应用,最大识别概率所对应的网络服务或应用即为所抓取的网络流属于的网络服务或应用。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610187193.5/,转载请声明来源钻瓜专利网。
- 上一篇:单目标橡胶弹
- 下一篇:一种新型烟花内筒亮珠装填机