一种端口扫描检测方法及装置与流程

文档序号:12132436阅读:171来源:国知局
一种端口扫描检测方法及装置与流程

本发明涉及网络安全技术领域,尤其涉及一种端口扫描检测方法及装置。



背景技术:

端口扫描指使用端口扫描工具来探测接收设备开放端口的行为,端口扫描本身不是恶意的网络行为,但是常被一些非法用户用于发现接收设备的漏洞,利用接收设备的漏洞,给接收设备的正常运行造成影响,带来损失。如果接收设备可以得知存在连接发起者在对自身进行端口扫描,可以启动相应的防护措施,保护自身的安全,避免损失。

然而,现有技术中,多是在接收设备上开展端口扫描检测,如果有连接发起者在设定的时间内访问了该接收设备较多的端口,则判断存在端口扫描检测行为,这种检测方法只能针对特定的接收设备,检测的范围较小,并且如果接收设备与连接发起者进行正常的数据传输时,利用到了接收设备多个端口,很容易造成误判,端口扫描检测的精度不高、性能不好。



技术实现要素:

本发明提供一种端口扫描检测方法及装置,用以解决现有技术中存在端口扫描检测范围小、检测精度不高和性能不好的问题。

为达到上述目的,本发明实施例公开了一种端口扫描检测方法,所述方法包括:

A、统计设定时间长度内每个连接发起者与连接响应者进行数据包传输的次数、连接响应者接收数据包的每个接收端口、连接发起者向连接响应者进行每次数据发送的时长,连接发起者与连接响应者之间每次进行数据包传输的数据包的数量以及数据包的大小,确定每个连接发起者与连接响应者之间的特征向量;

B、根据确定的特征向量,确定聚类后的类别数量;

C:根据确定的类别数量,及每个特征向量对应的特征点之间的距离,对每个特征向量进行聚类;判断当前聚类的中心点与预先设定的标准点的最小距离对应的聚类是否满足终止条件;如果否,将所述当前聚类的中心点与预先设定的标准点的最小距离对应的聚类包含的特征向量作为输入特征向量,进行B;

D:如果是,将当前聚类的中心点与预先设定的标准点的最小距离对应的聚类作为目标聚类;确定目标聚类中的每个特征向量对应的连接发起者对连接响应者进行端口扫描。

进一步地,所述确定每个连接发起者与连接响应者之间的特征向量包括:

针对每个连接发起者与连接响应者进行数据包传输的次数、连接响应者接收数据包的每个接收端口、连接发起者向连接响应者进行每次数据发送的时长,连接发起者与连接响应者之间每次进行数据包传输的数据包的数量以及数据包的大小,确定该连接发起者与连接响应者之间的特征向量中的每个参数,其中第一参数为所述连接响应者向所述连接发起者传输数据的第二次数与该连接发起者向该连接响应者传输数据的第一次数的比值;第二参数为所述连接响应者接收端口的数量;第三参数为所述连接响应者接收端口的数量与所述第一次数的比值;确定最长时长与最短时长的差值,第四参数为所述第一次数与所述差值的比值;第五参数为连接发起者与连接响应者之间传输的数据包的总数量与所述第一次数的比值;第六参数为连接发起者与连接响应者之间传输的数据包的平均大小;第七参数为所述第一次数。

进一步地,所述统计设定时间长度内每个连接发起者向连接响应者发起数据传输的次数之前,所述方法还包括:

针对获取的每个单向网络流程序netflow,从中选取满足传输控制协议TCP的netflow;

将选取的netflow拼接为双向流,根据所述双向流确定每个连接发起者和连接响应者。

进一步地,所述根据确定的特征向量,确定聚类后的类别数量包括:

针对每个特征向量采用组间平方和与总平和的比例法,确定聚类后的类别数量。

进一步地,所述根据确定的特征向量,确定聚类后的类别数量包括:

根据确定的特征向量采用手肘法,确定聚类后的类别数量。

进一步地,当前聚类的中心点与预先设定的标准点的最小距离对应的聚类满足终止条件包括:

