2. 网络通信与安全紫金山实验室, 南京 211189
2. Purple Mountain Laboratories, Nanjing 211189, China
物联网促进了物理世界和数字世界的深度融合,加速了工业发展,但同时也引发了新的安全问题[1-2]。据Gartner的数据显示,预计到2020年,企业中25%以上的攻击事件涉及物联网设备[3]。为了降低物联网设备接入的风险,必须对设备采取有效的访问控制。然而,传统的认证方式必须依赖强大的加密协议或复杂的认证机制来保证其可靠性,不适用于物理和计算资源均有限的物联网设备。设备指纹技术为上述问题的解决提供了新的思路。设备指纹即设备的网络流量特征,和生物指纹一样,它唯一标识着某一型号的物联网设备。
机器学习算法已经被广泛应用于分类场景中。但是,当面临相似的数据特征时,例如来自同一制造商的软件、硬件相似的两种设备,极易产生分类重叠问题,即多个二分类器结果为正而无法确定最终结果。
本文针对上述问题,提出了一种基于二阶段多分类的物联网设备识别方案,实现对物联网设备的精确识别。在此二阶段多分类识别方案的框架上,提出了一种基于支持向量机(support vector machine,SVM)的二阶段多分类SVM(two-stage multi-classification-SVM,TSMC-SVM)算法,有效提高了设备识别准确率。
本文首先提取了用于综合描述设备网络行为的序列字段特征、序列协议特征、序列统计特征;然后提出了一种基于多分类算法的二阶段设备识别方案,并基于此提出了TSMC-SVM算法;最后通过一系列实验分析了TSMC-SVM算法的性能。
1 相关工作依据网络流量获取方式的不同,设备指纹识别技术可以分为主动识别和被动识别。主动识别的流量通过外部插件监听获得,其核心技术是模糊统计分析[4]。与主动识别相比,被动识别的流量数据来自被动监听,无须安插额外软件,入侵性低,因而更受青睐。Jana等[5]采用线性规划方法和最小二乘拟合技术,分析了时间同步函数(time synchronization function,TSF),发现了不同设备接入点的显著差异,从而可以区分出不同的设备。Gao等[6]在此基础上指出了接入点在体系结构(如芯片、固件、驱动)上的异构性,提取出了一个准确率极高的识别模式,但该实验需要分析多达105个数据报文,实时效率不足。Kohno等[7]利用设备指纹进行入侵检测和网络跟踪:他利用传输控制协议(transmission control protocol,TCP)数据报文的时间戳选项分析设备的内部时钟模式,得到各个时钟微小偏差, 从而识别出相应的设备。然而,该技术仅侧重于远程设备,有一定的局限性。文[8]采用频谱分析技术来识别无线网卡,但缺乏对有线设备的识别。
此外,统计技术在网络管理和异常检测中得到了广泛应用。Yang等[9]通过对大量网络流量的分析,总结出一系列的统计特征,之后许多研究者[10-14]相继证明了基于这些特征实现流量分类的可行性。文[15-16]将统计特征应用于连续报文到达时间间隔(inter-arrival time,IAT)上,并成功将其设计的设备指纹识别方案应用于工业控制系统。
近年来,随着人工智能领域的发展,机器学习方法已逐渐应用于设备指纹技术[17]。一对多SVM(one-versus-all SVM, OVA-SVM)是SVM多分类器中一种成熟的实现方法,它由多个SVM二分类器组成,当增加一个新的类时,只需训练一个新的二分类器[18]。但是,在OVA-SVM中往往存在分类重叠问题,具有一定的局限性。
2 二阶段多分类设备识别方案 2.1 方案概述本文提出的基于二阶段多分类的物联网设备识别方案如图 1所示。
|
| 图 1 二阶段多分类的物联网设备识别方案 |
1) 特征提取模块。特征提取模块从设备启动阶段开始监听和捕获物联网设备的网络流量,提取成固定格式的特征向量, 即设备指纹,作为后续分类的依据。同时,考虑到物联网设备物理资源和计算资源的有限性,获取到数据可靠且所需计算资源尽可能少的特征是该模块的目标。
2) 多分类模块。选取适宜的多分类算法,通过分析特征提取模块得到的网络特征向量,对设备进行初步识别。现有的分类算法在多分类问题中往往存在分类重叠、准确率低的问题,因此需要建立最大相似度比较模块进行二次分类。
3) 最大相似度比较模块。选取某一合适的相似度指标,对于多分类模块中出现分类重叠而无法分类的设备,计算待识别设备和各类型样本设备的相似度,将相似度最大的样本设备类型作为最终分类结果。
2.2 特征提取设备指纹的稳定性和可行性需要重视:稳定性描述的是设备指纹抗外界因素干扰的能力;可行性描述的是设备指纹的可计算性,主要关注的是计算的复杂程度。随着时间的变迁和任务的调整,设备的网络行为将实时变化,呈现出截然不同的网络流量,因此要选择能提供稳定流量的时间窗口进行流量提取。
2.2.1 时间窗口选择设备的整个工作过程可以分为启动阶段和服务阶段。启动阶段指设备从上电到完成各项硬件和软件配置的过程。由于加载项的依赖关系,该过程具有严格的加载顺序和行为模式,因此该阶段的流量数据具有唯一性和可重复性。在服务阶段,设备的网络行为容易受到环境变化的影响,例如网络管理员对网络环境配置的更改、对端通信实体因为某些因素发生行为改变等,无法提供稳定的流量数据。
此外,从可行性上看,由于物联网设备系统是轻量级的,开机时间短,流量数据少且单一,所需的计算较少。基于上述原因,本文仅提取设备启动阶段的流量特征生成设备指纹。
2.2.2 特征选择及编码对于启动阶段的流量数据,从序列字段、序列协议以及序列统计这3个方面进行特征提取。序列字段特征刻画了流量的报文细节信息,序列协议特征刻画了流量的传递信息,序列统计特征刻画了流量的网络行为轮廓,三者从局部到整体,完整地展现了设备的网络行为。
1) 序列字段特征。序列字段特征来自物联网设备在TCP/IP协议传输时网络层和传输层中的数据报文,展现了不同设备类型在传输时IP/TCP/UDP(user datagram protocol,用户数据报协议)的差异。序列字段特征选择如表 1所示。
| 域名 | version | ttl | df | net_proto | net_opt | trans_opt | 端口 |
| 编码 | 0/1 | 0/1/2 | 0/1 | 0/1/2 | 0/1 | 0/1 | 0/1/2 |
序列字段特征编码规则如下:version用于区分IPv4和IPv6,IPv4编码为0,IPv6编码为1。将ttl为64时的特征定义为1,ttl小于64时编码为0,大于64时编码为2。对于df字段,报文不分片编码为1,分片编码为0。对于net_proto字段,TCP编码为0,UDP编码为1,其余为2。net_opt用于指示IP报文是否存在option选项,即IP报文头部是否大于20,是则编码为1,否则为0。trans_opt表征TCP/UDP报文中是否存在option选项。端口则是根据因特网号码分配机构的端口划分规则,将公认端口(0~1 023)、注册端口(1 024~49 151)和动态端口(49 152~65 535)分别编码为0、1和2。由于序列字段是从单个数据报文中提取的,因此可生成特征矩阵M,
| $ \boldsymbol{M}=\left[\begin{array}{ccccc} f_{1.1} & f_{1.2} & f_{1.3} & \cdots & f_{1 ,n} \\ f_{2.1} & f_{2.2} & f_{2.3} & \cdots & f_{2 ,n} \\ \vdots & \vdots & \vdots & \vdots & \vdots \\ f_{7.1} & f_{7.2} & f_{7.3} & \cdots & f_{7 ,n} \end{array}\right] $ | (1) |
其中n表示数据报文的数量。将M转换为一维向量F1,
| $ \boldsymbol{F}_{1}=\left\{f_{1, 1}, f_{1.2}, \cdots, f_{1, n}, \cdots, f_{7, 1}, f_{7, 2}, \cdots, f_{7, n}\right\} $ | (2) |
2) 序列协议特征。根据设备在传输层协议使用情况,选取了14个协议作为设备识别的依据,如表 2所示。序列协议特征的编码规则为:若流量中存在表 2所列的某种协议,则记为1;否则记为0。例如,网络摄像头除了运行ONVIF协议外,为方便管理,生产商还会为其部署SNMP、SSH、TELNET协议。因此,该类型设备的特征向量为F2={0,0,1,0,0,1,0,1,1,0,0,0,0,0}.
| 类型 | 协议 |
| 基于TCP的协议 | HTTP, HTTPS, SSH, FTP, RTSP, TELNET, RAW |
| 基于UDP的协议 | SNMP, ONVIF, DNS, NFS, DHCP, TFTP, POP |
3) 序列统计特征。本文使用的统计量如表 3所示。
| 统计量 | 计算公式 |
| 总和 | |
| 最大值 | Max |
| 最小值 | Min |
| 平均值 | |
| 方差 | |
| 标准差 | |
将表 3中的统计量分别应用于IP报文长度和IAT,得到流量统计特征向量F3,
| $ \boldsymbol{F}_{3}=\left\{f_{\text {lenl }}, f_{\text {len2 }}, \cdots, f_{\text {lens }}, f_{\text {int } 1}, f_{\text {int } 2}, \cdots, f_{\text {iat } 6}\right\} $ | (3) |
结合上述特征向量,可以得到总的网络特征向量F4,如式(4)所示(其中Y为设备类型),并对其进行最小-最大归一化处理。
| $ \boldsymbol{F}_{4}=\left\{\boldsymbol{F}_{1}, \boldsymbol{F}_{2}, \boldsymbol{F}_{3}, Y\right\} $ | (4) |
基于上述二阶段多分类识别方案,本文提出了TSMC-SVM物联网设备识别算法。该算法在多分类模块采用OVA-SVM算法,在最大相似度模块采用改进的余弦相似度计算。
2.3.1 基于OVA-SVM的多分类SVM算法最初是为二分类问题设计的,目前基于SVM构造多分类器主要有两种方式:1)直接构造目标函数;2)基于分治思想,组合多个二分类器以构造出多分类器。前者计算复杂度高,实现困难; 后者巧妙地将多分类问题分解成多个二分类问题,通过策略组合得到结果,最为常见的策略是一对一(one versus one, OVO)和一对多(one versus all, OVA)。
OVO-SVM的核心思想是在训练阶段将任意两个不同类别的样本作为正样本集和负样本集,为其构建二分类器。因此,对于拥有k种类型的样本集,需要构造(k-1)k/2个二分类器。若样本集类型增加n个,则所需的二分类器数量增加n2个。
OVA-SVM在训练阶段依次将某一类别的样本归为正样本集,而其他剩余样本自动归为负样本集。对于拥有k种类型的样本集只需构造k个二分类器。该模型分类速度快,并且具备高可扩展性,当需要增加新的类型时,只需要为新增类型训练新的二分类器,不必重新训练整个分类算法。考虑到物联网设备资源有限,本文选用OVA-SVM多分类算法进行第1阶段识别。该模型的缺点是当测试结果中存在多个二分类器的判别结果为正值时,则无法确定最终的判别结果。该现象被称为分类重叠现象。
2.3.2 基于余弦相似度的二次分类本文选用余弦相似度作为最大相似度计算指标。定义某种设备类型的样本集为S、每个样本的特征量为Sj,待识别设备的特征向量为V:
| $ \begin{aligned} S &=\left\{\boldsymbol{S}_{1}, \boldsymbol{S}_{2}, \boldsymbol{S}_{3}, \cdots, \boldsymbol{S}_{j}, \cdots, \boldsymbol{S}_{m}\right\} \\ \boldsymbol{S}_{j} &=\left\{s_{j 1}, s_{j 2}, s_{j 3}, \cdots, s_{j i}, \cdots, s_{j n}\right\} \\ \boldsymbol{V} &=\left\{v_{1}, v_{2}, v_{3}, \cdots, v_{i}, \cdots, v_{n}\right\} \end{aligned} $ | (5) |
其中: n表示特征数量,m表示样本数量。平均余弦相似度用V和Sj表示为
| $ \text { cosine-similarity }=\frac{1}{m} \sum\limits_{j=1}^{m} \frac{\boldsymbol{V} \cdot \boldsymbol{S}_{j}}{\|\boldsymbol{V}\| \cdot\left\|\boldsymbol{s}_{j}\right\|} $ | (6) |
其中:
| $ \begin{array}{c} \|\boldsymbol{V}\|=\sqrt{\sum\limits_{i=1}^{n} v_{i}^{2}},\left\|\boldsymbol{S}_{j}\right\|=\sqrt{\sum\limits_{i=1}^{n} s_{j i}^{2}} \\ \boldsymbol{V} \cdot \boldsymbol{S}_{j}=\sum\limits_{i=1}^{n} v_{i} s_{j i} \end{array} $ | (7) |
该计算过程存在2个弊端:1)计算效率较低。由于每个样本类型均有一定数量的设备,因此需将待测设备的特征向量与各个类型的所有设备进行余弦相似度计算,再依次求取待测设备与每种类型的平均相似度进行比较,资源耗费巨大。2)量纲的统一性问题。余弦相似度考虑的是向量方向的相似性而忽略了量纲偏差,无法评估向量长度的绝对值大小。假设设备D1和D2在最小IP负载和最大IP负载上的特征向量分别为V1={1,2}和V2={4,5},可算出V1和V2之间的余弦相似度高达0.98,然而这个相似度数值并没有体现出两个设备的有效载荷长度的差异,即设备D2的有效载荷比设备D1的有效载荷长得多。基于上述问题,本文分别进行了两点改进工作:
1) 余弦相似度量纲修正。修正余弦相似度可以从去中心化的角度纠正量纲的偏差。该方法的核心思想是在计算相似度之前将各维度的数值减去各维度的均值。对特征向量V1={1,2}和V2={4,5},若它们的最小IP负载和最大IP负载的平均值均为3,调整后的V1adj={-2,-1},V2adj={1,2},则此时D1和D2的余弦相似度变为-0.8。显然,该相似度数值更符合设备D1和D2的有效载荷长度存在较大差异的事实。
2) 余弦相似度计算效率优化。由式(5)—(7)可知,该算法的复杂度为O(nm)。通常n是固定的,可以通过特征筛选来减少,但是用于优化算法的样本集在不断扩展,因此m成为算法性能的瓶颈。为此,本文作者对样本进行了预处理,使算法的复杂度降低到O(n)。具体的操作过程为:将Sjnorm作为Sj的规格化结果,
| $ \boldsymbol{s}_{j_{\text {enm }}}=\frac{\boldsymbol{S}_{j}}{\left\|\boldsymbol{S}_{j}\right\|} $ | (8) |
式(6)可改写成
| $ \text { cosine-similarity }=\frac{\boldsymbol{V}}{\|\boldsymbol{V}\|} \cdot \frac{1}{m} \sum\limits_{j=1}^{m} \boldsymbol{S}_{j=1}=\boldsymbol{V}_{\text {norm }} \cdot \boldsymbol{S}_{\mathrm{pre}} $ | (9) |
Vnorm和Spre分别为:
| $ \boldsymbol{V}_{\text {norm }}=\frac{\boldsymbol{V}}{\|\boldsymbol{V}\|}, \boldsymbol{S}_{\text {pre }}=\frac{1}{m} \sum\limits_{j=1}^{m} \boldsymbol{S}_{j_{\text {noten }}} $ | (10) |
Spre是独立于Vnorm的,因此可以预先对各类型样本数据进行预处理,得到Spre作为该类型的平均特征向量,将其与待分类设备的网络特征向量计算余弦相似度,即可得到设备的最终分类结果。在这个过程中,预处理只需要进行一次,故该算法的时间复杂度为O(n)。仅当样本集发生显著变化时,才需要重新计算Spre。
3 实验与评估 3.1 数据库选择本文用于测试评估设备指纹算法性能的数据来自开源的IoT流量数据集,涵盖了智能照明电器、健康监测设备、家用电器和安全摄像头等常见的物联网设备。研究人员在网关处通过tcpdump软件进行流量监听,再通过MAC地址进行过滤后以pcap文件格式存储。每个设备都被重复测试了20次。为得到可靠稳定的分类模型,进行了10次10折交叉验证。
3.2 时间窗口大小确定实验中时间窗口大小用设备启动后获取的数据报文数量来度量,因此首先要确定需要多少数据报文足以识别一个物联网设备。一般来说,数据报文的数量越多,特征维数越高,识别准确率越高,但考虑到物联网设备存储及计算资源的有限性,不宜选取过多的特征。本文进行了相关实验以确定所需数据报文的最佳数量。图 2展示了识别准确率与数据报文数量之间的关系:随着数据报文的数量的增加,准确率迅速提高。当数据报文个数在20左右时,识别准确率趋于稳定。
|
| 图 2 识别准确率和数据报文数量的关系 |
为了看清细节,对数据报文个数等于20的情况进行实验,结果如图 3所示。当数据报文数量达到20个时,所有设备类型的识别准确率都超过了90%,部分达到了95%。因此,选定本文实验的时间窗口大小为20。
|
| 图 3 数据报文个数为20时的设备识别准确率 |
3.3 实验结果分析
图 4的混淆矩阵图清楚地展示了利用OVA-SVM进行设备识别时出现的分类重叠问题。该矩阵是由OVA-SVM算法计算得到的,描述了算法对不同设备类型的识别混淆程度。从图 4中可以发现,算法对前8种设备类型的识别混淆度比较低,设备识别准确率较好;而对于最后两种相似设备, 其混淆度很高,其中有24%的TP-LinkPlugHS100样本被识别成了TP-LinkPlugHS110,同时有28%的TP- LinkPlugHS110样本被识别成了TP-LinkPlugHS100。
|
| 图 4 OVA-SVM算法进行识别的混淆矩阵图 |
与OVA-SVM相比,本文提出的TSMC-SVM算法在识别具有较大差异的设备时具有较高的准确率;而在识别相似度较高的两种设备时,如均来自TP-LINK的同系列产品TP-LinkPlugHS100和TP-LinkPlugHS110,TSMC-SVM算法的准确率明显要高。
对OVA-SVM的可分类次数、不可分类次数和分类重叠次数进行统计分析发现,可分类次数占91.3%,不可分类次数和分类重叠次数分别占3.6%和5.1%。在TSMC-SVM算法中,未分类的设备被直接视为异常设备,禁止在受管理的网络中进行访问,可分类次数占100%,未出现不可分类问题和分类重叠问题,提高了系统的安全性。此外,在识别准确率上,OVA-SVM算法的准确率为89.7%。与OVA-SVM相比,由于余弦相似度计算模块的搭建,TSMC-SVM的分类准确率提高了3.6%。
4 总结本文提出了一种基于二阶段多分类的物联网设备识别方案及TSMC-SVM算法。该方案首先从数据序列中提取出序列字段特征、序列协议特征和序列统计特征,构建出一个特征向量作为设备指纹;然后将特征向量输入至第1阶段多分类模块中,利用OVA-SVM算法对设备进行初步分类;然后,将第1阶段分类结果输入至第2阶段余弦相似度计算模块中,对于第1阶段分类结果中出现分类重叠现象的设备,采用改进的余弦相似度作为评价指标进行二次分类,从而对物联网设备实现精确识别。实验结果表明,与基于单一的机器学习多分类算法相比,本文提出的TSMC-SVM设备识别算法准确率明显提高。
| [1] |
BERTINO E, ISLAM N. Botnets and Internet of Things security[J]. Computer, 2017, 50(2): 76-79. |
| [2] |
MINOLI D, SOHRABY K, OCCHIOGROSSO B. IoT considerations, requirements, and architectures for smart buildings:Energy optimization and next-generation building management systems[J]. IEEE Internet of Things Journal, 2017, 4(1): 269-283. |
| [3] |
Gartner. Gartner says worldwide IoT security spending will reach $1.5 billion in 2018[N/OL].[2019-04-15]. https: //www.gartner.com/en/newsroom/press-releases/2018-03-21-gartner-says-worldwide-iot-security-spending-will-reach-1-point-5-billion-in-2018.
|
| [4] |
COPPI R, GIL M A, KIERS H A L. The fuzzy approach to statistical analysis[J]. Computational Statistics & Data Analysis, 2006, 51(1): 1-14. |
| [5] |
JANA S, KASERA S K. On fast and accurate detection of unauthorized wireless access points using clock skews[J]. IEEE Transactions on Mobile Computing, 2010, 9(3): 449-462. |
| [6] |
GAO K, CORBETT C, BEYAH R. A passive approach to wireless device fingerprinting[C]//2010 IEEE/IFIP International Conference on Dependable Systems & Networks (DSN). Chicago, USA, 2010: 383-392.
|
| [7] |
KOHNO T, BROIDO A, CLAFFY K C. Remote physical device fingerprinting[J]. IEEE Transactions on Dependable and Secure Computing, 2005, 2(2): 93-108. |
| [8] |
CORBETT C L, BEYAH R A, COPELAND J A. Passive classification of wireless NICs during active scanning[J]. International Journal of Information Security, 2008, 7(5): 335-348. |
| [9] |
YANG K, LI Q, SUN L M. Towards automatic fingerprinting of IoT devices in the cyberspace[J]. Computer Networks, 2019, 148: 318-327. |
| [10] |
AULD T, MOORE A W, GULL S F. Bayesian neural networks for Internet traffic classification[J]. IEEE Transactions on Neural Networks, 2007, 18(1): 223-239. |
| [11] |
CELIK Z B, MCDANIEL P, BOWEN T. Malware modeling and experimentation through parameterized behavior[J]. The Journal of Defense Modeling and Simulation:Applications, Methodology, Technology, 2018, 15(1): 31-48. |
| [12] |
LIU Z, WANG R Y, JAPKOWICZ N, et al. Mobile app traffic flow feature extraction and selection for improving classification robustness[J]. Journal of Network and Computer Applications, 2019, 125: 190-208. |
| [13] |
MOORE A W, ZUEV D. Internet traffic classification using Bayesian analysis techniques[C]//Proceedings of the 2005 ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems. Banff, Canada, 2005: 50-60.
|
| [14] |
SHAFIQ M, YU X Z, BASHIR A K, et al. A machine learning approach for feature selection traffic classification using security analysis[J]. The Journal of Supercomputing, 2018, 74(10): 4867-4892. |
| [15] |
FORMBY D, SRINIVASAN P, LEONARD A, et al. Who's in control of your control system? Device fingerprinting for cyber-physical systems[C]//Network and Distributed System Security Symposium. San Diego, USA, 2016: 1-15.
|
| [16] |
RADHAKRISHNAN S V, ULUAGAC A S, BEYAH R. GTID:A technique for physical device and device type fingerprinting[J]. IEEE Transactions on Dependable and Secure Computing, 2015, 12(5): 519-532. |
| [17] |
MIETTINEN M, MARCHAL S, HAFEEZ I, et al. IoT Sentinel: Automated device-type identification for security enforcement in IoT[C]//Proceedings of the 37th International Conference on Distributed Computing Systems (ICDCS). Atlanta, USA, 2017: 2177-2184.
|
| [18] |
HSU C W, LIN C J. A comparison of methods for multiclass support vector machines[J]. IEEE Transactions on Neural Networks, 2002, 13(2): 415-425. |


