一种基于零拷贝报文收集系统的物联网安全网关方法与流程

文档序号:29404683发布日期:2022-03-26 10:19阅读:81来源:国知局
一种基于零拷贝报文收集系统的物联网安全网关方法与流程

1.本发明属于信息安全技术领域,尤其涉及一种基于零拷贝报文收集系统的物联网安全网关方法。


背景技术:

2.在internet中,网关是一种连接内部网与internet上其它网的中间设备,也称“路由器”,而在物联网的体系架构中,在感知层和网络层两个不同的网络之间需要一个中间设备,那就是“物联网网关”。近年来,随着物联网技术的蓬勃发展,作为连接感知网络与传统通信网络的纽带物联网网关,在物联网时代扮演着非常重要的角色。物联网网关是一种充当转换重任的设备,可以实现感知网络与通信网络,以及不同类型感知网络之间的协议转换,既可以实现广域互联,也可以实现局域互联。
3.随着越来越多的设备接入物联网,网络中诈骗和攻击行为随之增加,对用户隐私、基础网络环境的安全冲击尤为突出。目前,对基于传输数据进行非法篡改以实现对接收端的攻击,是攻击者常用且威胁性较高的物联网攻击方法,如通过入侵物联网中的设备,然后由这些被入侵设备发起攻击的方案。目前物联网安全网关方法,虽然可以有效地避免外部设备对物联网的攻击行为,但是无法管控网络中被入侵设备做出的攻击行为,也很难对假冒ip、mac地址的入侵手段做出识别,从而不能有效地阻止入侵攻击。


技术实现要素:

