本发明涉及数字信息的传输,例如电报通信的技术领域,特别涉及一种基于神经网络的识别网络黑产ip的方法。
背景技术:
随着互联网技术的发展,web应用系统已经广泛应用于政府门户网站、电子商务、互联网等行业,方便生活和工作的同时也带来网络安全隐患。这其中,黑客利用扫描行为发现用户服务器的漏洞进行攻击,对用户网站威胁性极大。一般来说,正常的扫描行为主要是上级单位对下级单位的扫描或者安全服务厂商对用户的扫描,属于一种安全防护检测行为,而黑产扫描则是针对用户服务器进行大量恶意扫描以获取相关的服务器信息,为下一步攻击行为做准备,这种扫描行为不但能够找到服务器漏洞进行攻击,且扫描产生的大量数据报文占用大量的网络带宽,导致正常的网络通讯无法进行。
对网络黑产ip的发现、跟踪一直是业界难题,网络黑产ip的高级持续性威胁对用户网站威胁大,防护困难,业界一般采用事后分析恶意ip的攻击行为及访问时间轴来判断其是否属于网络黑产ip行为,但事后发现网络黑产ip往往存在时间延迟大、性能低、漏报率高的问题。
申请号为201710806188.2的中国专利“一种挖掘恶意ip的方法及装置”根据与第一采样日志集合中的ip相关的第一采样登录数据,确定预设数目个初级检测模型,根据预设数目个初级检测模型,分别对第二采样日志集合中与ip相关的第二采样登录数据进行检测,选取准确率最高的初级检测模型作为高级检测模型,采用高级检测模型,对与待检测日志集合中的ip相关的检测登录数据进行检测,根据检测结果挖掘出恶意ip。专利号为200410057124.x的中国专利“一种检测进行恶意ip扫描的用户的方法”对所接收报文的源ip地址进行统计;寻找所述统计值中出现次数最多的源ip地址;判断所述出现次数最多的源ip地址是否为进行恶意ip扫描的用户的ip地址;以及对确定为进行恶意ip扫描的用户的ip地址进行控制。这两种方法主要通过统计学方法或者根据检测模式优先级发现恶意ip,存在效率低、误报率高、漏报率高的缺点。
技术实现要素:
本发明解决了现有技术中,主要通过统计学方法或者根据检测模式优先级发现恶意ip,导致的对于识别网络黑产ip存在效率低、误报率高、漏报率高的缺点的问题,提供了一种优化的基于神经网络的识别网络黑产ip的方法。
本发明所采用的技术方案是,一种基于神经网络的识别网络黑产ip的方法,所述方法包括以下步骤:
步骤1:收集时间t内的扫描ip,获取所有扫描ip的关联数据;
步骤2:对所有扫描ip进行分类,基于关联数据提取特征;
步骤3:利用神经网络算法对提取的特征进行训练,基于验证结果对隐藏层进行参数调整,直至得到稳定的神经网络;
步骤4:获取更新的m时间内的扫描ip及关联数据,对所有扫描ip进行步骤2所述的分类并提取特征;
步骤5:将步骤4提取的特征输入稳定的神经网络进行识别;
步骤6:当识别结果为网络黑产ip时,将对应的攻击信息发送至分析平台,返回步骤4,否则直接返回步骤4。
优选地,所述步骤1中,关联数据包括访问数据和攻击数据。
优选地,所述步骤2中,扫描ip的分类包括黑产ip和正常扫描ip。
优选地,所述步骤2中,特征包括扫描ip的攻击和访问的占比、攻击域名总数、每个域名受到攻击的平均数、扫描ip的post方法占全部攻击次数的占比、扫描ip的head方法占全部攻击次数的占比、用户代理在本地全部恶意ua集合的占比、按照防护规则排序在攻击总数的占比及扫描ip触发防护规则占比。
优选地,所述步骤3中,神经网络算法采用bp神经网络。
优选地,所述神经网络算法通过十折交叉方法进行验证。
优选地,所述步骤6中,当识别结果为1时,认为当前扫描ip为网络黑产ip,否则为非网络黑产ip。
优选地,所述攻击信息包括网络黑产ip的攻击次数、访问次数、攻击域名个数及请求源站方法。
优选地,所述步骤6中,分析识别到的网络黑产ip在给定时间段中的访问源站行为、攻击行为和攻击特征,进行追溯。
优选地,所述步骤6中,每3个月根据最新的攻击数据和正常数据返回步骤1,以新的数据进行训练并生成新的稳定的神经网络。
本发明提供了一种优化的基于神经网络的识别网络黑产ip的方法,通过收集时间t内的扫描ip,获取所有扫描ip的关联数据,进行分类并提取特征,利用神经网络算法对提取的特征进行训练,基于验证结果进行算法调整,直至得到稳定的神经网络;获取m时间内的扫描ip及关联数据后同样进行分类并提取特征,将特征输入稳定的神经网络进行识别,当识别结果为网络黑产ip时,将对应的攻击信息发送至分析平台。
本发明提取扫描行为的特征,使用神经网络的算法,能够快速、高效、准确识别扫描ip是否为网络黑产ip,避免其给用户带来不必要的损失,并可以将数据传送到分析平台,提供给高级威胁情报分析高级威胁ip使用,还能有效溯源黑产ip并进行处理,具有精确率高、误报率低、成本低的特点。
附图说明
图1为本发明的流程图。
具体实施方式
下面结合实施例对本发明做进一步的详细描述,但本发明的保护范围并不限于此。
本发明涉及一种基于神经网络的识别网络黑产ip的方法,通过获取相关特征,使用深度学习中神经网络算法预测扫描ip是否为网络黑产ip,整体包括数据收集、数据预处理、神经网络算法模板训练、数据预测。
所述方法包括以下步骤。
步骤1:收集时间t内的扫描ip,获取所有扫描ip的关联数据。
所述步骤1中,关联数据包括访问数据和攻击数据。
本发明中,扫描ip可以通过elasticsearch数据平台进行收集,时间t一般可以为15天。
步骤2:对所有扫描ip进行分类,基于关联数据提取特征。
所述步骤2中,扫描ip的分类包括黑产ip和正常扫描ip。
所述步骤2中,特征包括扫描ip的攻击和访问的占比、攻击域名总数、每个域名受到攻击的平均数、扫描ip的post方法占全部攻击次数的占比、扫描ip的head方法占全部攻击次数的占比、用户代理在本地全部恶意ua集合的占比、按照防护规则排序在攻击总数的占比及扫描ip触发防护规则占比。
本发明中,正常扫描ip为如上下级单位的扫描行为的扫描ip。
本发明中,一般来说,特征可以被输入维度为637维、采用3个隐藏层、激活函数为relu函数、输出层的分类函数为softmax的算法模板中,并基于验证结果进行算法隐藏层参数调整。
步骤3:利用神经网络算法对提取的特征进行训练,基于验证结果对隐藏层进行参数调整,直至得到稳定的神经网络。
所述步骤3中,神经网络算法采用bp神经网络。
所述神经网络算法通过十折交叉方法进行验证。
本发明中,采用深度学习中的神经网络算法进行模板训练。神经网络由三部分组成:输入层,隐藏层,输出层。每一层均由单元(units)组成,输入层是由训练集中的示例特征向量传入,根据连接点的之间权重传递到下一层,输入层和输出层都只有一层,隐藏层的个数是任意。
本发明中,具体来说,采用bp神经网络来进行训练,bpnn作为多层神经网络训练的核心算法,根据损失函数来调整输出结点中的输入权向量,其目的是更新每个连接点的权重,从而减少预测值与真实值之间的差距,输入一条训练数据就会更新一次权重,并反方向(从输出层->隐藏层->输入层)来以最小化误差更新权重;在训练神经网络之前,需要初始化权重和偏向,初始化的权重为-1至1之间的随机值,每个单元存在一个偏向。
本发明中,标记网络黑产ip的特征向量为1,非网络黑产ip的特征向量为0,以神经网络算法进行训练,并通过十折交叉方法进行验证。
本发明中,稳定的神经网络是指模型的验证结果精确率达到99%,模型的召回率,即查全率达到98%。
步骤4:获取更新的m时间内的扫描ip及关联数据,对所有扫描ip进行步骤2所述的分类并提取特征。
本发明中,m可以依据本领域技术人员的需求自行设置。
步骤5:将步骤4提取的特征输入稳定的神经网络进行识别。
步骤6:当识别结果为网络黑产ip时,将对应的攻击信息发送至分析平台,返回步骤4,否则直接返回步骤4。
所述步骤6中,当识别结果为1时,认为当前扫描ip为网络黑产ip,否则为非网络黑产ip。
所述攻击信息包括网络黑产ip的攻击次数、访问次数、攻击域名个数及请求源站方法。
所述步骤6中,分析识别到的网络黑产ip在给定时间段中的访问源站行为、攻击行为和攻击特征,进行追溯。
所述步骤6中,每3个月根据最新的攻击数据和正常数据返回步骤1,以新的数据进行训练并生成新的稳定的神经网络。
本发明中,通过获取elasticsearch数据平台扫描ip库近半个月的扫描ip,提取步骤2所述的特征后,使用深度学习模板进行识别。
本发明中,将识别为网络黑产ip的攻击信息通过json格式发送到elasticsearch数据平台进行分析。
本发明中,根据识别的网络黑产ip可以分析其过去一段时间的访问源站行为、攻击行为、攻击特征等,从而为威胁情报再赋能,达到循环提升威胁情报功能的目的。
本发明中,请求源站方法包括但不限于get、head、post。
本发明中,为了保证算法模板的有效性,需要限定时间进行算法更新,一般来说为3个月,当然,本领域技术人员可以依据需求自行调整设置更新间隔。
本发明通过收集时间t内的扫描ip,获取所有扫描ip的关联数据,进行分类并提取特征,利用神经网络算法对提取的特征进行训练,基于验证结果进行算法调整,直至得到稳定的神经网络;获取m时间内的扫描ip及关联数据后同样进行分类并提取特征,将特征输入稳定的神经网络进行识别,当识别结果为网络黑产ip时,将对应的攻击信息发送至分析平台。
本发明提取扫描行为的特征,使用神经网络的算法,能够快速、高效、准确识别扫描ip是否为网络黑产ip,避免其给用户带来不必要的损失,并可以将数据传送到分析平台,提供给高级威胁情报分析高级威胁ip使用,还能有效溯源黑产ip并进行处理,具有精确率高、误报率低、成本低的特点。