技术新讯 > 电子通信装置的制造及其应用技术 > 加密流量识别方法、序列指纹库构建方法及通信装置与流程  >  正文

加密流量识别方法、序列指纹库构建方法及通信装置与流程

  • 国知局
  • 2024-10-15 09:22:09

本技术涉及网络安全,尤其涉及一种加密流量识别方法、序列指纹库构建方法及通信装置。

背景技术:

1、随着互联网技术的蓬勃发展以及用户对个人隐私的日益关注,越来越多的网络流量开始采用诸如快速udp互联网连接(quick udp internet connections,quic)、传输层安全(transport layer security,tls)等加密协议来传输用户数据,这却给网络流量识别带来了巨大的挑战。以深度包检测(deep packet inspection,dpi)技术为代表的传统的网络流量分类识别技术,通常是基于流量中的五元组信息(包括ip地址、端口号等)、明文载荷内容等来进行流量分类识别的,其对于加密流量往往束手无策。

2、为了实现对quic流量的识别,目前有一种方法是通过对quic流量的首包进行解密,以获得流量的主机名称标识、证书、握手参数等信息,从而基于上述信息及传统的dpi技术对quic流量进行细分识别。由于quic协议采用了复杂的加密算法,所以解密首包会需要消耗网络设备的大量算力,进而影响网络设备的性能,而且解密首包会比较耗时,导致无法快速准确地识别加密流量。因此,有必要提供一种更高效的加密流量识别方法。

技术实现思路

1、本技术提供了一种加密流量识别方法、序列指纹库构建方法及通信装置,能够更高效地识别加密流量。

2、第一方面,本技术提供了一种加密流量识别方法,先获取第一加密流量的第一序列指纹,然后根据第一序列指纹确定第一加密流量所属的服务类型。其中,第一序列指纹包括一个或多个目标包信息,上述一个或多个目标包信息与第一加密流量中的一个或多个目标数据包一一对应,上述一个或多个目标包信息分别指示对应的目标数据包的特征。

3、目标数据包是指第一加密流量中的目标位置上的数据包,目标位置可以根据应用场景需要进行设置,本方案不做具体限定。例如,假设将目标位置设置为了2~30,则第一加密流量中的第2~30个数据包皆为第一加密流量的目标数据包,此时只能从上述第2~30个数据包中获取一个或多个目标数据包,以形成第一加密流量的第一序列指纹。

4、可以看出,本方案是基于第一加密流量中的目标数据包的特征构建加密流量的序列指纹,并基于序列指纹识别第一加密流量所属的服务类型。相对于基于数据包解密的流量识别方案,本方案无需消耗大量算力及时间对目标数据包进行解密,从而减少对应用本方案的装置或设备的性能影响,还可以实现对第一加密流量的快速准确识别。由于本方案无需对第一加密流量中的数据包进行解密,因此不会侵犯用户隐私,可以降低隐私泄露的风险。

5、基于第一方面,在可能的实施方案中,可以在序列指纹库中确定与第一序列指纹匹配的第二序列指纹,然后将第二序列指纹对应的服务类型确定为第一加密流量所属的服务类型。其中,序列指纹库包括多个序列指纹,上述多个序列指纹分别对应多个服务类型中的一个服务类型,每个序列指纹包括一个或多个包信息,每个包信息指示一类数据包的特征。

6、可以看出,本方案是基于序列指纹库来识别第一加密流量所属的服务类型。序列指纹库中存储有多个服务类型对应的序列指纹,这些序列指纹用于识别相应服务类型的流量。如果第一加密流量的第一序列指纹能够与序列指纹库中的某个序列指纹匹配,则可以将该序列指纹作为上述第二序列指纹,从而将第一加密流量所属的服务类型识别为第二序列指纹对应的服务类型。

7、基于第一方面,在可能的实施方案中,若多个第一数据包对应的目标包信息与第三序列指纹中的所有包信息一一匹配,并且第一顺序与第二顺序一致,则将第三序列指纹确定为第二序列指纹。其中,第一加密流量中的一个或多个目标数据包包括上述多个第一数据包,第一顺序是上述多个第一数据包在第一加密流量中的顺序,第三序列指纹是上述多个序列指纹中的一个序列指纹,第二顺序是第三序列指纹中的所有包信息的顺序。