4.有鉴于此,本发明实施例提供一种基于零拷贝报文收集系统的物联网安全网关方法,用于解决目前物联网安全网关方法无法管控物联网网络中被入侵设备做出的攻击行为,也很难对假冒ip、mac地址的入侵手段做出识别的问题。本发明通过对网络中报文内容进行管控,有效地防止入侵和攻击行为产生;同时采用零拷贝方式对报文进行合法性验证和连接,整个过程运行于操作系统内核态,效率较高,不会对网络的正常运行产生影响。
5.本发明实施例提供一种基于零拷贝报文收集系统的物联网安全网关方法,用于物联网安全网关,包括以下步骤:
6.接收物联网数据包;
7.根据所述数据包中每个报文的帧头数据和帧尾数据,判断所述数据包中的报文是否存在异常;
8.若所述数据包中的报文不存在异常,则提取各个报文中的报文数据并对其进行校验;
9.当所述数据包中的所有报文的报文数据都校验通过时,将从所述数据包中的每个报文中提取出来的报文数据按所述数据包中报文的顺序进行连接,在内核态完成报文的收集。
10.在一可选实施例中,所述根据所述数据包中每个报文的帧头数据和帧尾数据,判断所述数据包中的报文是否存在异常,包括:
11.根据每个报文的帧头数据和帧尾数据以及第一公式计算每个报文的异常情况判定值;
12.判断每个报文的异常判定值是否等于第一预设值;若是,则确定所述数据包中的报文不存在异常;否则,确定所述数据包中的报文存在异常;
13.其中,所述第一公式为:
14.da=|[(fa)
2-(f0)2]
10
|+|[(ea)
2-(e0)2]
10
|
[0015]
在第一公式中,da表示所述数据包中第a个报文的异常判定值,(f0)2表示预先定义的报文标准帧头数据的二进制形式,(e0)2表示预先定义的报文标准帧尾数据的二进制形式,(fa)2表示所述数据包中第a个报文的帧头数据的二进制形式,(ea)2表示所述数据包中第a个报文的帧尾数据的二进制形式,[]
10
表示对括号内的数据转换成10进制,||表示求取绝对值。
[0016]
在一可选实施例中,所述第一预设值为0。
[0017]
在一可选实施例中,所述提取各个报文中的报文数据,包括:
[0018]
根据以下第二公式提取各个报文中的报文数据:
[0019][0020]
在第二公式中,(ka)2表示从第a个报文中提取的报文数据的二进制形式,(wa)2表示第a个报文的二进制形式,表示循环左移,>>表示不循环右移,c表示第a个报文中的校验位数据的二进制形式的数据长度,n表示第a个报文的帧头数据的二进制形式数据长度,m表示第a个报文的帧尾数据的二进制形式数据长度。
[0021]
在一可选实施例中,所述提取各个报文中的报文数据并对其进行校验,包括:根据每个报文中的校验位数据,对从相应报文中提取的报文数据进行校验。
[0022]
在一可选实施例中,所述根据每个报文中的校验位数据,对从相应报文中提取的报文数据进行校验,包括:
[0023]
根据第三公式计算从每个报文中提取的报文数据的数据变动或丢失判定值;
[0024]
判断每个数据变动或丢失判定值是否等于第二预设值:若是,则确定从相应报文中提取的报文数据校验通过;否则,确定从相应报文中提取的报文数据未校验通过;
[0025]
其中,所述第三公式为:
[0026][0027]
在第三公式中,ηa表示从第a个报文中提取的报文数据的数据变动或丢失判定值,[(ka)2]
2i-1
表示从第a个报文中提取的报文数据的二进制形式的第2i-1位处的数值,[(ka)2]
2i
表示从第a个报文中提取的报文数据的二进制形式的第2i位处的数值;{}
10
表示将括号内的数据转换成10进制,t表示从第a个报文中提取的报文数据的二进制形式的数据长度,表示向下取整,%表示取余符号,(ja)2表示第a个报文的校验位数据的二进制形式。
[0028]
在一可选实施例中,所述第二预设值为0。
[0029]
在一可选实施例中,根据以下第四公式获取第a个报文中的校验位数据的二进制
形式:
[0030][0031]
本发明提供了一种新的基于零拷贝报文收集系统的物联网安全网关方案,首先根据接收到数据包中每个报文的帧头数据和帧尾数据,判断所述数据包中的报文是否存在异常;在数据包中的报文都正常的情况下,则提取各个报文中的报文数据并对其进行校验,最后当所述数据包中的所有报文的报文数据都校验通过时,将从所述数据包中的每个报文中提取出来的报文数据按所述数据包中报文的顺序进行连接,在内核态完成报文的收集。本发明通过对网络中报文内容进行管控,有效地防止入侵和攻击行为产生;同时采用零拷贝方式对报文进行合法性验证和连接,整个过程运行于操作系统内核态,效率较高,不会对网络的正常运行产生影响。
附图说明
[0032]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0033]
图1为本发明实施例提供的一种基于零拷贝报文收集系统的物联网安全网关方法实施例一流程图;
[0034]
图2为本发明实施例提供的一种基于零拷贝报文收集系统的物联网安全网关方法实施例二流程图。
具体实施方式
[0035]
下面结合附图对本发明实施例进行详细描述。
[0036]
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0037]
图1为本发明实施例提供的一种基于零拷贝报文收集系统的物联网安全网关方法实施例一流程图。参见图1,包括如下步骤:
[0038]
s101:接收物联网数据包。
[0039]
本实施例中,在物联网中,数据的传输都是以数据包的形式进行传输的,因此对数据包进行采集,便于后面开展对数据包进行合法性校验。
[0040]
s102:根据所述数据包中每个报文的帧头数据和帧尾数据,判断所述数据包中的报文是否存在异常;否则执行s103。
[0041]
本实施例中,报文一般都存在固定长度帧头数据、帧尾数据和校验位数据,及可变长度的报文数据,先后顺序为帧头数据、报文数据、校验位数据和帧尾数据。攻击者攻击网络及设备后,被入侵设备或攻击设备一般会截获物联网中数据包,然后修改报文帧头数据,例如修改报文的发送地址、假冒ip、mac地址等,从而达到对网络的攻击目的。所以根据每个报文的帧头数据和帧尾数据,可以有效地判断所述数据包中的报文是否存在异常,进而可以及时的确定报文是否有异常的数据内容,进而尽快做出响应,防止非正常数据的入侵和
攻击。
[0042]
s103:提取各个报文中的报文数据并对其进行校验。
[0043]
优选地,根据以下第一公式提取各个报文中的报文数据:
[0044][0045]
在第二公式中,(ka)2表示从第a个报文中提取的报文数据的二进制形式,(wa)2表示第a个报文的二进制形式,表示循环左移,>>表示不循环右移,c表示第a个报文中的校验位数据的二进制形式的数据长度,n表示第a个报文的帧头数据的二进制形式数据长度,m表示第a个报文的帧尾数据的二进制形式数据长度。
[0046]
本实施例中,例如存在一报文内容二进制为:11101110 11111111 0101010111101110,并假设其帧头数据、帧尾数据和校验位数据的二进制形式的数据长度n=8,m=8,c=8,则报文数据=8,m=8,c=8,则报文数据通过第一公式,进而可以准确有效的将报文内容中的报文数据进行提取,方便后续对报文数据的收集及合法性验证。
[0047]
s104:判断所述数据包中的所有报文的报文数据是否都校验通过,是则执行s105。
[0048]
本实施例中,因为数据包中存在多个报文,如果存在某一个报文被恶意篡改,都将导致整个数据包数据存在问题,因此需要对每个报文都进行校验,检验通过后,便于后续对报文进行连接,恢复为发送端发来的数据包。
[0049]
s105:将从所述数据包中的每个报文中提取出来的报文数据按所述数据包中报文的顺序进行连接,在内核态完成报文的收集。
[0050]
本实施例中,当所述数据包中的所有报文内容的报文数据都是正常,即未发生变动或丢失时,则将所述数据包中的每条报文内容提取出来的报文数据按照数据包中报文内容的顺序进行连接,进而就可以完成在内核态将所述报文内容收集、提取和过滤工作。
[0051]
作为一可选实施例,所述步骤s102,包括:
[0052]
s1021:根据每个报文的帧头数据和帧尾数据以及第二公式计算每个报文的异常情况判定值。
[0053]
优选地,所述第二公式为:
[0054]
da=|[(fa)
2-(f0)2]
10
|+|[(ea)
2-(e0)2]
10
|
ꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0055]
在第二公式中,da表示所述数据包中第a个报文的异常判定值,(f0)2表示预先定义的报文标准帧头数据的二进制形式,(e0)2表示预先定义的报文标准帧尾数据的二进制形式,(fa)2表示所述数据包中第a个报文的帧头数据的二进制形式,(ea)2表示所述数据包中第a个报文的帧尾数据的二进制形式,[]
10
表示对括号内的数据转换成10进制,||表示求取绝对值。
[0056]
本实施例中,如果(f0)2=11101110,(e0)2=11101110,(fa)2=11101111,(ea)2=11101110,则根据第二公式得出da=1。
[0057]
s1022:判断每个报文的异常判定值是否等于第一预设值;是则执行s1023,否则执行s1024。
[0058]
本实施例中,所述第一预设值为0。当da=0时,表示(fa)2=(f0)2且(ea)2=(e0)2,即表示帧头数据和帧尾数据未被篡改过,则可以确定所述数据包中的报文不存在异常;当da≠0时,则表示(fa)2≠(f0)2且/或(ea)2≠(e0)2,即表示帧头数据及/或帧尾数据被篡改过,则可以确定所述数据包中的报文存在异常。
[0059]
s1023:确定所述数据包中的报文不存在异常。
[0060]
s1024:确定所述数据包中的报文存在异常。
[0061]
作为一可选实施例,步骤s103包括:根据每个报文中的校验位数据,对从相应报文中提取的报文数据进行校验。优选地,具体步骤内容如下:
[0062]
s1031:根据第三公式计算从每个报文中提取的报文数据的数据变动或丢失判定值。
[0063]
优选地,所述第三公式为:
[0064][0065]
在第三公式中,ηa表示从第a个报文中提取的报文数据的数据变动或丢失判定值,[(ka)2]
2i-1
表示从第a个报文中提取的报文数据的二进制形式的第2i-1位处的数值,[(ka)2]
2i
表示从第a个报文中提取的报文数据的二进制形式的第2i位处的数值;{}
10
表示将括号内的数据转换成10进制,t表示从第a个报文中提取的报文数据的二进制形式的数据长度,表示向下取整,%表示取余符号,(ja)2表示第a个报文的校验位数据的二进制形式。
[0066]
本实施例中,第三公式是将数据奇数位置的数值相加,再与数据偶数位置的数值相加后的二倍再相加后取个位数为其校验位。根据每条报文内容中的校验位数据对所述报文数据进行校验,进而判断所述报文数据是否存在变动或丢失,进而实现对数据包报文内容的全面监控以及分析,保证数据安全。
[0067]
优选地,根据以下第四公式获取第a个报文中的校验位数据的二进制形式:
[0068][0069]
根据第四公式,假设存在一报文内容二进制为:11101110 11111111 01010101 11101110,并假设其帧头数据、帧尾数据和校验位数据的二进制形式的数据长度n=8,m=8,c=8,则报文数据8,c=8,则报文数据
[0070]
s1032:判断每个数据变动或丢失判定值是否等于第二预设值,是则执行步骤s1033,否则执行s1034。
[0071]
本实施例中,所述第二预设值为0,若ηa=0,即表示所述报文数据是正常的并未发生变动或丢失,则确定从相应报文中提取的报文数据校验通过;若ηa≠0,即表示所述报文数据是不正常的即发生变动或丢失,则确定从相应报文中提取的报文数据未校验通过。
[0072]
s1033:确定从相应报文中提取的报文数据校验通过。
[0073]
s1034:确定从相应报文中提取的报文数据未校验通过。
[0074]
本发明实施例提供的一种基于零拷贝报文收集系统的物联网安全网关方法,首先根据接收到数据包中每个报文的帧头数据和帧尾数据,判断所述数据包中的报文是否存在
异常;在数据包中的报文都正常的情况下,则提取各个报文中的报文数据并对其进行校验,最后当所述数据包中的所有报文的报文数据都校验通过时,将从所述数据包中的每个报文中提取出来的报文数据按所述数据包中报文的顺序进行连接,在内核态完成报文的收集。本发明通过对网络中报文内容进行管控,有效地防止入侵和攻击行为产生;同时采用零拷贝方式对报文进行合法性验证和连接,整个过程运行于操作系统内核态,效率较高,不会对网络的正常运行产生影响。
[0075]
图2为本发明实施例提供的一种基于零拷贝报文收集系统的物联网安全网关方法实施例二流程图。参见图2,包括如下步骤:
[0076]
s201:接收物联网数据包。
[0077]
s202:根据所述数据包第i个报文的帧头数据和帧尾数据,判断所述数据包中的第i个报文是否存在异常;是则执行s203,否则执行s204。
[0078]
其中,i的初始值为1。
[0079]
本实施例中,如果发现第i个报文的帧头数据和帧尾数据存在异常,被篡改过,则应将被篡改的报文内容、异常情况进行上报存储,便于后续及时处理,减少攻击的影响。
[0080]
s203:对所述数据包中第i个报文内容进行上报,并将所述异常情况储存至日志。
[0081]
s204:提取第i个报文中的报文数据并对其进行校验;
[0082]
s205:判断第i个报文中的报文数据是否校验通过,是则执行s206,否则执行s203。
[0083]
本实施例中,对报文的报文数据进行校验,检测报文数据是否发生了变动或丢失,若发现变动和丢失,能及时进行问题上报,进而实现对数据包报文内容的全面监控以及分析,保证数据安全。
[0084]
s206:判断i是否等于sum;是则执行s208,否则执行s207。
[0085]
其中,sum为数据包中报文的数量。
[0086]
s207:i=i+1,并返回执行s202。
[0087]
s208:将从所述数据包中的每个报文中提取出来的报文数据按所述数据包中报文的顺序进行连接,在内核态完成报文的收集。
[0088]
本发明实施例提供的一种基于零拷贝报文收集系统的物联网安全网关方法,本发明通过对网络中报文内容进行管控,在发现报文帧头数据、帧尾数据,报文数据或者校验位数据被恶意篡改后,都能立即检查发现,并能及时进行上报,并对所述异常情况储存至日志,便于后续处理,达到了及时发现恶意攻击,从而将攻击进行有效地控制,减少了攻击带来的危害性。
[0089]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0090]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或
多个方框中指定的功能。
[0091]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0092]
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1