一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于分割流量的网络流量分析对抗方法及装置

2022-04-14 04:35:55 来源:中国专利 TAG:


1.本发明属于网络信息安全技术领域,具体涉及一种网络流量分析对抗方法及装置。


背景技术:

2.在过去的网络环境中,网络信息疏于加密保护,用户和网站的信息在网络中以明文的形式传递。这样的信息传递方式带来了巨大的数据泄露风险,处于数据传输路径中的mitm(man in the middle中间人)可以轻易获取到用户和网站的完整信息。随着网路安全意识的提高,ssl/tls(安全套接字/传输层安全)的使用率从2014年的26%提高到2018年的70%,越来越多的网站使用https对数据进行加密传输。这类方法使得网络中的数据包内容得到加密,在密码安全的前提下中间人无法通过从中间网络结点获得的网络流量中直接取得数据内容。
3.如今的网络环境中,活跃的重要流量几乎都是加密的,但是仍然可以借助机器学习等技术,分析这些加密的流量的其他特征,获得额外的各种信息,这就是网络流量分析技术。
4.这一技术应用场景丰富,例如website fingerprinting(网页指纹):用户选择使用代理和dns over https或tor(洋葱路由)等方法匿名接入网络。这类方法使得网络中数据报的头部地址信息进一步受到混淆,不能简单判断用户访问的目的网站。但是,通过分析这类流量的特征可以非常准确的判断正在访问的网站,即得到了这个网站的指纹(website fingerprinting)。除了网站指纹信息,相同的分析策略还可以使用在用户所使用的应用,所使用的设备上,得到应用的指纹,设备型号的指纹,设备操作系统的指纹等等。这一系列的信息可以反映用户本身的行为特征,组合成用户的肖像,进一步威胁用户的隐私信息。
5.一般来说,上述的网络流量分析方法是通过分析用户流量的外部特征,包括数据包所使用的网络协议类型,尺寸大小、时间戳、方向等,来推断用户更多的隐私信息。因此,安全设计研究人员一般通过掩盖用户加密流量的这些外部特征来实现隐私保护,具体有以下几种方式:(1)对数据包注入一些冗余信息,改变数据包的尺寸大小;(2)数据包的转发加入等待延迟,影响攻击者收到数据包的时间戳;(3)注入冗余的数据包,影响流量整体的特征;(4)对若干数据包进行聚合操作,将若干数据包打包在一起,影响流量整体的特征。
6.上述这些隐私保护方法可以有效的降低流量分析(一般为分类、聚类等目的)的效果,(包括recall, precision, fpr等指标),但是他们仍然存在其他的问题:(1)引入较大的网络开销例如在洋葱路由中,每一个数据包都会通过冗余信息注入得到完全相同的尺寸。一些其他的方法中,引入延迟和冗余数据包显然也会增加带宽和速率开销;
(2)有较大的使用限制例如,有的保护方法虽然可以用较小的开销达到良好的保护效果,但是往往是针对于某种类型的流量分析方法,如针对于使用深度学习方法的分析方法,针对使用近邻算法的分析方法等。另外对于聚合流量的方法,网络中活跃的用户越多时效果越好,因此不能保证活跃用户较少或者只有一个用户时的保护效果和低开销。


技术实现要素:

