留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

物联网中融合网络流量的恶意软件检测

张云春 王旺旺 李成杰 廖梓琨 封凡 林英

张云春, 王旺旺, 李成杰, 廖梓琨, 封凡, 林英. 物联网中融合网络流量的恶意软件检测[J]. 电子科技大学学报, 2023, 52(4): 602-609. doi: 10.12178/1001-0548.2022146
引用本文: 张云春, 王旺旺, 李成杰, 廖梓琨, 封凡, 林英. 物联网中融合网络流量的恶意软件检测[J]. 电子科技大学学报, 2023, 52(4): 602-609. doi: 10.12178/1001-0548.2022146
ZHANG Yunchun, WANG Wangwang, LI Chengjie, LIAO Zikun, FENG Fan, LIN Ying. Network Traffic-Oriented Malware Detection in IoT[J]. Journal of University of Electronic Science and Technology of China, 2023, 52(4): 602-609. doi: 10.12178/1001-0548.2022146
Citation: ZHANG Yunchun, WANG Wangwang, LI Chengjie, LIAO Zikun, FENG Fan, LIN Ying. Network Traffic-Oriented Malware Detection in IoT[J]. Journal of University of Electronic Science and Technology of China, 2023, 52(4): 602-609. doi: 10.12178/1001-0548.2022146

物联网中融合网络流量的恶意软件检测

doi: 10.12178/1001-0548.2022146
基金项目: 国家自然科学基金(61801418)
详细信息
    作者简介:

    张云春(1981 – ),男,博士,主要从事网络空间安全、人工智能、机器学习、并行与分布式计算等方面的研究

    通讯作者: 林英,E-mail: linying@ynu.edu.cn
  • 中图分类号: TP391