8、在本方案中,第一加密流量的第一序列指纹与序列指纹库中的第三序列指纹的匹配条件是:第一序列指纹中具有与第三序列指纹中的所有包信息一一匹配的多个目标包信息,并且上述多个目标包信息对应的目标数据包在第一加密流量中的顺序与第三序列指纹中的所有包信息的顺序是一致的。也就是说,第三序列指纹对流量的局部(即各个包信息)以及整体(即包信息间的顺序)两个方面都做了要求,从而能够很好地识别流量。第一加密流量的第一序列指纹只有同时满足第三序列指纹对于局部和整体的要求,才算是与第三序列指纹匹配。

9、通过比较第一加密流量的第一序列指纹和序列指纹库中的第三序列指纹,如果发现满足上述匹配条件,则可以确定第一序列指纹与第三序列指纹匹配,从而将第三序列指纹对应的服务类型确定为第一加密流量所属的服务类型。如果不满足上述匹配条件,则说明第一加密流量的第一序列指纹与序列指纹库中的第三序列指纹不匹配,从而可以确定第三序列指纹对应的服务类型不是第一加密流量所属的服务类型。

10、基于第一方面,在可能的实施方案中,若一个或多个第一数据包对应的目标包信息与上行序列指纹中的所有包信息一一匹配且第一顺序与第二顺序一致,以及,一个或多个第二数据包对应的目标包信息与下行序列指纹中的所有包信息一一匹配且第三顺序与第四顺序一致,则将第三序列指纹确定为第二序列指纹。

11、其中,第一加密流量中的一个或多个目标数据包包括上述一个或多个第一数据包和上述一个或多个第二数据包。第一顺序是上述一个或多个第一数据包在第一加密流量中的顺序,第三顺序是上述一个或多个第二数据包在第一加密流量中的顺序。第三序列指纹是序列指纹库中的多个序列指纹中的一个序列指纹,它由上述上行序列指纹和下行序列指纹组成。该上行序列指纹包括第三序列指纹中的对应上行方向的所有包信息,该下行序列指纹包括第三序列指纹中的对应下行方向的所有包信息。第二顺序是该上行序列指纹中的所有包信息的顺序,第四顺序是该下行序列指纹中的所有包信息的顺序。

12、在本方案中,序列指纹库中的第三序列指纹由一个上行序列指纹和一个下行序列指纹组成。该上行序列指纹包括第三序列指纹中的对应上行方向的所有包信息,用于与上行方向上的目标数据包对应的目标包信息进行比较。该下行序列指纹包括第三序列指纹中的对应下行方向的所有包信息,用于与下行方向上的目标数据包对应的目标包信息进行比较。

13、此时,第一加密流量的第一序列指纹与序列指纹库中的第三序列指纹的匹配条件是:第一序列指纹中具有与该上行序列指纹中的所有包信息一一匹配的一个或多个目标包信息,并且上述一个或多个目标包信息对应的目标数据包在第一加密流量中的顺序与该上行序列指纹中的所有包信息的顺序是一致的,同时,第一序列指纹中具有与该下行序列指纹中的所有包信息一一匹配的一个或多个目标包信息,并且上述一个或多个目标包信息对应的目标数据包在第一加密流量中的顺序与下行序列指纹中的所有包信息的顺序是一致的。也就是说,只有第一序列指纹与该上行序列指纹、该下行序列指纹都匹配,才可以确定第一序列指纹与第三序列指纹匹配。只要第一序列指纹与该上行序列指纹和该下行序列指纹中的任意一个不匹配,就说明第一序列指纹与第三序列指纹不匹配。

14、通过将第一序列指纹中的对应上行方向的目标包信息与该上行序列指纹进行比较,并且将第一序列指纹中的对应下行方向的目标包信息与该下行序列指纹进行比较,如果发现满足上述匹配条件,则可以确定第一序列指纹与第三序列指纹匹配,从而将第三序列指纹对应的服务类型确定为第一加密流量所属的服务类型。如果不满足上述匹配条件,则说明第一加密流量的第一序列指纹与序列指纹库中的第三序列指纹不匹配,从而可以确定第三序列指纹对应的服务类型不是第一加密流量所属的服务类型。