当前聚类的中心点与预先设定的标准点的最小距离对应的聚类的中心点与预先设定的标准点的距离小于预先设定的距离阈值、或当前聚类的中心点与预先设定的标准点的最小距离对应的聚类经过的聚类的次数不小于预先设定的聚类次数、或当前聚类的中心点与预先设定的标准点的最小距离对应的聚类包括的特征数量小于预先设定的特征数量。

本发明实施例公开了一种端口扫描检测装置,所述装置包括:

第一确定模块,用于统计设定时间长度内每个连接发起者与连接响应者进行数据包传输的次数、连接响应者接收数据包的每个接收端口、连接发起者向连接响应者进行每次数据发送的时长,连接发起者与连接响应者之间每次进行数据包传输的数据包的数量以及数据包的大小,确定每个连接发起者与连接响应者之间的特征向量;

第二确定模块,用于根据确定的特征向量,确定聚类后的类别数量;

判断模块,用于根据确定的类别数量,及每个特征向量对应的特征点之间的距离,对每个特征向量进行聚类;判断当前聚类的中心点与预先设定的标准点的最小距离对应的聚类是否满足终止条件,如果判断结果为否,将所述当前聚类的中心点与预先设定的标准点的最小距离对应的聚类包含的特征向量作为输入特征向量,触发第二确定模块,如果判断结果为是,触发第三确定模块。

第三确定模块,用于将当前聚类的中心点与预先设定的标准点的最小距离对应的聚类作为目标聚类;确定目标聚类中的每个特征向量对应的连接发起者对连接响应者进行端口扫描。

进一步地,所述第一确定模块,具体用于针对每个连接发起者与连接响应者进行数据包传输的次数、连接响应者接收数据包的每个接收端口、连接发起者向连接响应者进行每次数据发送的时长,连接发起者与连接响应者之间每次进行数据包传输的数据包的数量以及数据包的大小,确定该连接发起者与连接响应者之间的特征向量中的每个参数,其中第一参数为所述连接响应者向所述连接发起者传输数据的第二次数与该连接发起者向该连接响应者传输数据的第一次数的比值;第二参数为所述连接响应者接收端口的数量;第三参数为所述连接响应者接收端口的数量与所述第一次数的比值;确定最长时长与最短时长的差值,第四参数为所述第一次数与所述差值的比值;第五参数为连接发起者与连接响应者之间传输的数据包的总数量与所述第一次数的比值;第六参数为连接发起者与连接响应者之间传输的数据包的平均大小;第七参数为所述第一次数。

进一步地,所述装置还包括:

选取确定模块,用于针对获取的每个单向网络流程序netflow,从中选取满足传输控制协议TCP的netflow;将选取的netflow拼接为双向流,根据所述双向流确定每个连接发起者和连接响应者。

进一步地,所述第二确定模块,具体用于针对每个特征向量采用组间平方和与总平和的比例法,确定聚类后的类别数量。

进一步地,所述第二确定模块,具体用于根据确定的特征向量采用手肘法,确定聚类后的类别数量。

进一步地,所述判断模块,具体用于当前聚类的中心点与预先设定的标准点的最小距离对应的聚类的中心点与预先设定的标准点的距离小于预先设定的距离阈值、或当前聚类的中心点与预先设定的标准点的最小距离对应的聚类经过的聚类的次数不小于预先设定的聚类次数、或当前聚类的中心点与预先设定的标准点的最小距离对应的聚类包括的特征数量小于预先设定的特征数量,确定当前聚类的中心点与预先设定的标准点的最小距离对应的聚类满足终止条件。

由于在本发明实施例中,统计设定时间长度内每个连接发起者与连接响应者进行数据包传输的次数、连接响应者接收数据包的每个接收端口、连接发起者向连接响应者进行每次数据发送的时长,连接发起者与连接响应者之间每次进行数据包传输的数据包的数量以及数据包的大小,确定每个连接发起者与连接响应者之间的特征向量,针对多个连接发起者与连接响应者同时进行端口扫描检测,扩大了端口扫描检测的范围,并且根据多个参数确定特征向量,根据多个参数对端口扫描进行判断,避免了使用单一参数进行端口扫描检测造成的误判,提高了端口扫描检测的精度与性能。

附图说明