Network Traffic-Oriented Malware Detection in IoT

  • 摘要: 针对物联网基础设施、应用程序和终端设备的攻击显著增加,物联网中的代表性恶意软件以产生恶意流量为主。对基于恶意软件字节序列构建的MalConv模型进行改进,与基于恶意流量特征的Bi-LSTM模型进行融合,实现了适用于物联网终端设备恶意软件检测的融合模型。实验结果表明,融合模型NT-MalConv 具有更高的检测能力,检测准确率达95.17%;检测融合对抗样本时,NT-MalConv模型比MalConv改进模型的准确率提升了10.31%。
  • 图  1  MalConv改进模型网络结构示意图

    图  2  一维卷积图

    图  3  Bi-LSTM模型结构图

    图  4  特征融合示意图

    表  1  MalConv及相应改进模型的检测性能对比 %

    模型准确率精确率召回率F1值
    MalConv93.4994.6692.8393.74
    MalConv_Full_193.2894.4192.6693.53
    MalConv_Full_294.8294.8995.3695.12
    MalConv_Full_395.2895.5796.6996.13
    MalConv_Full_495.2193.9793.6295.28
    MalConv_Full_591.8193.5693.5691.64
    下载: 导出CSV

    表  2  实验中使用的数据集统计 %

    模型数据集准确率精确率召回率F1值
    MalConv
    改进模型
    恶意软件 93.28 94.41 92.66 93.53
    恶意软件+对抗样本 84.20 90.82 90.91 81.02
    NT-MalConv 恶意软件 92.83 92.86 92.03 92.41
    恶意软件+恶意流量 95.17 94.89 95.99 95.44
    恶意软件+对抗样本+恶意流量 94.51 92.62 97.70 95.09
    下载: 导出CSV

    表  3  与已有研究工作对比 %

    模型/文献准确率
    NT-MalConv95.17
    文献[9]95.5
    文献[13]94.0
    文献[32]93.4~95.8
    文献[33]92.21
    下载: 导出CSV
  • [1] NGO Q D, NGUYEN H T, LE V H, et al. A survey of IoT malware and detection methods based on static features[J]. ICT Express, 2020, 6(4): 280-286. doi:  10.1016/j.icte.2020.04.005
    [2] RAFF E, BARKER J, SYLVESTER J, et al. Malware detection by eating a whole EXE[C]//Workshops at the 32nd AAAI Conference on Artificial Intelligence. [S.l.]: AAAI, 2017, DOI: 10.48550/arXiv.1710.09433.
    [3] HOU S, YE Y, SONG Y, et al. HinDroid: An intelligent android malware detection system based on structured heterogeneous information network[C]//Proceedings of the 23rd ACM SIGKDD. [S.l.]: ACM, 2017: 1507-1515.
    [4] SZEGEDY C, ZAREMBA W, SUTSKEVER I, et al. Intriguing properties of neural networks[J]. Computer Science, 2013, DOI:  10.48550/arXiv.1312.6199.
    [5] 冀甜甜, 方滨兴, 崔翔, 等. 深度学习赋能的恶意代码攻防研究进展[J]. 计算机学报, 2021, 44(4): 669-695. doi:  10.11897/SP.J.1016.2021.00669

    JI T T, FANG B X, CUI X, et al. Research on deep learning-powered malware attack and defense techniques[J]. Chinese Journal of Computers, 2021, 44(4): 669-695. doi:  10.11897/SP.J.1016.2021.00669
    [6] HADDADPAJOUH H, DEHGHANTANHA A, KHAYAMI R, et al. A deep recurrent neural network based approach for internet of things malware threat hunting[J]. Future Generation Computer Systems, 2018, 85: 88-96. doi:  10.1016/j.future.2018.03.007
    [7] DARABIAN H, DEHGHANTANHA A, HASHEMI S, et al. An opcode-based technique for polymorphic Internet of Things malware detection[J]. Concurrency and Computation: Practice and Experience, 2020, 32(6): e5173.
    [8] ISLAM R, TIAN R, BATTEN L M, et al. Classification of malware based on integrated static and dynamic features[J]. Journal of Network and Computer Applications, 2013, 36(2): 646-656. doi:  10.1016/j.jnca.2012.10.004
    [9] ALHANAHNAH M, LIN Q, YAN Q, et al. Efficient signature generation for classifying cross-architecture IoT malware[C]//2018 IEEE Conference on Communications and Network Security (CNS). [S.l.]: IEEE, 2018: 1-9.
    [10] SHAHZAD F, FAROOQ M. Elf-miner: Using structural knowledge and data mining methods to detect new (linux) malicious executables[J]. Knowledge and Information Systems, 2012, 30(3): 589-612. doi:  10.1007/s10115-011-0393-5
    [11] WAN T L, BAN T, LEE Y T, et al. IoT-Malware detection based on byte sequences of executable files[C]//2020 15th Asia Joint Conference on Information Security (AsiaJCIS). [S.l.]: IEEE, 2020: 143-150.
    [12] LEI T, QIN Z, WANG Z, et al. EveDroid: Event-Aware Android malware detection against model degrading for IoT devices[J]. IEEE Internet of Things Journal, 2019, 6(4): 6668-6680. doi:  10.1109/JIOT.2019.2909745
    [13] SU J, VASCONCELLOS D V, PRASAD S, et al. Lightweight classification of IoT malware based on image recognition[C]//2018 IEEE 42nd Annual Computer Software and Applications Conference (COMPSAC). [S. l.]: IEEE, 2018, 2: 664-669.
    [14] JEON J, PARK J H, JEONG Y S. Dynamic analysis for IoT malware detection with convolution neural network model[J]. IEEE Access, 2020, 8: 96899-96911. doi:  10.1109/ACCESS.2020.2995887
    [15] DOVOM E M, AZMOODEH A, DEHGHANTANHA A, et al. Fuzzy pattern tree for edge malware detection and categorization in IoT[J]. Journal of Systems Architecture, 2019, 97: 1-7. doi:  10.1016/j.sysarc.2019.01.017
    [16] ALASMARY H, KHORMALI A, ANWAR A, et al. Analyzing and detecting emerging internet of things malware: A graph-based approach[J]. IEEE Internet of Things Journal, 2019, 6(5): 8977-8988. doi:  10.1109/JIOT.2019.2925929
    [17] ALASMARY H, ANWAR A, PARK J, et al. Graph-Based comparison of IoT and android malware[C]//International Conference on Computational Social Networks. [S.l.]: Springer, 2018: 259-272.
    [18] TAHAEI H, AFIFI F, ASEMI A, et al. The rise of traffic classification in IoT networks: A survey[J]. Journal of Network and Computer Applications, 2020, 154: 102538. doi:  10.1016/j.jnca.2020.102538
    [19] BEKERMAN D, SHAPIRA B, ROKACH L, et al. Unknown malware detection using network traffic classification[C]//2015 IEEE Conference on Communications and Network Security (CNS). [S.l.]: IEEE, 2015: 134-142.
    [20] KUMAR V, SINHA D, DAS A K, et al. An integrated rule based intrusion detection system: Analysis on UNSW-NB15 data set and the real time online dataset[J]. Cluster Computing, 2020, 23(2): 1397-1418. doi:  10.1007/s10586-019-03008-x
    [21] CHOUDHARY S, KESSWANI N. A survey: Intrusion detection techniques for internet of things[J]. International Journal of Information Security and Privacy (IJISP), 2019, 13(1): 86-105. doi:  10.4018/IJISP.2019010107
    [22] MOUSTAFA N, TURNBULL B, CHOO K K R. An ensemble intrusion detection technique based on proposed statistical flow features for protecting network traffic of internet of things[J]. IEEE Internet of Things Journal, 2018, 6(3): 4815-4830.
    [23] KIM A, PARK M, LEE D H. AI-IDS: Application of deep learning to real-time Web intrusion detection[J]. IEEE Access, 2020, 8: 70245-70261. doi:  10.1109/ACCESS.2020.2986882
    [24] 周翰逊, 陈晨, 冯润泽, 等. 基于值导数GRU的移动恶意软件流量检测方法[J]. 通信学报, 2020, 41(1): 102-113. doi:  10.11959/j.issn.1000-436x.2020005

    ZHOU H X, CHEN C, FENG R Z, et al. Mobile malware traffic detection approach based on value-derivative GRU[J]. Journal of Communications, 2020, 41(1): 102-113. doi:  10.11959/j.issn.1000-436x.2020005
    [25] MEIDAN Y, BOHADANA M, MATHOV Y, et al. N-Baiot: Network-Based detection of IoT botnet attacks using deep autoencoders[J]. IEEE Pervasive Computing, 2018, 17(3): 12-22. doi:  10.1109/MPRV.2018.03367731
    [26] SHIRE R, SHIAELES S, BENDIAB K, et al. Malware squid: A novel IoT malware traffic analysis framework using convolutional neural network and binary visualisation[M]//Internet of Things, Smart Spaces, and Next Generation Networks and Systems. Cham: Springer, 2019: 65-76.
    [27] BENDIAB G, SHIAELES S, ALRUBAN A, et al. IoT malware network traffic classification using visual representation and deep learning[C]//2020 6th IEEE Conference on Network Softwarization (NetSoft). [S.l.]: IEEE, 2020: 444-449.
    [28] ZHANG Y, LI H, ZHENG Y, et al. Enhanced DNNs for malware classification with GAN-based adversarial training[J]. Journal of Computer Virology and Hacking Techniques, 2021, 17(2): 153-163. doi:  10.1007/s11416-021-00378-y
    [29] CARLINI N, WAGNER D. Towards evaluating the robustness of neural networks[C]//2017 IEEE Symposium on Security and Privacy. [S.l.]: IEEE, 2017: 39-57.
    [30] GOODFELLOW I J, SHLENS J, SZEGEDY C. Explaining and harnessing adversarial examples[J]. Computer Science, 2014, DOI:  10.48550/arXiv.1412.6572.
    [31] MOOSAVI-DEZFOOLI S M, FAWZI A, FROSSARD P. Deepfool: A simple and accurate method to fool deep neural networks[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. [S.l.]: IEEE, 2016: 2574-2582.
    [32] REN Z, WU H, NING Q, et al. End-to-End malware detection for android IoT devices using deep learning[J]. Ad Hoc Networks, 2020, 101: 102098. doi:  10.1016/j.adhoc.2020.102098
    [33] DINAKARRAO S M P, SAYADI H, MAKRANI H M, et al. Lightweight node-level malware detection and network-level malware confinement in IoT networks[C]//2019 Design, Automation & Test in Europe Conference & Exhibition (DATE). [S.l.]: IEEE, 2019: 776-781.
  • [1] 丁奕文, 鲁若愚, 周冬梅.  LoRa在合法性演进中的时间同步:多网关场景下的移动感知 . 电子科技大学学报, 2023, 52(2): 224-231. doi: 10.12178/1001-0548.2021388
    [2] 丁要军, 王安宙.  基于CWGAN-GP平衡化的网络恶意流量识别方法 . 电子科技大学学报, 2022, 51(5): 760-765. doi: 10.12178/1001-0548.2022011
    [3] 黄娜, 何泾沙, 吴亚飈.  恶意PDF检测中的特征工程研究与改进 . 电子科技大学学报, 2022, 51(5): 766-773. doi: 10.12178/1001-0548.2021403
    [4] 刘欣刚, 江浩杨, 苏鑫, 冯晶.  基于决策边界搜索的对抗样本生成算法 . 电子科技大学学报, 2022, 51(5): 721-727. doi: 10.12178/1001-0548.2021396
    [5] 徐小琼, 孙罡, 罗龙.  物联网区块链中基于演化博弈的分片算法 . 电子科技大学学报, 2022, 51(3): 363-370. doi: 10.12178/1001-0548.2022029
    [6] 李林, 范明钰, 郝江涛.  基于对抗攻击的图像隐写策略搜索 . 电子科技大学学报, 2022, 51(2): 259-263. doi: 10.12178/1001-0548.2021335
    [7] 王启旭, 丁哲, 陈大江, 秦臻, 秦志光.  一种面向发布订阅系统的访问控制机制 . 电子科技大学学报, 2018, 47(4): 595-600. doi: 10.3969/j.issn.1001-0548.2018.04.019
    [8] 凡时财, 曾祥峰, 周雪, 邹见效, 徐红兵.  融合超像素分割与码本模型的目标检测算法 . 电子科技大学学报, 2017, 46(4): 572-578. doi: 10.3969/j.issn.1001-0548.2017.04.016
    [9] 闫丽丽, 昌燕, 张仕斌.  异构传感器网络的用户认证和密钥协商协议研究 . 电子科技大学学报, 2017, 46(1): 55-60. doi: 10.3969/j.issn.1001-0548.2017.01.009
    [10] 杨宏宇, 唐瑞文.  基于耗电分析的Android平台恶意软件检测 . 电子科技大学学报, 2016, 45(6): 981-985. doi: 10.3969/j.issn.1001-0548.2016.06.018
    [11] 夏斌, 刘承鹏, 孙文珠, 李彩虹.  基于多元变量泰勒级数展开模型的定位算法 . 电子科技大学学报, 2016, 45(6): 888-892. doi: 10.3969/j.issn.1001-0548.2016.06.002
    [12] 黄颖, 王文斌, 郑弘晖.  基于代数多重网格的图像传感器物体识别技术 . 电子科技大学学报, 2015, 44(5): 743-748. doi: 10.3969/j.issn.1001-0548.2015.05.018
    [13] 张永平, 张功萱, 朱昭萌.  物联网中压缩感知算法的云加速方法 . 电子科技大学学报, 2014, 43(3): 413-419. doi: 10.3969/j.issn.1001-0548.2014.03.017
    [14] 陈立伟, 杨建华, 曹晓欢, 贺宁.  物联网架构下的室内环境监控系统 . 电子科技大学学报, 2012, 41(2): 265-268. doi: 10.3969/j.issn.1001-0548.2012.02.018
    [15] 王浩, 吴博, 葛劲文, 王平.  物联网中基于受控对象的分布式访问控制 . 电子科技大学学报, 2012, 41(6): 893-898. doi: 10.3969/j.issn.1001-0548.2012.06.015
    [16] 张靖, 何发镁, 邱云.  个性化推荐系统描述文件攻击检测方法 . 电子科技大学学报, 2011, 40(2): 250-254. doi: 10.3969/j.issn.1001-0548.2011.02.019
    [17] 杨丹, 胡光岷, 李宗林, 姚兴苗.  全局的多流量相关异常检测算法 . 电子科技大学学报, 2008, 37(6): 823-827.
    [18] 曾金全, 赵辉, 刘才铭, 彭凌西.  受免疫原理启发的Web攻击检测方法 . 电子科技大学学报, 2007, 36(6): 1215-1218.
    [19] 陆庆, 周世杰, 秦志光, 吴春江.  对等网络流量检测技术 . 电子科技大学学报, 2007, 36(6): 1333-1337.
    [20] 任云韬, 李毅超, 曹跃.  基于注册表Hive文件的恶意程序隐藏检测方法 . 电子科技大学学报, 2007, 36(3): 621-624.
  • 加载中
图(4) / 表(3)
计量
  • 文章访问数:  3742
  • HTML全文浏览量:  1430
  • PDF下载量:  50
  • 被引次数: 0
出版历程
  • 收稿日期:  2022-05-16
  • 修回日期:  2022-10-19
  • 网络出版日期:  2023-09-06
  • 刊出日期:  2023-07-07

物联网中融合网络流量的恶意软件检测

doi: 10.12178/1001-0548.2022146
    基金项目:  国家自然科学基金(61801418)
    作者简介:

    张云春(1981 – ),男,博士,主要从事网络空间安全、人工智能、机器学习、并行与分布式计算等方面的研究

    通讯作者: 林英,E-mail: linying@ynu.edu.cn
  • 中图分类号: TP391

摘要: 针对物联网基础设施、应用程序和终端设备的攻击显著增加,物联网中的代表性恶意软件以产生恶意流量为主。对基于恶意软件字节序列构建的MalConv模型进行改进,与基于恶意流量特征的Bi-LSTM模型进行融合,实现了适用于物联网终端设备恶意软件检测的融合模型。实验结果表明,融合模型NT-MalConv 具有更高的检测能力,检测准确率达95.17%;检测融合对抗样本时,NT-MalConv模型比MalConv改进模型的准确率提升了10.31%。

English Abstract

张云春, 王旺旺, 李成杰, 廖梓琨, 封凡, 林英. 物联网中融合网络流量的恶意软件检测[J]. 电子科技大学学报, 2023, 52(4): 602-609. doi: 10.12178/1001-0548.2022146
引用本文: 张云春, 王旺旺, 李成杰, 廖梓琨, 封凡, 林英. 物联网中融合网络流量的恶意软件检测[J]. 电子科技大学学报, 2023, 52(4): 602-609. doi: 10.12178/1001-0548.2022146
ZHANG Yunchun, WANG Wangwang, LI Chengjie, LIAO Zikun, FENG Fan, LIN Ying. Network Traffic-Oriented Malware Detection in IoT[J]. Journal of University of Electronic Science and Technology of China, 2023, 52(4): 602-609. doi: 10.12178/1001-0548.2022146
Citation: ZHANG Yunchun, WANG Wangwang, LI Chengjie, LIAO Zikun, FENG Fan, LIN Ying. Network Traffic-Oriented Malware Detection in IoT[J]. Journal of University of Electronic Science and Technology of China, 2023, 52(4): 602-609. doi: 10.12178/1001-0548.2022146
  • 近年来,物联网(internet-of-things, IoT)及其应用飞速发展,相关技术日渐成熟。IDC数据估计,到2025年每分钟将有不低于15万台终端设备接入物联网,每年有近800亿台设备投入使用。物联网解决方案通过不同的标准以多种形式改变人们生活的视角,其产生的经济价值急剧攀升。据Mordor Intelligence的预测报告指出,到2026年物联网产值将超过1.38 万亿美元。随着物联网设备的快速增加和物联网市场的经济价值增长,物联网也成为黑客攻击的主要对象,安全受到严重威胁。其中,恶意软件作为物联网安全中的一个主要威胁,也随着物联网设备以及服务的增加而带来新的挑战。恶意软件广泛存在于物联网中的设备上,危害物联网的安全。可见,在物联网设备上实现恶意软件的检测是非常必要的。

    得益于人工智能的发展,机器学习和深度学习技术被用于恶意软件检测,获得了较高的检测准确率[1]。2015年Microsoft Malware Challenge竞赛促进了恶意软件检测深度神经网络技术的发展,以MalConv[2]、Hindroid[3]等为代表的多个模型被提出。然而,上述模型存在诸多不足和挑战:首先,多数模型依赖于人工标记的大量恶意软件样本,以监督式学习模型为主,对新型和未知变种的检测能力较弱[4];其次,现有恶意软件检测深度神经网络结构复杂,参数量巨大,不适用于计算资源受限的终端设备和移动设备[5];文献[4]证明了深度神经网络存在对抗攻击漏洞,大量对抗样本具有较高的逃逸率;以Mirai为代表,物联网中的恶意软件具有特殊性。

    从物联网恶意软件的行为角度来看,恶意软件在物联网中的绝大多数恶意行为都是通过恶意流量来实现,不论是传播还是攻击或信息窃取等。通过网络流量的方式来检测物联网中的恶意软件是一种可行且有效的方式。但依然存在一些挑战,如缺乏足够的标记流量数据、网络流量数据的不平衡、流量加密等。本文着眼于物联网中恶意软件和恶意流量的检测,对恶意软件检测模型的健壮性问题进行研究,通过对恶意软件样本检测算法和恶意流量检测算法的融合,提升对恶意软件检测的性能和恶意软件对抗攻击的难度,从而增强恶意软件检测算法的健壮性。

    • 物联网中对恶意软件的检测可划分为基于恶意软件样本的检测和基于恶意流量的检测。

    • 根据所使用的特征不同,现有的相关研究主要包括如下类别。

      1)基于恶意软件文本特征的机器学习方法。文献[6]使用从ELF(executable and linkable format)文件中提取的操作码(OpCode)序列作为输入特征来训练机器学习模型进行恶意软件检测。文献[7]使用操作码重复次数作为主要特征,其结果表明:相对于良性软件,恶意软件中某些操作码的重复次数更高。文献[8]通过提取Windows下恶意软件可打印字符串和API调用,统计函数长度以及是否作为特征向量出现在恶意软件的ELF文件中,然后将特征向量输入机器学习模型来检测物联网中的恶意软件。文献[9]根据恶意软件样本之间的代码结构相似性进行集群划分,从每个聚类中提取可打印字符串,基于字符串特征的相似性分析来实现聚类进行合并。文献[10]从ELF文件中提取了383个结构特征,包括节头、符号部分、程序头等,通过对有效的特征进行排序和筛选实现检测。文献[11]使用物联网恶意软件的字节序列作为特征,训练SVM模型来检测物联网中的恶意软件。文献[12]提出了“EveDroid”,通过补货Android程序的高级语义和基于函数聚类的概念设计了物联网中的恶意软件检测模型。

      2)基于图像的深度学习方法。文献[13]通过转换恶意软件为灰度图像,设计了基于图像分类卷积神经网络的恶意软件检测方法。文献[14]对物联网中软件的内存、系统调用行为和网络行为特征进行提取,然后将提取内存特征数据、行为特征数据和行为频率表分别对应红、绿、蓝颜色三通道,依据此种映射关系将动态特征转化为彩色图片,最后使用卷积神经网络对动态特征转化的彩色图片进行训练和检测。

      3)基于图论的方法。文献[15]基于程序OpCode序列生成控制流图(control flow graph, CFG),以CFG分别构建深度学习和模糊模式树来检测物联网中的恶意软件。文献[16]利用23个静态特征重构物联网恶意软件的CFG特征来进行检测,包括:边数和节点数、度中心性、密度和最短路径。文献[17]基于CFG揭示了物联网和安卓恶意软件在二进制文件上的区别,物联网恶意软件所表示的图包含的节点和边比安卓恶意软件少。上述基于CFG的方法精度普遍较高,但获取图属性的过程相对耗时。

    • 物联网规模庞大且结构复杂,文献[18]对物联网中的流量分类进行了概述,对物联网中流量分类的问题及挑战进行了总结。为了物联网的安全,对物联网中广泛混杂其中的恶意流量进行检测是必要的。文献[19]表明通过恶意流量来对恶意软件进行检测是可行且有效的。根据恶意流量检测所使用的特征不同,现有研究主要分成如下类别。

      1)基于规则或模式匹配的方法[20]。从流量数据创建联系规则、模糊规则和行为规则来进行匹配。此类方式的模型简单,但需要长时间进行网络监控,且假阳性概率较高。

      2)基于协议和统计特征的方法[21-22]。根据所涵盖协议的基本流和信息统计特征,进而训练机器学习模型对恶意流量进行检测。

      3)基于文本内容的方法。文献[23]通过Grained Model和N-gram实现数据包“载荷(payload)”的特征提取,该方式对已知攻击表现极好,但对未知攻击表现较差,且计算量巨大,算法收敛时间较长。文献[24]基于值导数GRU算法引入“累计状态变化”概念,建立了网络恶意流量检测模型。文献[25]对以Bashlite和Mirai为代表的物联网僵尸网络数据集,采用自动编码器对物联网通信进行流量检测。

      4)基于图像的方法[26-27]。将提取的荷载转化成二维图片,作为卷积神经网络的输入来训练模型,最终进行恶意流量检测。

      现有研究表明:物联网中的恶意软件检测不能单纯只依靠已知样本,检测性能具有较大提升空间,在智能终端部署基于网络流量的检测模型是有效的方式。

    • MalConv[2]模型无需复杂特征工程,且检测性能较高。在IoT特点的基础上,本文对MalConv进行改进,其神经网络模型如图1所示。

      图  1  MalConv改进模型网络结构示意图

      相对于原MalConv模型,改进主要集中在新神经网络模型的卷积部分,具体的改进包括:

      1)原MalConv模型中的两个卷积层分别进行卷积,两个卷积层的输出进行乘积运算,而本文的改进模型则采用两层卷积的串行化卷积;

      2)原模型两个卷积层的卷积核(filter)个数均为512;而改进后模型的卷积核分别为64个和16个,所需卷积核个数仅为原模型的1/13;

      3)原模型在全连接层前有最大池化处理,而本文改进的模型无池化层,卷积输出的特征图直接作为全连接层的输入,降低了计算量。

      将恶意软件样本定义为$ x $($ x \in X $),基于所采集的恶意软件样本集合X作为MalConv改进模型的输入,通过对模型的参数$ \theta $进行优化,定义改进的MalConv模型为$ y = {F_\theta }(x) $,其中,$ y \in {\text{\{ }}0,1{\text{\} }} $,且$ y = 1 $表示模型将给定样本$ x $预测为恶意软件;反之,表示将给定样本$ x $预测为良性。为避免复杂的特征工程,通过将采集的恶意软件样本源代码转换为字节序列,将该输入序列的字节嵌入并转换为一个$ 8 \times N $的二维向量,然后在第一卷积层和第二卷积层上进行卷积,卷积过程如图2所示。

      $ 8 \times N $的二维向量作为输入,一维卷积的过程可表示为:

      $$ c' = \frac{{(c + 2p - k)}}{s} + 1 $$ (1)

      式中,$ c' $表示输出的特征向量大小;$ c $表示输入的嵌入向量大小;$ p $为超出输入向量部分卷积时的填充大小;$ k $为卷积核大小;$ s $表示每次卷积后移动的步长,且在第一卷积层和第二卷积层上设置步长$ s $=500。经过卷积运算,可以得到输出特征图$ {o_{i,t}} $为:

      $$ {o_{i,t}} = {{\boldsymbol{x}}_i} * {k_t} + {\boldsymbol{b}} $$ (2)

      式中,$ {{\boldsymbol{x}}_i} $表示第$ i $个恶意软件输入样本;$ * $表示卷积运算;$ {k_t} $表示第$ t $个卷积核;$ {\boldsymbol{b}} $表示偏置向量。

      图  2  一维卷积图

      特征图个数与卷积核个数一致,即存在T个卷积核,输出的特征图个数对应为T个,本文第一卷积层和第二卷积层的卷积核数量T分别为64、16,卷积层输出的特征图维度为$ T \times c' $

      定义输出的特征图为$ O $,将特征图变形为128维的一维数据输入全连接层,最后经过全连接层到$ {\text{softmax}} $进行分类输出,确保输出结果为[0,1]。定义模型的损失函数为:

      $$ l(x,y) = L = \{ {l_1},{l_2},\cdots,{l_n}\} $$ (4)

      式中,$ {l_i} = - {w_i}[{y_i}\log {\hat y_i} + (1 - {y_i})\log (1 - {\hat y_i})] $,且$ i \in [1,n] $$ n $表示批次大小,$ {y_i} $表示第$ i $个样本的真实标签,$ {\hat y_i} $表示第$ i $个样本的预测结果,$ {w_i} $表示权重。

      基于上述定义,MalConv改进模型的输出结果为:

      $$ y = {\text{softmax}}(W{\text{*}}({{\boldsymbol{x}}_i} * {k_t} + {\boldsymbol{b}}) + {\boldsymbol{B}}) $$ (5)

      式中,$ {{\boldsymbol{x}}_i} * {k_t} + {\boldsymbol{b}} $表示第二卷积层输出的特征图;$ W $为全连接层的权重;$ {\boldsymbol{B}} $为全连接层的偏置向量;$ {\text{softmax}} $为分类函数。

      通过对比原始的MalConv模型看出,改进后模型的“尺寸”进行了一定程度的压缩。原始的MalConv模型使用两个512个卷积核的卷积层,模型共计1 024个卷积核,卷积核大小为500;改进后的MalConv模型在两个卷积层上分别有64、16个卷积核,模型总共设置80个卷积核,卷积核数量减少了944个,卷积核大小为500,模型参数个数减少了500×944=472 000个。

    • 针对IoT中Mirai为代表的恶意软件产生大量网络流量的特点,本文对此提出了基于文本分析的Bi-LSTM模型,用于对恶意流量的检测。本文设计的基于注意力的Bi-LSTM模型结构如图3所示,其中,xi为输入向量,ei为嵌入向量,hi为LSTM层计算的输出向量。

      图  3  Bi-LSTM模型结构图

      将给定的恶意流量提取的特征定义为$x{\boldsymbol{'}}$,定义使用参数$ \theta $构建和训练的深度神经网络为$y = {G_\theta }(x{\boldsymbol{'}})$,其中,$ y\in \left\{\mathrm{0,1}\right\} $$ y = 1 $表示该网络流量为恶意;反之为正常的良性流量。如图3所示,基于注意力的Bi-LSTM是针对恶意流量检测和特征重要性分析而设计的,该模型由5个部分组成。

      1) 输入层。以接收提取的网络数据流量特征文本$ \{ {{\boldsymbol{x}}_1},{{\boldsymbol{x}}_2},\cdots,{{\boldsymbol{x}}_M}\} $作为输入,其中$ M $为提取的特征个数(维度)。

      2) 嵌入层。用于将输入特征$ {x_j} $嵌入映射到向量$ {{\boldsymbol{e}}_i} $层,其中$ j \in [1,M] $

      3) LSTM层。通过嵌入层从输出向量中获取输入,该层定义为:

      $$ {{\boldsymbol{h}}_i} = \left[ {\mathop {{{\boldsymbol{h}}_i}}\limits^ \to \oplus \mathop {{{\boldsymbol{h}}_i}}\limits^ \leftarrow } \right] $$ (6)

      式中,因为该模型是双向(bi-directional)的LSTM,所以$ \mathop {{{\boldsymbol{h}}_i}}\limits^ \to $$ \mathop {{{\boldsymbol{h}}_i}}\limits^ \leftarrow $分别为正向输出和反向输出,正向输出和反向输出进行拼接得到${{\boldsymbol{h}}_i}$作为LSTM层的输出。单向输出的$\mathop {{{\boldsymbol{h}}_i}}\limits^ \to$$\mathop {{{\boldsymbol{h}}_i}}\limits^ \leftarrow$从神经元细胞内可分为4个步骤计算。

      ① 单元的遗忘门决定单元的状态信息。遗忘门根据前一时刻的输出状态$ {{\boldsymbol{h}}_{t - 1}} $和此刻输入$ {{\boldsymbol{x}}_t} $可以计算输出$ [0,1] $之间的遗忘值,然后根据遗忘值计算出前一时刻的单元状态$ {C_{t - 1}} $中应该被遗忘的信息。单元遗忘门$ {f_t} $的为:

      $$ {f_t} = \sigma ({W_f} \cdot [{{\boldsymbol{h}}_{t - 1}},{{\boldsymbol{x}}_t}] + {{\boldsymbol{b}}_f}) $$ (7)

      ② 单元的记忆门用记忆保留信息。记忆门根据前一时刻的输出状态$ {{\boldsymbol{h}}_{t - 1}} $和此刻输入$ {{\boldsymbol{x}}_t} $计算出记忆值$ {i_t} $和单元的临时状态${ \tilde C} t $,即有:

      $$ {i_t} = \sigma ({W_i} \cdot [{{\boldsymbol{h}}_{t - 1}},{{\boldsymbol{x}}_t}] + {{\boldsymbol{b}}_i}) $$ (8)
      $$ {{\tilde C}_t} = \tanh ({W_C} \cdot [{{\boldsymbol{h}}_{t - 1}},{{\boldsymbol{x}}_t}] + {{\boldsymbol{b}}_C}) $$ (9)

      ③ 更新单元信息。将遗忘门决定遗忘的信息和记忆门保留的信息合并,生成新的状态信息$ {C_t} $为:

      $$ {C_t} = {{\boldsymbol{f}}_t}*{C_{t - 1}} + {i_t}*{\tilde C}_t $$ (10)

      ④ 输出门计算当前时刻隐藏层状态和输出状态特征,分别为:

      $$ {o_t} = \sigma ({W_o}[{{\boldsymbol{h}}_{t - 1}},{x_t}] + {{\boldsymbol{b}}_o}) $$ (11)
      $$ {{\boldsymbol{h}}_t} = {o_t}*\tanh ({C_t}) $$ (12)

      式中,$ {W_o} $为权重;$ {{\boldsymbol{b}}} $为偏置向量;$ \sigma $为Sigmoid激活函数;tanh为tanh激活函数。计算最后得到的${{\boldsymbol{h}}_t}$即为正向输出和反向输出的$\mathop {{{\boldsymbol{h}}_i}}\limits^ \to$$\mathop {{{\boldsymbol{h}}_i}}\limits^ \leftarrow$

      4) 注意力(attention)层。利用注意机制计算LSTM最后一层的输出,得到对应的权重大小,主要用于特征的量化分析。

      5) 输出层。对注意力层的输出进行加权计算,预测分类结果为0(良性)或1(恶意),即有:

      $$ {\hat p}(y|{x_i}) = {\rm{soft}}\max ({W^{({{\boldsymbol{x}}_i})}}{{\boldsymbol{h}}^*} + {{\boldsymbol{b}}^{({{\boldsymbol{x}}_i})}}) $$ (13)

      式中,${{\boldsymbol{x}}_i}$表示输入特征向量;${{\boldsymbol{h}}^*}$表示具有注意力机制的Bi-LSTM最终计算得到的相应矩阵。

    • 为了使MalConv改进模型在保持精简的同时可对恶意软件样本和恶意软件网络流量进行检测,以2.1节设计的MalConv改进模型为基础,首先实现特征融合。定义新的输入特征向量为${{\boldsymbol{x}}}_{i}=[\overline{{x}_{{\rm{is}}}}+\overline{{x}_{{\rm{ip}}}}]$,其中,$ \overline{{x}_{{\rm{is}}}} $$ \overline{{x}_{{\rm{ip}}}} $分别表示特定攻击所对应的恶意软件样本特征和攻击对应的网络流量特征。当某个恶意软件样本缺少对应的网络流量时,对应的$ \overline{{x}_{{\rm{ip}}}} $为0;反之,若某个病毒攻击没有从网络流量中提取到独立的恶意软件样本,则设置$ \overline{{x}_{{\rm{is}}}} $为0。以融合的特征向量为输入进行检测模型的融合,如图4所示。

      图  4  特征融合示意图

      其次,在采用MalConv改进模型结构和输入特征融合的基础上,将融合恶意流量检测模型后的模型命名为NT-MalConv(network traffic-based MalConv),并对其损失函数综合设计为:

      $$ L({{\boldsymbol{x}}_i},y) = \alpha {L_1}({{\boldsymbol{x}}_i},y) + (1 - \alpha ){L_2}({{\boldsymbol{x}}_i},y) $$ (14)

      式中,$ L({x_i},y) $表示融合模型NT-MalConv的损失函数;$ {L_1}({x_i},y) $$ {L_2}({x_i},y) $分别表示MalConv改进模型和Bi-LSTM的损失函数;$ {{\boldsymbol{x}}_i} $为融合模型$ F{'_\theta }({{\boldsymbol{x}}_i},y) $的输入;$ \alpha $为超参数,表示两个模型损失函数之间的权重关系,通常$ \alpha \in [0,1] $,默认值为0.5。

    • 实验运行环境:所有实验都在同一个平台上实现。服务器配置Intel Core i7 10700,Nvidia GeForce GTX2060,内存16 GB,运行操作系统为Ubuntu 16.04;所有程序都运行在Python 3.6和pytorch 1.2.0上。

      脚本恶意流量采集环境:在T-Pot16.10平台上进行,通过恶意软件脚本运行时产生的恶意流量进行采集。在Ubuntu16.04操作系统中使用Honeytrap等蜜罐收集网络流量数据,从而捕获恶意行为的“踪迹”。

      恶意软件数据集:恶意软件样本采集自VirusShare和VirusTotal网站,良性软件样本采集自真实的物联网环境中常见的软件。

      恶意流量数据集:恶意流量数据采集自两个方面,一方面从数据集IoT-23上采集;另一方面通过运行采集的恶意软件样本,基于开发的脚本插件生成对应的恶意流量。实验中,使用zeek工具在T-Pot16.10开源蜜罐平台上进行监控采集。作为公开的标准数据集,IoT-23数据集是由23个不同物联网场景中的网络流量构成。23个场景进一步分为20个来自受感染物联网设备所在网络中捕获的.pcap文件和3个真实物联网设备所在的网络中捕获的.pcap文件两部分。

      通过上述数据集,对恶意流量进行特征提取,以网络报文报头关键字段为基础,结合“网络流(network flow)”的代表性统计特征,实验中所用恶意流量特征主要包括:协议、服务、请求的字节大小、响应字的大小、连接状态、本地请求、本地响应、连接记录、丢失字节大小、请求的包字节大小、请求IP字节大小、响应的包字节大小、响应IP字节大小、隧道信息。其中,代表连接发起者和连接响应者之间的行为动作的“连接记录”特征具有最大的贡献。

      由于恶意流量和良性流量样本数量差距较大,为防止数据不均衡问题影响模型的训练,本文对所采集的全部数据集综合后运用K折交叉验证(K-fold cross validation),并取K=4。对恶意软件数据集和恶意流量数据集,其训练集和验证集比设为3:1,即75%用于训练,25%用于评估和测试。

    • 为了量化改进的神经网络模型表现,本文在2.1节设计的神经网络模型的基础上,分别又配置了全连接层数量不同的另外4种模型。对比来看,5个网络模型的区别主要表现在全连接层的层数,分别从1层到5层,每层的神经元个数均为128个,分别记为:MalConv_Full_1、MalConv_Full_2、MalConv_Full_3、MalConv_Full_4和MalConv_Full_5。通过将上述5个神经网络模型同原始的MalConv模型进行对比,实验结果如表1所示。

      表 1  MalConv及相应改进模型的检测性能对比 %

      模型准确率精确率召回率F1值
      MalConv93.4994.6692.8393.74
      MalConv_Full_193.2894.4192.6693.53
      MalConv_Full_294.8294.8995.3695.12
      MalConv_Full_395.2895.5796.6996.13
      MalConv_Full_495.2193.9793.6295.28
      MalConv_Full_591.8193.5693.5691.64

      表1所示的实验结果可以看出,上述模型对于IoT中的恶意软件检测均取得了较好的效果,准确率均超过91.81%。此外,MalConv同MalConv_Full_1两者表现无明显差距。MalConv_Full_1模型卷积层的参数数量为原始MalConv模型的1/13,通过减少卷积核数量,模型并无明显性能下降,说明原MalConv模型卷积层在恶意特征提取方面存在网络结构的较高冗余度。MalConv_Full_2模型的性能普遍高于原MalConv模型,准确率提升约1.3%。随着全连接层数量的增加,检测性能逐渐提高,主要原因在于神经网络全连接层数量的增加为模型的分类提供了更多可学习的参数,提升了模型的表现能力。反之,这也说明制约原MalConv模型性能的关键因素集中在全连接层的分类能力,仅配置一层全连接层的卷积神经网络,对恶意样本特征的“学习能力”存在较大的改进空间。随着全连接层的加深,MalConv_Full_5模型的性能突然下降,主要原因在于全连接层深度的增加导致了学习过程中出现了过拟合。全连接层的加深导致模型的参数增多,对训练样本具有较强的学习能力,但削弱了模型的泛化能力,在恶意软件变种和未知变种的检测方面能力减弱。

    • 为检验融合模型NT-MalConv对恶意软件和恶意流量的检测性能,除采用恶意软件样本集合和网络数据流量数据集外,还采用了部分面向MalConv模型所生成的对抗恶意软件样本[28],用于对模型的健壮性进行验证,实验结果如表2所示。

      表2实验结果可以可知,MalConv改进模型面对恶意软件对抗样本时各项性能指标均有所下降,模型的健壮性相对较差。主要原因在于针对MalConv模型的对抗攻击利用了主流对抗攻击技术(以C&W[29]、FGSM[30]、DeepFool[31]为代表),产生的对抗样本具有较强的“逃逸”能力。

      表 2  实验中使用的数据集统计 %

      模型数据集准确率精确率召回率F1值
      MalConv
      改进模型
      恶意软件 93.28 94.41 92.66 93.53
      恶意软件+对抗样本 84.20 90.82 90.91 81.02
      NT-MalConv 恶意软件 92.83 92.86 92.03 92.41
      恶意软件+恶意流量 95.17 94.89 95.99 95.44
      恶意软件+对抗样本+恶意流量 94.51 92.62 97.70 95.09

      但是,引入对抗样本能够对恶意软件及其变种在特征空间的分布进行学习,有利于提升现有检测模型对新型变种或未知变种的检测能力。融合模型NT-MalConv对恶意软件的检测性仅表现轻微的下降,健壮性强。当对恶意软件和恶意流量的数据集同时进行检测时,NT-MalConv模型的性能达到最高值95.17%,比MalConv改进模型在恶意软件数据集上的性能平均提高了约2%。

      对比MalConv改进模型和融合模型NT-MalConv在不同场景下的表现,综合表1表2的结果,可以得出如下结论。

      1) 融合模型NT-MalConv能有效提升恶意软件的检测率,即使仅对恶意软件的输入数据进行检测也能取得较好的性能。该模型既能作用于恶意软件样本,也可以作用于网络流量上,满足了IoT中的恶意软件检测需求。

      2) 融合模型NT-MalConv对恶意软件对抗样本表现出更高的健壮性。物联网中绝大部分种类恶意软件的行为是同时针对设备和网络的,其在网络数据流上具有较强的检测特征,整合恶意流量的检测方式,从网络行为的“动态”特征层面上对恶意软件检测进行了强化。所以,NT-MalConv模型比单纯的MalConv改进模型性能更佳。恶意流量作为恶意软件发送的网络流量信息是普遍存在的,不论恶意软件还是对抗性恶意软件样本均会发送恶意流量。融合的输入特征在输入NT-MalConv模型后,虽然对抗性恶意软件样本的一部分在MalConv改进模型的输出结果为阴性(逃逸),但对抗性恶意软件样本的恶意流量在Bi-LSTM模型的输出为阳性,最终NT-MalConv的输出为阳性。所以,NT-MalConv模型对对抗性恶意软件具有更好的检测能力,健壮性更高。

      为了检验本文提出的融合模型的性能,将NT-MalConv和IoT中恶意软件检测的同类研究工作进行了对比,结果如表3所示。

      表 3  与已有研究工作对比 %

      模型/文献准确率
      NT-MalConv95.17
      文献[9]95.5
      文献[13]94.0
      文献[32]93.4~95.8
      文献[33]92.21

      表3可以看到,本文提出的融合模型比大部分已有IoT中恶意软件检测模型的准确率高,仅文献[9]模型的准确率略高于本文的融合模型,两者都强调了恶意软件的统计特征、文本特征,这也表明了特征融合对恶意软件检测的重要性。融合恶意网络流量和恶意软件对抗样本,能够对恶意软件特征空间进一步学习,提高模型的健壮性和安全性,而其他模型均没有考虑对抗样本的特征。同类研究中强调了文本特征(可打印字符)的重要性,但此类特征容易受到代码混淆、加壳和加密算法的干扰,从而降低检测的准确率。而本文的融合模型对混淆和加壳的样本依旧具有较高的检测性能。

      综合来看,本文提出的MalConv改进模型和NT-MalConv模型均能够直接对恶意软件文本或网络流量进行检测,更符合IoT应用的需要。

    • 本文对物联网中的恶意软件检测做了较为全面的研究,在对现有MalConv模型进行改进的基础上,通过特征融合和模型融合,提出了具有较高性能和健壮性的NT-MalConv模型。依托测试结果和模型对恶意软件样本和网络流量特征的卓越学习能力,对IoT中的攻击与防御进行了一定程度的深入研究,促进了IoT应用的安全性。未来的研究工作主要集中在IoT中边缘智能设备上的安全问题,同时以降低能耗为目标,优化IoT中恶意软件检测模型的结构,降低开销。

参考文献 (33)

目录

    /

    返回文章
    返回