本发明涉及网络安全技术领域,特别是涉及一种伪接入点的检测方法、装置和计算机可读存储介质。
背景技术:
在wi-fi网络中较常见的一种攻击是双面恶魔攻击。双面恶魔攻击其实就是一个以邻近的网络名称隐藏起来的欺诈性接入点,攻击者使用相同的服务集标识(servicesetidentifier,ssid)创建一个欺诈性接入点即伪接入点。因为伪接入点的ssid与使用者常用ssid一样,并且具有更强的信号,因此可以轻易欺骗使用者与之连接。建立连接后,攻击者可以替换网页,比如替换成攻击者自制的界面,给使用者造成经济损失。攻击者也可以通过使用者与伪接入点之间的连接,在一定程度上窃取使用者电脑上的信息。此种攻击难以侦查,攻击者甚至只需要一台笔记本就能创建一个伪接入点。
目前针对双面恶魔攻击的检测方法中,基于特征指纹和基于客户端是最常用的两种检测方法。基于特征指纹的方法通常是从内部网接入点定位扫描可疑的射频,然后与预先定义好的特征指纹的射频授权列表相比较来进行验证。特征指纹通常包括信号强度、射频测量、mac地址、供应商名称及服务组id等。如果发现某个射频的特征指纹不在授权列表中,则说明网络中存在着发动双面恶魔攻击的接入点。这种检测方法通常需要由无线网络管理员来操作,通常需要企业级的服务器设备,耗费的成本代价高,而且容易受到内部人员攻击。
基于客户端的方法通常从网络通信的流量中提取独一无二的无线网络流量特征,通常网络流量特征包括:包间隔到达时间值和无线流量往返时间值,通过分析这些网络流量特征是否异常来检测双面恶魔攻击。但是影响包间隔到达时间值和无线流量往返时间值的因素不仅仅是因为双面恶魔攻击,还可能是因为干扰、网络拓扑的改变、带宽以及拥塞等多种因素,所以检测结果很难确定是否由双面恶魔攻击导致的。
可见,如何降低伪接入点检测的成本、减少误判率,是本领域技术人员亟待解决的问题。
技术实现要素:
本发明实施例的目的是提供一种伪接入点的检测方法、装置和计算机可读存储介质,可以降低伪接入点检测的成本、减少误判率。
为解决上述技术问题,本发明实施例提供一种伪接入点的检测方法,包括:
获取各接入点的rssi数据和lqi数据;
将各所述接入点的rssi数据作为横坐标、lqi数据作为纵坐标,得到联合数据;
利用pam算法对所述联合数据进行迭代聚类,得到第一聚类个数;
利用hac聚类算法对所述联合数据进行处理,得到第二聚类个数;
依据所述第一聚类个数、所述第二聚类个数以及预先设定的权重值,确定出接入点个数;
判断所述接入点个数是否大于预设值;
若是,则输出存在伪接入点的提示信息。
可选的,所述利用pam算法对所述联合数据进行迭代聚类,得到第一聚类个数包括:
利用pam算法对所述联合数据进行聚类,得到聚类轮廓图,并计算所述聚类轮廓图的第一平均轮廓值;
判断聚类次数是否大于或等于预设聚类值;
若否,则返回所述利用pam算法对所述联合数据进行聚类,得到聚类轮廓图,并计算所述聚类轮廓图的第一平均轮廓值的步骤;
若是,则从各所述第一平均轮廓值中选取取值最大的一个第一平均轮廓值作为第一聚类个数。
可选的,所述利用hac聚类算法对所述联合数据进行处理,得到第二聚类个数包括:
利用hac聚类算法对所述联合数据进行聚类,得到树状图;
按照预先设定的各截取标准对所述树状图进行截取,得到各截取标准相对应的聚类结果;
依据轮廓系数方法,得到各所述聚类结果对应的轮廓图,并计算各所述轮廓图对应的第二平均轮廓值;
从各所述第二平均轮廓值中选取取值最大的一个第二平均轮廓值作为第二聚类个数。
可选的,所述依据所述第一聚类个数、所述第二聚类个数以及预先设定的权重值,确定出接入点个数包括:
根据如下公式,计算出接入点个数n;
其中,
可选的,还包括:
当所述接入点个数小于预设值时,则展示接入点故障的提示信息。
本发明实施例还提供了一种伪接入点的检测装置,包括获取单元、联合单元、第一聚类单元、第二聚类单元、确定单元、判断单元和输出单元;
所述获取单元,用于获取各接入点的rssi数据和lqi数据;
所述联合单元,用于将各所述接入点的rssi数据作为横坐标、lqi数据作为纵坐标,得到联合数据;
所述第一聚类单元,用于利用pam算法对所述联合数据进行迭代聚类,得到第一聚类个数;
所述第二聚类单元,用于利用hac聚类算法对所述联合数据进行处理,得到第二聚类个数;
所述确定单元,用于依据所述第一聚类个数、所述第二聚类个数以及预先设定的权重值,确定出接入点个数;
所述判断单元,用于判断所述接入点个数是否大于预设值;若是,则触发所述输出单元;
所述输出单元,用于输出存在伪接入点的提示信息。
可选的,所述第一聚类单元包括计算子单元、判断子单元和选取子单元;
所述计算子单元,用于利用pam算法对所述联合数据进行聚类,得到聚类轮廓图,并计算所述聚类轮廓图的第一平均轮廓值;
所述判断子单元,用于判断聚类次数是否大于或等于预设聚类值;若否,则返回所述计算子单元;若是,则触发所述选取子单元;
所述选取子单元,用于从各所述第一平均轮廓值中选取取值最大的一个第一平均轮廓值作为第一聚类个数。
可选的,所述第二聚类单元包括得到子单元、截取子单元、计算子单元和选取子单元;
所述得到子单元,用于利用hac聚类算法对所述联合数据进行聚类,得到树状图;
所述截取子单元,用于按照预先设定的各截取标准对所述树状图进行截取,得到各截取标准相对应的聚类结果;
所述计算子单元,用于依据轮廓系数装置,得到各所述聚类结果对应的轮廓图,并计算各所述轮廓图对应的第二平均轮廓值;
所述选取子单元,用于从各所述第二平均轮廓值中选取取值最大的一个第二平均轮廓值作为第二聚类个数。
可选的,所述确定单元具体用于根据如下公式,计算出接入点个数n;
其中,
可选的,还包括提示单元;
所述提示单元,用于当所述接入点个数小于预设值时,则展示接入点故障的提示信息。
本发明实施例还提供了一种伪接入点的检测装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如上述伪接入点的检测方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述伪接入点的检测方法的步骤。
由上述技术方案可以看出,获取各接入点的rssi数据和lqi数据;将各接入点的rssi数据作为横坐标、lqi数据作为纵坐标,得到联合数据;利用pam算法对联合数据进行迭代聚类,得到第一聚类个数;利用hac聚类算法对联合数据进行处理,得到第二聚类个数。聚类的个数反映了网络中接入点的个数。为了使检测结果更加准确可信,依据第一聚类个数、第二聚类个数以及预先设定的权重值,确定出最终的一个接入点个数。判断该接入点个数是否大于预设值;当接入点个数大于预设值,则说明存在伪接入点,则输出存在伪接入点的提示信息。该技术方案在不提高硬件成本以及检测方法复杂度的情况下,利用数据本身的特性,对数据进行多聚类处理,并综合聚类结果,实时获得网络中接入点数量的信息,检测伪接入点,提高了网络安全性,达到了降低成本、减少误判率的目的。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种伪接入点的检测方法的流程图;
图2为本发明实施例提供的一种显示了轮廓值的聚类轮廓图;
图3为本发明实施例提供的一种不同截取标准的截取示意图;
图4为本发明实施例提供的一种伪接入点的检测装置的结构示意图;
图5为本发明实施例提供的一种伪接入点的检测装置的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
接下来,详细介绍本发明实施例所提供的一种伪接入点的检测方法。图1为本发明实施例提供的一种伪接入点的检测方法的流程图,该方法包括:
s101:获取各接入点的rssi数据和lqi数据。
接收信号强度指示((receivedsignalstrengthindicator,rssi)和链路质量指示(linkqualityindicator,lqi)通常用来进行定位和测距,利用设备发送数据时产生的rssi数据和lqi数据来计算设备之间的物理距离,从而判断发送设备的位置。发送设备即为网络中的各接入点。
rssi用来判断链接质量,决定是否要增大发送强度来保证数据的送达。lqi用来指明通信连接强度的高低,单位是dbm(分贝毫瓦),lqi范围是0-255之间的整数。
在wi-fi环境中,rssi和lqi具备相关性。在本发明实施例中,可以采用特定的采样率对wi-fi网络中的各个接入点进行接收信号强度指示(rssi)和链路质量指示(lqi)数据收集。
s102:将各接入点的rssi数据作为横坐标、lqi数据作为纵坐标,得到联合数据。
在wi-fi网络中在同一个位置对不同的接入点收集的rssi和lqi数据都有所不同,所以对一个wi-fi网络中所有接入点收集的rssi和lqi数据进行聚类分析,可以反映出wi-fi网络中的接入点个数,如果网络中有伪接入点加入,网络中会存在较强的信号,会导致聚类结果的变化,从而反映出wi-fi网络中接入点个数的变化,据此判断是否存在伪接入点。
在本发明实施例中,基于距离聚类的算法(partitioningaroundmedoid,pam)和基于层次聚类的算法(hierarchicalagglomerativeclustering,hac),对收集到的接收信号强度指示(rssi)和链路质量指示(lqi)数据进行聚类处理。
在利用pam算法和hac聚类算法对数据进行处理时,需要对采集的数据进行预处理,每个接入点都有其对应的rssi数据和lqi数据,在具体实现中,可以将每一个接入点的rssi数据和lqi数据作为一个二维坐标点(rssi,lqi),按顺序绘制在二维坐标系上(x,y坐标系),形成rssi-lqi数据联合分布图,横坐标为rssi,纵坐标为lqi。
s103:利用pam算法对联合数据进行迭代聚类,得到第一聚类个数。
pam算法的核心思想是随机选取k个对象作为中心点,随后反覆地用其他非中心节点来代替中心节点,提高聚类质量。随后产生每次聚类的轮廓图,并通过比较轮廓系数来决定最佳分类个数。
在具体实现中,可以利用pam算法对联合数据进行聚类,得到聚类轮廓图,并计算聚类轮廓图的第一平均轮廓值。
聚类轮廓图的定义如下,
其中,δ(i)表示接入点i与当前所属类的差异度,用欧几里德距离来衡量;ε(i)表示接入点i与其他各聚类差异度的最小值。ρ(i)表示聚类轮廓图的轮廓值,其越接近1表示聚类结果越精确。
对聚类结果使用轮廓系数评估时,对聚类结果中的每个簇内对象计算轮廓系数,然后取平均得到平均轮廓值,该平均轮廓值即为该聚类结果的质量评估结果。
在本发明实施例中,为了便于区分pam算法和hac聚类算法得到的平均轮廓值,可以将基于pam算法得到的平均轮廓值称作第一平均轮廓值,将基于hac聚类算法得到的平均轮廓值称作第二平均轮廓值。
其中,每次聚类得到的平均轮廓值
其中,n表示聚类的样本容量。
如图2所示显示了轮廓值的聚类轮廓图,纵坐标为分类个数,图中表示聚类结果得到4个簇(分类),横坐标为轮廓值大小,此次聚类的平均轮廓值为0.8932。从图中可知,4个簇中的每个数据的轮廓值都描绘到了坐标轴上,能很直观的观察到每个簇的优良程度。
在本发明实施例中,为了提高聚类的优良程度,可以采用多次聚类的方式,每基于pam算法执行一次聚类相应的聚类次数加1。每执行完一次聚类,可以判断聚类次数是否大于或等于预设聚类值。
预设聚类值可以根据实际需求进行设定,一般将预设聚类值设置的大于50次。
当聚类次数小于预设聚类值时,则返回利用pam算法对联合数据进行聚类,得到聚类轮廓图,并计算聚类轮廓图的第一平均轮廓值的步骤。
每执行一次聚类便可以得到一个第一平均轮廓值。当聚类次数大于或等于预设聚类值时,则从各第一平均轮廓值中选取取值最大的一个第一平均轮廓值作为第一聚类个数。
通过选取平均轮廓值的最大值能解决最佳分类个数选择不确定的问题,同时分类的优良程度也最大程度地得到了保证。
s104:利用hac聚类算法对联合数据进行处理,得到第二聚类个数。
hac聚类算法可以是凝聚的或分裂的,取决于层次分解是以自底向上(凝聚)还是以自顶向下(分裂)方式形成。在本发明实施例中,可以采用凝聚的方法进行层次聚类。
凝聚的层次聚类方法使用自底向上的策略,从令每个对象形成自己的簇开始,并且迭代地把簇合并成越来越大的簇,直到所有的对象都在一个簇中,或者满足某个终止条件。在合并步骤,根据某种相似性度量找出两个最接近的簇,并且合并它们,形成一个簇。因为每次迭代合并两个簇,其中每个簇至少包含一个对象,因此凝聚方法最多需要n次迭代。在本发明实施例中,使用一种称作树状图的树形结构来表示层次聚类的过程,聚类处理的具体过程如下:
利用hac聚类算法对联合数据进行聚类,得到树状图。按照预先设定的各截取标准对树状图进行截取,得到各截取标准相对应的聚类结果。
在树状图中,根据不同的截取标准,确定的聚类个数也不同。如图3所示的不同截取标准的截取示意图,截取标准即是在不同的层次进行截取,例如,选择截取标准2得到三个聚类;选择截取标准3得到两个聚类。
在本发明实施例中,可以依据轮廓系数方法,得到各聚类结果对应的轮廓图,并计算各轮廓图对应的第二平均轮廓值;从各第二平均轮廓值中选取取值最大的一个第二平均轮廓值作为第二聚类个数。
采用轮廓系数方法,对不同的截取标准产生的聚类结果进行轮廓系数分析,得出轮廓图,并计算不同截取标准产生的聚类的平均轮廓值。哪个截取标准产生的聚类结果得到的平均轮廓值最大,就选取对应的截取标准,从而得到最优聚类结果。
s105:依据第一聚类个数、第二聚类个数以及预先设定的权重值,确定出接入点个数。
为了使聚类结果更加准确可信,在本发明实施例中对pam和hac的聚类结果进行加权平均。
具体的,可以根据如下公式,计算出接入点个数n;
其中,
s106:判断接入点个数是否大于预设值。
网络中安全接入点的个数为已知信息,预设值即为安全接入点的个数。
当基于各聚类算法确定出的接入点个数大于预设值时,则说明网络中存在发送双面恶魔攻击的伪接入点,此时可以执行s107。
s107:输出存在伪接入点的提示信息。
由上述技术方案可以看出,获取各接入点的rssi数据和lqi数据;将各接入点的rssi数据作为横坐标、lqi数据作为纵坐标,得到联合数据;利用pam算法对联合数据进行迭代聚类,得到第一聚类个数;利用hac聚类算法对联合数据进行处理,得到第二聚类个数。聚类的个数反映了网络中接入点的个数。为了使检测结果更加准确可信,依据第一聚类个数、第二聚类个数以及预先设定的权重值,确定出最终的一个接入点个数。判断该接入点个数是否大于预设值;当接入点个数大于预设值,则说明存在伪接入点,则输出存在伪接入点的提示信息。该技术方案在不提高硬件成本以及检测方法复杂度的情况下,利用数据本身的特性,对数据进行多聚类处理,并综合聚类结果,实时获得网络中接入点数量的信息,检测伪接入点,提高了网络安全性,达到了降低成本、减少误判率的目的。
在实际应用中,也可能存在安全接入点处于异常工作状态的情况,当某个或某些安全接入点出现故障时,相应的,根据上述聚类算法确定出的接入点个数会小于安全接入点的实际个数。因此,当接入点个数小于预设值时,则展示接入点故障的提示信息。
通过展示接入点故障的提示信息,可以便于工作人员及时发现安全接入点故障问题,并进行有效的处理,以降低安全接入点故障带来的影响。
图4为本发明实施例提供的一种伪接入点的检测装置的结构示意图,包括获取单元41、联合单元42、第一聚类单元43、第二聚类单元44、确定单元45、判断单元46和输出单元47;
获取单元41,用于获取各接入点的rssi数据和lqi数据;
联合单元42,用于将各接入点的rssi数据作为横坐标、lqi数据作为纵坐标,得到联合数据;
第一聚类单元43,用于利用pam算法对联合数据进行迭代聚类,得到第一聚类个数;
第二聚类单元44,用于利用hac聚类算法对联合数据进行处理,得到第二聚类个数;
确定单元45,用于依据第一聚类个数、第二聚类个数以及预先设定的权重值,确定出接入点个数;
判断单元46,用于判断接入点个数是否大于预设值;若是,则触发输出单元;
输出单元47,用于输出存在伪接入点的提示信息。
可选的,第一聚类单元包括计算子单元、判断子单元和选取子单元;
计算子单元,用于利用pam算法对联合数据进行聚类,得到聚类轮廓图,并计算聚类轮廓图的第一平均轮廓值;
判断子单元,用于判断聚类次数是否大于或等于预设聚类值;若否,则返回计算子单元;若是,则触发选取子单元;
选取子单元,用于从各第一平均轮廓值中选取取值最大的一个第一平均轮廓值作为第一聚类个数。
可选的,第二聚类单元包括得到子单元、截取子单元、计算子单元和选取子单元;
得到子单元,用于利用hac聚类算法对联合数据进行聚类,得到树状图;
截取子单元,用于按照预先设定的各截取标准对树状图进行截取,得到各截取标准相对应的聚类结果;
计算子单元,用于依据轮廓系数装置,得到各聚类结果对应的轮廓图,并计算各轮廓图对应的第二平均轮廓值;
选取子单元,用于从各第二平均轮廓值中选取取值最大的一个第二平均轮廓值作为第二聚类个数。
可选的,确定单元具体用于根据如下公式,计算出接入点个数n;
其中,
可选的,还包括提示单元;
提示单元,用于当接入点个数小于预设值时,则展示接入点故障的提示信息。
图4所对应实施例中特征的说明可以参见图1所对应实施例的相关说明,这里不再一一赘述。
由上述技术方案可以看出,获取各接入点的rssi数据和lqi数据;将各接入点的rssi数据作为横坐标、lqi数据作为纵坐标,得到联合数据;利用pam算法对联合数据进行迭代聚类,得到第一聚类个数;利用hac聚类算法对联合数据进行处理,得到第二聚类个数。聚类的个数反映了网络中接入点的个数。为了使检测结果更加准确可信,依据第一聚类个数、第二聚类个数以及预先设定的权重值,确定出最终的一个接入点个数。判断该接入点个数是否大于预设值;当接入点个数大于预设值,则说明存在伪接入点,则输出存在伪接入点的提示信息。该技术方案在不提高硬件成本以及检测方法复杂度的情况下,利用数据本身的特性,对数据进行多聚类处理,并综合聚类结果,实时获得网络中接入点数量的信息,检测伪接入点,提高了网络安全性,达到了降低成本、减少误判率的目的。
图5为本发明实施例提供的一种伪接入点的检测装置50的硬件结构示意图,包括:
存储器51,用于存储计算机程序;
处理器52,用于执行计算机程序以实现如上述伪接入点的检测方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述伪接入点的检测方法的步骤。
以上对本发明实施例所提供的一种伪接入点的检测方法、装置和计算机可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。