7.为了解决现有技术存在的问题,本发明提出基于分割流量的网络流量分析对抗方法,旨在掩盖用户的网络流量特以征保护用户信息。该方法在较少活跃用户的情况下也能保证良好的保护效果和较小的网络额外开销,降低对用户体验的影响。另外,用户可以根据使用场景和网络状况设置该方法的配置项,提高保护效果或网络吞吐量。
8.本发明解决其技术问题采用的技术方案是:基于分割流量的网络流量分析对抗方法,包括:步骤一:数据发送端将接收的原始数据包进行分割及封装,获得若干个子数据包;步骤二:将子数据包发送到中间交换结点,并由中间交换节点转发至数据接收端;步骤三:数据接收端接收所有的子数据包,检查无误后,按照顺序将子数据包恢复为原始数据包,发送至目的地或继续转发。
9.作为本发明的一种优选方式,对原始数据包进行分割及封装的方法包括:(1)确定分割序列,按照分割序列,将原始数据包分割成若干部分;(2)将上一步分割得到的每一部分数据封装成完整的子数据包。
10.进一步地,所述分割序列采用随机数、固定值或者根据原始数据包改变的动态值生成,所述分割序列的第i个元素表示分割后第i部分的长度,所有部分的长度之和等于原始数据包的长度。
11.进一步地,所述步骤二中,将得到的子数据包按顺序组成子数据包序列,确定发送序列并发送;所述发送序列中元素从发送端口集合中随机取值,发送端口集合表示所有可用的发送端口号的集合;发送序列的第i个元素表示第i个子数据包在数据发送端的发送端口。
12.进一步地,对每一部分数据进行封装的方法包括:使用原始数据包的头部信息及控制信息进行封装,所述控制信息包括:分割的每一部分数据、该部分数据的序号、该部分数据的长度。
13.进一步地,第一部分数据的控制信息中还包括分割序列。
14.进一步地,子数据包封装的头部信息中还包括标识信息,所述标识信息用于表明该数据包是某原始数据包的子数据包。
15.进一步地,所述步骤三具体包括以下步骤:(1)数据接收端使用子数据包的标识信息进行判断,将标识信息相同的子数据包放入相同缓冲中等待重组,并生成接收序列;所述接收序列根据接收到的子数据包中控制信息生成;(2)所有子数据包接收完毕后,检查缓冲中子数据包的完整性和正确性;当确认缓冲中包含了所有正确的子数据包后,按照顺序将所有子数据包的数据部分组合起来,恢复
为原始数据包。
16.进一步地,子数据包的完整性和正确性的检查方法为:将接收到的第一个子数据包中数据部分包含的分割序列与接收序列进行对比。
17.为了进一步解决本发明的技术问题,本发明还提供一种基于分割流量的网络流量分析对抗装置,包括:数据发送端:用于将接收的原始数据包按照分割序列进行分割,并将分割后的数据封装成若干子数据包,发送至中间交换节点,由中间交换节点进行转发;所述子数据包使用原始数据包的头部信息及控制信息封装而成,所述控制信息包括:分割的每一部分数据、该部分数据的序号、该部分数据的长度;数据接收端:用于接收所述中间交换节点转发的子数据包,并对接收的子数据包进行检查和重组,恢复成原始数据包,发送至目的地或继续转发。
18.本发明的基于分割流量的网络流量分析对抗方法及装置,具有以下有益效果:1.本发明将数据接收端和数据发送端部署于网络中的交换结点中,且只有少部分边缘交换结点需要部署,整个方案对用户透明,用户端不需要进行额外的安装即可使用,保证了方案的易用性。
19.2.本发明可以通过简单配置项,灵活平衡网络开销和保护效果,方便用户基于自身需求配置,适应多种网络环境。
20.3.本发明相比于其他传统的网络流量分析对抗方法,不引入冗余的数据信息,减少了网络带宽开销和延迟。相比于聚合流量的方法,提升了网络中活跃用户少的情况下的保护效果。
附图说明
21.图1为本发明实施例的典型网络拓扑;图2为本实施例中基于分割流量的网络流量分析对抗装置方法的一种应用场景示意图;图3为本发明实施例中原始数据分割及封装示意图。
具体实施方式
22.为了便于理解本发明,下面结合附图和具体实施例,对本发明进行更详细的说明。附图中给出了本发明的较佳的实施例。但是,本发明可以以许多不同的形式来实现,并不限于本说明书所描述的实施例。相反地,提供这些实施例的目的是使对本发明公开内容的理解更加透彻全面。
23.实施例1 本实施例提供一种基于分割流量的网络流量分析对抗装置假设网络中的交换结点有两种,第一种称为边缘结点(edge node),这一类结点物理上或网络上靠近用户,是用户流量的出口,可能是用户家中的无线路由,nat路由出口,网关等。第二种称为中间结点(core node),除去边缘结点的其他交换结点都是中间结点,它们在物理上或网络上远离用户,可能是广域网中的任意交换路由。我们认为边缘结点是较为安全的,攻击者不容易从边缘结点获得用户的流量,因此我们信任所有的边缘结点,认为流量只可能从中间结点中被截获用于网络流量分析。
24.如图1所示,假设用户到目的主机距离较远,用户数据包p依次通过边缘交换结点a(靠近用户端),若干中间交换结点,边缘交换结点b(靠近服务端),到达目的地。
25.此时,边缘交换结点a作为数据发送端,将用户数据包p分割为若干子数据包pk1、pk2、pk3...。根据发送序列从边缘交换结点a的不同端口发送,经过中间交换结点转发到边缘交换节点b,边缘交换节点b作为数据接收端,将接收到的子数据包重组恢复成原始数据包p,继续转发或发送至目的服务端。
26.同理,当服务端将原始数据包发送到边缘交换节点b时,边缘交换节点b又可作为数据发送端,以同样的方法对原始数据包进行分割,然后根据发送序列从边缘交换节点b的不同端口发送,经过中间交换结点转发到边缘交换节点a,边缘交换节点a作为数据接收端,将接收到的子数据包重组恢复成原始数据包,发送到用户端。
27.实施例2 本实施例提供的基于分割流量的网络流量分析对抗装置方法,可实施于一些对信息保密要求高的场景中,该场景可能为政府等机构内网,网络信息保密要求较高,不仅不希望外部人员通过网络流量分析推测到信息,政府不同部门之间可能也需要保密。在这些要求前提下应用本发明提出的方法,政府不同的部门通过各自的边缘交换结点(a)访问内网,内网中的不同网络服务(包括数据库、ftp文件服务、网关防火墙等)也有各自的边缘交换结点(b)。
28.以边缘交换结点a作为数据发送端,以边缘交换结点b作为数据接收端为例,本实施例方法的具体步骤详细阐述如下:1、原始数据包的分割边缘交换结点a1接收到用户端的原始数据包p后,确定分割序列并进行分割:首先需要确定分割后每一部分的大小,可使用随机数、固定值、或根据原始数据包改变的动态值等方法生成一个分割序列(splitting sequence, ss),分割序列的第i个元素表示分割后第i部分的长度,分割后的各个部分数据长度相加之和为原始数据包p的数据长度,最多分割次数(maximum split times, mst),由用户决定。
29.随机数法是指采用随机算法直接生成的一系列随机数,来确定分割后每一部分的大小。
30.固定值法是指设定一个长度值,按照该长度值去分割原始数据包。
31.根据原始数据包p改变的动态值方法,是指根据原始数据包的大小进行分割,比如:原始数据包p的长度是100,可以分成两个50。下一个原始数据包的长度是150,分成2个75。
32.按照生成的分割序列和用户设定的最大分割次数,将完整的数据包p分割成若干份part1、part2、part3...。
33.2、子数据包的封装将上一步分割得到的若干部分part1、part2、part3...,封装成完整的子数据包pk1、pk2、pk3...。
34.子数据包来自于相同的原始数据包p,因此,使用原始数据包的头部信息对每一部分数据进行封装即可保证子数据包能被正确转发到目的边缘交换结点b,除此之外,需要加入一定的控制信息用于后续重组和检查完整及正确性,才能组成最终的子数据包pk。可以加入的控制信息包括上一步生成的分割序列、该部分序号、该部分尺寸等,为了减少网络开
销,可以仅在part1(即序号为1)加入分割序列,用于检查整个序列的完整性和正确性。另外,封装的头部信息需要加入一些标识信息来表明这个数据包是来自原始数据包p的一个子数据包,接收到的边缘交换结点b需要对其进行重组的操作而不能直接转发。标识信息可以使用特定的无意义的mac地址等,亦可以采用其他标识信息。
35.如图3所示,假设分割序列有4个元素,即要分割成4个部分,原始数据包p根据分割序列分割得到4个部分,除此之外还需添加控制信息以构成完整的子数据包数据部分。分割成的第1部分额外添加上一步的分割序列用作之后的检查,所有分割后的部分都需要添加序号和长度作为控制信息。
36.添加为控制信息后即成为子数据包pk的数据部分,使用原始数据包的头部进行封装,另外,可使用特定的mac地址标记本数据包为子数据包,边缘交换结点b在接收到含有这一特定mac地址的子数据包将进行重组操作。
37.3、确定发送序列并发送子数据包对于有多个端口的边缘交换结点a,到达目的边缘交换结点b可能存在多个路径(即通过不同的中间交换结点进行转发),需要确定任意子数据包pk在边缘交换结点a的发送端口。
38.随机生成一个发送序列ss(sending sequence),ss中的元素在发送端口集合sps (sending port set, sps)中随机取值,发送端口集合sps表示所有可用的发送端口编号的集合。发送序列的第i个元素表示第i个子数据包在边缘交换结点a的发送端口。用户可以指定sps中的元素或元素数目,例如可以将所有子数据包从相同的一个发送端口中发送。
39.在如图2所示的网络拓扑下,当用户访问内网中的网络服务时,边缘交换结点a1可使用3个发送端口中的任意一个发送用户数据包,则此时的发送端口集合sps为{1,2,3}分别代表了3个可用的发送端口。a1可从中随机选取形成发送序列,假设分割成了4个子数据包,则可能随机得到形如{1,3,2,2}的发送序列,依次表明4个子数据包的发送端口。
40.4、缓冲并确定接收序列边缘交换结点b可能会接收到多个不同边缘交换结点a发来的子数据包,需要进行区分以将正确的子数据包重组到一起恢复原始数据包p。
41.对所有可以到达边缘交换结点b的边缘交换结点a分配唯一的flow id,接收到的子数据包可能来自其中任意一个边缘交换结点a。边缘交换结点b保留若干缓冲,一一对应于每一个flow id,即对应于每一个可以到达边缘交换结点b的边缘交换结点a。每一个缓冲有一个接收序列rs。
42.边缘交换结点b接收到子数据包pk,通过它的源地址信息判定该数据包所属的flow id,提取该子数据包的数据部分,将数据部分放入对应的缓冲中并根据数据部分中的控制信息生成接收序列rs。接收序列rs中的第i个元素表示接受到的序号为i的子数据包数据部分长度,接收到的子数据包根据数据部分中的控制信息生成相应的接收序列。
43.以图2中边缘交换节点b1为例,边缘交换节点a1、a2、b2、b3均可到达边缘交换节点b1,依次分配flow id 0到3给这4个路径:a1到b1,a2到b1,b2到b1,b3到b1。b1需要保留4个缓冲对应于这4个flow id,每个缓冲有一个接收序列。
44.到达边缘交换节点b1的子数据包(通过特定mac地址识别)通过源地址判断所属的源边缘交换结点,得到对应的flow id,将数据部分加入对应的缓冲。假设从边缘交换节点
a1分割成的子数据包pk到达边缘交换节点b1,则分配到flow id为0。子数据包的数据部分如图3所示,使用控制信息部分填写该数据包对应缓冲的接收序列:将接收序列第i个元素修改为k,i为序号,k为长度。
45.5、检查与重组:当接收到一个原始数据包p的第一个子数据包pk1,即序号为1的子数据包pk1时,将其数据部分包含的分割序列对比该数据包对应缓冲的接收序列,检查是否接收了所有的子数据包,缓冲中是否有错误的数据包。
46.当缓冲包含了所有正确的子数据包,即可根据接收序列将子数据包重组为原始数据包p,清空缓冲和接收序列。
47.6、发送:根据原始数据包p的头部信息和边缘交换结点的交换规则,将重组恢复后的原始数据包继续转发。
48.以上说明了a端用户流量到达b端服务端的传输过程。同样,服务端的流量发送到a端用户也需要采用相同的方法,此时b端服务端作为发送端对原始数据包进行分割、封装、发送,a端用户作为接收端进行接收、缓冲、重组和转发。
49.在本实施例的方法中,用户可以决定若干配置项以影响本发明的工作方式,包括:(1)最大的分割次数mst,越多的分割次数会引入更多的额外网络开销,带来更好的保护效果。
50.(2)分割序列ss的生成方法,包括随机数、固定值等方法,随机数可以提高保护效果,但是生成随机数可能会有一定的开销;使用固定值或根据原始数据包p改变的动态值作为分割序列的生成方法可以提高吞吐量。
51.(3)发送端口号集合sps中的元素,假设到达目的边缘交换结点有多条路径,用户可以设置使用较为通畅的路径或使用较为安全的路径。
52.以上三个用户配置项为本发明的方法带来了较大的灵活性,适应于不同的用户使用场景和网络环境,平衡保护效果和网络吞吐量。当所传输的信息保密要求严格时,可以增大mst,使用随机方法生成分割序列,以达到更好的分割效果;当在使用延迟敏感的网络应用,如视频电话,可以降低mst,使用固定值生成分割序列,增大网络吞吐量。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献