书签 分享 收藏 举报 版权申诉 / 18

基于机器学习的协议类型分析方法和装置.pdf

  • 上传人:n****g
  • 文档编号:6023594
  • 上传时间:2019-04-03
  • 格式:PDF
  • 页数:18
  • 大小:1.13MB
  • 摘要
    申请专利号:

    CN201510860562.8

    申请日:

    2015.11.30

    公开号:

    CN106815199A

    公开日:

    2017.06.09

    当前法律状态:

    实审

    有效性:

    审中

    法律详情:

    实质审查的生效IPC(主分类):G06F 17/27申请日:20151130|||公开

    IPC分类号:

    G06F17/27; G06F17/30

    主分类号:

    G06F17/27

    申请人:

    任子行网络技术股份有限公司

    发明人:

    刘乾荣; 景晓军; 沈智杰; 刘永强; 唐新民

    地址:

    518057 广东省深圳市南山区高新区科技中2路软件园2栋6楼

    优先权:

    专利代理机构:

    深圳市顺天达专利商标代理有限公司 44217

    代理人:

    郭伟刚

    PDF完整版下载: PDF下载
    内容摘要

    本发明公开了一种基于机器学习的协议类型分析方法和装置,属于通信协议分析技术领域。所述方法包括:获取已识别报文和关键词;采用TF-IDF算法对已识别报文和关键词进行预处理,以建立VSM向量空间模型;采用TF-IDF算法计算每个特征词在未识别报文中的权值,以生成未识别向量节点;形成新的VSM向量空间模型;采用K-means聚类算法对新的VSM向量空间模型中所有的向量节点进行分类;以获取的中心向量节点对应的已识别报文的协议类型为未识别报文的协议类型。本发明通过上述方法能够快速分析出协议类型,既免除了人工重复低效的分析报文类型劳动,节省了人力资源,又节省了工作时间,加快了工作效率。

    权利要求书

    1.一种基于机器学习的协议类型分析方法,其特征在于,所述方法包括:
    获取多个已识别报文和多个关键词,所述已识别报文为已被人工识别协议
    类型的报文,所述关键词为人工挑选的具有代表所述已识别报文特征的词汇;
    采用TF-IDF算法对所述已识别报文和所述关键词进行预处理,得到特征词
    和所述特征词在每个所述已识别报文中的权值,所述特征词为用于区分不同所
    述已识别报文的所述关键词;
    根据所述已识别报文、所述特征词、以及得到的所述权值建立VSM向量空
    间模型,所述VSM向量空间模型包括多个向量节点,每个所述向量节点对应于
    一个所述已识别报文,所述向量节点由所有的所述特征词和每个特征词在同一
    个所述已识别报文中的权值组成;
    获取未识别报文;
    采用TF-IDF算法计算每个所述特征词在所述未识别报文中的权值,并生成
    未识别向量节点,所述未识别向量节点由所有所述特征词和每个所述特征词在
    所述未识别报文中的权值组成;
    在所述VSM向量空间模块中添加所述未识别向量节点形成新的VSM向量
    空间模型;
    采用K-means聚类算法对所述新的VSM向量空间模型中所有的向量节点进
    行分类,并计算出每类向量节点中的中心向量节点,所述中心向量节点为到同
    一分类中的各个所述向量节点的距离之和最小的向量节点;
    获取与所述未识别向量节点距离最近的中心向量节点,并以获取的所述中
    心向量节点对应的所述已识别报文的协议类型为所述未识别报文的协议类型。
    2.根据权利要求1所述的方法,其特征在于,所述采用TF-IDF算法对所
    述已识别报文和所述关键词进行预处理,得到特征词和所述特征词在每个所述
    已识别报文中的权值,包括:
    根据TF-IDF算法计算每个所述关键词在所有所述已识别报文中的逆向文件
    频率;
    根据TF-IDF算法计算每个所述关键词在每个所述已识别报文中的词频;
    根据计算得到的所述关键词的逆向文件频率和词频,计算出每个所述关键
    词在每个所述已识别报文中的权值;
    选取计算出的所述权值大于预设阀值的所述关键词为所述特征词。
    3.根据权利要求1所述的方法,其特征在于,所述采用TF-IDF算法计算
    每个所述特征词在所述未识别报文中的权值,包括:
    根据TF-IDF算法计算每个所述特征词在所述未识别报文中的词频;
    根据TF-IDF算法计算每个所述关键词在总报文中的逆向文件频率,所述总
    报文包括所有所述已识别报文和所述未识别报文;
    根据计算得到的所述关键词的逆向文件频率和词频,计算出每个所述关键
    词在每个所述未识别报文中的权值。
    4.根据权利要求1所述的方法,其特征在于,所述采用K-means聚类算法
    对所述新的VSM向量空间模型中所有的向量节点进行分类,并计算出每类向量
    节点中的中心向量节点,包括:
    选择所有的所述已识别报文对应的协议类型总数为分类个数;
    选择与所述分类个数相同个数的所述新的VSM向量模型中的向量节点作为
    质心;
    计算剩余的所述新的VSM向量模型的向量节点到所述质心的距离;
    将剩余的所述向量节点与距离最近的所述质心归为同一个分类;
    计算每个所述分类的中心向量节点。
    5.根据权利要求4所述的方法,其特征在于,所述采用K-means聚类算法
    对所述新的VSM向量空间模型中所有的向量节点进行分类,并计算出每类向量
    节点中的中心向量节点,还包括:
    选取计算出来的所述中心向量节点为新的质心;
    计算剩余的所述向量节点到所述新的质心的距离;
    将剩余的所述向量节点与距离最近的所述新的质心归为同一个新的分类;
    计算每个所述新的分类中的新的中心向量节点。
    6.一种基于机器学习的协议类型分析装置,其特征在于,所述装置包括:
    获取模块,用于获取多个已识别报文和多个关键词,所述已识别报文为已
    被人工识别协议类型的报文,所述关键词为人工挑选的具有代表所述已识别报
    文特征的词汇;
    处理模块,用于采用TF-IDF算法对所述已识别报文和所述关键词进行预处
    理,得到特征词和所述特征词在每个所述已识别报文中的权值,所述特征词为
    用于区分不同所述已识别报文的所述关键词;
    所述处理模块,还用于根据所述已识别报文、所述特征词、以及得到的所
    述权值建立VSM向量空间模型,所述VSM向量空间模型包括多个向量节点,
    每个所述向量节点对应于一个所述已识别报文,所述向量节点由所有的所述特
    征词和每个特征词在同一个所述已识别报文中的权值组成;
    所述获取模块,还用于获取未识别报文;
    计算模块,用于采用TF-IDF算法计算每个所述特征词在所述未识别报文中
    的权值,并生成未识别向量节点,所述未识别向量节点由所有所述特征词和每
    个所述特征词在所述未识别报文中的权值组成;
    所述处理模块,还用于在所述VSM向量空间模块中添加所述未识别向量节
    点形成新的VSM向量空间模型;
    所述处理模块,还用于采用K-means聚类算法对所述新的VSM向量空间模
    型中所有的向量节点进行分类,并计算出每类向量节点中的中心向量节点,所
    述中心向量节点为到同一分类中的各个所述向量节点的距离之和最小的向量节
    点;
    所述处理模块,还用于获取与所述未识别向量节点距离最近的中心向量节
    点,并以获取的所述中心向量节点对应的所述已识别报文的协议类型为所述未
    识别报文的协议类型。
    7.根据权利要求6所述的装置,其特征在于,所述处理模块,包括:
    第一计算单元,用于根据TF-IDF算法计算每个所述关键词在所有所述已识
    别报文中的逆向文件频率;
    所述第一计算单元,还用于根据TF-IDF算法计算每个所述关键词在每个所
    述已识别报文中的词频;
    所述第一计算单元,还用于根据计算得到的所述关键词的逆向文件频率和
    词频,计算出每个所述关键词在每个所述已识别报文中的权值;
    处理单元,用于选取计算出的所述权值大于预设阀值的所述关键词为所述
    特征词。
    8.根据权利要求6所述的装置,其特征在于,所述计算模块,包括:
    第二计算单元,用于采用TF-IDF算法计算每个所述特征词在所述未识别报
    文中的词频;
    所述第二计算单元,还用于根据TF-IDF算法计算每个所述关键词在总报文
    中的逆向文件频率,所述总报文包括所有所述已识别报文和所述未识别报文;
    所述第二计算单元,还用于根据计算得到的所述关键词的逆向文件频率和
    词频,计算出每个所述关键词在每个所述未识别报文中的权值。
    9.根据权利要求6所述的装置,其特征在于,所述处理模块,还包括:
    所述处理单元,用于选择所有的所述已识别报文对应的协议类型总数为分
    类个数;
    所述处理单元,用于选择与所述分类个数相同个数的所述新的VSM向量模
    型中的向量节点作为质心;
    所述第一计算单元,还用于计算剩余的所述新的VSM向量模型的向量节点
    到所述质心的距离;
    所述处理单元,用于将剩余的所述向量节点与距离最近的所述质心归为同
    一个分类;
    所述第一计算单元,还用于计算每个所述分类的中心向量节点。
    10.根据权利要求9所述的装置,其特征在于,所述处理模块,还包括:
    所述处理单元,用于选取计算出来的所述中心向量节点为新的质心;
    所述第一计算单元,还用于计算剩余的所述向量节点到所述新的质心的距
    离;
    所述处理单元,用于将剩余的所述向量节点与距离最近的所述新的质心归
    为同一个新的分类;
    所述第一计算单元,还用于计算每个所述新的分类中的新的中心向量节点。

    说明书

    基于机器学习的协议类型分析方法和装置

    技术领域

    本发明涉及通信协议分析技术领域,特别涉及一种基于机器学习的协议类
    型分析方法和装置。

    背景技术

    随着互联网技术的快速发展,以互联网为基础的各种应用程序越来越丰富,
    这些应用程序在传输数据时,有的使用具有公开标准的协议,有的则采用了自
    己定义的私有协议。出于对网络安全的考虑,在进行网络监测、管控时,需要
    逆向分析出这些应用程序所采用的传输协议类型。

    现有的协议分析过程中,一般是先采集网络传输的报文,然后通过人工分
    析这些报文,并提取出相应的协议特征(例如:关键词、特殊的字符串等),最
    后人工根据这些协议特征来判断该报文所采用的协议类型。

    在实现本发明的过程中,发明人发现现有技术至少存在以下问题:

    由于网络传输的报文会发生变化,致使提取出来的相应的协议特征也会随
    之发生变化。在对变化的报文进行协议分析时,需要人工重新提取协议特征,
    这样需要人工重复进行低效的协议分析工作,浪费劳动资源。

    发明内容

    本发明针对现有的人工分析协议类型需要重复进行,浪费劳动资源的问题,
    提出了一种基于机器学习的协议类型分析方法和装置。

    本发明就上述技术问题而提出的技术方案如下:

    一方面,提供了一种基于机器学习的协议类型分析方法,所述方法包括:

    获取多个已识别报文和多个关键词,所述已识别报文为已被人工识别协议
    类型的报文,所述关键词为人工挑选的具有代表所述已识别报文特征的词汇;

    采用TF-IDF算法对所述已识别报文和所述关键词进行预处理,得到特征词
    和所述特征词在每个所述已识别报文中的权值,所述特征词为用于区分不同所
    述已识别报文的所述关键词;

    根据所述已识别报文、所述特征词、以及得到的所述权值建立VSM向量空
    间模型,所述VSM向量空间模型包括多个向量节点,每个所述向量节点对应于
    一个所述已识别报文,所述向量节点由所有的所述特征词和每个特征词在同一
    个所述已识别报文中的权值组成;

    获取未识别报文;

    采用TF-IDF算法计算每个所述特征词在所述未识别报文中的权值,并生成
    未识别向量节点,所述未识别向量节点由所有所述特征词和每个所述特征词在
    所述未识别报文中的权值组成;

    在所述VSM向量空间模块中添加所述未识别向量节点形成新的VSM向量
    空间模型;

    采用K-means聚类算法对所述新的VSM向量空间模型中所有的向量节点进
    行分类,并计算出每类向量节点中的中心向量节点,所述中心向量节点为到同
    一分类中的各个所述向量节点的距离之和最小的向量节点;

    获取与所述未识别向量节点距离最近的中心向量节点,并以获取的所述中
    心向量节点对应的所述已识别报文的协议类型为所述未识别报文的协议类型。

    本发明上述的基于机器学习的协议类型分析方法中,所述采用TF-IDF算法
    对所述已识别报文和所述关键词进行预处理,得到特征词和所述特征词在每个
    所述已识别报文中的权值,包括:

    根据TF-IDF算法计算每个所述关键词在所有所述已识别报文中的逆向文件
    频率;

    根据TF-IDF算法计算每个所述关键词在每个所述已识别报文中的词频;

    根据计算得到的所述关键词的逆向文件频率和词频,计算出每个所述关键
    词在每个所述已识别报文中的权值;

    选取计算出的所述权值大于预设阀值的所述关键词为所述特征词。

    本发明上述的基于机器学习的协议类型分析方法中,所述采用TF-IDF算法
    计算每个所述特征词在所述未识别报文中的权值,包括:

    根据TF-IDF算法计算每个所述特征词在所述未识别报文中的词频;

    根据TF-IDF算法计算每个所述关键词在总报文中的逆向文件频率,所述总
    报文包括所有所述已识别报文和所述未识别报文;

    根据计算得到的所述关键词的逆向文件频率和词频,计算出每个所述关键
    词在每个所述未识别报文中的权值。

    本发明上述的基于机器学习的协议类型分析方法中,所述采用K-means聚
    类算法对所述新的VSM向量空间模型中所有的向量节点进行分类,并计算出每
    类向量节点中的中心向量节点,包括:

    选择所有的所述已识别报文对应的协议类型总数为分类个数;

    选择与所述分类个数相同个数的所述新的VSM向量模型中的向量节点作为
    质心;

    计算剩余的所述新的VSM向量模型的向量节点到所述质心的距离;

    将剩余的所述向量节点与距离最近的所述质心归为同一个分类;

    计算每个所述分类的中心向量节点。

    本发明上述的基于机器学习的协议类型分析方法中,所述采用K-means聚
    类算法对所述新的VSM向量空间模型中所有的向量节点进行分类,并计算出每
    类向量节点中的中心向量节点,还包括:

    选取计算出来的所述中心向量节点为新的质心;

    计算剩余的所述向量节点到所述新的质心的距离;

    将剩余的所述向量节点与距离最近的所述新的质心归为同一个新的分类;

    计算每个所述新的分类中的新的中心向量节点。

    另一方面,提供了一种基于机器学习的协议类型分析装置,所述装置包括:

    获取模块,用于获取多个已识别报文和多个关键词,所述已识别报文为已
    被人工识别协议类型的报文,所述关键词为人工挑选的具有代表所述已识别报
    文特征的词汇;

    处理模块,用于采用TF-IDF算法对所述已识别报文和所述关键词进行预处
    理,得到特征词和所述特征词在每个所述已识别报文中的权值,所述特征词为
    用于区分不同所述已识别报文的所述关键词;

    所述处理模块,还用于根据所述已识别报文、所述特征词、以及得到的所
    述权值建立VSM向量空间模型,所述VSM向量空间模型包括多个向量节点,
    每个所述向量节点对应于一个所述已识别报文,所述向量节点由所有的所述特
    征词和每个特征词在同一个所述已识别报文中的权值组成;

    所述获取模块,还用于获取未识别报文;

    计算模块,用于采用TF-IDF算法计算每个所述特征词在所述未识别报文中
    的权值,并生成未识别向量节点,所述未识别向量节点由所有所述特征词和每
    个所述特征词在所述未识别报文中的权值组成;

    所述处理模块,还用于在所述VSM向量空间模块中添加所述未识别向量节
    点形成新的VSM向量空间模型;

    所述处理模块,还用于采用K-means聚类算法对所述新的VSM向量空间模
    型中所有的向量节点进行分类,并计算出每类向量节点中的中心向量节点,所
    述中心向量节点为到同一分类中的各个所述向量节点的距离之和最小的向量节
    点;

    所述处理模块,还用于获取与所述未识别向量节点距离最近的中心向量节
    点,并以获取的所述中心向量节点对应的所述已识别报文的协议类型为所述未
    识别报文的协议类型。

    本发明上述的基于机器学习的协议类型分析装置中,所述处理模块,包括:

    第一计算单元,用于根据TF-IDF算法计算每个所述关键词在所有所述已识
    别报文中的逆向文件频率;

    所述第一计算单元,还用于根据TF-IDF算法计算每个所述关键词在每个所
    述已识别报文中的词频;

    所述第一计算单元,还用于根据计算得到的所述关键词的逆向文件频率和
    词频,计算出每个所述关键词在每个所述已识别报文中的权值;

    处理单元,用于选取计算出的所述权值大于预设阀值的所述关键词为所述
    特征词。

    本发明上述的基于机器学习的协议类型分析装置中,所述计算模块,包括:

    第二计算单元,用于采用TF-IDF算法计算每个所述特征词在所述未识别报
    文中的词频;

    所述第二计算单元,还用于根据TF-IDF算法计算每个所述关键词在总报文
    中的逆向文件频率,所述总报文包括所有所述已识别报文和所述未识别报文;

    所述第二计算单元,还用于根据计算得到的所述关键词的逆向文件频率和
    词频,计算出每个所述关键词在每个所述未识别报文中的权值。

    本发明上述的基于机器学习的协议类型分析装置中,所述处理模块,还包
    括:

    所述处理单元,用于选择所有的所述已识别报文对应的协议类型总数为分
    类个数;

    所述处理单元,用于选择与所述分类个数相同个数的所述新的VSM向量模
    型中的向量节点作为质心;

    所述第一计算单元,还用于计算剩余的所述新的VSM向量模型的向量节点
    到所述质心的距离;

    所述处理单元,用于将剩余的所述向量节点与距离最近的所述质心归为同
    一个分类;

    所述第一计算单元,还用于计算每个所述分类的中心向量节点。

    本发明上述的基于机器学习的协议类型分析装置中,所述处理模块,还包
    括:

    所述处理单元,用于选取计算出来的所述中心向量节点为新的质心;

    所述第一计算单元,还用于计算剩余的所述向量节点到所述新的质心的距
    离;

    所述处理单元,用于将剩余的所述向量节点与距离最近的所述新的质心归
    为同一个新的分类;

    所述第一计算单元,还用于计算每个所述新的分类中的新的中心向量节点。

    本发明实施例提供的技术方案带来的有益效果是:

    通过获取多个已识别报文和多个关键词,并采用TF-IDF算法对已识别报文
    和关键词进行预处理,以建立VSM向量空间模型;然后,采用TF-IDF算法计
    算每个特征词在未识别报文中的权值,以生成未识别向量节点,并在VSM向量
    空间模块中添加未识别向量节点形成新的VSM向量空间模型;最后,采用
    K-means聚类算法对新的VSM向量空间模型中所有的向量节点进行分类,并以
    获取的中心向量节点对应的已识别报文的协议类型为未识别报文的协议类型。
    这样,在已被人工识别协议类型的报文基础上,能够快速分析出未识别报文的
    协议类型,既免除了人工重复低效的分析报文类型劳动,节省了人力资源,又
    节省了工作时间,加快了工作效率。

    附图说明

    为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所
    需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明
    的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,
    还可以根据这些附图获得其他的附图。

    图1是本发明实施例一提供的一种基于机器学习的协议类型分析方法流程
    图;

    图2是本发明实施例一提供的一种采用TF-IDF算法对已识别报文和关键词
    进行预处理的方法流程图;

    图3是本发明实施例一提供的一种采用TF-IDF算法计算每个特征词在未识
    别报文的权值的方法流程图;

    图4是本发明实施例一提供的一种采用K-means聚类算法对新的VSM向量
    空间模型中所有的向量节点进行分类的方法流程图;

    图5是本发明实施例二提供的一种基于机器学习的协议类型分析装置结构
    示意图

    图6是本发明实施例二提供的又一种基于机器学习的协议类型分析装置结
    构示意图。

    具体实施方式

    为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明
    实施方式作进一步地详细描述。

    实施例一

    本发明实施例提供了一种基于机器学习的协议类型分析方法,参见图1,该
    方法包括:

    步骤S11,获取多个已识别报文和多个关键词,该已识别报文为已被人工识
    别协议类型的报文,该关键词为人工挑选的具有代表已识别报文特征的词汇。

    在本实施例中,已识别报文的协议类型已被人工识别,每个已识别报文中
    都有能代表该报文特征的关键词,这些关键词可以在人工识别报文的协议类型
    时被挑选出来。

    步骤S12,采用词频-逆向文件频率(Term Frequency–Inverse Document
    Frequency,简称“TF-IDF”)算法对已识别报文和关键词进行预处理,得到特征
    词和该特征词在每个已识别报文中的权值,该特征词为用于区分不同已识别报
    文的关键词。

    在实际应用中,具有代表作用的关键词可能会出现重复的情况,即不同报
    文中的关键词可能相同,这样的关键词不能够将不同的报文区分开,这时,采
    用TF-IDF算法将不具备区分能力的关键词去除掉,选择具有区分不同报文能力
    的特征词。

    具体的,参见图2,上述步骤S12可以采用如下方式来实现:

    步骤S121,根据TF-IDF算法计算每个关键词在所有已识别报文中的逆向文
    件频率。

    在本实施例中,逆向文件频率可以由总已识别报文数目除以包含该关键词
    的已识别报文的数目,再将得到的商取对数得到。逆向文件频率可以用于判断
    该关键词在不同的已识别报文中出现的频率,该关键词在不同的已识别报文中
    出现的频率越大,说明该关键词用于区分不同已识别报文的能力越小。

    具体地,可以采用如下公式来表示逆向文件频率的计算:


    其中,idfi表示为关键词i在所有已识别报文d中的逆向文件频率,D表示
    是所有已识别报文的总数,{j:ti∈dj}表示为包含关键词i的已识别报文d的数
    量j。

    步骤S122,根据TF-IDF算法计算每个关键词在每个已识别报文中的词频。

    在本实施例中,词频是指特征词在已识别报文中出现的次数,并且该次数
    将被归一化处理,以防止词频偏向于内容多的报文。

    具体地,可以采用如下公式来表示词频的计算:


    其中,tfi,j为关键词i在已识别报文j中的词频,ni.,j表示的为关键词i在已
    识别报文j中出现的次数,上述公式中的分母表示的为所有的关键词在已识别报
    文j中出现的次数之和。

    需要说明的是,上述步骤S121和步骤S122没有先后之分,先执行步骤S121
    或者先执行步骤S122均可以,这里不作限制。

    步骤S123,根据计算得到的关键词的逆向文件频率和词频,计算出每个关
    键词在每个已识别报文中的权值。

    在本实施例中,上述权值可以为相应关键词的逆向文件频率和词频的乘积。

    步骤S124,选取计算出的权值大于预设阀值的关键词为特征词。

    在本实施例中,预设阀值的大小可以根据实际情况而定,这里不作限定。
    权值大于预设阀值的关键词,其具有区分不同已识别报文的能力,可以用来选
    作特征词使用,如果其权值小于预设阀值的话,则说明该关键词不能很好的区
    分已识别报文,故舍弃不用。

    步骤S13,根据已识别报文、特征词、以及得到的权值建立向量空间(Vector
    Space Model,简称“VSM”)模型,该VSM向量空间模型包括多个向量节点,
    每个向量节点对应于一个已识别报文,该向量节点由所有的特征词和每个特征
    词在同一个已识别报文中的权值组成。

    在本实施例中,每个向量节点对应于一个已识别报文,VSM向量空间模型
    包括所有的已识别报文对应的向量节点。每个向量节点由所有的特征词和每个
    特征词在同一个已识别报文中的权值组成,每个向量节点的维度都为所有特征
    词的总数。例如:一个向量节点可以表示为{A1、A2、A3、A4、A5…An},其中,
    n表示所有特征词的总数,A1-An表示一个特征词在同一个已识别报文中的权值。

    步骤S14,获取未识别报文。

    在本实施例中,可以通过非人工手段来获取未识别报文。

    步骤S15,采用TF-IDF算法计算每个特征词在该未识别报文的权值,并生
    成未识别向量节点,该未识别向量节点由所有特征词和每个特征词在未识别报
    文中的权值组成。

    在本实施例中,新生成的未识别向量节点的维度与VSM向量空间模型中的
    向量节点的维度相同,均是所有特征词的总数。且均是采用了通过关键词获取
    出来的特征词,故未识别向量节点可以添加到VSM向量空间模块中。

    具体地,参见图3,上述步骤S15可以通过如下步骤实现:

    步骤S151,采用TF-IDF算法计算每个特征词在未识别报文中的词频。

    具体的计算公式可以参考步骤S12,这里不再赘述。

    步骤S152,根据TF-IDF算法计算每个关键词在总报文中的逆向文件频率,
    总报文包括所有已识别报文和未识别报文。

    具体的计算公式可以参考步骤S12,这里不再赘述。有所不同的是,这里的
    总报文包括所有已识别报文和未识别报文,而不是步骤S12中仅包括所有已识
    别报文。

    步骤S153,根据计算得到的所关键词的逆向文件频率和词频,计算出每个
    关键词在每个未识别报文中的权值。

    在本实施例中,上述权值可以为相应关键词的逆向文件频率和词频的乘积。

    步骤S16,在VSM向量空间模块中添加未识别向量节点形成新的VSM向
    量空间模型。

    步骤S17,采用K-means(即K均值)聚类算法对新的VSM向量空间模型
    中所有的向量节点进行分类,并计算出每类向量节点中的中心向量节点,中心
    向量节点为到同一分类中的各个向量节点的距离之和最小的向量节点。

    具体地,参见图4,上述步骤S17可以通过如下方式实现:

    步骤S171,选择所有的已识别报文对应的协议类型总数为分类个数。

    在本实施例中,采用所有已识别报文对应的协议类型的总数,来作为分类
    个数,这样分出来的类中每个类别可以代表不同的协议类型。

    步骤S172,选择与分类个数相同个数的新的VSM向量模型中的向量节点
    作为质心。

    在本实施例中,质心可以看作中心点的意思,初次分类时,质心的选择可
    以是随机的,也可以是人为设定的。

    步骤S173,计算剩余的新的VSM向量模型的向量节点到质心的距离。

    在本实施例中,该距离的计算为向量之间的距离计算,这里不作详细赘述。

    步骤S174,将剩余的向量节点与距离最近的质心归为同一个分类。

    步骤S175,计算每个分类的中心向量节点。

    在实际应用中,可以通过上述步骤得到的中心向量节点,但是由上述步骤
    得到的中心向量节点可能不太准确。进一步地,上述步骤S17的实现方法还可
    以包括:

    步骤S176,选取计算出来的中心向量节点为新的质心。

    步骤S177,计算剩余的向量节点到新的质心的距离。

    步骤S178,将剩余的向量节点与距离最近的新的质心归为同一个新的分类。

    步骤S179,计算每个新的分类中的新的中心向量节点。

    在本实施例中,还可以重复上述步骤S176至步骤S179,重复多次后可以得
    到更为准确的中心向量节点。具体重复次数可以根据实际情况而定,这里不作
    限制。

    步骤S18,获取与未识别向量节点距离最近的中心向量节点,并以获取的中
    心向量节点对应的已识别报文的协议类型为未识别报文的协议类型。

    在本实施例中,通过计算未识别向量节点与各个中心向量节点的距离,来
    判断该未识别向量节点属于哪个分类,而该分类的各个向量节点对应的已识别
    报文具有相同的协议类型,其中,中心向量节点对应的协议类型可以代表其所
    在分类的协议类型,故可以采用与未识别向量节点距离最近的中心向量节点对
    应的已识别报文的协议类型,来作为未识别向量节点对应的未识别报文的协议
    类型。

    在本实施例中,上述基于机器学习的协议类型分析方法主要用于,未超出
    已识别的协议类型范围的报文协议类型分析。

    本发明实施例通过获取多个已识别报文和多个关键词,并采用TF-IDF算法
    对已识别报文和关键词进行预处理,以建立VSM向量空间模型;然后,采用
    TF-IDF算法计算每个特征词在未识别报文中的权值,以生成未识别向量节点,
    并在VSM向量空间模块中添加未识别向量节点形成新的VSM向量空间模型;
    最后,采用K-means聚类算法对新的VSM向量空间模型中所有的向量节点进行
    分类,并以获取的中心向量节点对应的已识别报文的协议类型为未识别报文的
    协议类型。这样,在已被人工识别协议类型的报文基础上,能够快速分析出未
    识别报文的协议类型,既免除了人工重复低效的分析报文类型劳动,节省了人
    力资源,又节省了工作时间,加快了工作效率。

    实施例二

    本发明实施例提供了一种基于机器学习的协议类型分析的装置,参见图5,
    该装置包括:

    获取模块201,用于获取多个已识别报文和多个关键词,该已识别报文为已
    被人工识别协议类型的报文,该关键词为人工挑选的具有代表已识别报文特征
    的词汇。

    在本实施例中,已识别报文的协议类型已被人工识别,每个已识别报文中
    都有能代表该报文特征的关键词,这些关键词可以在人工识别报文的协议类型
    时被挑选出来。

    处理模块202,用于采用TF-IDF算法对已识别报文和关键词进行预处理,
    得到特征词和特征词在每个已识别报文中的权值,特征词为用于区分不同已识
    别报文的关键词。

    在实际应用中,具有代表作用的关键词可能会出现重复的情况,即不同报
    文中的关键词可能相同,这样的关键词不能够将不同的报文区分开,这时,采
    用TF-IDF算法将不具备区分能力的关键词去除掉,选择具有区分不同报文能力
    的特征词。

    处理模块202,还用于根据已识别报文、特征词、以及得到的权值建立VSM
    向量空间模型,VSM向量空间模型包括多个向量节点,每个向量节点对应于一
    个已识别报文,向量节点由所有的特征词和每个特征词在同一个已识别报文中
    的权值组成。

    在本实施例中,每个向量节点对应于一个已识别报文,VSM向量空间模型
    包括所有的已识别报文对应的向量节点。每个向量节点由所有的特征词和每个
    特征词在同一个已识别报文中的权值组成,每个向量节点的维度都为所有特征
    词的总数。例如:一个向量节点可以表示为{A1、A2、A3、A4、A5…An},其中,
    n表示所有特征词的总数,A1-An表示一个特征词在同一个已识别报文中的权值。

    获取模块201,还用于获取未识别报文。

    计算模块203,用于采用TF-IDF算法计算每个特征词在未识别报文中的权
    值,并生成未识别向量节点,未识别向量节点由所有特征词和每个特征词在未
    识别报文中的权值组成。

    在本实施例中,新生成的未识别向量节点的维度与VSM向量空间模型中的
    向量节点的维度相同,均是所有特征词的总数。且均是采用了通过关键词获取
    出来的特征词,故未识别向量节点可以添加到VSM向量空间模块中。

    处理模块202,还用于在VSM向量空间模块中添加未识别向量节点形成新
    的VSM向量空间模型。

    处理模块202,还用于采用K-means聚类算法对新的VSM向量空间模型中
    所有的向量节点进行分类,并计算出每类向量节点中的中心向量节点,中心向
    量节点为到同一分类中的各个向量节点的距离之和最小的向量节点。

    处理模块202,还用于获取与未识别向量节点距离最近的中心向量节点,并
    以获取的中心向量节点对应的已识别报文的协议类型为未识别报文的协议类
    型。

    在本实施例中,通过处理模块202来计算未识别向量节点与各个中心向量
    节点的距离,来判断该未识别向量节点属于哪个分类,而该分类的各个向量节
    点对应的已识别报文具有相同的协议类型,其中,中心向量节点对应的协议类
    型可以代表其所在分类的协议类型,故可以采用与未识别向量节点距离最近的
    中心向量节点对应的已识别报文的协议类型,来作为未识别向量节点对应的未
    识别报文的协议类型。

    在本实施例中,上述基于机器学习的协议类型分析装置主要用于,未超出
    已识别的协议类型范围的报文协议类型分析。

    具体地,参见图6,处理模块202可以包括:

    第一计算单元212,用于根据TF-IDF算法计算每个关键词在所有已识别报
    文中的逆向文件频率。

    在本实施例中,逆向文件频率可以由总已识别报文数目除以包含该关键词
    的已识别报文的数目,再将得到的商取对数得到。逆向文件频率可以用于判断
    该关键词在不同的已识别报文中出现的频率,该关键词在不同的已识别报文中
    出现的频率越大,说明该关键词用于区分不同已识别报文的能力越小。

    具体地,可以采用如下公式来表示逆向文件频率的计算:


    其中,idfi表示为关键词i在所有已识别报文d中的逆向文件频率,D表示
    是所有已识别报文的总数,{j:ti∈dj}表示为包含关键词i的已识别报文d的数
    量j。

    第一计算单元212,还用于根据TF-IDF算法计算每个关键词在每个已识别
    报文中的词频。

    在本实施例中,词频是指特征词在已识别报文中出现的次数,并且该次数
    将被归一化处理,以防止词频偏向于内容多的报文。

    具体地,可以采用如下公式来表示词频的计算:


    其中,tfi,j为关键词i在已识别报文j中的词频,ni.,j表示的为关键词i在已
    识别报文j中出现的次数,上述公式中的分母表示的为所有的关键词在已识别报
    文j中出现的次数之和。

    第一计算单元212,还用于根据计算得到的关键词的逆向文件频率和词频,
    计算出每个关键词在每个已识别报文中的权值。

    在本实施例中,上述权值可以为相应关键词的逆向文件频率和词频的乘积。

    处理单元222,用于选取计算出的权值大于预设阀值的关键词为特征词。

    在本实施例中,预设阀值的大小可以根据实际情况而定,这里不作限定。
    权值大于预设阀值的关键词,其具有区分不同已识别报文的能力,可以用来选
    作特征词使用,如果其权值小于预设阀值的话,则说明该关键词不能很好的区
    分已识别报文,故舍弃不用。

    具体地,参见图6,计算模块203可以包括:

    第二计算单元213,用于采用TF-IDF算法计算每个特征词在未识别报文中
    的词频;

    第二计算单元213,还用于根据TF-IDF算法计算每个关键词在总报文中的
    逆向文件频率,总报文包括所有已识别报文和未识别报文

    第二计算单元213,还用于根据计算得到的所关键词的逆向文件频率和词
    频,计算出每个关键词在每个未识别报文中的权值。

    具体地,参见图6,处理模块202还可以包括:

    处理单元222,用于选择所有的已识别报文对应的协议类型总数为分类个
    数。

    在本实施例中,采用所有已识别报文对应的协议类型的总数,来作为分类
    个数,这样分出来的类中每个类别可以代表不同的协议类型。

    处理单元222,用于选择与分类个数相同个数的新的VSM向量模型中的向
    量节点作为质心。

    在本实施例中,质心可以看作中心点的意思,初次分类时,质心的选择可
    以是随机的,也可以是人为设定的。

    第一计算单元212,还用于计算剩余的新的VSM向量模型的向量节点到质
    心的距离。

    处理单元222,用于将剩余的向量节点与距离最近的质心归为同一个分类。

    第一计算单元212,还用于计算每个分类的中心向量节点。

    进一步地,参见图6,处理模块202还可以包括:

    处理单元222,用于选取计算出来的中心向量节点为新的质心。

    第一计算单元212,还用于计算剩余的向量节点到新的质心的距离。

    处理单元222,用于将剩余的向量节点与距离最近的新的质心归为同一个新
    的分类。

    第一计算单元212,还用于计算每个新的分类中的新的中心向量节点。

    本发明实施例通过获取多个已识别报文和多个关键词,并采用TF-IDF算法
    对已识别报文和关键词进行预处理,以建立VSM向量空间模型;然后,采用
    TF-IDF算法计算每个特征词在未识别报文中的权值,以生成未识别向量节点,
    并在VSM向量空间模块中添加未识别向量节点形成新的VSM向量空间模型;
    最后,采用K-means聚类算法对新的VSM向量空间模型中所有的向量节点进行
    分类,并以获取的中心向量节点对应的已识别报文的协议类型为未识别报文的
    协议类型。这样,在已被人工识别协议类型的报文基础上,能够快速分析出未
    识别报文的协议类型,既免除了人工重复低效的分析报文类型劳动,节省了人
    力资源,又节省了工作时间,加快了工作效率。

    上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

    需要说明的是:上述实施例提供的基于机器学习的协议类型分析装置在实
    现基于机器学习的协议类型分析方法时,仅以上述各功能模块的划分进行举例
    说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,
    即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分
    功能。另外,上述实施例提供的基于机器学习的协议类型分析装置与基于机器
    学习的协议类型分析方法实施例属于同一构思,其具体实现过程详见方法实施
    例,这里不再赘述。

    本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过
    硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于
    一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或
    光盘等。

    以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的
    精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的
    保护范围之内。

    关 键  词:
    基于 机器 学习 协议 类型 分析 方法 装置
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:基于机器学习的协议类型分析方法和装置.pdf
    链接地址:https://www.zhuanlichaxun.net/p-6023594.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1