CN112187784A - 一种网络信息匹配方法、装置及可读存储介质 - Google Patents
一种网络信息匹配方法、装置及可读存储介质 Download PDFInfo
- Publication number
- CN112187784A CN112187784A CN202011024965.6A CN202011024965A CN112187784A CN 112187784 A CN112187784 A CN 112187784A CN 202011024965 A CN202011024965 A CN 202011024965A CN 112187784 A CN112187784 A CN 112187784A
- Authority
- CN
- China
- Prior art keywords
- address
- value
- target
- port
- network information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种网络信息匹配方法、装置及可读存储介质。针对新进网络信息的目标IP地址中的每个地址位,如果该地址位的值为r,从目标二维矩阵中该地址位对应的IP子矩阵中读取第r行的值,共计获得N位地址对应的N个第一目标值;源IP段的每个IP地址能在目标二维矩阵中唯一表示。将所述N个第一目标值按位与运算,获得第二目标值;如果所述第二目标值大于0,确定所述目标IP地址在所述源IP段中,所述新进网络信息符合所述配置规则。这样,就能快速有效地匹配出属于源IP段的网络信息。
Description
技术领域
本发明涉及网络安全技术领域,尤其涉及一种网络信息匹配方法、装置及可读存储介质。
背景技术
网络入侵检测防护系统中,通常需要配置对某些网络节点的网络信息进行指定防控策略的防控检测,从而采取相应防护措施。这时就需要系统对接收到的网络信息中的IP地址和预先配置IP段中IP地址进行快速的匹配,以筛选出属于预先配置IP段中的网络信息进行后续指定策略的防控检测。现有的IP筛选方式,需要将IP段中每个IP地址转换为字符形式,如进行哈希映射,转换为哈希值,针对待匹配的IP地址,也需要进行同样的转换,然后进行字符的一一比对,所以,匹配效率很低。
发明内容
本发明实施例提供了一种网络信息匹配方法、装置及可读存储介质,用于提供一种高效的网络信息匹配的方法。
第一方面,本发明实施例提供了一种网络信息匹配方法,包括:
针对新进网络信息的目标IP地址中的每个地址位,如果该地址位的值为r,从目标二维矩阵中该地址位对应的IP子矩阵中读取第r行的值,共计获得N位地址对应的N个第一目标值,其中,所述目标二维矩阵为通过将配置规则中的源IP段中的IP地址按预设规则映射至预设二维矩阵后获得,所述预设二维矩阵包括与多个IP地址位一一对应的多个IP子矩阵,每个所述IP子矩阵的行数为IP地址位的最大取值加1,列数为M,所述IP子矩阵的初始值为0,所述预设规则包括:针对所述源IP段中的每个IP地址,如果该IP地址对应的列值为j,针对该IP地址中每位地址,如果该位地址的值为i,将该位地址对应的IP子矩阵中第i行第j列的值赋值为非0值;
将所述N个第一目标值按位与运算,获得第二目标值;
如果所述第二目标值大于0,确定所述目标IP地址在所述源IP段中,所述新进网络信息符合所述配置规则。
可选的,在所述从目标二维矩阵中该地址位对应的IP子矩阵中读取第r行的值之前,所述方法还包括:
如果所述源IP段包括第一IP地址至第二IP地址,所述第一IP地址和所述第二IP地址的第一地址位相同,确定N个中间IP地址,N为IP地址的位数,j取0至N-1,第j个中间IP地址的后j位的值为地址位的最大取值,前N-j位的值与所述第一IP地址相同;
如果所述第二IP地址在所述N个中间IP地址中的第k个和第k+1个中间IP地址间,确定将所述源IP地址分为k+1个子IP段,第1个子IP段包括第0中间IP地址至第1中间IP地址,p取2至k,第p个子IP段包括第p-1个中间IP地址后一地址至第p个中间IP地址,第k+1个子IP段包括第k中间IP地址后一地址至所述第二IP地址;
h取1至k+1,针对所述k+1个子IP段中的第h个子IP段中每个IP地址,如果该位地址的值为i,将该位地址对应的IP子矩阵中第i行第M-h+1列的值赋值为非0值,获得所述目标二维矩阵。
可选的,在所述从目标二维矩阵中该地址位对应的IP子矩阵中读取第r行的值之前,所述方法还包括:
j取1至N-1,j的值依次增加1,确定第j个中间地址的后j位的值为0,第N-j位的值为所述第一IP地址的第N-j位的值加1,其余位的值与所述第一IP地址相同,j取N至2N-2,j的值依次增加1,确定第j个中间地址的后2N-j-1位的值为0,其余位的值与所述第二IP地址相同,共计获得2N-2个中间地址;
去除所述2N-2个中间地址中在所述第一IP地址之前和在所述第二IP地址之后的地址,将相同的地址合并后,连同所述第一IP地址和所述第二IP地址进行排序,确定排序后的相邻两个地址形成一个子IP段,共计获得k个子IP段;
h取1至k,针对所述k个子IP段中的第h个子IP段中每个IP地址,如果该位地址的值为i,将该位地址对应的IP子矩阵中第i行第M-h+1列的值赋值为非0值,获得所述目标二维矩阵。
可选的,所述预设二维矩阵中还包括端口子矩阵,所述端口子矩阵包括的行数为最大端口值加1,列数为W,所述端口子矩阵的初始值为0,所述方法还包括:
将配置规则中的与所述源IP段对应的源端口段映射至所述端口子矩阵,其中,如果所述源端口段包括端口D1-D2,将所述端口子矩阵中W-h+1列对应的第D1-D2行的数值赋值为非0值;
针对所述新进网络信息的目标端口值d,从所述端口子矩阵中读取第d行的目标端口值;
将所述目标端口值与所述第二目标值按位与运算,获得第三目标值;
如果所述第三目标值大于0,确定所述目标IP地址在所述源IP段中且所述新进网络信息的目标端口在所述源端口段,所述新进网络信息符合所述配置规则。
可选的,所述预设二维矩阵中还包括协议子矩阵,所述协议子矩阵包括的行数为2,列数为Q,所述协议子矩阵的初始值为0,所述方法还包括:
将配置规则中的与所述源IP段对应的配置协议映射至所述协议子矩阵,其中,将所述协议子矩阵中Q-h+1列对应的与所述配置协议对应的行的数值赋值为非0值;
针对所述新进网络信息的目标协议,从所述协议子矩阵中读取所述目标协议对应的第t行的目标协议值;
将所述目标协议值与所述第三目标值按位与运算,获得第四目标值;
如果所述第四目标值大于0,确定所述目标IP地址在所述源IP段中,所述新进网络信息的目标端口在所述源端口段以及所述新进网络信息的目标协议在所述配置协议中,所述新进网络信息符合所述配置规则。
可选的,所述方法还包括:
如果所述新进网络信息符合所述配置规则,基于与所述配置规则对应的安全防护策略对所述新进网络信息进行安全防护检测,获得检测结果。
第二方面,本发明实施例提供了一种网络信息匹配装置,包括:
第一获取单元,用于针对新进网络信息的目标IP地址中的每个地址位,如果该地址位的值为r,从目标二维矩阵中该地址位对应的IP子矩阵中读取第r行的值,共计获得N位地址对应的N个第一目标值,其中,所述目标二维矩阵为通过将配置规则中的源IP段中的IP地址按预设规则映射至预设二维矩阵后获得,所述预设二维矩阵包括与多个IP地址位一一对应的多个IP子矩阵,每个所述IP子矩阵的行数为IP地址位的最大取值加1,列数为M,所述IP子矩阵的初始值为0,所述预设规则包括:针对所述源IP段中的每个IP地址,如果该IP地址对应的列值为j,针对该IP地址中每位地址,如果该位地址的值为i,将该位地址对应的IP子矩阵中第i行第j列的值赋值为非0值;
第二获取单元,用于将所述N个第一目标值按位与运算,获得第二目标值;
匹配单元,用于如果所述第二目标值大于0,确定所述目标IP地址在所述源IP段中,所述新进网络信息符合所述配置规则。
可选的,所述装置还包括第一矩阵构建单元,所述第一矩阵构建单元具体用于:
j取1至N-1,j的值依次增加1,确定第j个中间地址的后j位的值为0,第N-j位的值为所述第一IP地址的第N-j位的值加1,其余位的值与所述第一IP地址相同,j取N至2N-2,j的值依次增加1,确定第j个中间地址的后2N-j-1位的值为0,其余位的值与所述第二IP地址相同,共计获得2N-2个中间地址;
去除所述2N-2个中间地址中在所述第一IP地址之前和在所述第二IP地址之后的地址,将相同的地址合并后,连同所述第一IP地址和所述第二IP地址进行排序,确定排序后的相邻两个地址形成一个子IP段,共计获得k个子IP段;
h取1至k,针对所述k个子IP段中的第h个子IP段中每个IP地址,如果该位地址的值为i,将该位地址对应的IP子矩阵中第i行第M-h+1列的值赋值为非0值,获得所述目标二维矩阵。
可选的,所述匹配单元具体用于:
所述预设二维矩阵中还包括端口子矩阵,所述端口子矩阵包括的行数为最大端口值加1,列数为W,所述端口子矩阵的初始值为0,将配置规则中的与所述源IP段对应的源端口段映射至所述端口子矩阵,其中,如果所述源端口段包括端口D1-D2,将所述端口子矩阵中W-h+1列对应的第D1-D2行的数值赋值为非0值;
针对所述新进网络信息的目标端口值d,从所述端口子矩阵中读取第d行的目标端口值;
将所述目标端口值与所述第二目标值按位与运算,获得第三目标值;
如果所述第三目标值大于0,确定所述目标IP地址在所述源IP段中且所述新进网络信息的目标端口在所述源端口段,所述新进网络信息符合所述配置规则。
可选的,所述匹配单元具体用于:
所述预设二维矩阵中还包括协议子矩阵,所述协议子矩阵包括的行数为2,列数为Q,所述协议子矩阵的初始值为0,将配置规则中的与所述源IP段对应的配置协议映射至所述协议子矩阵,其中,将所述协议子矩阵中Q-h+1列对应的与所述配置协议对应的行的数值赋值为非0值;
针对所述新进网络信息的目标协议,从所述协议子矩阵中读取所述目标协议对应的第t行的目标协议值;
将所述目标协议值与所述第三目标值按位与运算,获得第四目标值;
如果所述第四目标值大于0,确定所述目标IP地址在所述源IP段中,所述新进网络信息的目标端口在所述源端口段以及所述新进网络信息的目标协议在所述配置协议中,所述新进网络信息符合所述配置规则。
可选的,所述装置还包括:
安全检测单元,用于如果所述新进网络信息符合所述配置规则,基于与所述配置规则对应的安全防护策略对所述新进网络信息进行安全防护检测,获得检测结果。
第三方面,本发明实施例提供一种网络信息匹配装置,所述目标网络信息匹配装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如前述第一方面实施例中所述的网络信息匹配方法的步骤。
第四方面,本发明实施例提供了一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述第一方面实施例中所述的网络信息匹配方法的步骤。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
本发明实施例的技术方案,将配置规则中的源IP段的每个IP地址映射至预设二维矩阵,得到该IP段对应的目标二维矩阵,预设二维矩阵中包括与各个地址位对应的IP子矩阵,用于映射该地址位的值,这样,源IP段的每个IP地址能在目标二维矩阵中唯一表示。对新进网络信息的目标IP地址,仅需要获知其每个地址位的数值,再从目标二维矩阵中读取该地址位对应的IP子矩阵中读取该数值指示的行的值,得到各个IP子矩阵中对应行的值后,进行按位与运算,获得运算后的值,如果该值大于0,表示目标IP地址属于源IP段,这样,就能快速有效地匹配出属于源IP段的网络信息。相较于现有技术,仅需要构建好配置的IP段的目标二维矩阵,无需对新进网络信息的IP地址进行字符转换,也无需一一比对,就可以对后续新进网络信息的IP地址快速有效地匹配。
附图说明
图1为本发明第一实施例中的网络信息匹配方法的流程图;
图2为本发明第一实施例中预设二维矩阵的示意图;
图3为本发明第二实施例中的网络信息匹配装置的示意图;
图4为本发明第三实施例中网络信息匹配装置的示意图。
具体实施方式
本发明实施例提供了一种网络信息匹配方法、装置及可读存储介质,用用于提供一种高效的网络信息匹配的方法。该方法包括:针对新进网络信息的目标IP地址中的每个地址位,如果该地址位的值为r,从目标二维矩阵中该地址位对应的IP子矩阵中读取第r行的值,共计获得N位地址对应的N个第一目标值,其中,所述目标二维矩阵为通过将配置规则中的源IP段中的IP地址按预设规则映射至预设二维矩阵后获得,所述预设二维矩阵包括与多个IP地址位一一对应的多个IP子矩阵,每个所述IP子矩阵的行数为IP地址位的最大取值加1,列数为M,所述IP子矩阵的初始值为0,所述预设规则包括:针对所述源IP段中的每个IP地址,如果该IP地址对应的列值为j,针对该IP地址中每位地址,如果该位地址的值为i,将该位地址对应的IP子矩阵中第i行第j列的值赋值为非0值;将所述N个第一目标值按位与运算,获得第二目标值;如果所述第二目标值大于0,确定所述目标IP地址在所述源IP段中,所述新进网络信息符合所述配置规则。
下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
实施例
请参考图1,本发明第一实施例提供一种网络信息匹配方法,该网络信息匹配方法包括如下步骤:
S101:针对新进网络信息的目标IP地址中的每个地址位,如果该地址位的值为r,从目标二维矩阵中该地址位对应的IP子矩阵中读取第r行的值,共计获得N位地址对应的N个第一目标值,其中,所述目标二维矩阵为通过将配置规则中的源IP段中的IP地址按预设规则映射至预设二维矩阵后获得,所述预设二维矩阵包括与多个IP地址位一一对应的多个IP子矩阵,每个所述IP子矩阵的行数为IP地址位的最大取值加1,列数为M,所述IP子矩阵的初始值为0,所述预设规则包括:针对所述源IP段中的每个IP地址,如果该IP地址对应的列值为j,针对该IP地址中每位地址,如果该位地址的值为i,将该位地址对应的IP子矩阵中第i行第j列的值赋值为非0值;
S102:将所述N个第一目标值按位与运算,获得第二目标值;
S103:如果所述第二目标值大于0,确定所述目标IP地址在所述源IP段中,所述新进网络信息符合所述配置规则。
具体的,本实施例中的方法主要该电子设备可以是接收网络信息的服务器,还可以是其他电子设备,在此,本实施例不做限制。
在本实施例中,服务器方的用户,如:安全防护人员、测试人员等,可根据需要配置预设规则,配置规则中包括了需要筛选的源IP段,用户可针对源地址配置多个源IP段,也可针对目的地址配置多个源IP段。针对每个源IP段中的每个IP地址,需要将其按预设规则唯一地映射至预设二维矩阵,进而得到目标二维矩阵。在本实施例中,预设二维矩阵中包括多个IP子矩阵,IP子矩阵的个数与IP地址的位数对应。
举例来说,如果源IP段中的IP地址是IPV4类型的地址,则有4个十进制的地址位,预设二维矩阵中包括4个IP子矩阵用于存储每一位的地址信息。如果源IP段中的IP地址是IPV6类型的地址,则有8个十六进制的地址位,预设二维矩阵中包括8个IP子矩阵用于存储每一位的地址信息。
进一步,每个IP子矩阵的行数为地址位的最大取值加1,以IPV4地址为例,每个地址位的范围为0-255,所以,IP子矩阵的行数为256行,分别表征0-255,列数配置为M,M可根据实际需要进行设定。具体的,可根据源IP段可拆分的子IP段的数目进行设置,假设源IP段可拆分为5个子IP段,M设置为大于或等于5的数值。假设源IP段可拆分为2个子IP段,M设置为大于或等于2的数值。或者,可将M直接配置为一个较大的数值,如:32、64等数值,在具体实施过程中,M可根据实际需要进行配置,在此,本实施例不做限制。每个IP子矩阵的列用于对不同子IP段的IP地址对应地址位的信息进行记录。举例来说,如果IP地址属于第1个子IP段,则该IP地址映射值IP子矩阵的第1列。
如图2所示,IPV4对应的预设二维矩阵包括与第一地址位对应的第一IP子矩阵、与第二地址位对应的第二IP子矩阵、与第三地址位对应的第三IP子矩阵、与第四地址位对应的第四IP子矩阵,每个IP子矩阵的初始值为0。
同理,以IPV6地址为例,每个地址位的范围为0-65535,所以,IP子矩阵的行数为65535行,分别表征0-65535。列数配置为M,M可根据实际需要进行设定,具体的,可根据源IP段可拆分的子IP段数目进行设置,假设源IP段可拆分为5个子IP段,M设置为大于5的数值。或者,可将M直接配置为一个较大的数值,如:32、64、128等数值,在具体实施过程中,M可根据实际需要进行配置,在此,本实施例不做限制。
在进行源IP段的IP地址映射时,针对每个IP地址,确定其所属的子IP段,如果属于第j个子IP段,依次读取该IP地址的每个地址位的值,假设第一地址位的值为i,第一地址位对应第一IP子矩阵,将第一IP子矩阵的第i行第j列的值赋值为非0值。为了便于计算机处理,非0值可设置为1。举例来说,源IP段中包括地址0.1.1.1,属于第1个子IP段,将第一地址位对应的第一IP子矩阵中第0行第1列的值赋值为1,将第二地址位对应的第二IP子矩阵中第1行第1列的值赋值为1,将第三地址位对应的第三IP子矩阵中第1行第1列的值赋值为1,将第四地址位对应的第四IP子矩阵中第1行第1列的值赋值为1。这样,就完成一个IP地址的映射,将源IP段的所有地址均映射值预设二维数组后,即可得到目标二维矩阵。
由于目标二维矩阵预先已经配置好,这样,在获得新进网络信息后,会对新网络信息的目标IP地址与源IP段进行匹配,确定该目标IP地址是否属于源IP段,进而确定该网络信息是否符合配置规则。
具体的,首先通过步S101,针对新进网络信息的目标IP地址中的每个地址位,如果该地址位的值为r,从目标二维矩阵中该地址位对应的IP子矩阵中读取第r行的值,共计获得N位地址对应的N个第一目标值。
举例来说,如果目标地址为1.2.2.1,则读取目标二维矩阵中第一IP子矩阵中第1行的值,假设为11,读取目标二维矩阵中第二IP子矩阵中第2行的值,假设为10,读取目标二维矩阵中第三IP子矩阵中第2行的值,假设为11,读取目标二维矩阵中第四IP子矩阵中第1行的值,假设为10。这样,获得4个数值11、10、11、10。
进而,通过步骤S102,将N个第一目标值按位与运算,获得第二目标值。继续沿用上述示例,将11、10、11、10进行按位与运算,得到第二目标值为10,转换为十进制为2。通过步骤S103,由于第二目标值大于0,则确定目标地址1.2.2.1位于源IP段中,确定该新进网络信息符合配置规则。
由此可见,本实施例中的方法,仅需要预先构建好配置的IP段的目标二维矩阵,这样,就可以对后续新进网络信息的IP地址快速有效地匹配。无需向现有技术一样,对新进网络信息的IP地址进行字符转换,也无需一一比对。
进一步,在本实施例中,需要预先源IP地址中的IP地址唯一映射至预设二维矩阵,在映射时,需要考虑源IP段的范围跨度,如果跨度较大,还需要进行拆分,根据拆分后的IP子段进行映射。在本实施例中,如果源IP段为第一IP地址至第二IP地址,从以下方式来进行映射。
j取1至N-1,j的值依次增加1,确定第j个中间地址的后j位的值为0,第N-j位的值为所述第一IP地址的第N-j位的值加1,其余位的值与所述第一IP地址相同,j取N至2N-2,j的值依次增加1,确定第j个中间地址的后2N-j-1位的值为0,其余位的值与所述第二IP地址相同,共计获得2N-2个中间地址;
去除所述2N-2个中间地址中在所述第一IP地址之前和在所述第二IP地址之后的地址,将相同的地址合并后,连同所述第一IP地址和所述第二IP地址进行排序,确定排序后的相邻两个地址形成一个子IP段,共计获得k个子IP段;
h取1至k,针对所述k个子IP段中的第h个子IP段中每个IP地址,如果该位地址的值为i,将该位地址对应的IP子矩阵中第i行第M-h+1列的值赋值为非0值,获得所述目标二维矩阵。
具体的,假设源IP段为1.1.1.1-1.2.1.254,N=4,确定出6个中间IP地址。按上述规律,j=1,第1个中间IP地址为1.1.2.0。j=2,第2个中间IP地址为1.2.0.0。j=3,第3个中间IP地址为2.0.0.0。j=4,第4个中间IP地址为1.0.0.0。j=5,第5个中间IP地址为1.2.0.0。j=6,第6个中间IP地址为1.2.1.0。
进而,去除掉在1.1.1.1之前的和在1.2.1.254之后的地址,包括1.0.0.0和2.0.0.0,加入第一IP地址和第二IP地址后排序为1.1.1.1、1.1.2.0、1.2.0.0、1.2.1.0、1.2.1.254,则确定出的IP子段包括:1.1.1.1-1.1.1.255(1.1.2.0的前一地址),1.1.2.0-1.1.255.255(1.2.0.0的前一地址),1.2.0.0-1.2.0.255(1.2.1.0的前一地址),1.2.1.0-1.2.1.254。
假设源IP段为1.1.1.1-2.2.1.254,N=4,确定出6个中间IP地址。按上述规律,j=1,第1个中间IP地址为1.1.2.0。j=2,第2个中间IP地址为1.2.0.0。j=3,第3个中间IP地址为2.0.0.0。j=4,第4个中间IP地址为2.0.0.0。j=5,第5个中间IP地址为2.2.0.0。j=6,第6个中间IP地址为2.2.1.0。
进而,去除掉在1.1.1.1之前的和在2.2.1.254之后的地址,将重复的(2.0.0.0)合并为一个后,加入第一IP地址和第二IP地址后排序为1.1.1.1、1.1.2.0、1.2.0.0、2.0.0.0、2.2.0.0、2.2.1.0、2.2.1.254。则确定出的IP子段包括:1.1.1.1-1.1.1.255(1.1.2.0的前一地址),1.1.2.0-1.1.255.255(1.2.0.0的前一地址),1.2.0.0-1.255.255.255(2.0.0.0的前一地址),2.0.0.0-2.1.255.255(2.2.0.0的前一地址)、2.2.0.0-2.2.0.255(2.2.1.0的前一地址)、2.2.1.0-2.2.1.254。
假设源IP段为1.1.1.1-4.2.1.254,N=4,确定出6个中间IP地址。按上述规律,j=1,第1个中间IP地址为1.1.2.0。j=2,第2个中间IP地址为1.2.0.0。j=3,第3个中间IP地址为2.0.0.0。j=4,第4个中间IP地址为4.0.0.0。j=5,第5个中间IP地址为4.2.0.0。j=6,第6个中间IP地址为4.2.1.0。
进而,去除掉在1.1.1.1之前的和在2.2.1.254之后的地址,将重复的合并为一个后,加入第一IP地址和第二IP地址后排序为1.1.1.1、1.1.2.0、1.2.0.0、2.0.0.0、4.0.0.0、4.2.0.0、4.2.1.0、4.2.1.254。则确定出的IP子段包括:1.1.1.1-1.1.1.255(1.1.2.0的前一地址),1.1.2.0-1.1.255.255(1.2.0.0的前一地址),1.2.0.0-1.255.255.255(2.0.0.0的前一地址),2.0.0.0-3.255.255.255(4.0.0.0的前一地址),4.0.0.0-4.1.255.255(4.2.0.0的前一地址)、4.2.0.0-4.2.0.255(4.2.1.0的前一地址)、4.2.1.0-4.2.1.254。
进而,按上述源IP段为1.1.1.1-4.2.1.254为例,假设M设置为8,进而,h=1时,第1个子IP段对应第8列,h=2时,第2个子IP段对应第7列,h=3时,第3个子IP段对应第6列。以此类推,h=7时,第7个子IP段对应第2列。
针对第1个子IP段包括1.1.1.1-1.1.1.255,将第一个IP子矩阵的第1行第8列赋值为1,将第二个IP子矩阵的第1行第8列赋值为1,将第三个IP子矩阵的第1行第8列赋值为1,将第四个IP子矩阵的第1-255行第8列赋值为1。
针对第2个子IP段包括1.1.2.0-1.1.255.255,将第一个IP子矩阵的第1行第7列赋值为1,将第二个IP子矩阵的第1行第7列赋值为1,将第三个IP子矩阵的第2-255行第7列赋值为1,将第四个IP子矩阵的第0-255行第7列赋值为1。
针对第3个子IP段包括1.2.0.0-1.255.255.255,将第一个IP子矩阵的第1行第6列赋值为1,将第二个IP子矩阵的第2-255行第6列赋值为1,将第三个IP子矩阵的第0-255行第6列赋值为1,将第四个IP子矩阵的第0-255行第6列赋值为1。
针对第4个子IP段包括2.0.0.0-3.255.255.255,将第一个IP子矩阵的第2-3行第5列赋值为1,将第二个IP子矩阵的第0-255行第5列赋值为1,将第三个IP子矩阵的第0-255行第5列赋值为1,将第四个IP子矩阵的第0-255行第5列赋值为1。
针对第5个子IP段包括4.0.0.0-4.1.255.255,将第一个IP子矩阵的第4行第4列赋值为1,将第二个IP子矩阵的第0-1行第4列赋值为1,将第三个IP子矩阵的第0-255行第4列赋值为1,将第四个IP子矩阵的第0-255行第4列赋值为1。
针对第6个子IP段包括4.2.0.0-4.2.0.255,将第一个IP子矩阵的第4行第3列赋值为1,将第二个IP子矩阵的第2行第3列赋值为1,将第三个IP子矩阵的第0行第3列赋值为1,将第四个IP子矩阵的第0-255行第3列赋值为1。
针对第7个子IP段包括4.2.1.0-4.2.1.254,将第一个IP子矩阵的第4行第2列赋值为1,将第二个IP子矩阵的第2行第2列赋值为1,将第三个IP子矩阵的第1行第2列赋值为1,将第四个IP子矩阵的第0-254行第2列赋值为1。上述映射的方式能够将源IP段的所有IP地址唯一映射至预设二维矩阵中。
进一步,本实施例中的方案,如果还需要配置与该源IP对应的源端口段,则所述预设二维矩阵中还包括端口子矩阵,所述端口子矩阵包括的行数为最大端口值加1,列数为W,所述端口子矩阵的初始值为0,所述方法还包括:
将配置规则中的与所述源IP段对应的源端口段映射至所述端口子矩阵,其中,如果所述源端口段包括端口D1-D2,将所述端口子矩阵中W-h+1列对应的第D1-D2行的数值赋值为非0值;
针对所述新进网络信息的目标端口值d,从所述端口子矩阵中读取第d行的目标端口值;
将所述目标端口值与所述第二目标值按位与运算,获得第三目标值;
如果所述第三目标值大于0,确定所述目标IP地址在所述源IP段中且所述新进网络信息的目标端口在所述源端口段,所述新进网络信息符合所述配置规则。
具体的,在本实施例中,为了对用户配置规则中的源端口段中的端口号进行映射,预设二维矩阵中设置有端口子矩阵,进一步,端口子矩阵的行数为端口的最大取值加1,端口的取值范围为0-65535。所以,端口子矩阵的行数为65536行,分别表征0-65535,列数配置为W,W可根据实际需要进行设定。具体的,W可等于M,或者,可将W直接配置为一个较大的数值,如:32、64等数值,在具体实施过程中,W可根据实际需要进行配置,在此,本实施例不做限制。端口子矩阵的列用于对源IP段中不同子IP段的端口信息进行记录。举例来说,h=1时,针对第1个子IP段,如果源端口段包括端口D1-D2,将端口子矩阵的中W列对应的第D1-D2行的数值赋值为1,其他子IP段的端口号映射方式一样,在此,本实施例不做赘述。
进而,在步骤S102获得N个第一目标值按位与运算得到的第二目标值同时,如果针对新进网络信息的目标端口值d,从端口子矩阵中读取第d行的目标端口值,这样,就可将第二目标值与目标端口值进行按位与运算,得到第三目标值。
沿用前述示例,如果第二目标值为10,目标IP地址的端口值为20,读取端口子矩阵第20行的值为11,10与11按位与后的值为10,转换为十进制为2。由于第三目标值大于0,则确定目标地址1.2.2.1位于源IP段中,且目标地址1.2.2.1对应的目标端口20位于源端口段中,确定该新进网络信息符合配置规则。
当然,在具体实施过程中,可用一个独立端口矩阵来做网络信息端口的匹配,独立端口矩阵中包括65536行1列,如果源端口段包括端口D1-D2,将端口子矩阵的中对应的第D1-D2行的数值赋值为1,其余位为0,读取目标IP地址对应的目标端口值d,再从独立端口矩阵读取第d行的值,如果为1,则表示新进网络信息的目标端口在源端口段。
进一步,本实施例中的方案,如果还需要配置与该源IP对应的配置协议,则所述预设二维矩阵中还包括协议子矩阵,所述协议子矩阵包括的行数为2,列数为Q,所述协议子矩阵的初始值为0,所述方法还包括:
将配置规则中的与所述源IP段对应的配置协议映射至所述协议子矩阵,其中,将所述协议子矩阵中Q-h+1列对应的与所述配置协议对应的行的数值赋值为非0值;
针对所述新进网络信息的目标协议,从所述协议子矩阵中读取所述目标协议对应的第t行的目标协议值;
将所述目标协议值与所述第三目标值按位与运算,获得第四目标值;
如果所述第四目标值大于0,确定所述目标IP地址在所述源IP段中,所述新进网络信息的目标端口在所述源端口段以及所述新进网络信息的目标协议在所述配置协议中,所述新进网络信息符合所述配置规则。
具体的,在本实施例中,为了对用户配置规则中的配置协议进行映射,预设二维矩阵中设置有协议子矩阵,网络信息对应的通信协议通常包括TCP协议,所以,协议子矩阵包括2行,如果设定TCP协议为第0行,UDP协议为第1行,列数配置为Q,Q可根据实际需要进行设定。具体的,Q可等于M,或者,可将Q直接配置为一个较大的数值,如:32、64等数值,在具体实施过程中,Q可根据实际需要进行配置,在此,本实施例不做限制。协议子矩阵的列用于对源IP段中不同子IP段的协议信息进行记录。举例来说,h=1时,针对第1个子IP段,如果采用协议为TCP,将端口子矩阵的中Q列对应的第0行的数值赋值为1,其他子IP段的端口号映射方式一样,在此,本实施例不做赘述。
进而,在通过前述步骤得到第三目标值同时,如果针对新进网络信息的目标协议为TCP,从协议子矩阵中读取第0行的目标协议值,这样,就可将第三目标值与目标协议值进行按位与运算,得到第四目标值。
沿用前述示例,如果第三目标值为10,目标协议为TCP,从协议子矩阵中读取第0行的目标协议值值为11,10与11按位与后的值为10,转换为十进制为2。由于第四目标值大于0,则确定目标地址1.2.2.1位于源IP段中,且目标地址1.2.2.1对应的目标端口20位于源端口段中,新进网络信采用的目标协议为配置协议,确定该新进网络信息符合配置规则。
当然,在具体实施过程中,可用一个独立协议矩阵来做网络信息端口的匹配,独立端口矩阵中包括2行1列,如果配置协议为TCP和UDP,将协议子矩阵的中对应的第0-1行的数值赋值为1,读取目标IP地址对应的目标协议为TCP,再从独立协议子矩阵读取第0行的值为1,则表示新进网络信息采用的网络协议在配置协议中。
在具体实施过程中,可设置多个配置规则,不同配置规则对应的IP段可不同,可以将不同的IP段规定映射至不同的列。比如:预设二维矩阵中每个IP子矩阵包括16列,每个配置规则对应8列,假设配置规则1对应9-16列,配置规则2对应1-8列,这样,不同的配置规则对应不同的与运算值范围,配置规则1对应的是1-255,配置规则1对应的是256-65535。将不同IP段映射至同一预设二维矩阵得到目标矩阵后,如果按新进网络信息的目标IP地址读取的各个IP子矩阵的值的与运算的第二目标值在1-255范围内,表示该新进信息属于配置规则1中的源IP段,而如果按新进网络信息的目标IP地址读取的各个IP子矩阵的值的与运算的第二目标值在256-65535范围内,表示该新进信息属于配置规则2中的源IP段。通过这样的方式,可以快速定位出新进网络信息所属的配置规则。
进一步,在现有技术中,如果配置了多项安全防护检测,网络信息会进行全量的检测,假设系统设置了入侵防护检测、恶意文件检测、数据泄露防护检测。针对接收的每个网络信息,会进行入侵防护检测、恶意文件检测、数据泄露防护检测,进而,针对入侵防护检测到的网络信息,会进一步确定是否属于配置的IP段,由于每项检测会消耗大量的检测时间,这样的防护检测效率较低。
在本实施例中,不同配置规则包括的IP段不同、端口段或者配置协议中至少有一个不同,不同的配置规则对应不同的安全防护策略,在本实施例中,如果所述新进网络信息符合所述配置规则,基于与所述配置规则对应的安全防护策略对所述新进网络信息进行安全防护检测,获得检测结果。
具体的,在本实施例中,首先针对用户的配置规则筛选出符合配置规则的网络信息,再将符合配置规则的网络信息进行对应的安全防护检测。举例来说,配置规则1中对应的IP段为IP地址1-IP地址2,端口段为端口1-端口2,采用的协议为TCP,对应的防护策略是进行入侵防护检测,所以,针对满足配置规则1的网络信息仅进行入侵防护检测。配置规则2中对应的IP段为IP地址3-IP地址4,端口段为端口3-端口4,采用的协议为TCP,对应的防护策略是进行恶意文件检测,所以,针对满足配置规则2的网络信息仅进行恶意文件检测。由此可见,安全防护检测效率只和用户配置的规则库的数据量有关,受网络信息的数量影响较小,检测效率较高。
请参见图3,本发明的第二实施例提供了一种网络信息匹配装置,包括:
本发明实施例提供了一种网络信息匹配装置,包括:
第一获取单元301,用于针对新进网络信息的目标IP地址中的每个地址位,如果该地址位的值为r,从目标二维矩阵中该地址位对应的IP子矩阵中读取第r行的值,共计获得N位地址对应的N个第一目标值,其中,所述目标二维矩阵为通过将配置规则中的源IP段中的IP地址按预设规则映射至预设二维矩阵后获得,所述预设二维矩阵包括与多个IP地址位一一对应的多个IP子矩阵,每个所述IP子矩阵的行数为IP地址位的最大取值加1,列数为M,所述IP子矩阵的初始值为0,所述预设规则包括:针对所述源IP段中的每个IP地址,如果该IP地址对应的列值为j,针对该IP地址中每位地址,如果该位地址的值为i,将该位地址对应的IP子矩阵中第i行第j列的值赋值为非0值;
第二获取单元302,用于将所述N个第一目标值按位与运算,获得第二目标值;
匹配单元303,用于如果所述第二目标值大于0,确定所述目标IP地址在所述源IP段中,所述新进网络信息符合所述配置规则。
在一种可选实现方式中,所述装置还包括第一矩阵构建单元,所述第一矩阵构建单元具体用于:
j取1至N-1,j的值依次增加1,确定第j个中间地址的后j位的值为0,第N-j位的值为所述第一IP地址的第N-j位的值加1,其余位的值与所述第一IP地址相同,j取N至2N-2,j的值依次增加1,确定第j个中间地址的后2N-j-1位的值为0,其余位的值与所述第二IP地址相同,共计获得2N-2个中间地址;
去除所述2N-2个中间地址中在所述第一IP地址之前和在所述第二IP地址之后的地址,将相同的地址合并后,连同所述第一IP地址和所述第二IP地址进行排序,确定排序后的相邻两个地址形成一个子IP段,共计获得k个子IP段;
h取1至k,针对所述k个子IP段中的第h个子IP段中每个IP地址,如果该位地址的值为i,将该位地址对应的IP子矩阵中第i行第M-h+1列的值赋值为非0值,获得所述目标二维矩阵。
在一种可选实现方式中,所述匹配单元具体用于:
所述预设二维矩阵中还包括端口子矩阵,所述端口子矩阵包括的行数为最大端口值加1,列数为W,所述端口子矩阵的初始值为0,将配置规则中的与所述源IP段对应的源端口段映射至所述端口子矩阵,其中,如果所述源端口段包括端口D1-D2,将所述端口子矩阵中W-h+1列对应的第D1-D2行的数值赋值为非0值;
针对所述新进网络信息的目标端口值d,从所述端口子矩阵中读取第d行的目标端口值;
将所述目标端口值与所述第二目标值按位与运算,获得第三目标值;
如果所述第三目标值大于0,确定所述目标IP地址在所述源IP段中且所述新进网络信息的目标端口在所述源端口段,所述新进网络信息符合所述配置规则。
在一种可选实现方式中,所述匹配单元具体用于:
所述预设二维矩阵中还包括协议子矩阵,所述协议子矩阵包括的行数为2,列数为Q,所述协议子矩阵的初始值为0,将配置规则中的与所述源IP段对应的配置协议映射至所述协议子矩阵,其中,将所述协议子矩阵中Q-h+1列对应的与所述配置协议对应的行的数值赋值为非0值;
针对所述新进网络信息的目标协议,从所述协议子矩阵中读取所述目标协议对应的第t行的目标协议值;
将所述目标协议值与所述第三目标值按位与运算,获得第四目标值;
如果所述第四目标值大于0,确定所述目标IP地址在所述源IP段中,所述新进网络信息的目标端口在所述源端口段以及所述新进网络信息的目标协议在所述配置协议中,所述新进网络信息符合所述配置规则。
在一种可选实现方式中,所述装置还包括:
安全检测单元,用于如果所述新进网络信息符合所述配置规则,基于与所述配置规则对应的安全防护策略对所述新进网络信息进行安全防护检测,获得检测结果。
本实施例中的网络信息匹配装置进行网络信息匹配的详细过程已在前述第一实施例中详细阐述,可参见第一实施例中的内容,在此,本实施例不再赘述。
请参见图4,本发明的第三实施例提供了一种网络信息匹配装置,该实施例的装置包括:处理器401、存储器402以及存储在所述存储器中并可在所述处理器上运行的计算机程序,例如第一实施例中网络信息匹配方法对应的程序。所述处理器执行所述计算机程序时实现上述第一实施例中网络信息匹配方法的步骤。或者,所述处理器执行所述计算机程序时实现上述第二实施例的装置中各模块/单元的功能。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述计算机装置中的执行过程。
所述装置可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述示意图4仅仅是计算机装置的示例,并不构成对装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述装置还可以包括输入输出设备、网络接入设备、总线等。
所称处理器401可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
所述存储器402可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
进一步,该装置所包括的处理器401还具有以下功能:
针对新进网络信息的目标IP地址中的每个地址位,如果该地址位的值为r,从目标二维矩阵中该地址位对应的IP子矩阵中读取第r行的值,共计获得N位地址对应的N个第一目标值,其中,所述目标二维矩阵为通过将配置规则中的源IP段中的IP地址按预设规则映射至预设二维矩阵后获得,所述预设二维矩阵包括与多个IP地址位一一对应的多个IP子矩阵,每个所述IP子矩阵的行数为IP地址位的最大取值加1,列数为M,所述IP子矩阵的初始值为0,所述预设规则包括:针对所述源IP段中的每个IP地址,如果该IP地址对应的列值为j,针对该IP地址中每位地址,如果该位地址的值为i,将该位地址对应的IP子矩阵中第i行第j列的值赋值为非0值;
将所述N个第一目标值按位与运算,获得第二目标值;
如果所述第二目标值大于0,确定所述目标IP地址在所述源IP段中,所述新进网络信息符合所述配置规则。
进一步,该装置所包括的处理器401还具有以下功能:
j取1至N-1,j的值依次增加1,确定第j个中间地址的后j位的值为0,第N-j位的值为所述第一IP地址的第N-j位的值加1,其余位的值与所述第一IP地址相同,j取N至2N-2,j的值依次增加1,确定第j个中间地址的后2N-j-1位的值为0,其余位的值与所述第二IP地址相同,共计获得2N-2个中间地址;
去除所述2N-2个中间地址中在所述第一IP地址之前和在所述第二IP地址之后的地址,将相同的地址合并后,连同所述第一IP地址和所述第二IP地址进行排序,确定排序后的相邻两个地址形成一个子IP段,共计获得k个子IP段;
h取1至k,针对所述k个子IP段中的第h个子IP段中每个IP地址,如果该位地址的值为i,将该位地址对应的IP子矩阵中第i行第M-h+1列的值赋值为非0值,获得所述目标二维矩阵。
进一步,该装置所包括的处理器401还具有以下功能:
所述预设二维矩阵中还包括端口子矩阵,所述端口子矩阵包括的行数为最大端口值加1,列数为W,所述端口子矩阵的初始值为0,将配置规则中的与所述源IP段对应的源端口段映射至所述端口子矩阵,其中,如果所述源端口段包括端口D1-D2,将所述端口子矩阵中W-h+1列对应的第D1-D2行的数值赋值为非0值;
针对所述新进网络信息的目标端口值d,从所述端口子矩阵中读取第d行的目标端口值;
将所述目标端口值与所述第二目标值按位与运算,获得第三目标值;
如果所述第三目标值大于0,确定所述目标IP地址在所述源IP段中且所述新进网络信息的目标端口在所述源端口段,所述新进网络信息符合所述配置规则。
进一步,该装置所包括的处理器401还具有以下功能:
所述预设二维矩阵中还包括协议子矩阵,所述协议子矩阵包括的行数为2,列数为Q,所述协议子矩阵的初始值为0,将配置规则中的与所述源IP段对应的配置协议映射至所述协议子矩阵,其中,将所述协议子矩阵中Q-h+1列对应的与所述配置协议对应的行的数值赋值为非0值;
针对所述新进网络信息的目标协议,从所述协议子矩阵中读取所述目标协议对应的第t行的目标协议值;
将所述目标协议值与所述第三目标值按位与运算,获得第四目标值;
如果所述第四目标值大于0,确定所述目标IP地址在所述源IP段中,所述新进网络信息的目标端口在所述源端口段以及所述新进网络信息的目标协议在所述配置协议中,所述新进网络信息符合所述配置规则。
进一步,该装置所包括的处理器401还具有以下功能:
如果所述新进网络信息符合所述配置规则,基于与所述配置规则对应的安全防护策略对所述新进网络信息进行安全防护检测,获得检测结果。
本发明第四实施例提供了一种计算机可读存储介质,其上存储有计算机程序,本发明第二实施例中的所述网络信息匹配装置集成的功能单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述第一实施例的网络信息匹配方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种网络信息匹配方法,其特征在于,包括:
针对新进网络信息的目标IP地址中的每个地址位,如果该地址位的值为r,从目标二维矩阵中该地址位对应的IP子矩阵中读取第r行的值,共计获得N位地址对应的N个第一目标值,其中,所述目标二维矩阵为通过将配置规则中的源IP段中的IP地址按预设规则映射至预设二维矩阵后获得,所述预设二维矩阵包括与多个IP地址位一一对应的多个IP子矩阵,每个所述IP子矩阵的行数为IP地址位的最大取值加1,列数为M,所述IP子矩阵的初始值为0,所述预设规则包括:针对所述源IP段中的每个IP地址,如果该IP地址对应的列值为j,针对该IP地址中每位地址,如果该位地址的值为i,将该位地址对应的IP子矩阵中第i行第j列的值赋值为非0值;
将所述N个第一目标值按位与运算,获得第二目标值;
如果所述第二目标值大于0,确定所述目标IP地址在所述源IP段中,所述新进网络信息符合所述配置规则。
2.如权利要求1所述的方法,其特征在于,在所述从目标二维矩阵中该地址位对应的IP子矩阵中读取第r行的值之前,所述方法还包括:
j取1至N-1,j的值依次增加1,确定第j个中间地址的后j位的值为0,第N-j位的值为所述第一IP地址的第N-j位的值加1,其余位的值与所述第一IP地址相同,j取N至2N-2,j的值依次增加1,确定第j个中间地址的后2N-j-1位的值为0,其余位的值与所述第二IP地址相同,共计获得2N-2个中间地址;
去除所述2N-2个中间地址中在所述第一IP地址之前和在所述第二IP地址之后的地址,将相同的地址合并后,连同所述第一IP地址和所述第二IP地址进行排序,确定排序后的相邻两个地址形成一个子IP段,共计获得k个子IP段;
h取1至k,针对所述k个子IP段中的第h个子IP段中每个IP地址,如果该位地址的值为i,将该位地址对应的IP子矩阵中第i行第M-h+1列的值赋值为非0值,获得所述目标二维矩阵。
3.如权利要求2所述的方法,其特征在于,所述预设二维矩阵中还包括端口子矩阵,所述端口子矩阵包括的行数为最大端口值加1,列数为W,所述端口子矩阵的初始值为0,所述方法还包括:
将配置规则中的与所述源IP段对应的源端口段映射至所述端口子矩阵,其中,如果所述源端口段包括端口D1-D2,将所述端口子矩阵中W-h+1列对应的第D1-D2行的数值赋值为非0值;
针对所述新进网络信息的目标端口值d,从所述端口子矩阵中读取第d行的目标端口值;
将所述目标端口值与所述第二目标值按位与运算,获得第三目标值;
如果所述第三目标值大于0,确定所述目标IP地址在所述源IP段中且所述新进网络信息的目标端口在所述源端口段,所述新进网络信息符合所述配置规则。
4.如权利要求3所述的方法,所述预设二维矩阵中还包括协议子矩阵,所述协议子矩阵包括的行数为2,列数为Q,所述协议子矩阵的初始值为0,所述方法还包括:
将配置规则中的与所述源IP段对应的配置协议映射至所述协议子矩阵,其中,将所述协议子矩阵中Q-h+1列对应的与所述配置协议对应的行的数值赋值为非0值;
针对所述新进网络信息的目标协议,从所述协议子矩阵中读取所述目标协议对应的第t行的目标协议值;
将所述目标协议值与所述第三目标值按位与运算,获得第四目标值;
如果所述第四目标值大于0,确定所述目标IP地址在所述源IP段中,所述新进网络信息的目标端口在所述源端口段以及所述新进网络信息的目标协议在所述配置协议中,所述新进网络信息符合所述配置规则。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
如果所述新进网络信息符合所述配置规则,基于与所述配置规则对应的安全防护策略对所述新进网络信息进行安全防护检测,获得检测结果。
6.一种网络信息匹配装置,其特征在于,包括:
第一获取单元,用于针对新进网络信息的目标IP地址中的每个地址位,如果该地址位的值为r,从目标二维矩阵中该地址位对应的IP子矩阵中读取第r行的值,共计获得N位地址对应的N个第一目标值,其中,所述目标二维矩阵为通过将配置规则中的源IP段中的IP地址按预设规则映射至预设二维矩阵后获得,所述预设二维矩阵包括与多个IP地址位一一对应的多个IP子矩阵,每个所述IP子矩阵的行数为IP地址位的最大取值加1,列数为M,所述IP子矩阵的初始值为0,所述预设规则包括:针对所述源IP段中的每个IP地址,如果该IP地址对应的列值为j,针对该IP地址中每位地址,如果该位地址的值为i,将该位地址对应的IP子矩阵中第i行第j列的值赋值为非0值;
第二获取单元,用于将所述N个第一目标值按位与运算,获得第二目标值;
匹配单元,用于如果所述第二目标值大于0,确定所述目标IP地址在所述源IP段中,所述新进网络信息符合所述配置规则。
7.如权利要求6所述的装置,其特征在于,所述装置还包括第一矩阵构建单元,所述第一矩阵构建单元具体用于:
j取1至N-1,j的值依次增加1,确定第j个中间地址的后j位的值为0,第N-j位的值为所述第一IP地址的第N-j位的值加1,其余位的值与所述第一IP地址相同,j取N至2N-2,j的值依次增加1,确定第j个中间地址的后2N-j-1位的值为0,其余位的值与所述第二IP地址相同,共计获得2N-2个中间地址;
去除所述2N-2个中间地址中在所述第一IP地址之前和在所述第二IP地址之后的地址,将相同的地址合并后,连同所述第一IP地址和所述第二IP地址进行排序,确定排序后的相邻两个地址形成一个子IP段,共计获得k个子IP段;
h取1至k,针对所述k个子IP段中的第h个子IP段中每个IP地址,如果该位地址的值为i,将该位地址对应的IP子矩阵中第i行第M-h+1列的值赋值为非0值,获得所述目标二维矩阵。
8.如权利要求7所述的装置,其特征在于,所述匹配单元具体用于:
所述预设二维矩阵中还包括端口子矩阵,所述端口子矩阵包括的行数为最大端口值加1,列数为W,所述端口子矩阵的初始值为0,将配置规则中的与所述源IP段对应的源端口段映射至所述端口子矩阵,其中,如果所述源端口段包括端口D1-D2,将所述端口子矩阵中W-h+1列对应的第D1-D2行的数值赋值为非0值;
针对所述新进网络信息的目标端口值d,从所述端口子矩阵中读取第d行的目标端口值;
将所述目标端口值与所述第二目标值按位与运算,获得第三目标值;
如果所述第三目标值大于0,确定所述目标IP地址在所述源IP段中且所述新进网络信息的目标端口在所述源端口段,所述新进网络信息符合所述配置规则。
9.一种网络信息匹配装置,其特征在于,所述网络信息匹配装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1-5中任一项所述的网络信息匹配方法的步骤。
10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5中任一项所述的网络信息匹配方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011024965.6A CN112187784B (zh) | 2020-09-25 | 2020-09-25 | 一种网络信息匹配方法、装置及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011024965.6A CN112187784B (zh) | 2020-09-25 | 2020-09-25 | 一种网络信息匹配方法、装置及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112187784A true CN112187784A (zh) | 2021-01-05 |
CN112187784B CN112187784B (zh) | 2022-12-16 |
Family
ID=73943936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011024965.6A Active CN112187784B (zh) | 2020-09-25 | 2020-09-25 | 一种网络信息匹配方法、装置及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112187784B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114785742A (zh) * | 2022-06-21 | 2022-07-22 | 闪捷信息科技有限公司 | 访问地址信息加载方法、流量处理方法和电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015012422A1 (ko) * | 2013-07-24 | 2015-01-29 | Kim Hangjin | '2차원 매트릭스 기반 분산 접속망'을 이용한 ddos 공격 대응 및 비지니스 연속성 (business continuity ) 보장 방안 |
CN106126481A (zh) * | 2016-06-29 | 2016-11-16 | 华为技术有限公司 | 一种计算引擎和电子设备 |
CN108023771A (zh) * | 2017-12-06 | 2018-05-11 | 清华大学 | 基于ip地址和逻辑端口的网络空间坐标体系架构的创建方法及装置 |
WO2019000300A1 (zh) * | 2017-06-29 | 2019-01-03 | 北京清影机器视觉技术有限公司 | 二维数据匹配方法、装置和逻辑电路 |
CN111224901A (zh) * | 2019-12-03 | 2020-06-02 | 北京锐安科技有限公司 | 一种数据关联方法、装置和分布式系统 |
-
2020
- 2020-09-25 CN CN202011024965.6A patent/CN112187784B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015012422A1 (ko) * | 2013-07-24 | 2015-01-29 | Kim Hangjin | '2차원 매트릭스 기반 분산 접속망'을 이용한 ddos 공격 대응 및 비지니스 연속성 (business continuity ) 보장 방안 |
CN106126481A (zh) * | 2016-06-29 | 2016-11-16 | 华为技术有限公司 | 一种计算引擎和电子设备 |
WO2019000300A1 (zh) * | 2017-06-29 | 2019-01-03 | 北京清影机器视觉技术有限公司 | 二维数据匹配方法、装置和逻辑电路 |
CN108023771A (zh) * | 2017-12-06 | 2018-05-11 | 清华大学 | 基于ip地址和逻辑端口的网络空间坐标体系架构的创建方法及装置 |
CN111224901A (zh) * | 2019-12-03 | 2020-06-02 | 北京锐安科技有限公司 | 一种数据关联方法、装置和分布式系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114785742A (zh) * | 2022-06-21 | 2022-07-22 | 闪捷信息科技有限公司 | 访问地址信息加载方法、流量处理方法和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112187784B (zh) | 2022-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9779238B2 (en) | Classifying malware by order of network behavior artifacts | |
US20200145222A1 (en) | Optimal data storage configuration in a blockchain | |
CN112669138B (zh) | 数据处理方法及相关设备 | |
CN111897818B (zh) | 数据存储方法、装置、电子设备及存储介质 | |
US20160255100A1 (en) | Filter for network intrusion and virus detection | |
CN107707477A (zh) | 报文的处理方法及装置、计算机可读存储介质 | |
CN112163412B (zh) | 数据校验方法、装置、电子设备及存储介质 | |
CN111949666B (zh) | 标识生成方法、装置、电子设备及存储介质 | |
US20200334384A1 (en) | Method of dynamically configuring fpga and network security device | |
CN111460098B (zh) | 文本匹配方法、装置及终端设备 | |
CN112187784B (zh) | 一种网络信息匹配方法、装置及可读存储介质 | |
CN111709884A (zh) | 车牌关键点矫正方法、系统、设备和存储介质 | |
CN114598504A (zh) | 一种风险评估方法、装置、电子设备及可读存储介质 | |
US9015429B2 (en) | Method and apparatus for an efficient hardware implementation of dictionary based lossless compression | |
CN114329095A (zh) | 系统逻辑图生成方法、装置、设备及存储介质 | |
CN108363740B (zh) | Ip地址的分析方法、装置、存储介质及终端 | |
CN112199483B (zh) | 信息录入辅助方法、装置、电子设备及存储介质 | |
CN111563504A (zh) | 车牌识别方法及相关设备 | |
CN110309328B (zh) | 数据存储方法、装置、电子设备及存储介质 | |
CN114579970B (zh) | 一种基于卷积神经网络的安卓恶意软件检测方法及系统 | |
CN113435502B (zh) | 站点流量确定方法、装置、设备及存储介质 | |
CN114710325A (zh) | 网络入侵检测模型的构建方法、装置、设备及存储介质 | |
CN108874994A (zh) | 一种分块读取数据的方法、装置及计算机存储介质 | |
CN115037790A (zh) | 异常注册识别方法、装置、设备及存储介质 | |
CN114398353A (zh) | 一种楼盘数据清洗归并方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |