主机IP地址的转换方法、装置、计算机设备及存储介质与流程

文档序号:23722732发布日期:2021-01-26 13:41阅读:210来源:国知局
主机IP地址的转换方法、装置、计算机设备及存储介质与流程
主机ip地址的转换方法、装置、计算机设备及存储介质
技术领域
[0001]
本申请涉及网络安全技术领域,尤其涉及一种主机ip地址的转换方法、装置、计算机设备及存储介质。


背景技术:

[0002]
基于网络的安全检测技术是最常见的安全检测技术之一。在通过网络分析安全事件时,源ip地址、目的ip地址等ip信息是判断攻击者和被攻击资产的核心数据。
[0003]
在源ip代理/源ip nat(网络地址转换,network address translation)场景下,源ip会发生转换,如果在进行安全检测时采集到的是转换后的ip,则会导致安全分析的结果无法获取到真实的攻击者ip信息,从而无法准确定位到真实的网络攻击者。


技术实现要素:

[0004]
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
[0005]
为此,本申请的第一个目的在于提出一种主机ip地址的转换方法,以实现网络连接数据中透传的真实ip地址的转换,获取到真实的ip地址,从而使得后端业务系统能够准确地定位到真实的网络攻击者,为提升后端业务系统的安全检测能力提供了条件,解决现有技术中源ip代理/源ip nat场景下,无法获取到真实的攻击者ip信息,导致无法定位真实攻击源的问题。
[0006]
本申请的第二个目的在于提出一种主机ip地址的转换装置。
[0007]
本申请的第三个目的在于提出一种计算机设备。
[0008]
本申请的第四个目的在于提出一种非临时性计算机可读存储介质。
[0009]
为达上述目的,本申请第一方面实施例提出了一种主机ip地址的转换方法,包括:
[0010]
获取预设时段内的多个第一ip信息,其中,每个所述第一ip信息包括源ip地址所在的源ip字段、目的ip地址所在的目的ip字段和其他字段;
[0011]
将包含相同源ip地址的所有第一ip信息划分为一个第一ip组,以生成与所述多个第一ip信息对应的至少一个第一ip组;
[0012]
判断每个所述第一ip组中所有第一ip信息的其他字段中,是否存在满足预设透传条件的透传ip字段;
[0013]
在所述至少一个第一ip组中,确定存在所述透传ip字段的至少一个第二ip组,并根据所述至少一个第二ip组对应的所有目的ip地址和所述透传ip字段对应的透传ip地址,对所述至少一个第二ip组对应的源ip地址进行主机地址的转换。
[0014]
本申请实施例的主机ip地址的转换方法,通过获取预设时段内的多个第一ip信息,每个第一ip信息包括源ip地址所在的源ip字段、目的ip地址所在的目的ip字段和其他字段,将包含相同源ip地址的所有第一ip信息划分为一个第一ip组,以生成与多个第一ip信息对应的至少一个第一ip组,并判断每个第一ip组中所有第一ip信息的其他字段中,是否存在满足预设透传条件的透传ip字段,进而,在至少一个第一ip组中,确定存在透传ip字
段的至少一个第二ip组,并根据至少一个第二ip组对应的所有目的ip地址和透传ip字段对应的透传ip地址,对至少一个第二ip组对应的源ip地址进行主机地址的转换。由此,通过识别透传ip字段并根据透传ip字段对应的透传ip地址,对源ip地址进行主机地址的转换,实现了网络连接数据中透传的真实ip地址的转换,能够获取到真实的ip地址,从而使得后端业务系统能够根据真实的ip地址准确地定位到真实的网络攻击者,为提升后端业务系统的安全检测能力和检测准确率提供了条件。
[0015]
为达上述目的,本申请第二方面实施例提出了一种主机ip地址的转换装置,包括:
[0016]
获取模块,用于获取预设时段内的多个第一ip信息,其中,每个所述第一ip信息包括源ip地址所在的源ip字段、目的ip地址所在的目的ip字段和其他字段;
[0017]
分组模块,用于将包含相同源ip地址的所有第一ip信息划分为一个第一ip组,以生成与所述多个第一ip信息对应的至少一个第一ip组;
[0018]
判断模块,用于判断每个所述第一ip组中所有第一ip信息的其他字段中,是否存在满足预设透传条件的透传ip字段;
[0019]
转换模块,用于在所述至少一个第一ip组中,确定存在所述透传ip字段的至少一个第二ip组,并根据所述至少一个第二ip组对应的所有目的ip地址和所述透传ip字段对应的透传ip地址,对所述至少一个第二ip组对应的源ip地址进行主机地址的转换。
[0020]
本申请实施例的主机ip地址的转换装置,通过获取预设时段内的多个第一ip信息,每个第一ip信息包括源ip地址所在的源ip字段、目的ip地址所在的目的ip字段和其他字段,将包含相同源ip地址的所有第一ip信息划分为一个第一ip组,以生成与多个第一ip信息对应的至少一个第一ip组,并判断每个第一ip组中所有第一ip信息的其他字段中,是否存在满足预设透传条件的透传ip字段,进而,在至少一个第一ip组中,确定存在透传ip字段的至少一个第二ip组,并根据至少一个第二ip组对应的所有目的ip地址和透传ip字段对应的透传ip地址,对至少一个第二ip组对应的源ip地址进行主机地址的转换。由此,通过识别透传ip字段并根据透传ip字段对应的透传ip地址,对源ip地址进行主机地址的转换,实现了网络连接数据中透传的真实ip地址的转换,能够获取到真实的ip地址,从而使得后端业务系统能够根据真实的ip地址准确地定位到真实的网络攻击者,为提升后端业务系统的安全检测能力和检测准确率提供了条件。
[0021]
为达上述目的,本申请第三方面实施例提出了一种计算机设备,包括处理器、存储器和存储在所述存储器上并可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,实现如前述第一方面实施例所述的主机ip地址的转换方法。
[0022]
为了实现上述目的,本申请第四方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被处理器执行时,实现如前述第一方面实施例所述的主机ip地址的转换方法。
[0023]
为了实现上述目的,本申请第五方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行如前述第一方面实施例所述的主机ip地址的转换方法。
[0024]
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
[0025]
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0026]
图1为本申请一实施例所提供的主机ip地址的转换方法的流程示意图;
[0027]
图2为本申请另一实施例所提供的主机ip地址的转换方法的流程示意图;
[0028]
图3为本申请又一实施例所提供的主机ip地址的转换方法的流程示意图;
[0029]
图4为本申请一具体实施例的自动学习并转换源ip为透传真实ip的实现过程示例图;
[0030]
图5为本申请一实施例提供的主机ip地址的转换装置的结构示意图;
[0031]
图6为本申请另一实施例提供的主机ip地址的转换装置的结构示意图;以及
[0032]
图7为本申请又一实施例提供的主机ip地址的转换装置的结构示意图。
具体实施方式
[0033]
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
[0034]
下面参考附图描述本申请实施例的主机ip地址的转换方法、装置、计算机设备及存储介质。
[0035]
基于网络的安全检测技术是最常见的安全检测技术之一。通过网络分析安全事件时,最关键的一些基础元素就包含源ip、目的ip等ip信息,这些是判断攻击者和被攻击资产的核心数据。但因为网络的复杂性,例如内部业务对外通过nginx反向代理提供服务,又或是源ip nat等场景,会导致源ip发生转换,外部的真实访问者a,转换后则成为了内部的代理ip或nat ip b了,此时受限于网络设备采集网络数据的位置,如果采集到的是转换后的ip,则会导致安全分析的结果无法获取到真实的攻击者ip信息。该问题不仅会导致无法准确定位真实攻击者,同时由于大量外部ip被集中转换为固定的一个或者多个内部ip,还会导致一些基于统计(例如访问频率)的安全攻击检测产生误报。
[0036]
并且,由于网络的复杂性,在ip转换中,不仅包括网络层面的源ip nat的转换,也包括应用层面代理导致的ip转换,这就需要企业的网络负责人以及各个应用的负责人共同梳理,才可能将企业内部复杂的网络转换梳理清楚,耗时耗力,且效率较低。
[0037]
相关技术中,针对源ip转换问题,更多的是各个应用系统直接默认判断x-forwarded-for是否为空,若不为空则使用x-forwarded-for作为真实ip。然而,这种方案不具备通用性,例如采集流量中包含多个业务,其中只有一个业务系统是使用x-forwarded-for来透传真实ip的,若使用上述方案来确定真实ip,这会导致所有应用系统都发生转换问题,从而导致系统的安全检测准确率低。可见,传统的方案缺乏公共的源ip处理技术,同时也没有自动分析和识别的能力。
[0038]
因此,如果有一种方法可以自动学习并转换源ip代理/源ip nat为透传真实ip,则可以有效的提升基于网络的安全检测以及其他依赖真实源ip分析的效果。基于此,本申请提供了一种主机ip地址的转换方法,能够自动生成可转换源ip代理/源ip nat为透传真实ip的策略,自动转换源ip代理/源ip nat为透传真实ip,从而使得后端业务系统能够准确地
定位到真实的网络攻击者,为提升后端业务系统的安全检测能力和检测准确率提供了条件,解决源ip代理/源ip nat场景下,网络安全检测设备等基于ip的分析系统,无法获取到真实ip从而导致产生误报与无法定位真实攻击源的问题。并且,通过动态地学习ip转换策略,可以适配不同的业务场景,通用性强。
[0039]
图1为本申请一实施例所提供的主机ip地址的转换方法的流程示意图,该方法可以由本申请提供的主机ip地址的转换装置执行,该主机ip地址的转换装置可以配置于本申请提供的计算机设备中,该计算机设备可以是服务器,也可以是台式电脑、笔记本电脑等终端设备。
[0040]
如图1所示,该主机ip地址的转换方法可以包括以下步骤:
[0041]
步骤101,获取预设时段内的多个第一ip信息,其中,每个第一ip信息包括源ip地址所在的源ip字段、目的ip地址所在的目的ip字段和其他字段。
[0042]
其中,预设时段可以预先设定,比如设置预设时段为一天、10天、30天等。
[0043]
本实施例中,可以采集所有网络流量数据,包括但不限于采用并行、串行接入流量等方式获取网络流量数据,并对获取的网络流量数据进行解析,得到解析后的数据,进而从解析后的数据中提取出预设时段内的多个第一ip信息。或者,在获取到网络流量数据后,也可以先从获取的网络流量数据中筛选出预设时段内的网络流量数据,再对筛选出的网络流量数据进行解析,得到预设时段内的多个第一ip信息。
[0044]
其中,每个第一ip信息中至少包括源ip地址所在的源ip字段、目的ip地址所在的目的ip字段和其他字段,其他字段的个数不限于一个。比如,第一ip信息可以是五元组的形式表示的,则该第一ip信息中包括源ip地址所在的源ip字段、源端口所在的字段、目的ip地址所在的目的ip字段、目的端口所在的字段和传输层协议所在的字段,其中,其他字段为三个,分别为源端口所在的字段、目的端口所在的字段和传输层协议所在的字段。
[0045]
步骤102,将包含相同源ip地址的所有第一ip信息划分为一个第一ip组,以生成与所述多个第一ip信息对应的至少一个第一ip组。
[0046]
本实施例中,获取了预设时段内的多个第一ip信息后,可以对多个第一ip信息进行分组,将包含相同源ip地址的所有第一ip信息划分为一个第一ip组,以生成与多个第一ip信息对应的至少一个第一ip组。
[0047]
也就是说,本实施例中,对于获取的预设时段内的所有第一ip信息,根据源ip地址进行分组,将具有相同的源ip地址的至少一个第一ip信息划分为同一个分组,得到一个第一ip组,则有多少个不同的源ip地址,就分组得到多少个第一ip组。
[0048]
步骤103,判断每个第一ip组中所有第一ip信息的其他字段中,是否存在满足预设透传条件的透传ip字段。
[0049]
其中,预设透传条件可以预先设定,比如设置预设透传条件为第一ip分组中,透传ip信息与第一ip信息的数量比值达到预设比值阈值,其中,透传ip信息是指包含透传ip字段的第一ip信息,透传ip字段是指其他字段中的ip地址与所属第一ip信息中源ip字段的源ip地址和目的ip字段的目的ip地址均不相同的其他字段。
[0050]
本实施例中,对多个第一ip信息进行分组得到至少一个第一ip组之后,可以每个第一ip组为单位,分析每个第一ip组中所有的第一ip信息的其他字段中,是否存在满足预设透传条件的透传ip字段,若第一ip组中的每个第一ip信息中均不存在满足预设条件的透
传ip字段,则放弃该组的数据,继续分析下一个第一ip组;若存在满足预设条件的透传ip字段,则继续后续处理。
[0051]
步骤104,在至少一个第一ip组中,确定存在透传ip字段的至少一个第二ip组,并根据至少一个第二ip组对应的所有目的ip地址和透传ip字段对应的透传ip地址,对至少一个第二ip组对应的源ip地址进行主机地址的转换。
[0052]
本实施例中,判断每个第一ip组中是否存在满足预设透传条件的透传ip字段,若判定第一ip组中存在满足预设透传条件的透传ip字段,则将该第一ip组确定为第二ip组,得到至少一个第二ip组。进而,根据至少一个第二ip组对应的所有目的ip地址和透传ip字段对应的透传ip地址,对至少一个第二ip组对应的源ip地址进行主机地址的转换。
[0053]
通过上述过程,可以学习生成ip地址的自动转换规则,比如,ip转换规则如下:
[0054]
源ip
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
目的ip/网段(可多个)
ꢀꢀꢀꢀꢀ
透传ip字段
[0055]
192.168.1.1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
192.168.2.1/24
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
real-ip
[0056]
由上述ip转换规则可以看出,真实的ip地址记录在透传ip字段中,则利用上述ip转换规则,可以通过匹配ip转换规则中的源ip地址和目的ip地址/网段,利用透传ip字段中的真实ip地址对获取的网络流量数据进行主机ip地址的转换,以识别出真实的ip地址。
[0057]
进一步地,转换后的主机ip地址为真实的ip地址,该地址可以由后端业务系统获取,从而,后端业务系统无需改造处理即可自动获取转换后的真实ip,提升了各后端业务系统的安全检测能力,有利于降低误报,同时也不会因为ip转换的问题导致无法定位真实的攻击源。
[0058]
本实施例的主机ip地址的转换方法,通过获取预设时段内的多个第一ip信息,每个第一ip信息包括源ip地址所在的源ip字段、目的ip地址所在的目的ip字段和其他字段,将包含相同源ip地址的所有第一ip信息划分为一个第一ip组,以生成与多个第一ip信息对应的至少一个第一ip组,并判断每个第一ip组中所有第一ip信息的其他字段中,是否存在满足预设透传条件的透传ip字段,进而,在至少一个第一ip组中,确定存在透传ip字段的至少一个第二ip组,并根据至少一个第二ip组对应的所有目的ip地址和透传ip字段对应的透传ip地址,对至少一个第二ip组对应的源ip地址进行主机地址的转换。由此,通过识别透传ip字段并根据透传ip字段对应的透传ip地址,对源ip地址进行主机地址的转换,实现了网络连接数据中透传的真实ip地址的转换,能够获取到真实的ip地址,从而使得后端业务系统能够根据真实的ip地址准确地定位到真实的网络攻击者,为提升后端业务系统的安全检测能力和检测准确率提供了条件。
[0059]
利用学习的ip地址转换规则,可以对实时接收的地址转换请求进行处理,以识别出真实的ip地址,下面结合附图2进行详细说明。图2为本申请另一实施例所提供的主机ip地址的转换方法的流程示意图。如图2所示,在如图1所示实施例的基础上,步骤104之后,还可以包括以下步骤:
[0060]
步骤201,获取携带第二ip信息的地址转换请求,其中,第二ip信息包括源ip地址和目的ip地址。
[0061]
步骤202,在至少一个第二ip组中,确定与第二ip信息的源ip地址匹配的目标第二ip组。
[0062]
本实施例中,获取了携带第二ip信息的地址转换请求后,可以将第二ip信息中的
源ip地址与每个第二ip组中的源ip地址进行比对,以从至少一根第二ip组中,确定出与第二ip信息的源ip地址匹配的目标第二ip组。
[0063]
由于第二ip组是第一ip组中存在满足预设透传条件的透传ip字段的分组,第一ip组是以相同源ip地址进行划分的,则第二ip组也是以源ip地址划分的,每个第二ip组中仅包含一个相同的源ip地址,则通过将第二ip信息的源ip地址与至少一个第二ip组匹配,可以从至少一个第二ip组中,匹配到一个与第二ip信息的源ip地址匹配的目标第二ip组。
[0064]
其中,目标第二ip组的源ip地址与第二ip信息的源ip地址相同。
[0065]
步骤203,在目标第二ip组中所有第一ip信息的目的ip地址中,确定与第二ip信息的目的ip地址匹配的目标目的ip地址,以及与目标目的ip地址匹配的第三ip信息。
[0066]
本实施例中,确定了目标第二ip组之后,可以将目标第二ip组中所包含的每个第一ip信息的目标ip地址,与第二ip信息中的目的ip地址进行匹配,以确定出与第二ip信息中的目的ip地址匹配的目标目的ip地址,接着,确定与目标目的ip地址匹配的第三ip信息。
[0067]
能够理解的是,第三ip信息是目标第二ip组中包含的所有第一ip信息中的一个,第三ip信息对应的目的ip地址与第二ip信息的目的ip地址匹配。
[0068]
步骤204,将第二ip信息的源ip地址替换为第三ip信息中透传ip字段中的透传ip地址,以生成第二ip信息的主机ip地址。
[0069]
本实施例中,确定了第三ip信息之后,可以从第三ip信息的透传ip字段中抽取出其中的透传ip地址,以替换第二ip信息中的源ip地址,实现第二ip信息的主机ip地址转换,则替换后的第二ip信息中,源ip地址即为真实的主机ip地址,后端业务系统利用转换后的第二ip信息,即可直接获取到真实的主机ip地址,从而实现攻击源的准确定位,以及实现准确率较高的统计,降低误报。
[0070]
本实施例的主机ip地址的转换方法,通过获取携带第二ip信息的地址转换请求,第二ip信息包括源ip地址和目的ip地址,在至少一个第二ip组中,确定与第二ip信息的源ip地址匹配的目标第二ip组,并在目标第二ip组中所有第一ip信息的目的ip地址中,确定与第二ip信息的目的ip地址匹配的目标目的ip地址,以及与目标目的ip地址匹配的第三ip信息,进而将第二ip信息的源ip地址替换为第三ip信息中透传ip字段中的透传ip地址,以生成第二ip信息的主机ip地址,由此,实现了主机真实ip的自动转换,为后端业务系统进行准确地安全检测提供了条件,并且,通过在进行ip转换时匹配目的ip地址,有利于提高ip地址转换的准确性。
[0071]
为了更加清楚地描述前述实施例中判断每个第一ip组中所有第一ip信息的其他字段中,是否存在满足预设透传条件的透传ip字段的具体实现过程,下面结合附图3进行详细说明。图3为本申请又一实施例所提供的主机ip地址的转换方法的流程示意图。如图3所示,在如图1所示实施例的基础上,步骤103可以包括以下步骤:
[0072]
步骤301,根据预设的正则表达式,判断每个第一ip组中每个第一ip信息的其他字段中,是否包含ip地址。
[0073]
其中,正则表达式可以预先设定,正则表达式为ip地址的识别正则,通过预设的正则表达式,可以识别出其他字段中是否包含ip地址。
[0074]
步骤302,确定包含ip地址的其他字段为候选透传字段。
[0075]
本实施例中,分组得到至少一个第一ip组之后,可以根据预设的正则表达式,判断
每个第一ip组中每个第一ip信息的其他字段中,是否包含ip地址。若第一ip信息的其他字段中包含ip地址,则执行步骤302,将包含ip地址的其他字段确定为候选透传字段;若某个第一ip信息的其他字段中未包含ip地址,则忽略该第一ip信息。
[0076]
步骤303,判断候选透传字段是否满足预设透传条件。
[0077]
本实施例中,对于每个第一ip组,确定了其中的候选透传字段之后,可以判断候选透传字段是否满足预设透传条件。
[0078]
在本申请实施例一种可能的实现方式中,在判断候选透传字段是否满足预设透传条件时,可以获取候选透传字段的透传ip地址,以及获取候选透传字段所在第一ip信息的参考源ip地址和参考目的ip地址。其中,参考源ip地址是候选透传字段所在的第一ip信息中源ip字段中的源ip地址,参考目的ip地址是候选透传字段所在的第一ip信息中目的ip字段中的目的ip地址。之后,对于获取的每个透传ip地址,将其与对应的参考源ip地址和参考目的ip地址进行比较,若透传ip地址与对应的参考源ip地址和参考目的ip地址均不相同,则确定透传ip地址对应的第一ip信息为候选透传ip信息。其中,在判断透传ip地址与对应的参考源ip地址和参考目的ip地址是否相同时,可以计算透传ip地址分别与参考源ip地址和参考目的ip地址的相似度,若相似度均低于预设相似度阈值(比如90%,相似度阈值可以根据实际需求进行配置),则确定透传ip地址与对应的参考源ip地址和参考目的ip地址均不相同;若透传ip地址与对应的参考源ip地址和参考目的ip地址的相似度中,至少一个相似度大于或等于预设相似度阈值,则确定透传ip地址与对应的参考源ip地址或参考目的ip地址一致,则忽略该透传ip地址对应的候选透传字段。对于每个第一ip组,识别出其中的所有候选透传ip信息之后,可以确定每个第一ip组中,候选透传ip信息与所有第一ip信息的数量比值,即统计同一个第一ip组中的候选透传ip信息的个数和该组中所有第一ip信息的总个数,进而计算两者的比值(候选透传ip信息的个数/第一ip信息的总个数),得到数量比值。接着,判断得到的数量比值是否大于预设比值阈值,若数量比值大于比值阈值,则确定透传ip地址所在的候选透传字段满足预设透传条件。
[0079]
其中,比值阈值可以预先设定,比如设置比值阈值为50%、70%等。通过设置比值阈值,可以放宽或收紧候选透传字段满足预设透传条件的约束。
[0080]
本申请实施例中,通过获取候选透传字段的透传ip地址,以及候选透传字段所在第一ip信息的参考源ip地址和参考目的ip地址,当透传ip地址与对应的参考源ip地址和参考目的ip地址均不相同时,确定透传ip地址对应的第一ip信息为候选透传ip信息,进而确定每个第一ip组中候选透传ip信息与所有第一ip信息的数量比值,当该数量比值达到预设的比值阈值时,确定满足预设透传条件,由此,实现了对候选透传字段满足预设透传条件的控制,通过设置比值阈值来约束候选透传字段是否满足预设透传条件,能够避免第一ip组中的候选透传ip信息的数量较少时,确定候选透传字段满足预设透传条件导致的参考数据量较少,使得后续确定的第二ip组更具参考价值,从而有利于提高ip地址转换的准确率。
[0081]
在本申请实施例一种可能的实现方式中,获取的每个第一ip信息中还可以包括对应的采集时间信息,该采集时间信息在预设时段内。本实施例中,在确定透传ip地址所在的候选透传字段满足预设透传条件之前,还可以执行以下操作:将预设时段划分为多个子时段,并根据采集时间信息确定每个第一ip组中每个第一ip信息所属的目标子时段;判断目标子时段对应的第一ip信息中,包含的候选透传字段是否包含透传ip地址;统计包含透传
ip地址的目标子时段的时段数量,并确定时段数量大于预设数量阈值。
[0082]
其中,将预设时段划分为多个子时段时,可以以天为单位进行划分,也可以以小时为单位进行划分,具体划分单位可以根据实际需求设置。比如,当预设时段为30天时,可以以天为单位进行划分,将每天划分为一个子时段,从而将预设时段划分为30个子时段。又比如,当预设时段为1天时,可以以小时为单位进行划分,将每小时划分为一个子时段,从而将预设时段划分为24个子时段。预设数量阈值可以自行设置,比如,可以设置预设数量阈值为预设时段的20%,即预设数量阈值随预设时段的改变而改变,当预设时段为30天时,则预设数量阈值为6,当预设时段为1(即24小时)天时,预设数量阈值为5(24*20%=4.8,对4.8上取整),其中,20%仅作为示例,可通过配置进行修改,比如设置为30%、40%等。
[0083]
由于网络转换一般都是持续的,是一个相对稳定的业务状态,因此本实施例中,将预设时段划分为多个子时段,并针对每个第一ip组,根据其中每个第一ip信息对应的采集时间信息,将第一ip信息划分至所属的目标子时段,进而判断每个目标子时段内的第一ip信息中包含的候选透传字段是否包含透传ip地址,并根据判断结果统计包含透传ip地址的目标子时段的时段数量,将统计得到的时段数量与预设数量阈值进行比较,当时段数量大于预设数量阈值时,表明满足了透传ip行为的持续性特征,进而确定透传ip地址所在的候选透传字段满足预设透传条件。由此,通过检测透传ip行为的持续性,有利于提高生成的自动转换规则的准确性,从而有利于提高透传ip地址转换的准确率。
[0084]
在本申请实施例一种可能的实现方式中,在确定透传ip地址所在的候选透传字段满足预设透传条件之前,还可以执行以下操作:确定候选透传字段对应的第一ip组中,包含的所有透传ip地址;判断所有透传ip地址对应的至少一个ip地址类型,其中,至少一个ip地址类型中各个ip地址类型对应的透传ip地址互不相同;统计至少一个ip地址类型的类型数量,并确定类型数量大于预设类型阈值。
[0085]
其中,不同的ip地址类型对应不同的透传ip地址,比如,192.168.1.1和192.168.1.0的两个透传ip地址,属于两个不同的ip地址类型。也就是说,ip地址类型能够反映出不同的透传ip地址的个数。
[0086]
本申请实施例中,通过统计每个第一ip组中包含的所有透传ip地址,并将不同的透传ip地址划分为不同的ip地址类型,进而统计不同的ip地址类型的类型数量,将类型数量与预设类型阈值进行比较,当确定类型数量大于预设类型阈值时,才确定透传ip地址所在的候选透传字段满足预设透传条件。其中,预设类型阈值可以预先设定,比如设置类型阈值为10个。由此,实现了对第一ip组中透传ip地址的分布统计,将透传ip地址分布较广(不同的透传ip地址数量超过预设阈值)的第一ip组内的候选透传字段确定为满足预设透传条件,使得最终确定的满足预设透传条件的第一ip中的数据更具参考性,有利于提高透传ip地址转换的准确率。
[0087]
需要说明的是,本实施例中,在确定透传ip地址所在的候选透传字段满足预设透传条件之前,分析透传ip地址的持续性和透传ip的分布情况的操作可以单独执行,也可以均执行,本申请对此不作限制。当上述两操作均执行时,在确定候选透传ip信息与所有第一ip信息的数量比值大于预设的比值阈值之后,可以先执行分析透传ip地址的持续性的操作,再执行分析透传ip的分布情况的操作,当然,也可以先执行分析透传ip的分布情况的操作,之后再执行分析透传ip地址的持续性的操作,本申请对此也不作限制。
[0088]
本实施例的主机ip地址的转换方法,通过根据预设的正则表达式,判断每个第一ip组中每个第一ip信息的其他字段中是否包含ip地址,并确定包含ip地址的其他字段为候选透传字段,进而判断候选透传字段是否满足预设透传条件,由此,实现了对第一ip组中的其他字段进行筛选,仅对包含ip地址的候选透传字段判断是否满足预设透传条件,有利于降低数据处理量,提高处理效率。
[0089]
图4为本申请一具体实施例的自动学习并转换源ip为透传真实ip的实现过程示例图。如图4所示,获取的网络流量诗句存储到大数据分析平台上进行离线分析,同时传输到分布式消息系统中,分布式消息系统比如可以是kafka等。
[0090]
如图4所示,在离线分析部分,获取近n天的网络流量数据(默认为近30天,可通过修改配置来选择任意时间范围进行模型学习),其中,对于接入的网络流量数据需要指定源ip字段、目的ip字段。大数据算法模型根据源ip对网络流量数据进行分组,以每个源ip为一个分组,后续的分析都是针对每个分组内进行的。针对每个分组,根据ip地址的识别正则分析分组内除源ip和目的ip所在字段外的每个字段中,哪些字段内存在ip地址信息,如果除了源ip和目的ip地址外,还有字段内也存有ip信息,则进一步分析存在ip信息的字段是否可能为透传ip的字段。首先,检测本源ip分组内,该字段数据是否与源ip或目的ip一致,如果超过阈值(默认90%,可以通过配置来修改)以上都是一致的,则忽略该字段,否则对该字段继续进行分析,定义该字段为可能透传ip字段。对于可能透传ip字段,进一步分析其透传ip行为的持续性。因为网络转换一般都是持续的,是一个相对稳定的业务状态,分析近n天的网络流量数据,如果确认可能透传ip字段内的ip数据出现的天数超过检测周期的n天的20%(默认值,可以通过配置修改,例如30天流量需要超过6天),则进入下一步继续分析。继续分析透传ip的分布情况,对分组内的数据分析可能透传ip字段内的所有ip分布占比,该字段内的不同ip需要占比超过默认阈值(默认10个,可通过配置快速修改),满足条件的继续进行后续分析。上述分析完成后已经获取到透传ip字段,此时获取透传ip字段中不为空且不等于源ip字段的数据统计其目的ip,并对目的ip进行聚合,如果目的ip全部聚集在一个固定网段内,则输出此网段,否则输出每一个目的ip。
[0091]
经过上述分析后,可以生成ip转换规则,例如:
[0092]
源ip
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
目的ip/网段(可多个)
ꢀꢀꢀꢀ
透传ip字段
[0093]
192.168.1.1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
192.168.2.1/24
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
real-ip
[0094]
如图4所示,可选地,用户可以配置过滤策略来针对源ip/网段、目的ip/网段以及透传ip字段进行过滤,例如用户配置过滤源ip网段192.168.1.1/24,则上述示例中所示的学习出的转换规则会被自动过滤掉,不会最终产出转换规则。此外,用户还可以对生成的转换规则进行调整,生成最终的ip转换规则,比如用户可以修改上述示例中所示的ip转换规则中的目的ip/网段192.168.2.1/24为:192.168.2.1;192.168.2.2;192.168.2.3。在调整生成的转换规则的过程中,还支持用户配置过滤策略对转换规则进行过滤,在用户完成调整和确认后即可生成最终的ip转换规则。通过配置过滤策略和支持人工调整规则,能够提高自动生成的转换规则的准确性和灵活性。
[0095]
如图4所示,网络流量数据通过分布式消息系统(可以是kafka,也可以对接其他数据通道)进入真实ip转换引擎,真实ip转换引擎会根据上述学习生成的ip转换规则来进行ip地址的转换,针对匹配源ip和目的ip/网段的数据,则抽取其透传ip字段中的ip来替换掉
源ip字段中的ip,而源ip字段中的ip则默认的被记录到一个新增字段src_ip_backup中(用户可自定义其他字段用户记录被替换掉源ip),转换后的数据重新写回kafka或用户自定义的其他数据通道中。后端业务系统通过对接kafka或其他自定义的数据通道可以实时获取转换后的真实源ip,无需针对业务进行任何改造即可完成适配。
[0096]
由此可见,本申请的方案通过对历史行为进行分析来识别是否存在源ip转换的行为,并自动学习出可转换源ip代理/源ip nat为透传真实ip的转换规则,转换引擎根据学习的转换规则进行自动转换,可以实时转换所有网络连接数据,恢复源ip为透传的真实ip并提供给后端业务系统,使得业务系统无感知即可获取到真实透传ip,能够帮助后端业务系统尤其是基于ip检测的安全产品提升其安全检测能力和检测准确率,降低误报,同时也不会因为ip转换的问题导致无法定位真实的攻击源。并且,通过动态地学习转换规则,可以适配不同的业务场景,通用性强。
[0097]
为了实现上述实施例,本申请还提出一种主机ip地址的转换装置。
[0098]
图5为本申请一实施例提供的主机ip地址的转换装置的结构示意图。
[0099]
如图5所示,该主机ip地址的转换装置50包括:获取模块510、分组模块520、判断模块530和转换模块540。
[0100]
其中,获取模块510,用于获取预设时段内的多个第一ip信息,其中,每个所述第一ip信息包括源ip地址所在的源ip字段、目的ip地址所在的目的ip字段和其他字段。
[0101]
分组模块520,用于将包含相同源ip地址的所有第一ip信息划分为一个第一ip组,以生成与所述多个第一ip信息对应的至少一个第一ip组。
[0102]
判断模块530,用于判断每个所述第一ip组中所有第一ip信息的其他字段中,是否存在满足预设透传条件的透传ip字段。
[0103]
转换模块540,用于在所述至少一个第一ip组中,确定存在所述透传ip字段的至少一个第二ip组,并根据所述至少一个第二ip组对应的所有目的ip地址和所述透传ip字段对应的透传ip地址,对所述至少一个第二ip组对应的源ip地址进行主机地址的转换。
[0104]
进一步地,在本申请实施例的一种可能的实现方式中,如图6所示,在如图5所示实施例的基础上,该主机ip地址的转换装置50还包括:
[0105]
请求获取模块550,用于获取携带第二ip信息的地址转换请求,其中,所述第二ip信息包括源ip地址和目的ip地址。
[0106]
第一确定模块560,用于在所述至少一个第二ip组中,确定与所述第二ip信息的源ip地址匹配的目标第二ip组。
[0107]
第二确定模块570,用于在所述目标第二ip组中所有第一ip信息的目的ip地址中,确定与所述第二ip信息的目的ip地址匹配的目标目的ip地址,以及与所述目标目的ip地址匹配的第三ip信息。
[0108]
生成模块580,用于将所述第二ip信息的源ip地址替换为所述第三ip信息中透传ip字段中的透传ip地址,以生成所述第二ip信息的主机ip地址。
[0109]
在本申请实施例的一种可能的实现方式中,如图7所示,在如图5所示实施例的基础上,判断模块530包括:
[0110]
第一判断单元531,用于根据预设的正则表达式,判断所述每个所述第一ip组中每个第一ip信息的其他字段中,是否包含ip地址。
[0111]
确定单元532,用于确定包含所述ip地址的其他字段为候选透传字段。
[0112]
第二判断单元533,用于判断所述候选透传字段是否满足所述预设透传条件。
[0113]
进一步地,在本申请实施例的一种可能的实现方式中,第二判断单元533具体用于:获取所述候选透传字段的透传ip地址,以及所述候选透传字段所在第一ip信息的参考源ip地址和参考目的ip地址;若所述透传ip地址与对应的参考源ip地址和参考目的ip地址均不相同,则确定所述透传ip地址对应的第一ip信息为候选透传ip信息;确定所述每个所述第一ip组中,候选透传ip信息与所有第一ip信息的数量比值;判断所述数量比值是否大于预设比值阈值,其中,若大于所述比值阈值,则确定所述透传ip地址所在的候选透传字段满足所述预设透传条件。
[0114]
在本申请实施例的一种可能的实现方式中,每个所述第一ip信息包括对应的采集时间信息,第二判断单元533还用于:将所述预设时段划分为多个子时段,并根据所述采集时间信息确定所述每个所述第一ip组中每个第一ip信息所属的目标子时段;判断所述目标子时段对应的第一ip信息中,包含的候选透传字段是否包含透传ip地址;统计包含所述透传ip地址的目标子时段的时段数量,并确定所述时段数量大于预设数量阈值。
[0115]
在本申请实施例的一种可能的实现方式中,第二判断单元533还用于:确定所述候选透传字段对应的第一ip组中,包含的所有透传ip地址;判断所述所有透传ip地址对应的至少一个ip地址类型,其中,所述至少一个ip地址类型中各个ip地址类型对应的所述透传ip地址互不相同;统计所述至少一个ip地址类型的类型数量,并确定所述类型数量大于预设类型阈值。
[0116]
需要说明的是,前述对主机ip地址的转换方法实施例的解释说明也适用于该实施例的主机ip地址的转换装置,此处不再赘述。
[0117]
本申请实施例的主机ip地址的转换装置,通过获取预设时段内的多个第一ip信息,每个第一ip信息包括源ip地址所在的源ip字段、目的ip地址所在的目的ip字段和其他字段,将包含相同源ip地址的所有第一ip信息划分为一个第一ip组,以生成与多个第一ip信息对应的至少一个第一ip组,并判断每个第一ip组中所有第一ip信息的其他字段中,是否存在满足预设透传条件的透传ip字段,进而,在至少一个第一ip组中,确定存在透传ip字段的至少一个第二ip组,并根据至少一个第二ip组对应的所有目的ip地址和透传ip字段对应的透传ip地址,对至少一个第二ip组对应的源ip地址进行主机地址的转换。由此,通过识别透传ip字段并根据透传ip字段对应的透传ip地址,对源ip地址进行主机地址的转换,实现了网络连接数据中透传的真实ip地址的转换,能够获取到真实的ip地址,从而使得后端业务系统能够根据真实的ip地址准确地定位到真实的网络攻击者,为提升后端业务系统的安全检测能力和检测准确率提供了条件。
[0118]
为了实现上述实施例,本申请还提出一种计算机设备,包括处理器、存储器和存储在所述存储器上并可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,实现如前述实施例所述的主机ip地址的转换方法。
[0119]
为了实现上述实施例,本申请还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被处理器执行时,实现如前述实施例所述的主机ip地址的转换方法。
[0120]
为了实现上述实施例,本申请还提出一种计算机程序产品,当所述计算机程序产
品中的指令由处理器执行时,执行如前述实施例所述的主机ip地址的转换方法。
[0121]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0122]
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0123]
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
[0124]
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0125]
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
[0126]
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0127]
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以
是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0128]
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1