15、基于第一方面,在可能的实施方案中,可以基于多个第三数据包的接收顺序和上述多个第三数据包对应的因特网协议_身份标识(internet protocol_identification,ip_id)信息,确定上述多个第三数据包在第一加密流量中的顺序。其中,第一加密流量中的一个或多个目标数据包包括上述多个第三数据包。

16、在本方案中,由于ip_id信息是单方向(上行方向/下行方向)递增的,因此,当第一加密流量中的某些数据包出现了乱序情况时,可以根据这些目标数据包的ip_id信息确定这些目标数据包在第一加密流量中的顺序,从而能够将第一加密流量的第一序列指纹与序列指纹库中的各个序列指纹进行比较,进而能够确定第一加密流量所属的服务类型。

17、基于第一方面,在可能的实施方案中,第一包信息包括第一类型数据包的载荷长度、包方向、包类型中的一项或多项。其中,第一包信息是第四序列指纹中的一个包信息,第四序列指纹是多个序列指纹中的一个序列指纹,第一类型数据包是第一包信息对应的一类数据包。

18、在本方案中,序列指纹库中的第四序列指纹中的第一包信息从载荷长度、包方向、包类型中的一种或多种维度对第一类型数据包的特征进行了指示。对于第一加密流量中的第一序列指纹中的某个目标包信息,该目标包信息指示第一加密流量中的某个目标数据包的特征,只有该目标包信息指示的特征满足该第一报信息中的指示的所有特征,该目标包信息才算是与第一包信息匹配。也就是说,如果该目标包信息对应的目标数据包能够满足该第一包信息指示的所有特征,则说明该目标数据包属于第一包信息对应的第一类型数据包。

19、基于第一方面,在可能的实施方案中,第一包信息还包括第一类型数据包与第二类型数据包的包间距。其中,第二类型数据包是第二包信息对应的一类数据包,第二包信息和第一包信息是第四序列指纹中的两个不同包信息。

20、在本方案中,序列指纹库中的第四序列指纹中的第一包信息还可以指示第一类型数据包的包间距特征。应理解,由于增加了特征指示维度,因此可以增强第四序列指纹的流量识别效果。对于第一加密流量中的第一序列指纹中的某个目标包信息,只有该目标包信息指示的特征满足该第一报信息中的指示的所有特征(包括包间距),该目标包信息才算是与第一包信息匹配。

21、基于第一方面,在可能的实施方案中,第一序列指纹包括第一加密流量中的前k个目标数据包对应的目标包信息,k为正整数。在序列指纹库中不存在与第一序列指纹匹配的第二序列指纹的情况下,获取第一加密流量中的第k+1个目标数据包对应的目标包信息,根据第k+1个目标数据包对应的目标包信息更新第一序列指纹,得到更新后的第一序列指纹。然后,在序列指纹库中确定与更新后的第一序列指纹匹配的第五序列指纹,将第五序列指纹对应的服务类型确定为第一加密流量所属的服务类型。

22、在本方案中,通过获取第一加密流量中的前k个目标数据包生成了第一加密流量的第一序列指纹。通过与序列指纹库进行比对,发现序列指纹库中不存在与该第一序列指纹匹配的第二序列指纹,根据该第一序列指纹无法确定第一加密流量所属的服务类型。此时,可以继续获取下一个目标数据包,即第一加密流量中的第k+1个数据包,进而根据第k+1个数据包对应的目标包信息更新上述第一序列指纹,进而判断序列指纹库中是否具有与更新后的第一序列指纹匹配的第五序列指纹。如果是,则将第五序列指纹对应的服务类型确定为第一加密流量所属的服务类型,结束识别过程。如果否,则可以继续获取下一个目标数据包,即第一加密流量中的第k+2个数据包,进而根据第k+2个数据包对应的目标包信息再次更新上述第一序列指纹,然后再与序列指纹库进行比较。后续过程类似,这里不赘述。如果获取到第一加密流量中的最后一个目标数据包,仍然未能与序列指纹库中的任一序列指纹匹配,则可以认为识别失败,结束识别过程。

23、也就是说,第一加密流量的第一序列指纹不是固定的,可以通过依次获取第一加密流量中的各个目标数据包对第一序列指纹进行更新,然后可以使用更新后的第一序列指纹继续进行流量识别。应理解,本方案在获取到第一加密流量中的少量目标数据包时即可开启识别流程,而无需在收集齐第一加密流量中的所有目标数据包时才开始进行流量识别。并且,每接收到第一加密流量的一个目标数据包,便可以更新一次第一加密流量的第一序列指纹,第一加密流量的识别流程也就可以推进一步,从而支持加密流量的快速识别。

24、基于第一方面,在可能的实施方案中,在序列指纹库中确定与第一序列指纹匹配的第二序列指纹之前,该方法还包括:获取属于第一服务类型的多条流量样本,其中,第一服务类型是多个服务类型中的一个序列指纹,多条流量样本中的每条流量样本包括一个或多个数据包;根据多条流量样本生成第一服务类型对应的一个或多个序列指纹,将一个或多个序列指纹以及第一服务类型与一个或多个序列指纹的对应关系存入序列指纹库。

25、也就是说,可以通过获取第一服务类型的多条流量样本生成第一服务类型对应的一个或多个序列指纹,然后在序列指纹库中存入上述一个或多个序列指纹与第一服务类型的对应关系,这样就可以基于序列指纹库中的上述一个或多个序列指纹来识别第一服务类型的流量。

26、基于第一方面,在可能的实施方案中,先根据第一服务类型的多条流量样本生成多个流信息序列。其中,上述多个流信息序列与多条流量样本一一对应,每个流信息序列包括对应的流量样本中的满足重要性条件的数据包所对应的包信息。然后,根据上述多个流信息序列确定多个频繁序列,再根据筛选条件从多个频繁序列中确定第一服务类型对应的一个或多个序列指纹。

27、在本方案中,可以先通过重要性条件确定上述多条流量样本中的哪些数据包属于重要数据包、哪些属于不重要的数据包,生成的各个流信息序列中仅包含重要数据包的包信息,这样有助于生成第一服务类型的序列指纹。然后通过频繁序列挖掘确定多个流信息序列中较为频繁出现的一些序列,得到多个频繁序列,再通过序列筛选确定出第一服务类型对应的序列指纹。

28、基于第一方面,在可能的实施方案中,重要性条件包括包类型为预设类型、载荷长度在预设范围内、基于重要性算法得到的重要性值大于或等于重要性阈值中的一项或多项。

29、基于第一方面,在可能的实施方案中,筛选条件包括序列长度大于或等于预设长度、序列出现次数大于或等于预设次数、序列出现位置在预设位置之前中的一项或多项。

30、基于第一方面,在可能的实施方案中,若第一数值与第二数值的差值小于或等于第一阈值,并且且第一数值与第二数值都位于第一子区间,则将第三包信息和第四包信息中的载荷长度的值都调整为第一子区间对应的数值。其中,第三包信息和第四包信息是上述多个流信息序列中的两个包信息,第三包信息指示的特征与第四包信息指示的特征只有载荷长度存在不同,第三包信息中的载荷长度的值为第一数值,第四包信息中的载荷长度的值为第二数值。载荷长度的变化区间包括多个子区间,每个子区间对应该子区间内的一个数值,第一子区间是上述多个子区间中的一个子区间。

31、可以看出,本方案在提取频繁序列之前,先对第一服务类型的多个流信息序列中的一些包信息进行了包规整。也就是说,对于一些除了载荷长度之外完全相同的包信息,如果它们的载荷长度能够落入同一个载荷长度子区间,并且它们的载荷长度差值小于或等于第一阈值,则可以将它们的载荷长度调整为同一个值。

32、应理解,在第一服务类型的多条流量样本比较少的情况下,通过执行上述包规整的操作,可以使得上述多个流信息序列中重复出现的包信息增多,有助于提取频繁序列,进而有助于生成第一服务类型的序列指纹。

33、基于第一方面,在可能的实施方案中,子区间的长度是根据第一服务类型使用的加密协议中的确认字段和/或填充字段的长度确定的。

34、基于第一方面,在可能的实施方案中,若第六序列指纹和第七序列指纹满足合并条件,则将第六序列指纹和第七序列指纹合并为第八序列指纹,将第八序列指纹以及第一服务类型与第八序列指纹的对应关系存入序列指纹库,其中,第一服务类型对应的上述一个或多个序列指纹包括第六序列指纹和第七序列指纹。

