发明内容
本发明实施例提供了一种IP识别方法、装置、设备及介质,以有效识别威胁IP。
第一方面,本发明实施例提供了一种IP识别方法,包括以下步骤:
获取请求调用网关服务的IP和所述IP的属性;
将所述IP与威胁IP库进行匹配,若匹配成功,则判定所述IP是威胁IP,拒绝所述IP调用网关服务;
若匹配失败,则根据所述IP的属性,通过威胁IP识别算法判断所述IP是否为威胁IP,若所述威胁IP识别算法判定所述IP是威胁IP,则拒绝所述IP调用网关服务,反之,允许所述IP调用网关服务;
其中,所述威胁IP识别算法为基于机器学习的分类算法。
在其中一些实施例中,所述威胁IP识别算法为K近邻算法。
在其中一些实施例中,所述通过威胁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库进行匹配,若匹配成功,则判定所述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蠕虫攻击、DDos攻击等多种攻击行为,保证网络安全。
本发明的一个或多个实施例的细节在以下附图和描述中提出,以使本发明的其他特征、目的和优点更加简明易懂。
具体实施方式
为了使本申请的目的、技术方案更加清楚明白,以下结合附图及实施例,对本发明进行描述和说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。基于本发明提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
实施例1
图1是本发明IP识别方法的流程示意图,如图1所示,本发明对请求调用网关服务的IP进行两次判断,以识别请求调用网关服务的IP是否为威胁IP,经两次判断后,若确定该IP不是威胁IP,则允许该IP调用网关服务,反之,则拒绝该IP调用网关服务,从而实现对威胁IP的有效识别和拦截,避免网关接口被滥用。
本实施例提供一种对IP识别方法,图2是本发明实施例的IP识别方法的流程图,如图2所示,IP识别方法,包括以下步骤:
S201、获取请求调用网关服务的IP和该IP的属性。
当通过IP地址请求调用网关服务时,可获取请求调用网关服务的IP地址,并获取该IP地址的基本信息作为该IP的属性,该IP地址的基本信息可包括地理位置、rDNS等。
S202、将请求调用网关服务的IP与威胁IP库进行匹配,若匹配成功,则该IP是威胁IP,拒绝该IP调用网关服务。
上述威胁IP库可以为任意威胁IP数据库或IP防护数据库,其中存储有已知的威胁IP。若能在已知的威胁IP库中查询到与请求调用网关服务的IP地址相同的IP地址,则匹配成功,说明该请求调用网关服务的IP为威胁IP,可反馈拦截信息至网关服务,使得网关服务拒绝该威胁IP(请求调用网关服务服务的IP)的调用请求。
在本发明的一些实施例中,上述S101和S102可在“安全大脑”执行,该安全大脑可以理解为任意的威胁IP查询系统,具有威胁IP库,通过安全大脑能对IP进行基础识别。
S203、若匹配失败,则根据上述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不是威胁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是否为威胁IP。在其他实施例中,可以自行确定用于分析IP的属性,不仅限于本实施例的所述的五个属性。
优选地,上述威胁IP识别算法为K近邻算法。
K近邻算法(K-NN)多用于解决分类问题,其根本思想是:如果两个样本的特征足够相似,则就有更高的概率属于同一个类别。一般根据现有的训练数据集,判断新的样本属于哪种类别。即给定一个训练数据集,对新的输入实例,在训练数据集中找到与该输入实例最邻近的K个实例,该K个实例的多数属于哪个类,就把该输入实例分类到哪个类。算法思路是:求新样本在样本空间内与所有训练样本的距离(相似度);对距离排序,找出最近的K个点;对这K个点进行分类统计,看哪种类别的点最多,最多的类别即为新样本的预测类别。
在本实施例,选用K近邻算法作为威胁IP识别算法时,可获取已知的威胁IP库作为训练样本的来源。其中,本实施通过K近邻算法作为威胁IP识别算法对IP进行识别时,需要预先对训练样本进行聚类,即对已知威胁IP的属性进行聚类:对所有已知威胁IP的五个属性:是否存在历史域名、开放端口信息、地域信息、威胁标签以及威胁攻击次数分别进行聚类,以作为识别IP的模板。然后将请求调用网关服务的IP与模板进行匹配(计算相似度),根据匹配结果判定请求调用网关服务的IP是否是威胁IP。
优选地,通过威胁IP识别算法判断所述IP是否为威胁IP之前,包括:
获取训练数据集,该训练数据集包括若干已知威胁IP的属性集合;
通过威胁IP识别算法,对训练数据集中的所有属性集合进行属性聚类,得到每个属性的聚类结果;
将每个属性的聚类结果组成标准威胁IP的属性集合。
上述训练数据集可来源于已知的威胁IP库,在本实施例中,创建训练数据集的过程为:
(1)令n为完整数据集的大小,选择一个随机数r,使得0.4n<r<0.6n。
(2)从完整数据集中选择r个不同的记录,i=1至r,生成1到n之间的随机数m,如果m不在训练数据集中,则将其添加到训练数据集中,如果m在训练数据集中,则不执行任何操作,创建结束。
上述过程创建的训练数据集包括初始数据集(已知威胁IP库)的r个不同且随机选择的数据。训练数据集中的每一条记录均为已知威胁IP的属性集合,每个属性均具有不同的类型和权重。根据各属性对威胁IP判定的影响力或重要性大小,确定各属性的权重,可根据情况自行设置各属性的权重,在此不作限制。
需要注意的是,本实施例通过K近邻算法对各属性进行聚类时,其K值等于5。
优选地,所述根据IP的属性,通过威胁IP识别算法判断所述IP是否为威胁IP,包括:
计算IP的属性与标准威胁IP的属性集合之间的相似度;
若相似度高于预设阈值,则判定IP是威胁IP;
反之,判定IP不是威胁IP。
标准威胁IP的属性集合为判定IP是否为威胁IP的模板,根据IP的属性与模板的属性的相似度,可确定IP是否为威胁IP。
在本实施例中,请求调用网关服务的IP的属性包括是否存在历史域名、开放端口信息、地域信息、威胁标签以及威胁攻击次数,在此用数字1-5来标识每个属性,标准威胁IP的属性集合同样包括上述5个属性,因此将待判定IP的各个属性与标准威胁IP的各个属性分别匹配,即分别计算相似度。在其中一些实施例中,若属性2、属性3和属性4高于预设阈值,则判定是威胁IP;否则,判断属性1和属性5,若属性1和5高于阈值,则判定是威胁IP;否则,判定不是威胁IP,允许该IP调用网关服务。
在实际应用时,可选择有助于识别威胁IP的所有变量。不同变量具有不同的值,且某些变量可能是布尔值,因此可以为其分配值0或1,某些变量是语言变量,需要提前校验其所有的值。
在本实施例中,预设阈值的取值为0.7。如果相似度结果低于0.7,则认为不属于聚类的成员,判定为不是威胁IP,高于相似度0.7,则判定是威胁IP。
优选地,判定上述IP是威胁IP,还包括:
根据相似度的取值,确定IP是威胁IP的概率等级。
因采用分类算法判定威胁IP时,判定结果为预测值,因此根据相似度的取值,可以确定IP是威胁IP的概率,具体根据预先设置的概率等级确定规则和相似度的取值确定,即相似度的取值高于0.7,则是威胁IP的概率(概率等级)为低,相似度的取值高于0.85,则是威胁IP的概率为中,相似度的取值高于0.99,是威胁IP的概率为高。
在一些实施例中,在通过标准威胁IP的属性集合确定某个IP是否构成威胁之后,可使用这些值对威胁IP识别算法进行500次仿真以确保一致性。将仿真结果进行存储以供进一步分析。
实施例2
本实施例提供一种IP识别装置,该装置用于实现上述实施例及优选实施例方式,已经进行过说明的不再赘述,如下所使用的术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能实现并被构想的。
图3是本发明实施例的IP识别装置的结构框图,如图3所示,该装置包括:
获取模块31,用于获取请求调用网关服务的IP和该IP的属性信息;
匹配模块32,将请求调用网关服务的IP与威胁IP库进行匹配,若匹配成功,则判定该IP是威胁IP,拒绝该IP调用网关服务;
判定模块33,用于在匹配模块匹配失败后,根据该IP的属性信息,通过威胁IP识别算法判断该IP是否为威胁IP,若威胁IP识别算法判定该IP是威胁IP,则拒绝该IP调用网关服务,反之,允许该IP调用网关服务;其中,上述威胁IP识别算法为基于机器学习的分类算法。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
实施例3
图4为本发明实施例的一种电子设备的结构示意图,如图4所示,提供了一种电子设备,该电子设备可以是服务器,其内部结构图可以如图4所示。该电子设备包括处理器、存储器、输入装置和输出装置;其中该电子设备中处理器的数量可以是一个或多个,图4中以一个处理器为例;电子设备中的处理器、存储器、输入装置和输出装置可以通过总线或其他方式连接,图4中以通过总线连接为例。
存储器作为一种计算机可读存储介质,可以包括高速随机存取存储器、非易失性存储器等,可用于存储操作系统、软件程序、计算机可执行程序和数据库,如本发明实施例1的IP识别方法对应的程序指令/模块,还可以包括内存,可用于为操作系统和计算机程序提供运行环境。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。
处理器用于提供计算和控制能力,可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。处理器通过运行存储在存储器中的计算机可执行程序、软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现实施例1的IP识别方法。
该电子设备的输出装置可以是液晶显示屏或者电子墨水显示屏,该电子设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
该电子设备还可包括网络接口/通信接口,该电子设备的网络接口用于与外部的终端通过网络连接通信。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所述更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本领域普通技术人员可以理解实现实施例1的IP识别方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
实施例4
本发明实施例提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于实现IP识别方法,该方法包括:
获取请求调用网关服务的IP和该IP的属性;
将请求调用网关服务的IP与威胁IP库进行匹配,若匹配成功,则该IP是威胁IP,拒绝该IP调用网关服务;
若匹配失败,则根据上述IP的属性,通过威胁IP识别算法判断上述IP是否为威胁IP,若威胁IP识别算法判定上述IP是威胁IP,则拒绝上述IP调用网关服务,反之,允许上述IP调用网关服务;
其中,威胁IP识别算法为基于机器学习的分类算法。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述实施例的IP识别方法操作,还可以执行本发明任意实施例所提供的IP识别方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台电子设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的IP识别方法。
值得注意的是,上述IP识别方法的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。