掌桥专利:专业的专利平台
掌桥专利
首页

提高TCP、UDP协议栈安全性的方法、设备及存储介质

文献发布时间:2024-04-18 20:01:23


提高TCP、UDP协议栈安全性的方法、设备及存储介质

技术领域

本发明涉及通信技术领域,具体的,涉及一种提高TCP、UDP协议栈安全性的方法、设备及存储介质。

背景技术

TCP/IP协议是现代互联网的基石,互联网通过TCP/IP协议传输数据和通信。其中,TCP/IP中有两个具有代表性的传输层协议,分别是TCP和UDP,它们作为网络层上的两种传输层协议,两者的数据内容都是作为IP分组的载荷存在。一旦被攻击就会导致数据被泄露,因此,提升TCP、UDP协议栈安全性十分重要。

目前TCP、UDP协议栈被攻击的方法可分为两种,第一种为利用协议栈的漏洞,直接攻击系统或获取系统权限,由于当前各种协议栈设计和实现均久历检验,未知漏洞不多,因此这种攻击方法比较困难。第二种为提前植入木马,使用特征序列码在协议栈中唤醒木马,通过木马进行代理攻击,这种攻击方法比较常用。

而针对TCP、UDP协议栈被木马攻击,目前仅仅靠被动的更新TCP、UDP协议栈代码,但较为被动麻烦,且安全性低。

发明内容

本发明提供一种提高TCP、UDP协议栈安全性的方法、设备及存储介质,用以解决TCP、UDP协议栈安全性低的问题。

第一方面,本发明提供了一种提高TCP、UDP协议栈安全性的方法,在硬件驱动层上接收目标IP报文,传输给网络协议模块依次进行各个层处理后,发送给应用层,通过所述应用层传输给对应的应用;

所述方法包括:

在接收所述目标IP报文之后以及在发送给所述应用层之前的所述网络协议模块的任意层数前后进行至少一次掩盖处理;

其中,一次所述掩盖处理包括一组相互对应、依次进行的加掩盖处理和去掩盖处理;

所述加掩盖处理包括:使用至少一段随机数对所述目标IP报文的应用层原始载荷数据和/或对所述网络协议模块中的任意一层处理后的数据的应用层原始载荷数据进行异或处理,得到应用层变换载荷数据;

所述去掩盖处理包括:使用与对应所述加掩盖处理同样的随机数对所述应用层变换载荷数据进行异或处理,将所述变换载荷数据恢复成所述原始载荷数据。

进一步的,将包括原始载荷数据的所述目标IP报文传输给所述网络协议模块之前进行所述加掩盖处理,得到包括变换载荷数据的第一数据;

将所述第一数据输入网络协议模块依次进行各个层处理后,得到包括变换载荷数据的第二数据;

对所述第二数据进行去掩盖处理,得到包括原始载荷数据的第三数据。

进一步的,所述网络协议模块从底层到上层依次至少包括链路层、网络层、传输层。

进一步的,在所述链路层之前进行加掩盖处理,在所述传输层之后进行对应的去掩盖处理。

进一步的,所述方法还包括:在所述网络层前后进行第二次掩盖处理。

进一步的,在所述链路层之前进行加掩盖处理,在所述链路层之后进行对应的去掩盖处理。

进一步的,在所述传输层前后进行第二次掩盖处理。

进一步的,所述目标IP报文至少包括:MAC、IP、TCP/UDP和所述原始载荷数据。

第二方面,本发明还提供了一种提高TCP、UDP协议栈安全性的设备,包括至少一个处理单元、以及至少一个存储单元,其中,所述存储单元存储有计算机程序,当所述计算机程序被所述处理单元执行时,使得所述处理单元执行上述任一项所述方法的步骤。

第三方面,本发明还提供了一种存储介质,其存储有可由访问认证设备执行的计算机程序,当所述计算机程序在访问认证设备上运行时,使得所述访问认证设备执行上述任一项所述方法的步骤。

总体而言,通过本发明所构思的技术方案,与现有技术相比能够取得下列有益效果:

本发明提供一种提高TCP、UDP协议栈安全性的方法、设备及存储介质,通过对协议栈内部处理的数据进行掩盖处理,能够有效的避免木马攻击。在协议栈内部,将应用层数据被进行了变换,而该变换对应用层却不可见,这样的处理方式既提高了协议栈的安全性,又保留了应用层的无感知。不仅化被动为主动,无需不断更新TCP、UDP协议栈代码,简单方便,而且安全性更高。