35、本方案通过序列指纹的合并,可以减少序列指纹库中需要存储的序列指纹的数量,从而减少对本方案应用的设备或装置的资源占用及性能影响。

36、基于第一方面,在可能的实施方案中,第一服务类型的多条流量样本包括多条上行流量样本和多条下行流量样本,可以根据上述多条上行流量样本确定多个上行流信息序列,并根据上述多条下行流量样本确定多个下行流信息序列。其中,上述多个上行流信息序列与上述多条上行流量样本一一对应,每个上行流信息序列包括对应的上行流量样本中的满足重要性条件的数据包所对应的包信息。上述多个下行流信息序列与上述多条下行流量样本一一对应,每个下行流信息序列包括对应的下行流量样本中的满足重要性条件的数据包所对应的包信息。然后,根据上述多个上行流量序列确定多个上行频繁序列,并根据上述多个下行流量序列确定多个下行频繁序列。接着,根据上述多个上行频繁序列和上述多个下行频繁序列确定一个或多个组合,再分别将上述一个或多个组合作为第一服务类型对应的一个序列指纹。其中,每个组合包括上述多条上行频繁序列指纹中的一条上行序列指纹以及上述多条下行序列指纹中的一条下行序列指纹。

37、为了降低频繁序列的挖掘难度和筛选难度,本方案选择分别处理上行流量样本和下行流量样本,从而得到上行流信息序列和下行流信息序列。然后分别对上行流信息序列和下行流信息序列进行频繁序列挖掘及筛选,从而得到相应的上行频繁序列和下行频繁序列。最后再对上行频繁序列和下行频繁序列进行组合,从而得到第一服务类型对应的序列指纹以用于识别第一服务类型的流量。

38、基于第一方面,在可能的实施方案中,先基于关联识别技术或网际协议(internetprotocol,ip)库从多个父类型中确定第一加密流量所属的第一父类型,然后在第一父类型下的所有子类型对应的序列指纹中确定与所述第一序列指纹匹配的第二序列指纹。其中,上述多个服务类型分别为上述多个父类型中的一个父类型下的子类型。

39、本方案先通过关联识别或ip库确定第一加密流量所属的第一父类型,再将第一加密流量的第一序列指纹与序列指纹库中第一父类型下的所有子类型对应的序列指纹进行比较,可以缩小第一序列指纹在序列指纹库中的比较范围,并减小第一序列指纹与序列指纹库中的序列指纹的比较次数,从而可以提升流量识别效率。通过这种父类型+子类型的分层识别,还可以提升流量识别的准确性。

40、第二方面,本技术还提供一种序列指纹库构建方法,该方法包括:获取属于第一服务类型的多条流量样本,然后根据上述多条流量样本生成第一服务类型对应的一个或多个序列指纹,将上述一个或多个序列指纹以及第一服务类型与上述一个或多个序列指纹的对应关系存入序列指纹库。其中,序列指纹库用于识别加密流量所属的服务类型,第一服务类型是多个服务类型中的一个服务类型,上述多条流量样本中的每条流量样本包括一个或多个数据包,上述一个或多个序列指纹中的每个序列指纹包括一个或多个包信息,每个包信息指示上述多条流量样本中的一个或多个数据包的特征。

41、第三方面,本技术还提供一种通信装置,包括用于执行第一方面中的任一实施方案的单元和/或模块,或者,包括用于执行第二方面中的任一实施方案的单元和/或模块。

42、第四方面,本技术还提供一种通信装置,包括处理器和存储器,该处理器用于执行该存储器中存储的指令,以使得该通信装置执行第一方面中任一实施方案的方法,或者,以使得该通信装置执行第二方面中任一实施方案的方法。

43、第五方面,本技术还提供一种计算机可读存储介质,包括计算机程序指令,当所述计算机程序指令由计算设备执行时,该计算设备执行如第一方面中任一实施方案的方法或如第二方面中任一实施方案的方法。

44、第六方面,本技术还提供一种包含指令的计算机程序产品,其特征在于,当所述指令被计算设备运行时,使得该计算设备执行如第一方面中任一实施方案的方法或如第二方面中任一实施方案的方法。

本文地址:https://www.jishuxx.com/zhuanli/20241015/313928.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。