一种隧道报文的阻断方法和阻断装置与流程
未命名
08-02
阅读:67
评论:0

1.本技术涉及隧道通信领域,尤其涉及一种隧道报文的阻断方法和阻断装置。
背景技术:
2.隧道报文是在隧道通道中传输的数据报文,通过额外的一层封装来实现加密、封装、转发和认证等。在实现上述功能的同时,也出现了一些攻击报文通过二次封装进行伪装,尤其会伪装成基础协议,实则包含一定攻击性。针对这些攻击报文,在现有的方案中,使用包过滤技术匹配二次封装(也即外层封装)的基础协议来判断报文是否为可疑的报文,并直接阻断。由于正常访问的报文也会二次封装为这些基础协议以正常访问,进而被包过滤技术错误的当作了攻击报文进行了阻断,以使部分需要正常访问的报文无法正常使用。
技术实现要素:
3.有鉴于此,本技术提供一种隧道报文的阻断方法和阻断装置。
4.具体地,本技术是通过如下技术方案实现的:
5.本技术的第一方面,提供一种隧道报文的阻断方法,阻断方法包括:接收隧道报文,基于隧道报文的外层封装的报文头,确定隧道报文的协议类型与预设的第一阻断策略匹配的情况下,标记隧道报文;基于被标记的隧道报文的内层封装的报文头,确定被标记的隧道报文的协议类型与预设的第二阻断策略匹配的情况下,拦截被标记的隧道报文。
6.本技术的第二方面,提供一种隧道报文的阻断装置,阻断装置包括:标记模块,用于接收隧道报文,基于隧道报文的外层封装的报文头,确定隧道报文的协议类型与预设的第一阻断策略匹配的情况下,标记隧道报文;拦截模块,用于基于被标记的隧道报文的内层封装的报文头,确定被标记的隧道报文的协议类型与预设的第二阻断策略匹配的情况下,拦截被标记的隧道报文。
7.通过上述技术方案,本技术至少具有以下有益效果:
8.利用了隧道报文的两层封装均对应一次建立会话过程的特点,通过在建立外部会话时进行一次阻断策略匹配,虽然容易匹配成功,但不会立刻拦截待处理报文,因此应该正常访问的报文在被意外标记时,还可以进行第二次阻断策略的匹配,通过根据攻击报文预设的字段进行匹配,成功识别到攻击报文并进行拦截,此时被意外标记的报文由于无法匹配第二次阻断策略而正常建立连接,以此在一定程度上防止应该正常访问的报文被错误的拦截。
附图说明
9.图1是本技术一示例性实施例示出的一种隧道报文的阻断方法的流程图。
10.图2是本技术一示例性实施例示出的一种清理哈希表的方法的流程图。
11.图3是本技术一示例性实施例示出的一种会话数限制的方法的流程图。
12.图4是本技术一示例性实施例示出的一种隧道报文的阻断装置的框图。
13.图5是本技术一示例性实施例示出的一种隧道的目的端设备的框图。
具体实施方式
14.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
15.在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
16.应当理解,尽管在本技术可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
17.以下将采用具体实施例对本技术详细说明。
18.网络协议定义了终端设备在网络上进行信息交换的规则,隧道协议(tunneling protocol)允许在一个网络协议上封装另一种网络协议的报文,从而实现传输。隧道协议可以在网络间建立一条安全的通道,对通信内容进行加密,也可以将一种网络协议的报文封装在另一种网络协议中进行传输。隧道协议通过在网络报文的外层和内层实现两次封装,将本地网络协议的数据包封装在外层网络协议的数据包中进行传输。外层封装允许数据包进行中继和跨网络传输,内层封装保留了本地数据包的格式不变。
19.外层封装过程中,本地数据包被当作内层网络协议的数据字段进行封装,外层网络报文添加报头,制定传输路径和处理方法。内层封装保证了本地网络报文的格式和协议不被改变,收到方在移除外层报头后,可以直接处理内层网络协议的数据包。
20.通过内外两层封装,隧道技术能够跨网络传输、过滤规避以及保证安全通信的重要能力。
21.隧道报文带来许多优点的同时,由于隧道技术内外层封装不同,不法分子能够将该技术用于规避过滤技术,如过滤防火墙,以获取非法的访问权限、恶意建立会话、进行网络攻击等。
22.为了减少被攻击的可能性,现有技术会提升隧道目的端设备、终端设备等的过滤能力,或增设过滤能力更强的防火墙设备等。
23.常用的过滤技术中,可以使用包过滤技术,能够对隧道报文的外层报文进行限制,由于外层报文采用的网络协议相似,因此对攻击报文拦截力度大的同时会阻断大量非攻击报文,造成业务的中断或失败。
24.针对此,可以参考图1,本技术提供了一种隧道报文的阻断方法,阻断方法可以包括:
25.s101、接收隧道报文,基于隧道报文的外层封装的报文头,确定隧道报文的协议类
型与预设的第一阻断策略匹配的情况下,标记隧道报文;
26.s102、基于被标记的隧道报文的内层封装的报文头,确定被标记的隧道报文的协议类型与预设的第二阻断策略匹配的情况下,拦截被标记的隧道报文。
27.本技术通过上述技术方案,先将所有可疑的协议类型对应的隧道报文都进行标记,再根据内层封装的报文头进行第二次匹配,第二次匹配则针对包含攻击报文常用的协议类型。由于第一次匹配时仅作标记,再由第二次匹配对攻击报文准确识别,因此第一阻断策略可以采用较为严格的策略,可以使用比包过滤技术更为严格的拦截力度。
28.同时由于进行了两次策略匹配,即使第一次匹配由于拦截力度大导致部分应当正常访问的非攻击报文也被标记(即第一阻断策略匹配成功),由于第二次阻断策略针对的攻击报文的内层封装对应的网络协议,因此非报文不会被阻断,仍然能够正常建立会话,因此能够防止非攻击报文被阻断,造成业务的中断或失败,同时也能保证比包过滤技术更高的准确度。
29.因为包过滤技术采用的方法是针对外层封装,因此若要降低误拦截概率则尽可能降低拦截力度,而本技术相较包过滤技术而言,可以尽可能提高对外层封装的拦截力度以覆盖所有可疑报文,包过滤技术采用低拦截力度来保证一定的非攻击报文访问,而本技术则采用了相反的思路提高了拦截力度,相较包过滤技术进行了不易想到的改进。
30.在此基础上,本领域技术人员可以自行设定合适的网络协议作为阻断策略,在本技术一实施例中,dns(domain name system,域名系统)协议和icmp(internet control message protocol,因特网控制报文协议)协议作为非攻击报文常用的网络协议类型,也是经常被攻击报文伪装的网络协议类型,则第一阻断策略可以包括但不限于dns协议或icmp协议,ssh(secure shell,安全外壳)协议作为攻击报文常用的内层网络协议,则第二阻断策略可以包括但不限于ssh协议。
31.可以理解的是,本技术中,阻断策略包含某一网络协议,可以是包含这一网络协议的对应的判断策略,因为不同网络协议的判断方式不同,因此阻断策略中保存的内容可以根据需要被匹配到网络协议的类型确定。
32.例如,tcp(transmission control protocol,传输控制协议)协议可以使用端口号和标志位识别,则采用该协议作为阻断策略时可以预先存储tcp协议可能使用的端口号和标志位;再如icmp协议,采用icmp协议的报文本身不带有传输层端口信息,所以可以预先存储“源端口为0,目的端口也为0”这一条件,再加上其他条件(如报文报头长度是否为8个字节等,不再赘述)用于第一阻断策略的匹配。其他类型的匹配策略不再一一赘述,若能根据本技术公开的内容能够直接得到或变换得到,均应落入本技术的保护范围内。
33.在上述方案的基础上,s102中,确定隧道报文的协议类型与预设的第二阻断策略匹配的步骤在建立内层会话之前执行。
34.在建立内层会话之前拦截攻击报文可以避免建立与攻击者的连接,从而节省服务器的连接资源和处理能力。尤其适用于dos(disk operating system,磁盘操作系统)攻击和ddos(distributed denial of service,分布式拒绝服务)攻击,这点效果明显,还能够拦截sql(structured query language,结构化查询语言)注入攻击报文以防止非法sql执行。
35.在上述方案基础上,为了适用于不同使用需求,本技术中可以基于隧道报文的以
下至少一种属性与第一阻断策略或第二阻断策略进行匹配:
36.端口号;标志位;报文的长度;字段顺序;可选字段;交互形式;外层和内层协议的对应关系;端口类型。
37.需要理解的是,不同网络协议用于识别的因素不同,因此本本领域技术人员可以根据具体采用的网络协议的类型进行自主选择,采用以上任意一种方式作为第一阻断策略或第二阻断策略以进行匹配的均应落入本技术的保护范围内。
38.在本技术的方案中,需要对第一阻断策略匹配成功的报文进行标记,作为示例性的,本技术给出了多种标记的方式,具体的,标记隧道报文的步骤包括以下任一:
39.在隧道报文的协议类型与预设的第一阻断策略匹配的情况下,生成并记录标记隧道报文的随机字符;或
40.在隧道报文的协议类型与预设的第一阻断策略匹配的情况下,生成并记录标记隧道报文的第一字符;在隧道报文的协议类型与预设的第一阻断策略不匹配的情况下,生成并记录标记隧道报文的第二字符;第一字符与第二字符不同。
41.需要理解的是,第一种标记方式中,随机字符可以是数字、英文、特殊字符等的一种或多种组合,因为需要被标记的报文带有随机字符,而没有被标记的报文在相同位置为空,因此在进行第二阻断策略匹配前,可以被检测出来哪些报文带有随机字符并对其进行第二阻断策略匹配,匹配成功后进行拦截(或称阻断)。
42.而第二种方式也可以产生同样的技术效果,具体地,采用不同的第一字符和第二字符,分别对第一阻断策略匹配的报文和第一阻断策略未匹配的报文进行标记,由于二者不同,因此也能够在进行第二阻断策略匹配前,被检测出来哪些报文带有随机字符并对其进行第二阻断策略匹配。
43.具体地,一实施例中,为了便于判断,可以使用便于四则运算进行比较的数字,如随机字符可以是随机数字;第一字符可以是数字0以外的随机数字,而第二字符可以是数字0;也可以将随机数字、第一字符、第二字符设定为固定值。相应的,也可以使用英文字符、特殊字符等,能够区分两种类型的报文即可。
44.在本技术中,用于标记的随机字符、第一字符或第二字符等均可以作为标志被记录在哈希表中,哈希表能够被程序或系统读取,因此参考图2,阻断方法还可以包括:
45.s201、在被标记的隧道报文的协议类型与预设的第二阻断策略匹配的情况下,删除哈希表中与被标记的隧道报文绑定的标志。
46.因为哈希表会占用一定的存储空间,第二阻断策略匹配成功后,这一匹配成功的报文在哈希表中对应的标志也没有任何使用价值,采用上述方式可以避免无效标志持续占用空间。
47.但在此基础上,由于仅在哈希表中对第二阻断策略匹配成功的标志进行了清除,由于还存在一些报文,在匹配第一阻断策略时被认为可能是攻击报文被进行了标记,哈希表中存入了对应的标志,而在第二阻断策略中未匹配成功,因此作为非攻击报文正常建立了连接。为了防止这一些被标记但未被拦截的报文对应的标志持续占用存储空间,阻断方法还包括:定时删除哈希表中记录的待删除标志,待删除标志绑定的隧道报文的协议类型与预设的第二阻断策略不匹配。
48.可以理解的是,只有第一阻断策略匹配成功的报文才会具有标志,因此待删除标
志可以用来指代第一阻断策略匹配成功,而第二阻断策略未匹配成功的报文所对应的标志。通过上述方法,能够在对第二阻断策略匹配成功的标志清理后,额外清理第二次阻断策略匹配失败的标志,以此来定时清空所有无效标志,以减小哈希表的体积,进一步减少对存储空间的占用。
49.在上述任一实施例方案的基础上,s101之前,也即隧道报文的协议类型与预设的第一阻断策略进行匹配之前,阻断方法还可以包括:s301在确定隧道报文的会话次数超过第一阈值的情况下,拦截隧道报文;
50.s102之前,也即隧道报文的协议类型与预设的第二阻断策略进行匹配之前,阻断方法还可以包括:s302在确定被标记的隧道报文的会话次数超过第二阈值的情况下,拦截被标记的隧道报文。
51.若需要对所有可疑报文都进行会话次数的限制,则可以在第一阻断策略时进行会话数限制,也即增加s301,若需要对攻击报文欲进行会话的次数进行限制,也即限制攻击次数,则可以增加302.若要对可疑访问次数和攻击次数都进行限制,则参考图3,可以同时增加301和302这两个步骤。
52.可以理解的是,第一阈值和第二阈值可以根据需求进行设定,具体的,第一阈值可疑根据第一阻断策略对应的协议类型设定;第二阈值可疑根据第二阻断策略对应的协议类型设定。
53.如ssh协议的攻击报文将外部封装为icmp协议,而第一阻断策略恰好包含icmp协议,若想限制这种攻击报文的会话次数在10以内,则可以设置第二阈值为10,当第一阻断策略匹配成功10次后,由于达到了第二阈值,在进行第二阻断策略匹配之前就进行了拦截,以此来防止过多的访问。
54.第一阈值可以理解为访问总数的限制,而第二阈值可以理解为标记次数的限制,由于第二限制策略只针对被标记的报文(也即带有标志的报文),因此将要进行第二限制策略匹配的次数,恰好是进行标记的次数,因此可以通过设置第二阈值进行限制。
55.由于会话数限制位于阻断策略匹配之前,因此能够在一定程度上减少资源占用,会话数限制和阻断策略的结合使用,能够在拦截准确度和资源占用率之间进行平衡,在拦截准确度需求低/被攻击可能性低的场景下,可以采用会话数限制进行拦截,以减少匹配行为,进而一定程度地减少资源占用。
56.与前述阻断方法的实施例相对应,参考图4,本技术还提供了一种隧道报文的阻断装置40,阻断装置40可以包括:
57.标记模块401,用于接收隧道报文,基于隧道报文的外层封装的报文头,确定隧道报文的协议类型与预设的第一阻断策略匹配的情况下,标记隧道报文;
58.拦截模块402,用于基于被标记的隧道报文的内层封装的报文头,确定被标记的隧道报文的协议类型与预设的第二阻断策略匹配的情况下,拦截被标记的隧道报文。
59.本技术阻断装置的实施例可以应用在任一一种隧道的目的端设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在隧道的目的端设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本技术阻断装置所在的隧道的目的端设备的一种硬件结构图,除了图5所示的处理器501、内存502、网
络接口503、非易失性存储器504以及用于连接的总线505之外,实施例中装置所在的隧道的目的端设备通常根据该目的端设备的实际功能,还可以包括其他硬件,对此不再赘述。
60.虽然本说明书包含许多具体实施细节,但是这些不应被解释为限制任何发明的范围或所要求保护的范围,而是主要用于描述特定发明的具体实施例的特征。本说明书内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。
61.类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。
62.由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。
63.以上所述仅为本技术的较佳实施例而已,并不用以限制本技术,凡在本技术的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本技术保护的范围之内。
技术特征:
1.一种隧道报文的阻断方法,其特征在于,所述阻断方法包括:接收隧道报文,基于所述隧道报文的外层封装的报文头,确定所述隧道报文的协议类型与预设的第一阻断策略匹配的情况下,标记所述隧道报文;基于被标记的隧道报文的内层封装的报文头,确定所述被标记的隧道报文的协议类型与预设的第二阻断策略匹配的情况下,拦截所述被标记的隧道报文。2.根据权利要求1所述的阻断方法,其特征在于,所述第一阻断策略包括dns协议或icmp协议,所述第二阻断策略包括ssh协议。3.根据权利要求2所述的阻断方法,其特征在于,所述确定所述隧道报文的协议类型与预设的第二阻断策略匹配的步骤在建立内层会话之前执行。4.根据权利要求2所述的阻断方法,其特征在于,基于所述隧道报文的以下至少一种属性与第一阻断策略或第二阻断策略进行匹配:端口号;标志位;报文的长度;字段顺序;可选字段;交互形式;外层和内层协议的对应关系;端口类型。5.根据权利要求1所述的阻断方法,其特征在于,标记所述隧道报文的步骤包括以下任一:在所述隧道报文的协议类型与预设的第一阻断策略匹配的情况下,生成并记录标记所述隧道报文的随机字符;或在所述隧道报文的协议类型与预设的第一阻断策略匹配的情况下,生成并记录标记所述隧道报文的第一字符;在所述隧道报文的协议类型与预设的第一阻断策略不匹配的情况下,生成并记录标记所述隧道报文的第二字符;所述第一字符与所述第二字符不同。6.根据权利要求5所述的阻断方法,其特征在于,所述随机字符、所述第一字符或所述第二字符作为标志被记录在哈希表中,所述阻断方法还包括:在所述被标记的隧道报文的协议类型与所述预设的第二阻断策略匹配的情况下,删除所述哈希表中与所述被标记的隧道报文绑定的标志。7.根据权利要求6所述的阻断方法,其特征在于,所述阻断方法还包括:定时删除所述哈希表中记录的待删除标志,所述待删除标志绑定的隧道报文的协议类型与所述预设的第二阻断策略不匹配。8.根据权利要求1-7任一项权利要求所述的阻断方法,其特征在于,所述隧道报文的协议类型与预设的第一阻断策略进行匹配之前,所述阻断方法还包括:在确定所述隧道报文的会话次数超过第一阈值的情况下,拦截所述隧道报文;和/或所述隧道报文的协议类型与预设的第二阻断策略进行匹配之前,所述阻断方法还包括:在确定所述被标记的隧道报文的会话次数超过第二阈值的情况下,拦截所述被标记的隧道报文。9.根据权利要求8权利要求所述的阻断方法,其特征在于,所述第一阈值根据所述第一阻断策略对应的协议类型设定;所述第二阈值根据所述第二阻断策略对应的协议类型设定。10.一种隧道报文的阻断装置,其特征在于,所述阻断装置包括:标记模块,用于接收隧道报文,基于所述隧道报文的外层封装的报文头,确定所述隧道报文的协议类型与预设的第一阻断策略匹配的情况下,标记所述隧道报文;
拦截模块,用于基于被标记的隧道报文的内层封装的报文头,确定所述被标记的隧道报文的协议类型与预设的第二阻断策略匹配的情况下,拦截所述被标记的隧道报文。
技术总结
本申请提供一种隧道报文的阻断方法和阻断装置,其中,阻断方法包括:接收隧道报文,基于隧道报文的外层封装的报文头,确定隧道报文的协议类型与预设的第一阻断策略匹配的情况下,标记隧道报文;基于被标记的隧道报文的内层封装的报文头,确定被标记的隧道报文的协议类型与预设的第二阻断策略匹配的情况下,拦截被标记的隧道报文。阻断装置包括标记模块和拦截模块,标记模块用于执行阻断方法中的第一个步骤,拦截模块用于执行阻断方法中的第二个步骤。通过内外两层封装的报文头,先通过一次阻断策略匹配对所有可疑报文进行标记,再对标记的报文进行额外一次阻断策略匹配,以此提高了拦截攻击报文的准确度。拦截攻击报文的准确度。拦截攻击报文的准确度。
技术研发人员:方海成 董俊文 张瑞冬
受保护的技术使用者:杭州迪普科技股份有限公司
技术研发日:2023.04.27
技术公布日:2023/8/1
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/