附图说明

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

图1是本发明提供的一种提高TCP、UDP协议栈安全性的方法、设备及存储介质的方法原理示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图及实施例,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。此外,下面所描述的各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

需要说明的是,在本发明实施例的描述中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的方法或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种方法或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的方法或者设备中还存在另外的相同要素。

第一方面,本发明提供一种提高TCP、UDP协议栈安全性的方法,在硬件驱动层上接收目标IP报文,传输给网络协议模块依次进行各个层处理后,发送给应用层,通过所述应用层传输给对应的应用;协议栈的一般遵循分层设计;所述方法包括:在接收目标IP报文之后以及在发送给应用层之前的网络协议模块的任意层数前后进行至少一次掩盖处理。

其中,一次掩盖处理包括一组相互对应、依次进行的加掩盖处理和去掩盖处理;

加掩盖处理包括:使用至少一段随机数对目标IP报文的应用层原始载荷数据和/或对网络协议模块中的任意一层处理后的数据的应用层原始载荷数据进行异或处理,得到应用层变换载荷数据;

去掩盖处理包括:使用与对应加掩盖处理同样的随机数对应用层变换载荷数据进行异或处理,将变换载荷数据恢复成原始载荷数据。

需要说明的是,加掩盖处理和去掩盖处理是一一对应的、且具有先后顺序的,相互对应的加掩盖处理与去掩盖处理中所利用的随机数一致才能实现去掩盖的作用。

随机数指的是任意大小整数值和浮点数值,可以指定范围和分割符。随机数的数量和排序方法可以根据实际需求设定,随机数的生成为较为成熟的技术,此处不再赘述。

异或处理,是一种简单的逻辑变换方法,例如,和、或、与、非等处于一个层级。其处理原理为:

若只进行一次加掩盖处理,则对目标IP报文进行加掩盖处理之后,在数据传输给应用层之前进行对应的去掩盖处理。

进一步的,将包括原始载荷数据的目标IP报文传输给网络协议模块之前进行加掩盖处理,得到包括变换载荷数据的第一数据;将第一数据输入网络协议模块依次进行各个层处理后,得到包括变换载荷数据的第二数据;对第二数据进行去掩盖处理,得到包括原始载荷数据的第三数据。

网络协议模块包括从底层到上层依次至少包括链路层、网络层、传输层。作为本发明的一个具体实施例,网络协议模块从下到上依次包括链路层、网络层、传输层、以及会话层、表示层。

也即是说,若只进行一次加掩盖处理,则对目标IP报文进行加掩盖处理之后,在网络协议模块中的链路层、网络层、传输层、会话层或表示层中的任意一层后面进行对应的去掩盖处理均可以实现对TCP/IP协议栈接收数据流程的改造,提升TCP、UDP协议栈的健壮性和安全性。

若进行两次加掩盖处理,则包括两种方式,第一种为:两次掩盖处理依次进行;第二种为:两次掩盖处理叠加进行。需要说明的是,两次掩盖处理的随机数和/或异或处理的运算法则可以相同或不同;优选为不同。

若两次掩盖处理依次进行,则具体为:第一次加掩盖处理→第一次对应的去掩盖处理→第二次加掩盖处理→第二次对应的去掩盖处理。

作为本发明的一个实施例,网络协议模块包括从底层到上层依次至少包括链路层、网络层、传输层;在链路层之前进行加掩盖处理,在链路层之后进行对应的去掩盖处理;在传输层前后进行第二次掩盖处理。

具体而言:将包括原始载荷数据的目标IP报文传输给链路层之前进行第一次加掩盖处理,得到包括第一变换载荷数据的第一数据;将第一数据输入链路层进行链路层处理后,得到包括第一变换载荷数据的第一链路层数据;将第一链路层数据进行第一次对应的去掩盖处理,得到包括原始载荷数据的第二链路层数据;将第二链路层数据输入网络层进行网络层处理后,得到包括原始载荷数据的第一网络层数据;对第一网络层数据进行第二次加掩盖处理,得到包括第二变换载荷数据的第二网络层数据;将第二网络层数据输入传输层进行传输层处理后,得到包括包括第二变换载荷数据的第一传输层数据;将第一传输层数据进行第二次对应的去掩盖处理,得到包括原始载荷数据的第二传输层数据。

