基于机器学习贝叶斯算法的防扫描方法、装置和服务器与流程

文档序号:16630913发布日期:2019-01-16 06:33阅读:233来源:国知局
基于机器学习贝叶斯算法的防扫描方法、装置和服务器与流程

本发明涉及网页安全防护技术领域,尤其是涉及一种基于机器学习贝叶斯算法的防扫描方法、装置和服务器。



背景技术:

随着互联网技术的发展,网页应用系统已经广泛应用于政府门户网站、电子商务、互联网等行业,但是,在方便生活和工作的同时,也带来了网络安全隐患。黑客利用扫描技术不仅能够找到服务器漏洞进行攻击而且扫描产生的大量数据报文也占用了大量的网络带宽,导致正常的网络通讯无法进行。目前,对于扫描行为,主要是通过简单统计方法和高级安全专家通过经验人工识别扫描行为,这两种方法识别率低,且在海量访问日志情况下,工作量大,漏报率高,不能有效的识别检测出扫描行为来保障网络安全。



技术实现要素:

有鉴于此,本发明的目的在于提供一种基于机器学习贝叶斯算法的防扫描方法、装置和服务器,以提高扫描行为的识别率,降低漏报率,降低扫描行为的检测成本。

第一方面,本发明实施例提供了一种基于机器学习贝叶斯算法的防扫描方法,其中,该方法应用于服务器,该方法包括:采集客户端当前访问行为的访问日志;从访问日志中提取访问日志的特征值;将特征值输入至预设的扫描行为识别模型中,输出识别结果;扫描行为识别模型通过朴素贝叶斯算法模型训练得到;如果识别结果表明当前访问行为为扫描行为,识别当前访问行为对应的ip地址;在网络层拦截ip地址发出的访问行为。

结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,从访问日志中提取访问日志的特征值的步骤包括:去除访问日志中日志数量不足两秒或不足100条的ip地址;对去除后的访问日志进行特征提取,得到访问日志的特征值。

结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,特征值包括响应码、过去两秒的日志量角度的正切值、过去两秒和本次访问日志相同ip的个数占比、过去两秒和本次访问日志相同ip的404占比、过去两秒和本次访问日志相同ip的端口方差、过去100条日志和本次日志相同ip的个数占比、过去100条日志和本次日志相同ip的404占比,以及过去100条日志和本次日志相同ip的端口方差中的多种。

结合第一方面的第二种可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中,该方法还包括:设置过去两秒相同ip不足100条端口的方差值为65535;设置过去100条日志相同ip不足3条端口的方差值为65535。

结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,扫描行为识别模型,具体通过下述方式得到:采集客户端访问日志样本;访问日志样本包括扫描器行为日志样本和正常访问日志样本;搭建初始的朴素贝叶斯算法模型;提取访问日志样本的特征值;将访问日志样本划分成指定份数,采用k折交叉验证法,轮流将至少一份访问日志样本的特征值输入至初始的朴素贝叶斯算法模型中进行训练,得到扫描行为识别模型;将剩余至少一份访问日志样本的特征值通过扫描行为识别模型进行识别,输出识别结果;对比识别结果与识别结果对应的访问日志样本的实际结果,得到扫描行为识别模型的准确率和召回率;准确率为识别结果和实际结果均为真的访问日志样本数量与识别结果为真的访问日志样本数量的比值;召回率为识别结果和实际结果均为真的访问日志样本数量与实际结果为真的访问日志样本数量的比值;根据准确率和召回率调整扫描行为识别模型。

结合第一方面的第四种可能的实施方式,本发明实施例提供了第一方面的第五种可能的实施方式,其中,扫描器行为日志样本包括:扫描软件1小时日志,以及过滤生产环境扫描行为ip且提取连续1小时日志;正常访问日志样本包括:生产环境正常访问日志,以及通过过滤规则后日志响应码为200的日志。

结合第一方面,本发明实施例提供了第一方面的第六种可能的实施方式,其中,在网络层拦截ip地址发出的访问行为的步骤,包括:拦截ip地址当前发出的访问行为和/或后续发出的访问行为。

结合第一方面,本发明实施例提供了第一方面的第七种可能的实施方式,其中,该方法还包括:识别扫描行为对应的扫描ip地址;根据预设的ip地址的数据信息与威胁等级的对应关系,对扫描ip地址进行威胁等级划分;对连续指定次数识别为扫描ip地址的ip地址进行指数级时长封锁;将指数级时长封锁的ip地址所扫描的域名发送至域名对应的服务器。