图1为本发明实施例1提供的一种端口扫描检测过程示意图;

图2为本发明实施例3提供的解析后的netflow包含的信息示意图;

图3为本发明实施例3提供的一种端口扫描检测过程示意图;

图4为本发明实施例5提供的一种端口扫描检测过程示意图;

图5为本发明实施例6提供的一种端口扫描检测装置结构示意图;

图6为本发明实施例7提供的一种端口扫描检测过程示意图;

图7为本发明实施例7提供的一种端口扫描检测过程示意图。

具体实施方式

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

实施例1:

图1为本发明实施例提供的一种端口扫描检测过程示意图,该过程包括:

S101:统计设定时间长度内每个连接发起者与连接响应者进行数据包传输的次数、连接响应者接收数据包的每个接收端口、连接发起者向连接响应者进行每次数据发送的时长,连接连接发起者与连接响应者之间每次进行数据包传输的数据包的数量以及数据包的大小,确定每个连接发起者与连接响应者之间的特征向量。

在本发明实施例中,连接发起者通常是指发起端口扫描的个人电脑(PC)、服务器等设备,连接响应者通常是指端口被扫描的服务器等设备。端口扫描时,连接发起者一般使用端口扫描工具对连接响应者进行端口扫描,实质上是连接发起者向连接响应者每个端口进行数据包传输,每次只进行一次数据传输,因为连接响应者只开放了少量的接收端口,所以连接发起者向连接响应者发送的数据包只有少量的数据包得到了连接响应者的响应。同时,因为连接发起者在短时间内需要扫描较多的连接响应者的接收端口,所以连接发起者需要在短时间内向连接响应者较多的端口发送数据包,需要较快的发送速率。并且因为端口扫描时,发送的数据包只作为对连接响应者的端口探测,包含的信息较少,所以每次数据包传输时包含的数据包的大小相近,且数量较少。

在本发明实施例中预先设定了时间长度,该设定时间长度可以为2分钟、5分钟、7分钟等。统计设定时间长度内,每个连接发起者向连接响应者进行数据包传输的次数,连接响应者向连接发起者进行数据包传输的次数,连接发起者向连接响应者进行每次数据发送的时长、连接发起者与连接响应者之间每次进行数据包传输的数据包的数量以及数据包的大小,根据所述设定时间长度内统计的信息确定连接发起者与连接响应者之间的特征向量的参数。

S102:根据确定的特征向量,确定聚类后的类别数量。

具体的,可以根据确定的特征向量的数量,确定聚类后的类别数量,例如:假设类别数量为n,n的取值从1开始,将特征向量划分为n个类别中,计算每个类别中每个特征向量的算术平方和记录为Vi,其中i的取值范围为大于等于0小于等于n,确定类别数量为n对应的总算术平方和为VPn=V1+…+Vi+…+Vn,按照相同的方法,将特征向量划分为n+1个类别中,确定类别数量为n+1对应的总算术平方和VPn+1,将特征向量划分为n+2个类别中,确定类别数量为n+2对应的总算术平方和VPn+2,其中n、n+1、n+2中n的取值相同,当n取值对应的VPn+2-VPn+1<VPn+1-VPn时,确定n+2对应的值为聚类后的类别数量。

S103:根据确定的类别数量,及每个特征向量对应的特征点之间的距离,对每个特征向量进行聚类。

针对每个特征向量,选取对应类型数量的特征向量作为质点,根据每个特征向量与所述选取的每个质点的距离对所述每个特征向量进行聚类。例如:k-均值(k-means)聚类算法中每一步聚类都是根据个特征向量与所述选取的每个质点的距离进行聚类。

S104:判断当前聚类的中心点与预先设定的标准点的最小距离对应的聚类是否满足终止条件,如果是,进行S105,如果否,将所述当前聚类的中心点与预先设定的标准点的最小距离对应的聚类包含的特征向量作为输入特征向量,进行S102。

