基于深度学习的物联网终端设备接入认证方法
doi:10.3969/j.issn.1671-1122.2020.11.009
基于深度学习的物联网终端设备接入认证方法
程洋,雷敏,罗
(北京邮电大学网络空间安全学院,北京 100876)
摘  要:目前基于数据流量的被动设备指纹的识别方法未考虑数据包之间时间到达顺序,无法提取出其深层特征。文章提出一种基于深度学习模型的物联网设备接入认证
方法。该方法从设备入网配置阶段产生的数据包中提取设备特征构建被动式设备指纹,
采用双向长短期记忆网络(Bi-LSTM)提取设备指纹中的深层特征。为提高设备识别能
力,文章使用固定窗口滑动机制以及SMOTE算法从特征提取和向量化处理两个阶段增
强数据,解决数据不平衡问题并去除干扰向量。仿真结果表明,该方法可有效识别设备
身份,与传统机器学习和深度学习相比,文章提出的方法设备识别准确率提升了6%。
关键词:物联网终端设备;接入认证;深度学习;设备指纹识别
中图分类号:TP309  文献标志码: A  文章编号:1671-1122(2020)11-0067-08
中文引用格式:程洋,雷敏,罗.基于深度学习的物联网终端设备接入认证方法[J].信息网络安全,2020,20(11):67-74.
英文引用格式:CHENG Yang, LEI Min, LUO Qun. Access Authentication Method for IoT Terminal Devices Based on Deep Learning[J]. Netinfo Security, 2020, 20(11): 67-74.
Access Authentication Method for IoT Terminal Devices Based on
Deep Learning
CHENG Yang, LEI Min, LUO Qun
(School of Cyberspace Security, Beijing University of Posts and Telecommunications, Beijing 100876,
China)
Abstract: At present, the fingerprint identification methods of passive devices based on data flow do not consider the time arrival order between packets, also can not extract its deep
features. This paper proposes an access authentication method for Internet of things based on
deep learning. This method extracts device features from the data packets generated in the
configuration phase of device access to construct passive device fingerprints, uses Bi-LSTM
to extract deep features from the device fingerprints. In order to improve the equipment
recognition ability, this paper uses fixed window sliding mechanism and smote algorithm
to enhance the data from feature extraction and vectorization processing, so as to solve the
problem of data imbalance and remove the interference vector. The simulation results show
that the method can effectively identify the device identity. Compared with the traditional
machine learning and deep learning, the accuracy of the proposed method is improved by 6%.
Key words: IoT terminal device; access authentication; deep learning; device fingerprint recognition
基金项目:国家重点研发计划[2018YFB0803602]
作者简介:程洋(1994—),男,山东,硕士研究生,主要研究方向为物联网与嵌入式系统;雷敏(1979—),男,江西,副教授,博士,主要研究方向为网络安全;罗(1959—),女,江西,教授,博士,主要研究方向为网络安全。
通信作者:
0 引言
无论是传统互联网还是物联网,网络安全机制都至关重要。接入认证是网络安全机制中重要的一环。当前,物联网终端接入认证方式有3种,除验证证书和密钥两种方式外,还有设备指纹认证方法。证书验证是通过验证设备上存储的证书进行接入认证;密钥认证是设备通过与服务器交互,对设备上传的密钥进行验证;设备指纹认证是通过提取设备的各种信息组成设备唯一的标识符进行认证。相比前
两种方法,设备指纹认证方法的优点在于其对设备自身的计算和存储能力需求较低,由服务器负责完成设备指纹的生成任务,与物联网环境更加契合。按照特征采集方式不同,设备指纹可分为主动式设备指纹和被动式设备指纹。主动式设备指纹以设备自身属性作为特征,被动式设备指纹从设备与服务端通信时产生的数据包中提取特征。其中,被动式设备指纹的安全性能较好,但设备身份识别的准确率却低于主动式设备指纹。因此,本文针对现有文献特征工程中存在的样本不平衡及存在干扰向量等问题进行改进,并使用深度学习算法完成设备身份识别来提高被动式设备指纹场景下设备识别的准确率。
1 研究背景
传统的设备指纹技术以主动式设备指纹为主,并由设备的固有属性作为特征生成。FIFIELD[1]等人通过调用enumerateFonts()方法检索安装在此设备上的所有字体,通过fontName属性对检索到的字体对象数组进行排序,为设备提供指纹。ECKERSLEY[2]等人提出在设备指纹中引入熵的概念,通过Flash获得的属性和插件列表具有很高的熵值,熵值和生成指纹的唯一性有很大联系。随后,V ASTEL[3]等人通过研究发现90%的桌面指纹和81%的移动指纹具有唯一性,证实了文献[2]的结果。T AKEI[4]等人使用CSS层叠样式表对用户设备进行指纹识别。MOWERY[5]等人利用HTML5中的地理位置API在设备访问浏览器时获取设备的地理位置作为设备指纹的特征信息之一,有效标识设备并提升设备指纹的复杂性。ST AROV[6]等人提出将浏览器已安装的扩展作为特征信息更易于指纹识别,通过
分析1656个执行可检测DOM更改的扩展,得到结果表明90%的扩展表现出变化中的唯一组合。虽然使用设备的软件及插件信息在一定程度上能够提升设备指纹的安全性能,但仍无法保证其唯一性。
现代服务
目前被动式设备指纹接入认证算法普遍采用基于浅层特征学习的方法,文献[7]使用协议类型作为设备特征构建设备指纹矩阵,文献[8]在文献[7]的特征工程基础上采用了最邻近(KNN)、增强学习(AdaBoost)以及支持向量机(SVM)等算法实现基于被动式设备指纹的设备接入认证,上述方法均属于浅层的特征表示方法。FRANKLIN[9]等人提出一种被动指纹可以识别网络连接设备上不同的无线驱动程序的被动指纹方法。HAMAD[10]等人提出一种支持多种通信连接技术(包括WiFi、ZigBee、Ethernet、Z-W ave等)的物联网设备识别方法,并在通信设备的数据集上进行了测试,测试效果良好。RADHAKRISHNAN[11]等人提出一种识别连接到IP网络设备类型的方法,实现对设备类型的识别。SIBY[12]等人设计了一种物联网扫描仪,通过可视化媒体访问控制(MAC)层的流量来识别设备,但定期用于识别设备并将其指纹与基线进行比较会增加处理负载。文献[13-15]使用数据包到达时间间隔(IA T)值作为设备唯一特征,使用三层感知机并基于相似性度量方法实现设备接入认证。研究结果表明,使用IA T值能够实现设备类型和设备个体的识别,但通过IA T值进行设备接入认证依赖大量的数据包,在现实应用场景中势必会导致设备识别时间过长。
针对以上问题,本文将深度学习模型用于基于被动式设备指纹的物联网接入认证场景,提出一种基于深度学习的物联网设备接入认证方法。该方法采用双向长短期记忆神经网络(Bi-directional LSTM,B
i-LSTM)模型提取被动式设备指纹中的特征,并实现物联网设备身份的识别。相比传统的LSTM模型,Bi-LSTM模型考虑到未来信息,具有更好的识别效果。
2 方法概述
设备指纹分为主动式设备指纹和被动式设备指纹。主动式设备指纹的特征信息为设备自身硬件、软件及插件的信息,当设备的接口不对外开放或不允许第三方采集信息时,上述特征信息将无法采集,主动式设备指纹的接入认证方案自然也无法使用。因此,本文对被动式设备指纹方法进行研究,即在不引入第三方介质及不涉及设备隐私的基础上,从设备通信过程中
发出的流量数据中提取特征,并使用这些特征生成设备指纹通过深度学习算法来完成对设备的识别。
相比于主动式设备指纹的接入认证方法,使用被动式设备指纹进行接入认证首先在采集设备特征时不会引入第三方介质或占用设备接口,大量物联网设备同时进行接入时,不会出现资源争用或网络拥塞的情况;其次,用于采集特征的设备数据包均是被动监听,不易被攻击者察觉。基于深度学习的物联
网设备接入认证方法框架如图1所示。
图1 基于深度学习的物联网设备接入认证方法框架
本文使用的被动式指纹技术是基于被动监听的网络流量实现的。各厂商的入网特定程序存在差异,因此在接入网络时,可通过特定程序产生的流量数据对设备进行识别[5]。当新观察到的MAC 地址识别新设备开始与网关通信时,网关记录其配置阶段的n 个数据包{,,,,}p p p p 123 n 。设备配置阶段的终止时刻可通过其流量数据包发送速率的降低来预判。根据流量数据来识别设备,实际是将物联网设备识别任务转变为一个分类任务,该任务直接在数据处理阶段将流量数据包中的信息进行转化生成特征向量,分类结果则为合
法设备(允许接入)与不合法设备(不允许接入)。
基于深度学习的物联网设备接入认证方法可分为特征提取、设备指纹构建以及基于Bi-LSTM 的物联网设备识别算法3个部分。
3 特征提取
为达到设备接入认证的目标,在特征工程中如何选取合适的流量数据以及有效的设备特征是本节的主要研究内容。
3.1 流量选择
不同类型的设备在配置和功能上都存在着差异,因此,在进行通信时,不同类型设备生成的数据流量也会存在差异。这种差异使得不同类型设备生成的数据流量可以唯一标识该类型设备[2]。为了保证设备指纹的稳定性,采集设备特征时需要选取较为稳定的数据流量。设备在接入网络时的工作过程分为配置阶段与服务阶段。配置阶段设备会完成各项硬件及软件的配置,该过程中设备会严格按照生产厂商的设置执行配置任务,此阶段设备产生的数据流量具有稳定性。服务阶段设备的网络行为会随着环境及人为因素的变化而改变,无法提供较为稳定的网络流量。因此,本文仅从设备配置阶段的数据流量中提取特征生成被动式设备指纹。
3.2 特征选择
被动式设备指纹利用设备泄露的信息实现对设备的识别,该方法能够显著降低被恶意用户攻击的风
险[8]。为实现此方法,需要从设备中提取特定的特征来唯一标识设备,本文对设备配置阶段的数据流量进行分析并从其中分别采集21种数据协议类型特征以及5种统计类特征。具体特征如表1所示。
表1特征均可从设备产生的流量数据中提取[8]。本文选取数据链路层协议、网络层协议、传输层协议和应用层协议等19种物联网设备常用的协议以及2种IP 头选项作为协议类型特征,这些特征均为二进制数据类型,即0或1,表示当前数据包是否含有此类协议。本文还选取了5种统计类型特征,包括包内容、端口级别以及时间。其中,包内容特征为数据包长度(整型
数据类型)以及是否含有原始数据(二进制数据类型);端口(port )级别表示映射到网络端口类的源端口和目标端口(整型数据类型),具体级别分类如公式(1)所示:
1[0,1023]
3
[49152,65535]
no 2[1024,49151]port port port port
∈∈∈
(1)
时间特征选用IA T 值,表示两个数据包被捕获时的时间差值,IA T 值计算如公式(2)所示:
iat t t i n =−∈p p i i +1[1,]
(2)
其中,以捕获到第1个数据包的时间为0时刻,t p i 表示捕获到第i 个数据包的时间。IAT 值受设备硬件配置(CPU 配置和时钟频率等)的影响,同时也受到设备所处网络环境的影响,因此,相同类型设备之间的IAT 值仍然会有一定的差异[11]。因此,将IAT 值作为特征能够较好地反应设备所处的环境,从而实现设备的识别。
4 设备指纹构建
提取特征之后,本节将进行设备指纹构建。本文提出的设备接入认证方法将记录设备配置阶段的n 个数据包{,,,,}p p p p 123 n ,并从每个数据包提取26个特征,每个数据包在提取特征后的向量可表示为p i ={,,,,,}f f f f f 1,2,3,4,26,i i i i i  (此处f j i ,表示特征,与后文的LSTM 遗忘门不同),其中i n ∈{1,,} ,因此每个设备的设备指纹为1个26×n 的矩阵F ,矩阵中的每列为1个数据包特征向量,按照捕获的顺序从1到n 排列,矩阵F 如公式(3)所示:
F =        f f f f f f f f f f f f f f f f f f f f 26,1
26,2
26,3
26,4
26,    1,11,21,31,41,2,12,2
2,32,42,3,1
3,23,33,33,
n n n n
(3)
4.1 固定窗口滑动采样机制
在实际分析数据流量后,上述指纹的构建方法仍存在一定的问题。不同设备在配置阶段时数据流量中的数据包数量是不定的,这导致最后输入模型训练的向量维度不固定,使得模型无法进行训练。为解决数据维度一致的问题,本文使用窗口采样机制,即设定一个固定大小的窗口K ,按照序列的顺序依次生成设备指纹矩阵,使得设备指纹矩阵F 'p p p p ={,,,,}123 k 。在固定窗口进行采样后会出现指纹矩阵中数据包特征向量的数量不足k 的情况,现有研究的解决方案是将补充部分以全0向量表示,这使得很多设备存在高度相似的指纹矩阵,向量化处理输入模型后会影响模型的效果。本文在窗口采样的基础上引入滑动的思想,即设定滑动步宽l k <,从i 个数据包特征向量开始采样生成指纹矩阵之后,下一个指纹矩阵从第i l +个数据包特征向量开始采样,当最后一个指纹矩阵中的数据包特征向量不足k 个时,窗口反向滑动()k n i −+步开始采样,具体流程如下:
for i  in range (1, n )
if i + k > n
F 'p p p p ={,,,,}
子加一笔是
n k n k n k n −−+−+12 else
F 'p p p p ={,,,,}i i i k ++12 i = i +l End
在进行固定窗口滑动采样之后,每个数据流量文件最终可生成的指纹矩阵由n k /个增加到n l /个,增加了可供模型训练的样本数量。当最后一个指纹矩阵中数据包特征向量不足k 个时,窗口会反向滑动,在补足矩阵内向量的同时不破坏向量之间的时序特性。为保证模型训练时的样本是绝对有效的,当流量数据文件中的数据包数量小于k 时,该文件中的数据包特征向量将被抛弃。本文后续将通过实验确定如何取k
表1 特征列表
特征种类
类型特征协议类型特征
数据链路层协议ARP
网络层协议
IP/ICMP/ICMPv 6/EAPoL/IGMP
冠军足球教练传输层协议TCP/UDP
应用层协议HTTP/HTTPS/DHCP/BOOTP/SSDP/DNS/MDNS/NTP/SMB/SSH/AFP
IP 头选项Padding/RouterAlert 统计类型特征
包内容
高考如何填志愿Raw data/Size (int )端口级别Source(int)/Destination(int)
我爱你一生一世时间
IAT (double )
及l 的值能够使模型的识别效果最优。
4.2 SMOTE 算法
4.1节中固定窗口滑动采样的方法可以看作是在特征提取阶段的一种数据增强的方法,可补充数据集整体样本供模型训练。但在实际实验过程中,由于设备之间存在的差异,矩阵向量化处理后会出现最终输入模型的样本数量差距较大的情况。若样本之间数量差异较大,很可能会影响最终的识别效果,为解决样本不平衡问题,本文使用合成少数类过采样技术(Synthetic Minority Oversampling T echnique ,SMOTE )算法对其进行数据增强。
SMOTE 是目前常用的解决样本不平衡的一种方法,其基本思想是基于“插值”来人工合成少数类样本,具体步骤如下。
1)计算少数类样本集S 中每个样本x 到其他样本x j 之间的距离,得到样本x 的k 近邻,样本间距离dist x x (,)j 计算如公式(4)所示:
dist x x x x (,()
j j
)
=−∑j n
=1
2
(4)
2)根据样本之间的数量差异设置采样比例并确定采样倍率n ,对数据集S 中的每个样本x ,从其k 近邻x n 中随机选择若干个样本x 。
3)基于近邻x n 构建新样本x new ,计算如公式(5)所示:
x x rand x
x new =+×−(0,1)()
(5)
5 基于Bi-LSTM 的物联网设备识别算法
基于Bi-LSTM 的物联网设备识别算法如图2所示。其中,Bi-LSTM 模型采用双向LSTM 神经网络,将两个传播方向相对的LSTM 神经网络放在一起,两个神经网络拥有相同的输入和输出层。前后两个神经网络最后输出的特征向量采用拼接方式得到特征向量,特征向量作为输出向量传入全连接层。
相比于基于标准LSTM 的物联网设备识别方法,基于Bi-LSTM 的物联网设备识别方法从理论上能够更加充分地考虑设备指纹中的整体信息,从两个维度进
行总结得到一个更加全面的特征,再通过特征向量计算得出基于输入数据的类别概率分布。
基于Bi-LSTM 的物联网设备识别算法的具体流程如下:
1)经过固定窗口滑动采样机制得到的输入序列(F 1, F 2, F 3,…, F m )经过数据处理层后转换为特征向
千古玦尘角介绍
量(X 1, X 2, X 3,…, X m ),其中,m 为设备指纹矩阵的个数。2)特征向量经过前向的LSTM 神经网络的隐藏层
输出为(,,,,)h h h h
123 m ,经过后向的LSTM 神经网络的
隐藏层输出为(,,,,)h h h h
123 m 。最终隐藏层的输出h m
表示为[,]h h
m m 。
3)双向LSTM 输出经过使用ReLU 作为激励函数的全连接层。
4)全连接层的输出作为输出层的输入,通过Softmax 函数完成对输入数据的分类。
在使用Bi-LSTM 模型训练时,需选取适合的隐含层大小和层数,查看训练过程中loss 函数是否逐步下降至合理区间。若训练过程loss
函数下降不平稳或无法收敛至合理区间,则适当增加隐含层大小以及层数,以提高模型的拟合能力。为防止过拟合,本文加入dropout 机制,初始设置为0,以查看训练过程中验证集的loss 函数是否逐步下降。调整dropout 率可防止
图2 基于Bi-LSTM 的物联网设备识别算法

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。