第二方面,本发明实施例还提供了一种基于机器学习贝叶斯算法的防扫描装置,其中,该装置设置于服务器,该装置包括:采集模块,用于采集客户端当前访问行为的访问日志;提取模块,用于从访问日志中提取访问日志的特征值;识别模块,用于将特征值输入至预设的扫描行为识别模型中,输出识别结果;扫描行为识别模型通过朴素贝叶斯算法模型训练得到;识别地址模块,用于如果识别结果表明当前访问行为为扫描行为,识别当前访问行为对应的ip地址;拦截模块,用于在网络层拦截ip地址发出的访问行为。

第三方面,本发明实施例还提供了一种服务器,其中,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述第一方面所述的方法。

本发明实施例带来了以下有益效果:

本发明提供了一种基于机器学习贝叶斯算法的防扫描方法、装置和服务器,采集客户端当前访问行为的访问日志;从访问日志中提取访问日志的特征值;将特征值输入至预设的扫描行为识别模型中,输出识别结果;该扫描行为识别模型通过朴素贝叶斯算法模型训练得到;如果识别结果表明当前访问行为为扫描行为,识别当前访问行为对应的ip地址;在网络层拦截ip地址发出的访问行为。本发明通过机器学习贝叶斯算法的方式建立扫描行为识别模型,根据扫描行为识别模型来识别扫描行为,提高了扫描行为的识别率,降低了漏报率,也降低了扫描行为的检测成本。

本发明的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本发明的上述技术即可得知。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施方式,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种基于机器学习贝叶斯算法的防扫描方法的流程图;

图2为本发明实施例提供的一种数据分布结构示意图;

图3为本发明实施例提供的一种建立扫描行为识别模型的方法的流程图;

图4为本发明实施例提供的一种拦截扫描ip地址发出的访问行为的方法流程图;

图5为本发明实施例提供的一种基于机器学习贝叶斯算法的防扫描装置的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

目前,传统的网页安全防护方法,应用于网页服务端,网页服务端接收目标用户发送的页面访问请求;如果页面访问请求所访问的页面链接为预设的伪装链接,则生成针对该伪装链接的伪装页面;其中伪装链接被预先设置为针对非扫描设备的正常用户不可见;伪装页面包括链接到下一级伪装子页面的伪装链接;向目标用户返回伪装页面,以对扫描设备针对网页服务端的非法漏洞扫描进行防护,该方法需预先区分扫描设备与非扫描设备,对于未被设置成扫描设备的设备的扫描行为,无法进行有效识别,基于此,本发明实施例提供的一种基于机器学习贝叶斯算法的防扫描方法、装置和服务器,可以应用于检测识别扫描行为的场景中。

为便于对本实施例进行理解,首先对本发明实施例所公开的一种基于机器学习贝叶斯算法的防扫描方法进行详细介绍。

参见图1所示的一种基于机器学习贝叶斯算法的防扫描方法的流程图,其中,该方法应用于服务器,该方法具体步骤如下:

步骤s102,采集客户端当前访问行为的访问日志;

网站日志在信息安全中是不可或缺的一环,在系统异常、用户行为分析等有着非常重要的作用,网站日志是记录网页服务器接收处理请求以及运行时错误等各种原始信息的以“.log”结尾的文件,通过网站日志可以清楚的得知用户在什么ip地址、什么时间、用什么操作系统、什么浏览器、什么分辨率显示器的情况下访问了哪个网站的哪个页面,以及是否访问成功。

本发明实施例通过采集访问日志来获取当前访问行为对应的客户端的数据信息,以便于对数据信息进行处理识别,判断该访问行为是否为扫描行为。

步骤s104,从访问日志中提取访问日志的特征值;

在进行特征值提取的过程中,去除访问日志中日志数量不足两秒或不足100条的ip地址;对去除后的访问日志进行特征提取,得到访问日志的特征值。

上述特征值包括响应码、过去两秒的日志量角度的正切值、过去两秒和本次访问日志相同ip的个数占比、过去两秒和本次访问日志相同ip的404占比、过去两秒和本次访问日志相同ip的端口方差、过去100条日志和本次日志相同ip的个数占比、过去100条日志和本次日志相同ip的404占比,以及过去100条日志和本次日志相同ip的端口方差中的多种。

对提取到的特征值进行处理,设置过去两秒相同ip不足100条端口的方差值为65535;设置过去100条日志相同ip不足3条端口的方差值为65535。

步骤s106,将特征值输入至预设的扫描行为识别模型中,输出识别结果;扫描行为识别模型通过朴素贝叶斯算法模型训练得到;

将上述经过处理后的特征值输入至预设的扫描行为识别模型中,根据扫描行为识别模型来识别当前访问行为是否为扫描行为。