在本发明实施例中,所述标准点为预先根据存在端口扫描的设备在设定时间长度进行的数据包传输,根据S101统计的信息确定的特征向量对应的标准点。具体的,从当前每个聚类中选取聚类的中心点与预先设定的标准点的最小距离对应的聚类,所述聚类的中心点与预先设定的标准点的距离越小,说明该聚类中的特征向量与存在端口扫描对应的特征向量的相似度越高。例如:当前聚类中存在4个聚类分别为聚类1、聚类2、聚类3、聚类4,其中心点与标准点之间的距离分别为2、1、3、5,从中选取与标准点之间距离最小的聚类2。

判断当前聚类的中心点与预先设定的标准点的最小距离对应的聚类是否满足终止条件,该终止条件,可以是所述当前聚类的中心点与预先设定的标准点的最小距离小于设定阈值,也可以是所述当前聚类的中心点与预先设定的标准点的最小距离对应的聚类中每个特征向量的平方和的均值在预先设定的范围内。如果当前聚类的中心点与预先设定的标准点的最小距离对应的聚类不满足终止条件,将所述当前聚类的中心点与预先设定的标准点的最小距离对应的聚类中的特征向量作为输入特征向量,返回S102。

S105:将当前聚类的中心点与预先设定的标准点的最小距离对应的聚类作为目标聚类;确定目标聚类中的每个特征向量对应的连接发起者对连接响应者进行端口扫描。

具体的,如果当前聚类的中心点与预先设定的标准点的最小距离对应的聚类满足终止条件,将当前聚类的中心点与预先设定的标准点的最小距离对应的聚类作为目标聚类,确定目标聚类中的每个特征向量对应的连接发起者对连接响应者进行端口扫描。

由于在本发明实施例中,统计设定时间长度内每个连接发起者与连接响应者进行数据包传输的次数、连接响应者接收数据包的每个接收端口、连接发起者向连接响应者进行每次数据发送的时长,连接发起者与连接响应者之间每次进行数据包传输的数据包的数量以及数据包的大小,确定每个连接发起者与连接响应者之间的特征向量,针对多个连接发起者与连接响应者同时进行端口扫描检测,扩大了端口扫描检测的范围,并且根据多个参数确定特征向量,根据多个参数对端口扫描进行判断,避免了使用单一参数进行端口扫描检测造成的误判,提高了端口扫描检测的精度与性能。

实施例2:

为了提高端口扫描检测的精度,在上述各实施例的基础上,在本发明实施例中,所述确定每个连接发起者与连接响应者之间的特征向量包括:

针对每个连接发起者与连接响应者进行数据包传输的次数、连接响应者接收数据包的每个接收端口、连接发起者向连接响应者进行每次数据发送的时长,连接发起者与连接响应者之间每次进行数据包传输的数据包的数量以及数据包的大小,确定该连接发起者与连接响应者之间的特征向量中的每个参数,其中第一参数为所述连接响应者向所述连接发起者传输数据的第二次数与该连接发起者向该连接响应者传输数据的第一次数的比值;第二参数为所述连接响应者接收端口的数量;第三参数为所述连接响应者接收端口的数量与所述第一次数的比值;确定最长时长与最短时长的差值,第四参数为所述第一次数与所述差值的比值;第五参数为连接发起者与连接响应者之间传输的数据包的总数量与所述第一次数的比值;第六参数为连接发起者与连接响应者之间传输的数据包的平均大小;第七参数为所述第一次数。

具体的,所述第一次数为设定时间内连接发起者向连接响应者进行数据包传输的次数,所述第二次数为设定时间内连接响应者向连接发起者进行数据包传输的次数。其中,第一参数的值越大,说明连接发起者向连接响应者发起的有效连接次数越少。第二参数的值越大,说明连接发起者向连接响应者较多的目的端口发送数据包,存在连接发起者对连接响应者进行端口扫描的几率越大。因为存在端口扫描时,连接发起者会在较短的时间内向连接响应者发送较多的用于检测的数据包,用于检测连接响应者的每个端口是否处于开启状态,对每个端口的检测次数为1,并且因检测用的数据包包含的信息较少所以每次数据包传输时包含的数据包的数量较少,接近于1,并且每个数据包的大小相近,接近于固定值,所以存在端口扫描时,第三参数的值接近于1,第四参数的值较大,说明连接发起者有较快的发送速率,第五参数的值接近于1、第六参数的值与预先统计的存在端口扫描时对应数据包的大小接近、第七参数为一个较大的数值,说明连接发起者对连接响应者的多个端口进行了扫描。

