基于机器学习的恶意双胞胎攻击检测
2021-09-08汪卓越王春东
汪卓越,王春东*
(天津理工大学a.天津市智能计算及软件新技术重点实验室,b.计算机视觉与系统省部共建教育部重点实验室,c.计算机科学与工程学院,天津300384)
如今,无线局域网广泛应用于许多公共场所。公共场所提供免费的热点(access point,AP)服务,用户可以使用其移动设备或便携式计算机连接到Internet[1]。但是,无线通信具有开放性,很容易受到严重的网络攻击[2]。无线局域网中最突出的问题之一就是恶意双胞胎攻击。恶意双胞胎AP通过欺骗服务集标识符(service set identifier,SSID)的方式来创建,很容易在网络中发动攻击[3]。大多数攻击者将恶意双胞胎AP放置在目标用户群附近,当用户通过恶意AP连接到Internet时,恶意AP的创建者可以嗅探用户发送的数据,使用户的财产安全受到威胁[4]。
本文以恶意双胞胎攻击检测为目标,先简要介绍恶意双胞胎攻击的相关知识以及恶意双胞胎攻击所造成的危害,然后介绍恶意双胞胎攻击检测方法,最后分别使用K近邻(K-nearest neighbor,KNN)、支持向量机(support vector machine,SVM)、逻辑回归(logistic regression,LR)、朴素贝叶斯(naive Bayes,NB)4种算法实现分类,将其结果进行对比分析。
1 恶意双胞胎相关原理
恶意双胞胎AP,也可以称为流氓AP。与通常由内部人员为方便起见而安装并直接连接到内部有线网络的传统恶意AP有所不同,恶意双胞胎通常是由外部人员出于恶意目的安装的,并通过附近现有的合法AP连接到Internet[5]。恶意双胞胎攻击模型如图1所示。通过一些现成的软件,攻击者可以将笔记本电脑转变为恶意双胞胎AP。然后,攻击者将恶意双胞胎AP的SSID设置为他打算伪造的合法AP的SSID。恶意双胞胎AP可以利用高接收信号强度指示(received signal strength indication,RSSI)吸引普通的WiFi(wireless fidelity)用户进行连接。根据802.11标准,即使用户周围存在很多AP,WiFi用户始终会选择性能最强的AP与RSSI关联[6]。此外,攻击者可以发起取消身份验证攻击,以迫使正常的WiFi用户与合法AP解除关联并连接到恶意双胞胎AP[7]。最后,恶意双胞胎AP通过合法AP将WiFi用户数据转发到Internet。通过恶意双胞胎AP将用户数据发送到Internet时,恶意双胞胎AP可以嗅探数据以窃取敏感信息[8]。
图1 恶意双胞胎攻击模型Fig.1 Evil twin attack model
2 恶意双胞胎攻击的危害
恶意双胞胎攻击很容易发动,并且恶意双胞胎攻击也很容易成功[3]。当用户接入恶意双胞胎AP时,攻击者就能够窃取用户的流量,并发起一些攻击,比如拦截、重播、流量操纵。
攻击者可以向用户发动中间人攻击[9],即使用户在设备中使用类似SSL(secure socket layer)的加密方式,也可能遭到攻击并造成财产损失。攻击者使用恶意双胞胎AP充当中间人,使用类似SSLstrip2的工具来解密流量,之后使用burpproxy来生成假证书,获取用户的信任。最后,攻击者就能够解密流量,修改流量,并劫持会话。
攻击者还可以向用户发动DNS(domain name system)欺骗攻击。当用户请求某个域时会接收到错误的IP(internet protocol)地址,这导致用户访问恶意网址,而不是实际的网址。攻击者可以通过恶意网站获取用户个人敏感信息,并通过这些信息假冒用户进行欺诈性金融交易。目前恶意网站形式多种多样,主要有两种诈骗形式:第1种是冒充官方中奖网站,诱骗用户填写个人信息;第2种则是高仿在线支付网页,导致用户误操作。
此外,移动操作系统,如IOS(iPhone OS)或Android,也都可以用来搭建恶意双胞胎AP。当攻击者使用智能手机发动这种攻击时,用户很不容易防备。恶意双胞胎AP几乎复制了合法AP的所有特征,使得这种攻击更难被发现。导致用户在毫无防备的情况下被攻击者攻击并被窃取敏感信息,例如密码、Web会话、信用卡信息等。
3 基于特征信息的恶意双胞胎攻击检测
3.1 机器学习算法的介绍
1)KNN。K近邻算法中的k是一个正整数,通常很小。在分类或回归中,输入将由空间内最近的k个训练示例组成。邻居的数量k通常通过交叉验证来选择,通过距离或不相似度量找到最近邻居。这通常通过将对象视为多维特征空间中的点或位置向量来计算。
2)SVM。对于支持向量机算法,给定一组标记的训练数据,SVM模型将实例映射到属于x或y类别的数据点,并在它们之间创建一个超平面,充当决策边界[10]。然后,通过新的数据属于超平面的哪部分,对新数据进行标记。该算法在处理小型数据集时特别有效。处理较大的数据集时,可能需要一些时间来处理结果。最大化边际可以表述为下面的优化问题,如公式(1)所示:
3)LR。逻辑回归算法易于解释且用途广泛,非常适合于可解释性和推理至关重要的应用程序,例如欺诈检测。如公式(2)所示:
4)NB。朴素贝叶斯算法是一种预测建模算法。朴素贝叶斯模型假设每个输入变量都与其他变量无关。它将具有属性值A1=v1,A2=v2,…,Am=vm的实例x分配给具有最大后验概率P(Ci(Ci|(v1,v2,…,vm)))的所有i,如公式(3)(4)所示。
3.2 评测指标
为了更加直观地描述4种分类器的检测性能,构建了混淆矩阵[11]。如表1所示,如果一条数据是恶意的,并且它被预测为恶意的,则将此事件记为真阳性(TP);然而,如果一条数据是恶意的,却被预测为良性的,则将此事件记为假阴性(FN)。同理可知,假阳性(FP)和真阴性(TN)。
表1 混淆矩阵Tab.1 Confusion matrix
本文使用了true positive rate(TPR)、false positive rate(FPR)、F-measure(FM)、accuracy(ACC)、recall(REC)、precision(PRE)、area under curve(AUC)7种性能指标来评估分类器的检测性能[12],如公式(5)~(10)所示:
其中,receiver operating characteristic(ROC)曲线下的面积和与AUC的值相等[13],如公式(11)所示:
3.3 检测模型的构建
首先通过连接合法AP获得正常的接入设备信息,之后通过连接恶意双胞胎AP获取异常的接入设备信息。通过对管理帧中的信标帧主体进行解析提取,得到特征指纹信息,结合机器学习,实现对恶意双胞胎攻击的检测。
恶意双胞胎攻击检测模型主要由4个模块构成:数据收集模块,预处理模块,训练模块,分类器验证模块。简要流程如图2所示。
图2 攻击检测流程Fig.2 Attack detection process
本文选择的恶意双胞胎攻击检测方法是基于机器学习模型,主要的技术难度在于数据帧的收集、解析和处理。本次实验所需要的特征指纹主要提取自802.11协议中的管理帧中的信标帧[12]。对于不同的设备,在其配置信息上会有一些不同,例如MAC地址或者无线网卡驱动等,正是由于这些区别,可以通过提取特征字段的方式来区分是否为恶意双胞胎AP。下面介绍特征指纹。
1)管理帧结构。一般来说,管理帧的格式不会发生变化,只是特定字段的内容有所不同[13]。其中,管理帧头主要由一些固定的字段构成,如序列控制、BSSID等。管理帧结构如图3所示。
图3 管理帧结构Fig.3 Manage frame structure
2)信标帧主体。无线AP定期发出信标帧(beacon帧),通告其他设备此AP是可用的,并且包含连接到网络所需的所有必需信息[14]。正是由于信标帧的这些特点,可以从中提取很多关于AP的特征信息。信标帧主体信息如表2所示。
表2 信标帧信息Tab.2 Beacon frame information
3)特征指纹分析。通过对信标帧主体的分析,选择以下特征指纹信息:MAC(mandatory access control),RSSI,Supplier,Country,Dns_delay。
MAC:每个无线设备的唯一标识符[15]。一般而言,如果攻击者不特意伪造和合法AP相同的MAC地址,则恶意双胞胎AP和合法AP的MAC地址不同。因此,可将此字段作为特征信息。
RSSI:网络的信号质量以RSSI来衡量,通常以分贝(dB)或类似的dBm(dB/mW)表示,其中较小的负数表示最高信号量[16]。因此,可将此字段作为特征信息。
Supplier:这一字段表示供应商信息。一般来说,合法AP和恶意双胞胎AP的供应商信息不一定相同。因此,可将此字段作为特征信息。
Country:这一字段表示当前AP无线路由器所在的国家信息。不是所有AP发送的信标帧都包含此信息。一般来说,大型商场、企业、校园WiFi中的Country字段是存在的,因此,可以将有无此字段作为特征信息。
Dns_delay:这一字段表示用户设备连接AP的DNS时延,由于恶意双胞胎AP在合法AP和无线网络间中继流量,所以连接恶意双胞胎AP的DNS时延会高于连接合法AP的DNS时延。因此,可将此字段作为特征信息。
最后是分类器的训练与分类效果的验证阶段,对70%的数据进行训练,选取剩余30%的数据作为测试集,验证分类效果。
4 实验验证
本实验通过分别连接合法AP和恶意双胞胎AP,利用数据收集模块和预处理模块将合法AP的特征指纹和恶意双胞胎AP的特征指纹存入文件中,并对每条数据打上标签。总共收集了超过3 000条数据,作为本实验的数据集。
实验环境如下:硬件环境为DELL灵越7559笔记本电脑,8 GB内存,500 GB硬盘,1 T服务器硬盘,WA102155无线网卡。软件环境为Windows 7操纵系统,Python语言。
在实验中,选取70%的数据作为训练集,选择MAC、RSSI、Supplier、Country、DNS_Delay作为特征属性,使用4种机器学习算法进行训练,得到分类器,剩下的数据用来对分类效果进行验证。为了使各个分类器的分类效果达到最优,具体的实验参数设置如下,对于KNN分类器,超参数k设置为3,明可夫斯基距离对应的参数P为2;对于SVM分类器,核函数kernel设置为rbf,惩罚系数C设置为1,核函数系数gamma设置为0.01;对于LR分类器,优化算法选择参数solver设置为liblinear,正则化强度C设置为0.8;对于NB分类器,拉普拉斯平滑参数alpha设置为1,布尔型可选参数fit_piror设置为默认值True。
实验得到不同分类器的分类性能指标,如表3所示。
表3 不同分类器的分类性能指标Tab.3 Classification performance index of different classifiers
下面在图4给出检测率对比。
从实验中可以看出,4种分类器的异常检测率都有所不同,其中KNN分类器的检测率为0.905,SVM分类器的检测率为0.964,LR分类器的检测率为0.942,NB分类器的检测率为0.925。4种分类器的检测率都高于0.900,检测效果良好,误报率低。可以得出,选择MAC、RSSI、Supplier、Country、DNS_Delay 5种特征属性结合常见的机器学习算法来检测恶意双胞胎攻击的方法是可行的。此外,实验不需要额外的设备,成本低,适用于各种场所,且不受环境影响,具有高普适性。
对第2组实验,使用不同数目的特征,分别使用上述4种分类器进行分类,得到各个分类器的检测率。如图5所示,随着特征维度的增高,分类器的FPR逐渐降低,各个分类器的准确度逐渐增高。
图5 特征数量和FPR的关系Fig.5 The relationship between characteristic number and FPR
5 结论
随着无线技术的发展,如今人们已离不开无线网络。因此,无线网络安全性的保证是必须要解决的问题。本文详细介绍了恶意双胞胎攻击的原理及危害,然后提出了基于数据特征的检测方法,通过对802.11协议中的管理帧中的信标帧进行解析,提取得到特征指纹MAC、RSSI、Supplier、Country、Dns_delay。分别使用KNN、SVM、LR、NB 4种算法实现分类,将其结果进行对比。实验结果表明,4种分类算法均达到90.0%以上的准确率,其中SVM分类算法更是达到96.4%,该检测方法在检测恶意双胞胎攻击方面有较高的准确性。