采用机器学习贝叶斯算法的方式来建立扫描行为识别模型,采用朴素贝叶斯算法来将数据进行分类,即将当前访问行为按照预设的朴素贝叶斯算法进行分类,分成扫描行为或者正常访问行为。

上述朴素贝叶斯算法是基于特征独立假设条件且利用概率统计知识进行分类的算法,如图2所示的一种数据分布结构示意图所示,假设有一个数据集,该数据集有两类数据,类别1(图中圆点表示的类别)和类别2(图中三角形表示的类别),假设p1(x,y)表示数据点(x,y)属于类别1的概率,p2(x,y)表示数据点(x,y)属于类别2的概率,对于一个新的数据点(x,y),如果p1(x,y)>p2(x,y),那么该数据点所属类别为类别1,否则属于类别2。

对于当前访问行为,应用朴素贝叶斯算法,借助于下述公式进行计算,

其中,p(ci|x,y)表示数据点(x,y)属于ci的概率,p(x,y|ci)表示ci类数据点(x,y)出现的概率。若将扫描行为设为类别c1,正常访问行为设为类别c2,如果p(c1|x,y)>p(c2|x,y),那么当前访问行为(x,y)属于类别c1,即当前访问行为被识别为扫描行为,否则,当前访问行为被识别为正常访问行为。

步骤s108,如果识别结果表明当前访问行为为扫描行为,识别当前访问行为对应的ip地址;

步骤s110,在网络层拦截ip地址发出的访问行为。

上述在网络层拦截ip地址发出的访问行为包括拦截ip地址当前发出的访问行为和/或后续发出的访问行为。

通过实时对当前访问行为进行识别,根据识别结果及时对扫描行为对应的ip地址在网络层进行拦截,可以有效阻止黑客蓄意发起的攻击行为,避免一些不必要的数据包在网络中占用流量,提高了网络带宽的利用率,保障了企业网络的安全运行,具有精确率高、误报率低、成本低的特点。

本发明实施例提供了一种基于机器学习贝叶斯算法的防扫描方法,该方法通过采集客户端当前访问行为的访问日志;从访问日志中提取访问日志的特征值;将特征值输入至预设的扫描行为识别模型中,输出识别结果;该扫描行为识别模型通过朴素贝叶斯算法模型训练得到;如果识别结果表明当前访问行为为扫描行为,识别当前访问行为对应的ip地址;在网络层拦截ip地址发出的访问行为。本发明实施例通过机器学习贝叶斯算法的方式建立扫描行为识别模型,根据扫描行为识别模型来识别扫描行为,提高了扫描行为的识别率,降低了漏报率,同时也降低了检测扫描行为的检测成本。

参见图3所示的一种建立扫描行为识别模型的方法的流程图,该方法在图1所示的方法实施例的基础上实现,本实施例中,重点描述建立扫描行为识别模型的具体实现方式,步骤如下:

步骤s302,采集客户端访问日志样本;

上述访问日志样本包括扫描器行为日志样本和正常访问日志样本;扫描器行为日志样本包括:扫描软件1小时日志,以及过滤生产环境扫描行为ip且提取连续1小时日志;正常访问日志样本包括:生产环境正常访问日志,以及通过过滤规则后日志响应码为200的日志。

步骤s304,搭建初始的朴素贝叶斯算法模型;

步骤s306,提取访问日志样本的特征值;

上述特征值包括响应码、过去两秒的日志量角度的正切值、过去两秒和本次访问日志相同ip的个数占比、过去两秒和本次访问日志相同ip的404占比、过去两秒和本次访问日志相同ip的端口方差、过去100条日志和本次日志相同ip的个数占比、过去100条日志和本次日志相同ip的404占比,以及过去100条日志和本次日志相同ip的端口方差中的多种。

对提取到的特征值进行处理,设置过去两秒相同ip不足100条端口的方差值为65535;设置过去100条日志相同ip不足3条端口的方差值为65535,对扫描行为过去两秒的日志量角度正切值设置为45,代表扫描行为的角度。

步骤s308,将访问日志样本划分成指定份数,采用k折交叉验证法,轮流将至少一份访问日志样本的特征值输入至初始的朴素贝叶斯算法模型中进行训练,得到扫描行为识别模型;

本发明实施例中以标记扫描行为的特征向量为1,标记正常访问的特征向量为0为例,用朴素贝叶斯算法模型进行训练,通过k折交叉方法进行训练验证(k折交叉验证是将数据集分成k份,轮流将其中至少一份作为训练样本,剩余份数作为测试样本,最后对测试结果取均值)。