若两次掩盖处理叠加进行,则具体为:第一次加掩盖处理→第二次加掩盖处理→第二次对应的去掩盖处理→第一次对应的去掩盖处理。

作为本发明的另一个实施例,网络协议模块包括从底层到上层依次至少包括链路层、网络层、传输层;在链路层之前进行加掩盖处理,在传输层之后进行对应的去掩盖处理;在网络层前后进行第二次掩盖处理。

具体而言,将包括原始载荷数据的目标IP报文传输给链路层之前进行第一次加掩盖处理,得到包括第一变换载荷数据的第一数据;将第一数据输入链路层进行链路层处理后,得到包括第一变换载荷数据的第一链路层数据;将第一链路层数据进行第二次加掩盖处理,得到包括第二变换载荷数据的第二链路层数据;将第二链路层数据输入网络层进行网络层处理后,得到包括第二变换载荷数据的第一网络层数据;对第一网络层数据进行第二次对应的去掩盖处理,得到包括第一变换载荷数据的第二网络层数据;将第二网络层数据输入传输层进行传输层处理后,得到包括包括第一变换载荷数据的第一传输层数据;将第一传输层数据进行第一次对应的去掩盖处理,得到包括原始载荷数据的第二传输层数据。

进一步的,目标IP报文至少包括:MAC、IP、TCP/UDP和原始载荷数据。作为本发明的一个具体实施例,如图1所示,进行一次掩盖处理:

当目标IP报文(MAC+IP+TCP/UDP+原始载荷数据)进入某设备后,在硬件驱动层对目标IP报文进行接收缓冲,目标IP报文在从硬件缓冲区转入网络协议模块处理时,首先进行加掩盖处理,得到第一数据(MAC+IP+TCP/UDP+变换载荷数据)。

然后转入网络协议模块处理,也即是:对第一数据进行链路层处理得到链路层数据(IP+TCP/UDP+变换载荷数据);对链路层数据进行网络层处理得到网络层数据(TCP/UDP+变换载荷数据);对网络层数据进行传输层处理得到传输层数据(变换载荷数据);对传输层数据进行对应的去掩盖处理,得到原始载荷数据。

最后,将原始载荷数据通过应用层处理后发送给应用。

第二方面,本发明还提供了一种提高TCP、UDP协议栈安全性的设备,包括至少一个处理单元、以及至少一个存储单元,其中,所述存储单元存储有计算机程序,当所述计算机程序被所述处理单元执行时,使得所述处理单元执行上述任一项所述方法的步骤。

第三方面,本发明还提供了一种存储介质,其存储有可由访问认证设备执行的计算机程序,当所述计算机程序在访问认证设备上运行时,使得所述访问认证设备执行上述任一项所述方法的步骤。

设备以及存储介质的技术特征与方法的技术特征一致,此处不再一一赘述。

总之,本发明通过在接收目标IP报文之后以及在发送给应用层之前的网络协议模块的任意层数前后进行至少一次掩盖处理;实现了在协议栈内部对载荷数据进行变换,通过在处理数据前对数据进行变换,避免数据触发漏洞及恶意代码,且该变换过程对应用层不可见;不仅提高了协议栈的安全性,而且保留了应用层的无感知。其中,异或是一种扰乱数据简单高效的方法,通过异或处理扰乱破坏目标IP报文数据特征,避免协议栈处理过程出现安全问题,提升协议栈数据处理过程的安全性,提升了数据中间处理的安全性。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。

应该理解到,以上所描述的实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random AccessMemory,RAM)、磁盘或光盘等。

以上所述仅为本公开的示例性实施例,不能以此限定本公开的范围。即但凡依本公开教导所作的等效变化与修饰,皆仍属本公开涵盖的范围内。本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未记载的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的范围和精神由权利要求限定。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

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

相关技术
  • 一种二维码生成方法、二维码识读方法及装置
  • 一种二维码生成方法、二维码识读方法及装置
  • 一种二维码生成方法、二维码识别方法及标号牌
  • 一种矩形二维码
  • 一种矩形二维码
技术分类

06120116552221