论文部分内容阅读
随着网络信息技术的快速发展,除个人计算机、服务器等传统主机设备外,网络摄像头、打印机和智能家居等新型智能设备也大量接入互联网。智能设备的广泛应用给人们带来方便的同时也带来了许多安全隐患:一是智能设备软件相对固化、计算和存储资源有限,通常不便安装杀毒软件和终端防火墙等安防系统,自身安全防护能力不足;二是智能设备数量庞大、类型复杂、分布广泛,运维人员对其管理网络内的设备数量、补丁更新等情况掌控困难;三是许多用户缺乏安全意识和必要的安全技能,这些因素带来了智能设备容易被黑客远程控制、关键时刻失能失效等一系列网络安全问题。强化网络空间设备资产识别,全面掌握智能设备的种类、应用服务和操作系统等属性,对发现长期无人管理、违规入网等“风险资产”,快速定位处置存在漏洞的设备,全面掌握网络空间安全态势,有效提升网络安全防护能力,具有重要意义。自动准确地识别网络空间中的智能设备具有挑战性。传统的设备识别技术是通过给设备发送协议请求,再将响应数据的字段与手工预定义的关键字进行匹配实现设备识别,这种基于人工的设备识别方式工作量大、容易出错、规则库更新时效性差,全面掌握网络空间资产难度大。对此,论文提出了基于机器学习的智能设备识别技术,主要工作和取得的成果如下:(1)梳理了智能设备识别相关理论与技术。从智能设备、关键技术和典型应用三个维度,研究了智能设备体系架构,梳理了智能设备的属性信息,阐述了智能设备识别的基本原理和关键技术,介绍了智能设备识别的典型应用,设计了智能设备识别的技术架构。根据局域网、因特网两种不同网络环境的特点,阐述了开展基于网络流量指纹和机器学习的智能设备被动识别、基于Web指纹和神经网络的智能设备主动识别两种不同技术研究的主要原因。(2)提出了基于网络流量指纹和机器学习的智能设备被动识别技术。针对局域网环境下智能设备的识别问题,设计了基于网络流量的Smart Dev Id指纹提取与识别方法,通过被动侦听获取设备间通信的网络流量,利用流量分析技术解析数据包提取设备的行为特征及载荷信息作为智能设备指纹,使用决策树(Decision Tree,DT)等传统机器学习算法对智能设备指纹建模,实现设备类型识别。为解决数据不平衡问题,提出使用重采样方法来扩充小样本数据;为进一步提升设备识别准确率,设计了基于MAC地址的聚合数据包算法。为检验Smart Dev Id指纹提取方法的可行性,论文使用阿尔托大学等三个数据集的单个数据包进行了实验验证,实验结果表明,论文提出的Smart Dev Id指纹方法与Io T Sentinel指纹方法相比识别准确率提高了6%。针对数据不平衡导致F1-score较低的问题,通过使用修正评价指标和重采样平衡数据集的方法,使F1-score提高了2.6%。为评估聚合数据包算法的性能,Smart Dev Id指纹方法在三个数据集上进行了实验,单个数据包级别的分类准确率分别为74.6%、85.8%和88.7%,而通过使用基于MAC地址的聚合数据包算法,识别准确率分别为91.7%、99.6%和99.2%。与使用单个数据包识别智能设备相比,本文提出的基于MAC地址的聚合数据包算法实现了更高的设备识别准确率。(3)提出了基于Web指纹和神经网络的智能设备主动识别技术。针对因特网环境下大规模获取智能设备响应数据的问题,设计了基于异步无状态扫描的网络爬虫方案,主要通过对目标网络进行无状态SYN扫描发现在线的IP地址,再对在线IP地址进一步发送“GET”请求,实现响应数据的获取;针对智能设备Web指纹生成和识别问题,设计了基于神经网络的智能设备Web指纹自动生成与识别方案,通过HTML解析器解析响应数据提取文本,基于自然语言处理技术提取文本中的Web指纹,采用神经网络模型对智能设备Web指纹建模,实现智能设备属性识别。为验证智能设备主动识别技术的可行性,研究了卷积神经网络(Convolutional Neural Networks,CNN)等4种基线神经网络模型,并使用探测的真实数据进行了实验验证。实验结果表明,4种基线模型中,循环卷积神经网络(Recurrent Convolutional Neural Networks,RCNN)模型的分类性能最好,具有90.59%的识别准确率和89.43%的Weighted F1-score值,训练模型的时间成本大约为25分钟。与传统的基于机器学习的设备识别方式相比,本文提出的基于Web指纹和神经网络的智能设备主动识别技术,具有自动提取识别Web指纹和细粒度精确的优点,不仅能够识别多种新型智能设备类型,而且能够有效识别厂商和产品信息。