步骤s310,将剩余至少一份访问日志样本的特征值通过扫描行为识别模型进行识别,输出识别结果;

根据上述步骤s308所述的例子,识别结果为1或0,若为1,则当前访问日志样本被识别为扫描行为,若为0,则当前访问日志样本为正常访问行为。

步骤s312,对比识别结果与识别结果对应的访问日志样本的实际结果,得到扫描行为识别模型的准确率和召回率;

准确率为识别结果和实际结果均为真的访问日志样本数量与识别结果为真的访问日志样本数量的比值;召回率为识别结果和实际结果均为真的访问日志样本数量与实际结果为真的访问日志样本数量的比值。

步骤s314,根据准确率和召回率调整扫描行为识别模型。

本发明实施例通过采集扫描器行为日志与正常访问日志作为访问日志样本,对该样本进行特征提取,将一部分样本的特征值输入至预先搭建的朴素贝叶斯算法模型中进行训练,得到扫描行为识别模型,将剩余部分的样本的特征值输入至建立好的扫描行为识别模型中,将该模型的识别结果与样本的实际结果做对比,通过准确率和召回率来完成对该模型的验证处理,根据准确率和召回率不断调整扫描行为识别模型,使其在识别过程中结果更准确,提高扫描行为的识别率,降低漏报率。

本发明实施例提供了另一种基于机器学习贝叶斯算法的防扫描方法,该方法在上述实施例所述方法的基础上实现;本实施例中,重点描述在网络层拦截扫描行为对应的ip地址发出的访问行为的具体实现方式。

如图4所示,上述拦截扫描ip地址发出的访问行为的具体步骤如下:

步骤s402,识别扫描行为对应的扫描ip地址;

根据扫描行为识别模型识别出的结果,将被识别为扫描行为的访问行为对应的ip地址作为扫描ip地址,在网络层对该扫描ip地址进行封锁。

步骤s404,根据预设的ip地址的数据信息与威胁等级的对应关系,对扫描ip地址进行威胁等级划分;

根据扫描ip地址的威胁程度判断扫描ip地址的威胁等级,以按照响应码划分威胁等级为例进行说明,响应码404占比大于80%或者403占比大于80%定义为高危,响应码404占比大于50%且小于80%或者403占比大于50%且小于80%定义为中危,否则的话定义为低危,威胁等级越高,封锁时长相应越高。

步骤s406,对连续指定次数识别为扫描ip地址的ip地址进行指数级时长封锁;

预先设置指定次数,对于连续指定次数识别为扫描ip地址的ip地址进行指数级时长封锁,有针对性的及时封锁可以有效阻止黑客蓄意发起的攻击行为,避免一些不必要的数据包在网络中占用流量,提高网络带宽的利用率,保障企业网络的安全运行。

步骤s408,将指数级时长封锁的ip地址所扫描的域名发送至域名对应的服务器。

将指数级时长封锁的ip地址所扫描的域名发送至域名对应的服务器,告知该服务器的管理员,使得管理员对该ip地址进行下一步的处理。

本发明实施例通过对扫描行为对应的ip地址按照威胁程度进行一定时长的封锁,并将封锁时长过长的ip地址发送至被该ip地址所扫描的域名对应的服务器,由该服务器的管理员及时对该ip地址做出处理,可以及时阻止黑客蓄意发起的扫描攻击行为,保障了网络的安全运行。

对应于上述方法实施例,本发明实施例还提供了一种基于机器学习贝叶斯算法的防扫描装置,如图5所示,其中,该装置设置于服务端,该装置包括:

采集模块50,用于采集客户端当前访问行为的访问日志;

提取模块51,用于从访问日志中提取访问日志的特征值;

识别模块52,用于将特征值输入至预设的扫描行为识别模型中,输出识别结果;扫描行为识别模型通过朴素贝叶斯算法模型训练得到;

识别地址模块53,用于如果识别结果表明当前访问行为为扫描行为,识别当前访问行为对应的ip地址;

拦截模块54,用于在网络层拦截ip地址发出的访问行为。

本发明实施例提供的基于机器学习贝叶斯算法的防扫描装置,与上述实施例提供的基于机器学习贝叶斯算法的防扫描方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。

对应于上述发明实施例,本发明实施例还提供了一种服务器,其中,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述基于机器学习贝叶斯算法的防扫描方法。

具体的,处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现成可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成前述实施例的方法的步骤。

具体的,机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述基于机器学习贝叶斯算法的防扫描方法,具体实现可参见方法实施例,在此不再赘述。

本发明实施例所提供的基于机器学习贝叶斯算法的防扫描方法、装置和服务器以及系统的计算机程序产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1