摘要
近年来,物联网僵尸网络事件频发,极大地影响了生产生活秩序,其中智能家居、路由器、网络摄像头等物联网设备成为重灾区。僵尸网络广泛使用域名生成算法(DGA)生成DGA域名来逃避黑名单检测,因此,在物联网设备上部署DGA检测方法能够及时发现并阻止僵尸网络来保护设备功能和用户数据。 然而,现有的DGA检测方法存在一些不足,基于特征工程的DGA检测算法根据经验来寻找能够区分DGA域名和正常域名的特征,该方法存在特征分析不全,易被攻击者绕过的缺点,这会导致检测模型的精度不高。基于深度学习的方法可以自动提取高维特征来完成DGA域名检测,但是该方法需要较大的空间来部署训练环境,且需要大量的数据集训练模型,由于物联网设备的算力和存储资源有限,该方法不适用于物联网设备的DGA检测。针对上述问题,本文开展了以下研究工作: (1)提出了基于孪生深度森林(SDF)的DGA检测算法,该算法具有部署简单、算力要求低、占用空间小、准确率高的特点,能够解决资源有限的物联网设备中的DGA检测问题。该算法基于孪生深度森林构建,基于孪生网络思想在有限的训练集上配对来扩充数据集,加入并调节深度森林中树的权重来拟合模型。经过实验对比,相比基于深度森林的检测算法,该算法模型在不同数据规模下的检测效果都有提升。 (2)针对孪生深度森林算法模型过大及级联森林层级间准确率提升小的问题,提出了基于改进孪生深度森林(I-SDF)的DGA检测算法,改进了多粒度扫描并且增加了级联森林的dropout机制及动态设定森林中树的个数。实验结果表明,改进之后的模型提高了精度的同时减小了模型大小,与基于特征工程的机器学习模型和基于CNN_LSTM的神经网络模型相比,该算法模型在不同规模训练集大小下都有更好的检测效果。 (3)结合联邦学习思想,提出了基于分布式I-SDF的DGA检测算法,该算法能够在保护域名隐私的情况下在多台物联网设备上分布式训练改进孪生深度森林模型,经过实验证明分布式训练的模型精度比单机训练模型更好,此外,基于训练的模型设计了DGA检测系统,该系统能够实时或分时检测物联网设备上的DGA域名。