具体的,确定的特征向量中的第一参数为v_flow_ratio=c_d2s/c_s2d,其中,v_flow_ratio为第一参数,c_d2s=count(dstip->srcip)为连接响应者向连接发起者进行数据传输的次数,dstip为目的IP,即连接发起者的IP,srcip源IP,即连接响应者的IP,c_s2d=count(srcip->dstip)为连接发起者向连接响应者进行数据传输的次数,srcip目的IP,即连接响应者的IP,dstip为源IP,即连接发起者的IP;第二参数为cd_dip=count(distinct dstip),其中cd_dip为第二参数,dstip目的IP,为连接响应者的IP,用来确定连接响应者,distinct为连接响应者不重复的接收端口数量,即连接响应者接收端口的数量;第三参数为第二参数cd_dip=count(distinct dstip)与c_s2d的比值;第四参数为flow_speed=c_s2d/(max(packrecvtime)-min(packrecvtime))的值,其中flow_speed为第四参数,(max(packrecvtime)为数据传输的最长时长,min(packrecvtime))为数据传输的最短时长;第五参数为avg_ppf=average(sum(packet)/c_s2d),其中avg_ppf为第五参数,(sum(packet)为连接发起者与连接响应者之间传输的数据包的总数量;第六参数为avg_bpp=average(sum(bytes)/sum(packet)),其中avg_bpp为低六参数,sum(bytes)为连接发起者向连接响应者传输数据包的总大小;第七参数为c_s2d。

实施例3:

在上述各实施例的基础上,为了便于后续确定每个连接发起者与连接响应者之间的特征向量,在本发明实施例中,所述统计设定时间长度内每个连接发起者向连接响应者发起数据传输的次数之前,所述方法还包括:

针对获取的每个单向网络流程序(netflow),从中选取满足传输控制协议(TCP)的netflow;

将选取的netflow拼接为双向流,根据所述双向流确定每个连接发起者和连接响应者。

连接发起者与连接响应者之间每进行一次数据包的传输就会产生一个netflow,对每个netflow进行解析,可以获得netflow中包含的信息。如图2所示为本发明实施例提供的解析后的netflow包含的信息示意图,该netflow中包含数据包数量(packorg)、数据包大小(bytesorg)、源端口(srcport)、目的端口(dstport)、数据包控制标识(tcpflag)、协议(protocol)、源IP(srcip)、目的IP(destip)、数据包接收时间(packrecvtime)。在本发明实施例中对netflow进行解析是现有技术不再进行赘述。

现有的端口扫描是基于传输控制协议(Transmission Control Protocol,TCP)进行的端口扫描,在本发明实施例中为了减少端口扫描检测时的数据处理量,提高端口扫描检测的效率,针对获取的每个netflow,从中选取满足TCP协议的netflow。

将选取的netflow拼接为双向流时,可以根据每个netflow中包含的源IP和目的IP,将源IP和目的IP相同的netflow分为第一类别,并将所述第一类别的目的IP作为第二类别的源IP,第一类别的源IP作为第二类别的目的IP,确定第二类别,将所述第一类别和所述第二类别中的netflow拼接为双向流。比较双向流中所述第一类别包含的netflow数量,与所述第二类别包含的netflow数量,将包含netflow数量较多的类别的源IP对应的设备作为连接发起者,目的IP对应的设备为连接响应者。

图3为本发明实施例提供的一种端口扫描检测过程示意图,该过程包括:

S301:针对获取的每个netflow,从中选取满足TCP的netflow。

S302:将选取的netflow拼接为双向流,根据所述双向流确定每个连接发起者和连接响应者。

S303:统计设定时间长度内每个连接发起者与连接响应者进行数据包传输的次数、连接响应者接收数据包的每个接收端口、连接发起者向连接响应者进行每次数据发送的时长,连接连接发起者与连接响应者之间每次进行数据包传输的数据包的数量以及数据包的大小,确定每个连接发起者与连接响应者之间的特征向量。

S304:根据确定的特征向量,确定聚类后的类别数量。

S305:根据确定的类别数量,及每个特征向量对应的特征点之间的距离,对每个特征向量进行聚类。

S306:判断当前聚类的中心点与预先设定的标准点的最小距离对应的聚类是否满足终止条件,如果是,进行S307,如果否,将所述当前聚类的中心点与预先设定的标准点的最小距离对应的聚类包含的特征向量作为输入特征向量,进行S304。

S307:将当前聚类的中心点与预先设定的标准点的最小距离对应的聚类作为目标聚类;确定目标聚类中的每个特征向量对应的连接发起者对连接响应者进行端口扫描。

实施例4:

在聚类处理之前,需要确定聚类后的类别数量,该数量可以是一个固定的数值,也可以是根据特征向量的数量来确定的数值。为了保证端口扫描检测的准确性,在上述各实施例中,在本发明实施例中,所述根据确定的特征向量,确定聚类后的类别数量包括:

针对每个特征向量采用组间平方和与总平和的比例法,确定聚类后的类别数量。

具体的,针对确定的特征向量,从类别数量为1开始,将特征向量划分为与所述类别数量相同的数量的组中,针对从数量为1开始的不同分组,采用组间平方和(between_ss)与总平方和(tot_ss)的比例法,当between_ss/tot_ss的值趋于一个稳定值不再继续增大时的min(k),作为聚类后的类别数量,其中k为划分的组的数量。采用between_ss与tot_ss比例法,当between_ss/tot_ss的值趋于一个稳定值不再继续增大时的min(k),确定min(k)的过程属于现有技术,在本发明实施例中不再进行赘述。

或者,所述根据确定的特征向量,确定聚类后的类别数量包括:

根据确定的特征向量采用手肘法,确定聚类后的类别数量。

具体的,针对确定的特征向量,从类别数量为1开始,将特征向量划分为与所述类别数量相同的数量的组中,针对从数量为1开始的不同分组,当损失函数(cost,组内平方和)趋于一个稳定值之前的一个明显拐点处的K作为聚类后的类别数量,其中K为划分的组的数量;具体的,可以绘制k-cost闪点图来确认组内偏移量,组内偏移量越大说明当前聚类的效果越差。在本发明实施例中,当损失函数(cost,组内平方和)趋于一个稳定值之前的一个明显拐点处的K的确定过程属于现有技术,在本发明实施例中不再进行赘述。

实施例5:

为了保证端口扫描检测的准确性,在上述各实施例的基础上,在本发明实施例中,当前聚类的中心点与预先设定的标准点的最小距离对应的聚类满足终止条件包括以下至少一种:

当前聚类的中心点与预先设定的标准点的最小距离对应的聚类的中心点与预先设定的标准点的距离小于预先设定的距离阈值;

当前聚类的中心点与预先设定的标准点的最小距离对应的聚类经过的聚类的次数不小于预先设定的聚类次数;和

当前聚类的中心点与预先设定的标准点的最小距离对应的聚类包括的特征数量小于预先设定的特征数量。

在本发明实施例中,针对当前聚类的中心点与预先设定的标准点的最小距离对应的聚类,获取该聚类的中心点(cluster_i.center)、聚类次数(iter_count)、包含的特征向量的数量(cluster_i.size),如果该聚类满足dist(cluster_i.center,standard_point)<threshold_dist or iter_count>iter_max or cluster_i.size<min_td_count,则确定,该聚类满足输出条件,其中standard_point为预先设定的标准点,threshold_dist为预先设定的聚类中心与标准点的距离阈值,iter_max为预先设定的聚类次数,min_td_count为预先设定的特征数量。

具体的,所述终止条件可以是上述终止条件中的一个,也可以是上述终止条件中的两个以上的组合,如果是组合,可以针对每个终止条件设置优先级,在对当前聚类的中心点与预先设定的标准点的最小距离对应的聚类是否满足终止条件进行判断时,可以按照设定的优先级顺序依次判断,只要满足当前优先级对应的终止条件则满足,否则继续对是否满足下一优先级对应的终止条件进行判断。

例如:将当前聚类的中心点与预先设定的标准点的最小距离对应的聚类的中心点与预先设定的标准点的距离小于预先设定的距离阈值设置为第一优先级,将当前聚类的中心点与预先设定的标准点的最小距离对应的聚类经过的聚类的次数不小于预先设定的聚类次数设置为第二优先级、将当前聚类的中心点与预先设定的标准点的最小距离对应的聚类包括的特征数量小于预先设定的特征数量设置为第三优先级。针对当前聚类的中心点与预先设定的标准点的最小距离对应的聚类,判断所述当前聚类的中心点与预先设定的标准点的最小距离对应的聚类是否满足第一优先级对应的条件,如果满足则输出满足,终止判断,否则,继续判断所述当前聚类的中心点与预先设定的标准点的最小距离对应的聚类是否满足第二优先级对应的条件,如果满足则输出满足,终止判断,否则,继续判断所述当前聚类的中心点与预先设定的标准点的最小距离对应的聚类是否满足第三优先级对应的条件,如果满足则输出满足,终止判断,如果不满足,则输出不满足,终止判断。

图4为本发明实施例提供的一种端口扫描检测过程示意图,该过程包括:

S401:针对获取的每个netflow,从中选取满足TCP的netflow。

S402:将选取的netflow拼接为双向流,根据所述双向流确定每个连接发起者和连接响应者。

S303:统计设定时间长度内每个连接发起者与连接响应者进行数据包传输的次数、连接响应者接收数据包的每个接收端口、连接发起者向连接响应者进行每次数据发送的时长,连接连接发起者与连接响应者之间每次进行数据包传输的数据包的数量以及数据包的大小,确定每个连接发起者与连接响应者之间的特征向量。

S404:根据确定的特征向量,确定聚类后的类别数量。

S405:根据确定的类别数量,及每个特征向量对应的特征点之间的距离,对每个特征向量进行聚类。

S406:判断当前聚类的中心点与预先设定的标准点的最小距离对应的聚类的中心点是否满足与预先设定的标准点的距离小于预先设定的距离阈值;或当前聚类的中心点与预先设定的标准点的最小距离对应的聚类经过的聚类的次数不小于预先设定的聚类次数;或当前聚类的中心点与预先设定的标准点的最小距离对应的聚类包括的特征数量小于预先设定的特征数量,如果任何一个的判断结果为是,进行S407,如果都为否,将所述当前聚类的中心点与预先设定的标准点的最小距离对应的聚类包含的特征向量作为输入特征向量,进行S404。

S407:将当前聚类的中心点与预先设定的标准点的最小距离对应的聚类作为目标聚类;确定目标聚类中的每个特征向量对应的连接发起者对连接响应者进行端口扫描。

实施例6:

图5为本发明实施例提供的一种端口扫描检测装置结构示意图,该装置包括:

第一确定模块51,用于统计设定时间长度内每个连接发起者与连接响应者进行数据包传输的次数、连接响应者接收数据包的每个接收端口、连接发起者向连接响应者进行每次数据发送的时长,连接发起者与连接响应者之间每次进行数据包传输的数据包的数量以及数据包的大小,确定每个连接发起者与连接响应者之间的特征向量;

第二确定模块52,用于根据确定的特征向量,确定聚类后的类别数量;

判断模块53,用于根据确定的类别数量,及每个特征向量对应的特征点之间的距离,对每个特征向量进行聚类;判断当前聚类的中心点与预先设定的标准点的最小距离对应的聚类是否满足终止条件,如果判断结果为否,将所述当前聚类的中心点与预先设定的标准点的最小距离对应的聚类包含的特征向量作为输入特征向量,触发第二确定模块,如果判断结果为是,触发第三确定模块。

第三确定模块54,用于将当前聚类的中心点与预先设定的标准点的最小距离对应的聚类作为目标聚类;确定目标聚类中的每个特征向量对应的连接发起者对连接响应者进行端口扫描。

所述第一确定模块51,具体用于针对每个连接发起者与连接响应者进行数据包传输的次数、连接响应者接收数据包的每个接收端口、连接发起者向连接响应者进行每次数据发送的时长,连接发起者与连接响应者之间每次进行数据包传输的数据包的数量以及数据包的大小,确定该连接发起者与连接响应者之间的特征向量中的每个参数,其中第一参数为所述连接响应者向所述连接发起者传输数据的第二次数与该连接发起者向该连接响应者传输数据的第一次数的比值;第二参数为所述连接响应者接收端口的数量;第三参数为所述连接响应者接收端口的数量与所述第一次数的比值;确定最长时长与最短时长的差值,第四参数为所述第一次数与所述差值的比值;第五参数为连接发起者与连接响应者之间传输的数据包的总数量与所述第一次数的比值;第六参数为连接发起者与连接响应者之间传输的数据包的平均大小;第七参数为所述第一次数。

所述装置还包括:

选取确定模块55,用于针对获取的每个单向网络流程序netflow,从中选取满足传输控制协议TCP的netflow;将选取的netflow拼接为双向流,根据所述双向流确定每个连接发起者和连接响应者。

所述第二确定模块52,具体用于针对每个特征向量采用组间平方和与总平和的比例法,确定聚类后的类别数量。

所述第二确定模块52,具体用于根据确定的特征向量采用手肘法,确定聚类后的类别数量。

所述判断模块53,具体用于当前聚类的中心点与预先设定的标准点的最小距离对应的聚类的中心点与预先设定的标准点的距离小于预先设定的距离阈值、或当前聚类的中心点与预先设定的标准点的最小距离对应的聚类经过的聚类的次数不小于预先设定的聚类次数、或当前聚类的中心点与预先设定的标准点的最小距离对应的聚类包括的特征数量小于预先设定的特征数量,确定当前聚类的中心点与预先设定的标准点的最小距离对应的聚类满足终止条件。

实施例7:

图6和图7为本发明实施例提供的一种端口扫描检测过程示意图,在大数据分析系统中,例如绿盟的BSA数据分析系统,端口扫描检测应用ML Engine APP进行端口扫描检测时,管理人员预先根据存在端口扫描的设备对应的特征向量进行参数管理,设定标准点及终止条件等参数,根据接入的流数据,提取特征向量(ETL),将ELT输入到模型训练中,基于该模型训练,根据特征向量,确定聚类后的类别数量,根据确定的聚类后的类别数量,及每个特征向量对应的特征点之间的距离,对每个特征向量进行聚类,判断当前聚类的中心点与预先设定的标准点的最小距离对应的聚类是否满足终止条件的过程,得到目标聚类,输出端口扫描检测结果,进行结果展示。在先期进行参数管理时,管理人员还可以根据输出的端口扫描结果,对标准点及终止条件等参数进行调整,使得检测结果更准确。

本发明实施例公开了一种端口扫描检测方法及装置,所述方法包括:A、统计设定时间长度内每个连接发起者与连接响应者进行数据包传输的次数、连接响应者接收数据包的每个接收端口、连接发起者向连接响应者进行每次数据发送的时长,连接发起者与连接响应者之间每次进行数据包传输的数据包的数量以及数据包的大小,确定每个连接发起者与连接响应者之间的特征向量;B、根据确定的特征向量,确定聚类后的类别数量;C:根据确定的类别数量,及每个特征向量对应的特征点之间的距离,对每个特征向量进行聚类;判断当前聚类的中心点与预先设定的标准点的最小距离对应的聚类是否满足终止条件;如果否,进行B;D:如果是,将当前聚类的中心点与预先设定的标准点的最小距离对应的聚类作为目标聚类;确定目标聚类中的每个特征向量对应的连接发起者对连接响应者进行端口扫描。由于在本发明实施例中,统计设定时间长度内每个连接发起者与连接响应者进行数据包传输的次数、连接响应者接收数据包的每个接收端口、连接发起者向连接响应者进行每次数据发送的时长,连接发起者与连接响应者之间每次进行数据包传输的数据包的数量以及数据包的大小,确定每个连接发起者与连接响应者之间的特征向量,针对多个连接发起者与连接响应者同时进行端口扫描检测,扩大了端口扫描检测的范围,并且根据多个参数确定特征向量,根据多个参数对端口扫描进行判断,避免了使用单一参数进行端口扫描检测造成的误判,,提高了端口扫描检测的精度与性能。

对于系统/装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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