999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于人工智能的物聯網惡意代碼檢測綜述

2023-10-27 02:50:34劉奇旭劉嘉熹劉心宇肖聚鑫陳艷輝朱洪文譚耀康
計算機研究與發展 2023年10期
關鍵詞:人工智能特征設備

劉奇旭 劉嘉熹 靳 澤 劉心宇 肖聚鑫 陳艷輝 朱洪文 譚耀康

1(中國科學院信息工程研究所 北京 100085)

2(中國科學院大學網絡空間安全學院 北京 100049)

近年來,物聯網(Internet of things,IoT)在智能家居、智能手表、智能健康、供應鏈管理等領域中被大量使用,“萬物互聯”已經成為當今時代的主流.截至2022 年,全球物聯網設備的數量已達131 億,預計到2030 年物聯網設備數量將會逼近300 億,與此同時,物聯網市場的收益也逐步攀升,年收入增長率高達13.60%[1].

隨著物聯網設備的大量使用,人們的生活質量顯著提高,然而,物聯網的蓬勃發展也為攻擊者提供了溫床,生產廠商更多關注設備銷量和收益,對物聯網設備的安全問題很難投入足夠的研究.此外,物聯網設備還存在使用弱口令、不及時更新安全補丁等問題.因此,物聯網設備比傳統的臺式機、筆記本電腦等設備更容易被惡意代碼攻擊,成為惡意攻擊的目標.惡意代碼,又稱為惡意軟件,是指能夠在計算機系統中進行非授權操作,并使系統執行攻擊者希望其執行的操作,以實施破壞或竊取信息的代碼.惡意代碼可能以蠕蟲、病毒、遠控木馬、僵尸程序以及勒索軟件等形態出現,以不同攻擊形態出現的惡意代碼破壞計算機、服務器、客戶端或計算機網絡,或在不知情的情況下損害用戶的計算機安全和隱私,給企業和個人造成巨大的經濟損失.例如,攻擊者通過精心設計惡意代碼,利用物聯網設備使用默認憑證或弱憑證的漏洞控制設備,并執行進一步的攻擊.

Sonic Wall 的報告[2]指出,截止到2022 年,針對物聯網設備的惡意代碼攻擊同比增加了77%,無疑給物聯網安全造成巨大威脅.2016 年,物聯網惡意軟件Mirai 通過使用默認用戶名和密碼感染設備,創下了最大的分布式拒絕服務(distributed denial of service,DDoS)攻擊記錄,引起了眾多安全研究人員[3-4]對物聯網惡意代碼的關注.Mirai 的源代碼不久后泄露,一定程度上導致了以物聯網設備為目標的新型惡意軟件家族如Gafgyt,Reaper,satori[5]等的出現,這些惡意代碼對物聯網設備的安全和用戶的隱私及財產安全都產生了嚴重威脅,物聯網惡意代碼檢測技術已經成為物聯網安全領域研究的重要組成部分.

為了緩解惡意代碼帶來的巨大安全風險,近年來,安全研究人員開始逐漸關注物聯網領域的惡意軟件檢測工作.傳統的物聯網惡意代碼檢測和設備保護方法主要依靠特征庫的積累和惡意軟件分析人員的人工分析,但是由于惡意軟件的爆發式增長[4,6-10],傳統方式缺乏效率且難以應對未知的安全風險.安全研究人員開始嘗試將在圖像分類、文本分析等領域取得了巨大成功的人工智能(artificial intelligence,AI)技術應用于惡意代碼檢測領域并得到了很好的效果[11-14].目前,基于人工智能技術的物聯網惡意代碼檢測研究逐漸成為主流.但是,相較于傳統的臺式機、服務器等設備,物聯網設備上的惡意代碼檢測技術不僅面臨著基于人工智能的惡意代碼檢測技術普遍需求更高檢測準確率等問題,而且要應對物聯網設備自身特性引發的2 大挑戰[15]:1)物聯網惡意代碼能夠感染使用多種不同CPU 架構的設備,而不同CPU架構的指令集不同,導致無法將基本使用相同架構的傳統設備中成熟的惡意代碼特征提取和檢測方法直接應用到物聯網惡意代碼的檢測中.2)由于物聯網設備一般體積較小,需要部署在各種不同的環境中,物聯網設備受到內存空間小、電量少等資源限制,需要部署相對于傳統設備更輕量級的檢測系統.因此基于人工智能的物聯網惡意代碼檢測研究在提高模型的檢測效果的同時,需要解決當前物聯網設備自身的特性帶來的獨特挑戰.

隨著物聯網設備地逐步普及,許多物聯網安全相關研究也被提出[16],基于人工智能的物聯網惡意代碼檢測相關研究也不斷涌現,本文對2018 年以來網絡與信息安全領域四大頂級會議以及期刊等來源的基于人工智能的物聯網惡意代碼檢測相關研究進行了大量的調研和分析,總結現有研究工作的特點和不足,為進一步的研究提供了系統性的參考.圖1展示了歷年來基于人工智能的物聯網惡意代碼檢測文章數量,文章數量的增長速度逐步加快,說明隨著人工智能和物聯網技術的快速發展,越來越多的檢測方案被提出.

Fig.1 AI-based IoT malware detection representative research statistics from 2018 to May 2023圖1 2018—2023 年5 月基于人工智能的物聯網惡意代碼檢測代表性研究統計

為了更加直觀地展現目前研究工作的側重點以及存在的問題,本文總結了物聯網領域與傳統設備領域的檢測工作的差異性,從新的角度提出一種新的分類方法.

本文主要有3 個方面的貢獻:

1)本文調研了自2018 年以來基于人工智能技術的物聯網惡意代碼檢測工作,深入分析了這些研究工作提出的基于人工智能的檢測技術以及其技術特點,對本領域的發展進程進行了全面的梳理.

2)本文從物聯網設備和系統自身的特性出發,圍繞物聯網惡意代碼檢測的主要研究動機,從面向物聯網設備限制緩解的惡意代碼檢測和面向性能提升的物聯網惡意代碼檢測2 個角度對當前的研究工作進行了分類研究.

3)基于對物聯網惡意代碼檢測工作的全面調研總結,本文對當前的工作進行了深入的分析,總結了應用人工智能技術的檢測當前仍存在的不足和面臨的挑戰,并展望了未來基于人工智能的物聯網惡意代碼檢測研究的方向.

1 研究背景

1.1 物聯網相關概念及特性

本節從物聯網的基本概念入手,介紹物聯網的基本架構和物聯網設備的內部架構,進而梳理了影響運行在物聯網設備上的惡意代碼檢測技術設計的特性.

學術界通常將物聯網系統劃分為感知層、網絡層和應用層[17-18],物聯網系統的結構層次和安全風險及威脅如圖2 所示.

Fig.2 Structural layers of IoT system and the threats they face圖2 物聯網系統的結構層次及其面臨的安全威脅

感知層關聯到各類物聯網設備,這些設備中通常內置了許多用于收集外部信息的傳感器以及用于數據傳輸的無線連接模塊[19],傳感器收集的數據被發送到應用層.網絡層定義了各類通信協議與傳輸協議,負責感知層與應用層之間的數據交換.應用層包括云平臺和搭載于物聯網設備上的應用程序(application,APP).其中各層的物聯網設備都面臨著不同的安全威脅,而各個層次中的物聯網設備都可能受到惡意代碼攻擊.

具體到設備而言,每個物聯網設備的內部組成自下而上可以分為硬件層、系統層和用戶層,如圖3所示.

Fig.3 Internal architecture of IoT devices圖3 物聯網設備內部架構

硬件層常見的處理器架構包括ARM、MIPS、PowerPC(PPC)、SPARC、SuperH 等[20],供應商往往會根據物聯網設備不同的功能需求選擇基于不同架構的處理器.這些架構均為32 b 精簡指令集處理器計算機(reduced instruction set computer,RISC),其被廣泛應用于微處理器的嵌入式系統設計,低能耗的特性使得這些架構適用于移動通信、航空航天、智能傳感器等設備中.例如,基于MIPS 架構開發的Sensor Hub 被廣泛應用于可穿戴設備[21].臺式機和服務器等設備上常用的x86 和x86_64 等架構為復雜指令集處理器計算機(complex instruction set computer,CISC),由于其復雜性與高能耗,較少出現在物聯網設備上.

物聯網設備的系統層包括操作系統和應用程序,為物聯網設備功能的實現提供支撐.物聯網設備的操作系統具有低功耗、安全、通信協議支持和云端連接功能.常見的物聯網操作系統包括RIOT、Contiki、ARM mbed、eLinux 等[22].

物聯網設備的用戶層面向用戶提供交互界面并接受用戶控制.

通過分析物聯網設備的組成,可以梳理出物聯網設備區別于傳統臺式機等設備的2 個特性:

1)根據物聯網設備的獨特功能需求使用不同的CPU 架構,不同CPU 架構所使用的指令集、寄存器等也存在差異.

2)物聯網設備結構上的局限性導致大多數物聯網設備的內存容量較小,可分配的計算資源也相對較少.

由于存在多種CPU 架構以及資源限制等與傳統臺式機和服務器等設備不同的特性,攻擊者往往會專門開發針對物聯網設備的惡意代碼.1.2 節中,我們將詳細探討這些特性給物聯網惡意代碼檢測帶來的獨特挑戰.

1.2 物聯網惡意代碼檢測挑戰

本節首先介紹了近年來活躍的物聯網惡意代碼,然后結合物聯網設備和運行在其上的惡意代碼的特性指出了基于人工智能的物聯網惡意代碼檢測技術面臨的獨特挑戰.

著名的物聯網惡意代碼Mirai 在2016 年10 月的網絡攻擊[23]引起了全球關注,大量運行嵌入式Linux 系統且使用弱密碼或默認憑證的IoT 設備被Mirai 感染,并被組織成龐大的僵尸網絡用于發動大規模的 DDoS 攻擊,攻擊導致大半個美國互聯網癱瘓.近年來,IoT 平臺的主要威脅依然是以Mirai、Gafgyt等為代表的主流僵尸網絡家族,也有陸續出現一些變體和新家族如Tsunami、Mozi、VPNfilter 等.僵尸網絡家族也不再滿足于挖礦和DDOS 攻擊,2022 年發表的研究工作[24]提出一種被稱為通過物聯網操縱需求(manipulation of demand via IoT,MadIoT)的新型潛在攻擊,此攻擊表明物聯網惡意代碼已對國家的基礎設施構成了重大威脅.

Mirai、Tsunami、VPNfilter 等物聯網惡意代碼已被發現在多種CPU 架構上運行[25-27].鑒于第1.1 節中提到的不同物聯網設備通常會使用大量不同的CPU架構的特性,攻擊者可以通過在不同架構上編譯惡意代碼,然后向使用不同架構的物聯網設備廣泛投放,以實現大規模的攻擊.這為物聯網惡意代碼檢測帶來了第1 個獨特的挑戰.

在不同CPU 架構上編譯的程序具有不同的指令集,在臺式機等設備上基于人工智能的惡意代碼檢測中,通常會選用一些特征來進行檢測,例如可執行連接格式(executable linking format,ELF)文件頭的數據特征和操作碼等.但這些特征依賴于編譯程序的系統所使用的CPU 架構[27].這些特征高度依賴于特定的體系結構,無法用于跨架構物聯網惡意軟件檢測.因此,針對物聯網惡意代碼的檢測需要選擇跨架構通用的特征,以解決大量來自不同CPU 架構的惡意代碼帶來的挑戰.

物聯網設備的資源限制特性帶來了基于物聯網的惡意代碼檢測的第2 個獨特挑戰.當前的大多數物聯網設備,如可穿戴設備、智能家居、智能電表、無人機集群等,由于設備體積小、能耗低,其可以使用的資源受到限制.例如,只擁有少量的內存空間、有限的計算能力、低帶寬以及低電量[28-31].現有惡意代碼檢測方法大多忽略了物聯網設備資源受限的問題.檢測模型的復雜度往往較高,導致計算成本也高.因此,設計基于機器學習或深度學習的輕量級惡意代碼檢測模型變得至關重要.這些模型需要通過降低算法復雜度等方式適應物聯網設備資源的限制,從而實現可部署性.

上述2 個物聯網惡意代碼檢測所遭遇的獨特挑戰,源自物聯網的CPU 架構多樣性以及物聯網設備的資源限制.這2 種挑戰是物聯網設備限制挑戰的2個方面.

此外,物聯網惡意代碼層出不窮,及時檢測到惡意代碼攻擊,提高檢測模型的準確率,降低誤報率,也是物聯網設備安全和惡意代碼檢測的一大挑戰.

1.3 物聯網惡意代碼檢測常用數據集

由于物聯網領域正處于蓬勃發展階段,針對物聯網設備的攻擊也層出不窮,基于人工智能技術的物聯網惡意代碼檢測研究使用多種數據集訓練其設計的機器學習或深度學習檢測模型.我們通過大量的文獻調研工作總結了檢測工作中常用的物聯網惡意代碼和惡意流量數據集.

1.3.1 物聯網惡意可執行文件數據集

為了給未來的檢測工作減少數據收集的負擔,本節介紹的物聯網惡意代碼數據集符合3 點要求:1)數據集包含來自多種架構的惡意和良性二進制可執行程序;2)數據集包含近年新構建的樣本;3)數據集開源可用,易于獲得.

TWISC(Taiwan information security center)研究中心2021 年發布的開源數據集[32]包含36 328 個樣本,包括各種來源的ELF 惡意軟件和19 975 個良性軟件,其中樣本來源的CPU 架構有MIPS、ARM、x86、Super-H4 和PPC 等.文獻[26]的工作包括收集并開源了一個名為Badthings 的惡意樣本的物聯網惡意代碼數據集,此數據集排除了主要存在于服務器、臺式機和筆記本電腦中的x86 和x86_64 惡意軟件以及安卓惡意軟件,包含來自多種CPU 架構的1 66 772 個惡意ELF二進制文件.文獻[33]收集了另外一個包含來自不同架構的惡意和良性樣本的物聯網數據集firmware.IoTPoT[6]通過部署大量蜜罐截獲物聯網惡意代碼樣本,開源并定時更新其數據集.此外,VirusTotal[34]和VirusShare[35]也是很多論文收集物聯網惡意代碼數據的重要來源.各種開源物聯網惡意代碼數據集展示在表1 中.

Table 1 Open Source IoT Malware Datasets表1 開源物聯網惡意代碼數據集

1.3.2 物聯網惡意流量數據集

物聯網惡意流量有較多開源數據集,IoT-23 數據集[36]收集了從飛利浦智能LED 燈、Somfy 智能門鎖和亞馬遜Echo 等多個設備上捕獲的運行惡意軟件和良性程序時的pcap 文件.新南威爾士大學的研究人員[37-38]貢獻了2 個流量數據集,分別在實驗室模擬現實網絡環境,部署惡意代碼收集攻擊數據,惡意代碼部署在智能氣象站、智能冰箱、智能燈光控制、遠程車庫門開關和智能恒溫器等真實物聯網應用場景中,其中Bot-IoT 數據集[37]有超過7 300 萬條流量數據.ToN_IoT 數據集[38]由來自物聯網傳感器和Ubuntu 系統等真實物聯網設備的網絡流量組成.MedBIoT 數據集[39]收集了Mirai 等僵尸網絡在擁有83 個包括智能鎖、智能開關等設備的中型網絡中的攻擊流量.Kitsune 數據集[40]收集自一個包括恒溫器、嬰兒監視器、網絡攝像頭、低成本的安全攝像頭和門鈴等物聯網設備在內的由3 臺電腦和9 臺物聯網設備組成的小型網絡.

上述5 個物聯網惡意流量數據集也展示在表1中,由于流量數據集從多種不同設備中獲得,流量數據在不同CPU 架構上也沒有區別,因此統一標記的流量數據來自多種常見物聯網CPU 架構.

2 物聯網惡意代碼檢測技術分類方法

2.1 現有綜述論文分類方法

2008 年,針對物聯網設備的惡意代碼首次被發現[41],之后幾年內才開始大規模出現并引起工業界與研究人員的共同關注[42-43].為了介紹當前的物聯網惡意代碼檢測分類方法,本節對現有的綜述文章及其物聯網惡意代碼檢測技術的分類方法進行了介紹.

文獻[44]聚焦于跨架構物聯網惡意軟件檢測和分析方法,對著眼于解決多架構限制的機器學習物聯網惡意軟件檢測技術的最新研究進行總結,從靜態檢測特征選取的角度進行了分類分析,將目前的物聯網惡意軟件檢測技術分為基于度量、基于圖或樹、基于序列和相互依賴4 種.基于度量的特征包括ELF 文件頭、字符串、系統調用、操作碼等,基于圖或樹的特征表示包括控制流圖(control flow graph,CFG)、函數調用圖(function call graph,FCG)等,基于序列的特征包括字節碼、轉換為圖片等,相互依賴的特征關注ELF 文件與外部環境之間的關系,包括二進制文件的路徑信息等.然而,該綜述的分類方案只考慮了物聯網惡意代碼靜態檢測技術,沒有考慮物聯網惡意軟件檢測領域中大量使用動態檢測技術的相關研究,并且只局限于總結面向跨架構限制的檢測技術,沒有考慮針對物聯網系統自身的其他特性提出的更多惡意代碼檢測方案.

Ngo 等人[45]對截止到2020 年的物聯網惡意軟件靜態檢測的主要技術論文及其優缺點進行了綜述,他們將物聯網惡意軟件檢測方法分為2 類:未使用圖的方法和基于圖的方法.這個分類考慮了現階段圖神經網絡的快速發展以及在惡意代碼檢測領域中的大量應用,但是忽略了動態特征.此外,隨著近幾年物聯網領域的飛速發展,物聯網惡意代碼領域也有大量新的研究,但其可能沒有涵蓋最新的物聯網惡意軟件檢測技術.

文獻[46]將物聯網惡意軟件檢測方法從使用的技術角度分為基于區塊鏈技術的檢測、基于圖像技術的檢測、基于機器學習的檢測和移動惡意軟件檢測.但是文獻[46]的分類方法不夠清晰,例如,基于圖像技術的檢測本質上也是將二進制程序的特征轉換為圖片形式表示,再使用機器學習技術檢測,這也屬于基于機器學習檢測的一部分.

文獻[31,47-48]探討了近年來在保護用戶數據及系統安全方面廣受關注的聯邦學習(federated learning,FL)技術的研究現狀,并對應用聯邦學習進行物聯網惡意代碼檢測的工作進行了全面分析.這些文獻主要關注在資源受限的物聯網設備上應用聯邦學習進行檢測工作,但對物聯網惡意軟件檢測領域的整體評估尚不完備.

文獻[43,49]對2008—2019 年活躍的物聯網惡意代碼及惡意代碼家族進行了詳細調研和梳理,并分別提出了檢測分類方案.

雖然現有的物聯網惡意代碼檢測相關綜述都很好地總結了特定方向的工作,但是由于物聯網領域發展時間短,近年來針對物聯網惡意軟件的綜述文章較少,并且目前的綜述文獻大多聚焦于具體的檢測技術和方法,在較小范圍內細分檢測技術無法全面展現整個領域當前的研究現狀.基于此,本文對2018 年以來發表的基于人工智能的物聯網惡意代碼檢測高質量工作進行調研,補充現有的綜述工作,從更高的角度提出涵蓋范圍更大的分類和總結.

2.2 本文分類方法

為了提供一個全新的視角,使研究人員能夠全面了解物聯網惡意代碼檢測技術的進展,本文對2018 年以來在網絡與信息安全領域頂級會議和期刊上發表的物聯網惡意代碼檢測相關研究進行了調研.對這些研究工作解決的問題、主要貢獻、使用的機器學習和深度學習算法、物聯網惡意代碼數據集以及檢測效果等方面進行了詳細分析.同時,本文提出了一種新的分類方法,從物聯網檢測研究的主要動機的角度進行分類,本文分類框架如圖4 所示.

具體而言,相較于現有的綜述文獻所采用的特定靜態或動態分析技術,或是以人工智能算法模型的角度進行分類,本文所提出的分類方法主要著眼于基于人工智能的物聯網惡意代碼檢測研究所致力解決的主要問題,即研究動機.如圖4 左側淺色陰影框所示,物聯網惡意代碼檢測的一類研究側重于緩解物聯網設備特有的架構及資源限制帶來的惡意代碼檢測挑戰,包括跨架構的惡意代碼檢測和針對物聯網設備資源限制的惡意代碼檢測技術.如圖4 右側無淺色陰影框所示,另一類面向檢測模型性能提升,這些研究從惡意代碼檢測的通用檢測和分類方法入手,通過使用不同的機器學習算法或特征,提高人工智能算法模型的檢測準確率,包括基于流量的惡意行為檢測和基于二進制可執行文件的檢測技術.

面向物聯網設備限制的惡意代碼檢測技術的主要研究動機是解決物聯網設備自身特性導致的惡意代碼檢測限制.如1.1 節中所述,隨著物聯網在各行各業的不斷普及,由于物聯網領域的設備存在多樣性,而這些設備需要達到高性能、低能耗的標準和更高的安全性要求,無法通過單一處理器架構滿足多種設備的不同需求,因而物聯網領域存在多種處理器架構.物聯網設備常用的處理器架構包括MIPS、ARM、PPC 和SPARC 等,而物聯網惡意軟件可以在異構設備[50]中傳播,這使得運行在物聯網設備上的惡意代碼的特性與臺式機等設備中被限制在有限種類的CPU 架構上運行的傳統惡意軟件不同[26],CPU架構的差異導致相同的惡意行為呈現出不同的特征[27],因此無法直接將其它設備上已經較為成熟的機器學習惡意代碼檢測模型應用到物聯網惡意代碼檢測中.這部分研究通過分析運行在不同架構上物聯網惡意代碼的特點,選擇新的惡意代碼特征,提出在多種架構中檢測物聯網惡意代碼的方法.另外,物聯網設備還具有資源有限、需要持續在線連接、缺乏安全保護等獨特的性質.現有基于人工智能的惡意代碼檢測方法大多沒有考慮計算成本等問題,難以直接部署到物聯網環境中.因此,設計可在資源受限物聯網設備上部署的輕量級且準確的惡意代碼檢測框架也是當前本領域的一個熱門研究方向.

除了面向物聯網設備和環境獨有的特性和限制而設計的檢測技術,一部分研究面向物聯網惡意代碼檢測模型的性能提升,其主要研究動機是通過更好地設計檢測算法提高現有的物聯網惡意代碼二進制可執行文件檢測方法的準確率和檢測效率,減少檢測系統的漏報和誤報,以及通過基于流量的檢測及時檢測攻擊行為以減少系統安全保障開銷.

本文提出的分類方法涵蓋了物聯網惡意代碼檢測相關研究工作重點關注的2 個方面,即物聯網設備特性導致的檢測技術需要解決的問題和通用惡意代碼檢測技術在提高檢測模型準確率方面有待完善等一般性問題.首先,如2.1 節中所述,與其他方法相比,本文分類方法涵蓋了物聯網惡意代碼檢測的相關研究,體現了物聯網環境和設備獨有的特點,而其他分類方法與普通的惡意代碼檢測分類思路基本類似.其次,現有的分類方法過分聚焦于具體的人工智能算法,如基于聯邦學習的檢測技術等,并在更小的范圍內細分檢測算法,而沒有關注物聯網領域更高層次的特性.此外,本文提出的分類方法可以充分體現當前物聯網惡意代碼研究面臨的問題,而現有的分類方法無法為未來的研究提供基于物聯網設備特性的發展趨勢分析,因此本文分類方法更適合物聯網安全領域.

3 面向物聯網設備限制緩解的惡意代碼檢測

物聯網設備廣泛存在于日常生活使用的物品中.與傳統的臺式機、筆記本電腦、智能手機等設備不同,物聯網設備由于應用環境的多樣性,采用了多種流行的CPU 架構和操作系統.同時,與傳統計算設備相比,物聯網設備的體積通常較小,這限制了其可用的計算資源和內存空間等資源.這些特性導致一般基于人工智能的惡意代碼檢測技術難以直接應用于物聯網設備上.為了解決物聯網設備的多種架構和資源限制問題,惡意代碼檢測方法通過有針對性的特征選擇和算法設計,提出了適用于物聯網環境的高性能惡意代碼檢測技術.

3.1 跨架構檢測技術

物聯網設備使用多種CPU 架構,常用的架構有十多種[51],這導致了在不同架構上編譯的物聯網惡意軟件之間的差異,使得安全人員無法直接使用傳統的Windows 或移動環境中的分析方法檢測物聯網惡意代碼[51-52],也無法將在某個設備上獲得的惡意樣本集直接應用于面向物聯網惡意代碼檢測的人工智能算法.為了進行跨架構物聯網惡意軟件檢測,可以使用包含大量來自不同CPU 架構的惡意軟件樣本的數據集,選擇跨架構惡意軟件特征,訓練機器學習檢測模型區分良性和惡意樣本.實現跨架構檢測技術的核心在于選擇可以跨架構檢測出物聯網惡意代碼的特征,設計高性能的模型,以及使用包含大量不同CPU 上編譯的物聯網惡意代碼樣本數據訓練模型.本節首先梳理了當前研究中用到的跨架構物聯網惡意代碼數據集,然后從研究工作使用的不同跨架構特征角度對相關研究工作進行了梳理.

3.1.1 結合操作碼的融合特征

操作碼是計算機程序的機器語言指令的一部分,用于指定下一步要執行的操作[53].操作碼指令體現了程序運行時要執行的行為和函數調用等操作.使用操作碼特征進行惡意代碼檢測的技術最初由Bilar[54]提出,近年來出現了很多基于操作碼的惡意代碼檢測工作,這些工作結合了操作碼的出現頻率[55]、操作碼序列[56]、基于圖像的操作碼[57]等特征,采用精心設計的機器學習和深度學習算法.在這些工作中,所選取的特征在很大程度上決定了檢測模型的效果.然而,目前許多研究工作主要依賴于單一特征的惡意代碼機器學習檢測技術.這些研究工作[58]報告的惡意代碼檢測準確率在94%~96%,但這些方法通常需要較長的處理時間和較大的計算量[59].因此,操作碼作為一種有效特征在惡意代碼檢測領域被廣泛應用于基于機器學習的檢測模型[54-57,60-61],在物聯網惡意代碼檢測中也得到了應用.

面對大量運行在不同架構中的物聯網惡意代碼,不同CPU 導致來自同一家族的惡意代碼的操作碼存在一定的區別.由于單一的操作碼特征無法高效準確地實現檢測,解決跨架構問題的物聯網惡意代碼檢測方法在使用操作碼特征的同時,結合了物聯網惡意代碼二進制程序的其他特征,實現了融合特征選擇,并結合機器學習和深度學習模型來實現物聯網惡意代碼的跨架構檢測.

日本國家信息和通信技術研究所的研究團隊[25,52]在他們的檢測工作中選取了操作碼和程序運行時的API 調用序列特征.他們依據先前研究的發現[62],即加殼后的二進制程序熵值會明顯提高,首先計算數據集中每個二進制程序的熵以判斷樣本是否加殼并從數據集中刪除加殼的樣本.然后使用IDA 得到程序的匯編代碼,從中提取操作碼序列,同時在沙箱中使用strace 命令記錄樣本運行時的API 調用序列,并使用N-gram 算法處理操作碼和API 調用序列.文獻[6]在2 個工作中分別應用支持向量機(support vector machine,SVM)和k-最近鄰(k-nearest neighbor,kNN)算法檢測從IoTPOT 收集的跨架構物聯網惡意代碼樣本,實驗結果顯示,操作碼特征在ARM 架構上的檢測效果優于API 特征,而API 特征在MIPS 上的檢測效果略優于操作碼特征.文獻[6]對檢測跨架構物聯網惡意代碼的特征的方法的有效性進行了分析和驗證,但是沒有考慮加殼的惡意樣本,很難保證在真實物聯網環境中的檢測效果.Tien 等人[63]實現了跨指令集架構(instruction set architectures,ISAs),即跨CPU 的物聯網惡意代碼檢測.他們選取操作碼指令與ELF 文件的相關屬性這2 組特征,其中包括架構名稱、文件大小、外部庫、是否加殼、函數數量、是否連接網絡等7 個ELF 文件特征,以及邏輯、控制、內存、堆棧、輸出、算數等不同功能類型的12 個操作碼特征,并在包含30 000 多個跨架構IoT 惡意軟件樣本的數據集中驗證了所選特征的有效性,訓練和測試了3 種機器學習模型,其中CNN 取得了最好的檢測效果,在物聯網惡意代碼家族分類中得到98.37%的檢測準確率.此工作同樣受限于使用的脫殼技術,無法檢測使用復雜反匯編技術的惡意軟件.

2020 年,Vasan 等人[58]提出了一個檢測跨架構物聯網惡意代碼威脅的模型,采用基于操作碼和信息增益(information gain,IG)的異構特征選擇方法以學習不同層次的語義特征表示,信息增益可以對抗惡意代碼常用的垃圾代碼混淆,從而準確地檢測跨架構的物聯網惡意軟件.Vasan 等人又提出了名為MTHAEL 的輕量級堆疊集成模型,使用可以在MIPS、ARM、PPC 和Intel X86-64 等架構上傳播的15 482 個惡意代碼樣本和同樣來自多種CPU 架構的5 655 個良性樣本組成的大數據集上進行訓練和測試.MTHAEL 集成了RNN 和CNN 這 2 個子網絡,把他們嵌入到多頭神經網絡中,以更好地結合來自每個子網絡的預測.文獻[58]所提的方法在跨架構樣本檢測中得到97.02%的高檢測準確率,并驗證了MTHAEL 面向對抗性攻擊的魯棒性.

除了API 調用等特征,其他層面也存在不依賴于平臺架構的特征,中間表示(intermediate representation,IR)就是其中之一.Vex 中間表示在Valgrind[64]和Angr[65]等著名的程序分析工具中被使用,文獻[59]基于Vex中間表示和基于控制流特征提取的動態[33](control flow-based features extraction dynamic,CFD)規劃算法實現了一種跨架構ELF 文件特征選擇方法,此方法從操作碼對應的IR 語句中的Vex 中間表示,調用Ngram 算法提取基于控制流的特征,然后使用本文工作中收集的開源混合架構數據集訓練了一個基于支持向量機的物聯網惡意代碼檢測模型.基于中間表示的跨架構物聯網惡意軟件檢測方法目前還很少,未來值得被進一步探索.

3.1.2 字節序列

字節序列是惡意代碼檢測中經常被使用的特征之一[66-67],在物聯網惡意軟件檢測中也有應用.Wan等人[68-69]在2020 年的2 項基于機器學習的檢測工作中,同樣使用了字節序列特征.他們從ELF 程序的入口點開始提取字節作為算法的輸入,使用N-gram 算法處理字節序列表示為數值向量,在由7 種不同CPU 架構的超過2 萬多個樣本組成的數據集上訓練支持向量機分類器.文獻[70]通過對不同CPU 上物聯網惡意代碼樣本的詳細分析,基于程序主要功能啟動時源代碼在相同的惡意軟件家族不同變體中通常不會改變這一原理,選取惡意軟件入口點的字節序列特征,從跨架構惡意代碼樣本中提取特征后,訓練了一個精心設計的Bi-GRU-CNN 檢測模型,實驗結果證明選取的字節序列特征能夠準確地區分惡意軟件和良性軟件.但是基于字節序列特征的方法無法處理加殼的惡意代碼,當前的工作大多基于物聯網惡意軟件還沒有大規模使用混淆技術這一發現[70]而開展研究.

3.1.3 可打印字符串

ELF 文件中的可打印字符串具有跨平臺泛化能力,同時具有高可訪問性和高可理解性[27],具體來說,可打印字符串包含與源代碼密切相關的基本識別信息,因此可以捕獲不同CPU 架構上編譯的同一系列惡意軟件的共同特征.此外,研究人員可以直接從惡意軟件的二進制文件中提取可打印字符串,特征提取效率較高且不需要耗費大量內存和計算資源.由3.1.1 節可知,二進制文件的操作碼依賴體系結構,需要結合其他特征才能取得較好的檢測效果,而可打印字符串特征可以直接體現運行在不同CPU 架構上的惡意軟件樣本的共同特征,不需要結合二進制程序的其它特征即可應用于物聯網惡意代碼檢測模型.

Alhanahnah 等人[50]使用N-gram 算法從ELF 文件中提取可打印字符串序列特征,額外選取了二進制程序匯編代碼的函數總數、指令總數、重定向指令數、算術指令數、邏輯指令數、傳輸指令數等6 個高級統計特征與可打印字符串序列一起應用于跨架構物聯網惡意軟件檢測模型.文獻[27]從ELF 文件的函數名稱、API 名稱、代碼和代碼注釋中提取了可打印字符串,以及可打印字符串的數量和長度等特征,在從VirusTotal[34]收集的12 萬個運行在x86、MIPS、ARM、SPARC、x86-64、PPC 和未知類型的CPU 架構上的惡意軟件ELF 文件上提取可打印字符串特征,訓練和測試了包括支持向量機在內的3 個機器學習分類模型.此項研究工作的實驗充分驗證了所提出的方法在跨架構CPU 樣本上的性能,訓練模型時使用來自x86、ARM 和MIPS 等3 種常見的CPU 架構的樣本作為訓練集,并使用未知架構和應用較少的架構樣本作為測試集,模型得到了平均98%的檢測準確率,同時也減少了訓練時間.

3.1.4 其他特征

除了被應用最多的操作碼和可打印字符串特征,解決跨架構問題的物聯網惡意代碼檢測相關工作中還選取了其他一些特征,包括函數調用圖[71]、系統調用函數[72]等.

Wu 等人[71]首先使用Radare2[73]對輸入二進制文件執行靜態分析并創建函數調用圖,使用Graph2vec[74]對從物聯網惡意軟件二進制文件中提取的FCGs 進行圖嵌入;然后將圖嵌入特征與圖結構特征相結合,建立物聯網惡意軟件族分類的訓練模型.為驗證所提方案的有效性和效率,在一個包含超過10 萬個物聯網惡意軟件樣本的數據集上進行了實驗.這些惡意軟件樣本分別針對7 種不同的CPU 架構進行了編譯.實驗結果顯示,支持向量機算法的分類性能最好,在跨架構數據集上5 折分層交叉驗證的準確率達到了98.88%,但是基于函數調用圖的方法需要較長的時間從ELF 文件中提取圖,在大數據集中會造成很大的時間消耗.Li 等人[75]也提取二進制文件的函數調用圖,在涵蓋5 種不同處理器架構的數據集上訓練了一個基于圖神經網絡(graph neural network,GNN)的跨架構物聯網惡意軟件檢測系統.

文獻[76]首先構建物聯網惡意軟件的系統進化樹,接著應用基于最小描述長度(minimum description length,MDL)準則的新聚類算法處理待測樣本,此研究的一個優點是考慮了惡意樣本每天都在快速大量增加的現狀,為了保證檢測模型對新惡意樣本的檢測能力,提出了一種直接添加樣本的在線處理算法,通過跳過系統進化樹重建降低實際操作的計算量,同時保持了惡意代碼聚類精度.

物聯網惡意代碼檢測工作大多基于靜態分析,基于靜態分析可以直接對二進制程序進行反編譯及分析等操作,但是靜態分析無法直接分析加殼或混淆的惡意代碼,此類程序可以使用動態分析.文獻[72]使用單一系統調用集特征實現物聯網惡意代碼檢測,此項研究檢測了在ARM 和Intel X86-32 上編譯的惡意代碼,通過創建2 個使用對應CPU 的虛擬機以實現動態檢測,選取樣本在虛擬機中運行時由strace 命令跟蹤和記錄下來的系統調用作為特征,訓練了一個名為MDABP 的基于平臺即服務(platform as a service,PaaS)的物聯網惡意軟件檢測模型.但是該工作仍然面臨很多問題,如創建虛擬機的過程比較復雜耗時,部分樣本無法在虛擬機上運行等,這些問題都在都在一定程度上影響本文方法的實際部署.

3.1.5 小結

在3.1 節中我們討論了面向大量跨架構樣本的物聯網惡意軟件檢測工作,并總結在表2 中.當前解決物聯網惡意軟件跨架構問題的方法通過對不同CPU 上編譯程序的分析研究,選取字節序列、可打印字符串、控制流圖等特征,并設計基于不同機器學習算法的檢測模型,在大規模跨架構惡意樣本數據集上得到了高準確率,但是仍存在當前大多數基于靜態分析的跨架構檢測方法無法應對混淆或加殼的惡意代碼,基于動態分析的跨架構檢測方法存在著不可以統一部署的虛擬機環境等不足.

Table 2 Comparison of AI-based Cross-Architecture IoT Malware Detection Techniques表2 基于人工智能的跨架構物聯網惡意代碼檢測技術對比

3.2 面向資源限制的檢測技術

大部分物聯網設備計算資源非常有限并且內存空間很小[28,30-31,77].這些物聯網設備上的資源限制導致目前許多適用于通用計算設備的安全防護功能難以在物聯網上實現[18,78],嚴重制約了物聯網安全的發展.因此,設計計算復雜度低、耗能少,占用內存少的可以緩解資源限制的惡意代碼檢測系統對于物聯網安全是至關重要的.

3.2.1 面向計算資源限制的檢測技術

傳統的基于機器學習的惡意代碼檢測方法主要依賴于特征工程,為了提高準確率,這些方法會從惡意軟件文件中提取大量不同類型的特征,給分類帶來了很高的復雜性[79].此外,一般的基于深度學習的惡意代碼檢測方法,模型復雜且計算成本大,在智能城市、智能家居、智能醫院等物聯網環境中是不可持續的[80].面向計算資源限制的檢測方法從選取低維特征和降低算法的復雜度的角度進行了研究.

文獻[79,81-82]均通過降低特征維度的方法減少它們的物聯網惡意代碼檢測技術對資源的消耗.Qiao 等人[79]的方法基于Word2Vec[83]算法,Word2Vec由谷歌公司開發,是當前比較流行的使用神經網絡進行詞嵌入的技術.他們使用Word2Vec 算法提取二進制程序的十六進制字節和匯編指令的詞向量,將每個樣本中提取出的向量連接得到新的特征向量,然后訓練基于多層感知器(multilayer perception,MLP)的檢測模型.該方法在特征提取階段既不需要專家經驗,又不需要數據依賴,在降低特征維數的同時避免了過度擬合的問題.

文獻[81]通過精心設計的特征工程方法降低物聯網惡意代碼流量數據的特征維度,該文獻分別使用了基于相關性的4 個統計指標,即方差分析、皮爾遜相關系數、互信息和卡方檢驗,在特征工程之后設計了在各個特征之間進行投票的階段,最終選擇了19 個特征.該文分別訓練了3 種集成和6 種非集成機器學習模型,支持向量機模型和隨機森林(random forest,RF)模型得到了100%的檢測準確率.但是該文獻只在1 個物聯網數據集上評估了檢測模型,模型的魯棒性和泛化能力未被驗證.Lee 等人[82]將每個操作碼都轉換成一個根據其功能分類的操作碼類別,從操作碼序列中新提取了3 種類別特征:操作碼分類序列、操作碼分類熵直方圖和最大序列模式.與一般的操作碼序列特征相比,基于操作碼類別的3 種特征表示所需的數據量更少,因此對計算資源的需求較少,同時較低的維度具有訓練時間更短的優勢.降低特征維度的方法還包括基于惡意樣本的視覺表示[80,84]、設計耗費較低計算成本的圖像表示方法和特征提取方法,結合人工智能方法實現資源受限物聯網設備上的惡意代碼檢測.基于視覺表示的惡意代碼檢測方法均基于一個假設,即物聯網惡意代碼的視覺表示與良性程序有明顯區別.Dhanya 等人[84]將可執行文件的字節碼生成為256×256 的Markov 矩陣,將矩陣轉換為圖像,其中字節序列轉換為像素,得到256×256 的圖像.使用處理得到的圖像訓練卷積神經網絡(convolutional neural network,CNN),訓練數據集包括了混淆的惡意代碼,實驗的結果證明了以二進制程序的Markov 圖像為輸入的CNN 模型對物聯網惡意代碼的混淆和概念漂移具有彈性.文獻[80]提出了基于蟻群優化器(ant clony optimization,ACO)的特征選擇方法,該方法使用物聯網惡意代碼網絡流量的視覺表示作為模型的輸入,在使用低維度特征的同時提升了支持向量機分類器的檢測結果.

降低算法復雜度方面,Phu 等人[85]針對早前基于CFG 結構圖提取特征的檢測方法存在NP-hard 難題并且算法復雜度高的問題,提出了基于動態規劃的C500-CFG 算法,使用Angr[65]的CFGEmulated 方法提取ELF 文件的CFG,在包含7 000 個MIPS 架構上運行的ELF 程序的數據集中使用C500-CFG 算法構建C500 樹,使用N-gram 算法提取C500 樹的控制流特征,提取特征的平均時間為10 s,最長特征提取時間為40 s.實驗結果表明N-gram 算法速度更快,并且使用更少的內存,適用于計算資源受限的物聯網環境.在C500-CFG 算法的基礎上,Phu 等人[33]提出了CFD 算法并將CFD 算法應用于MIPS 架構樣本的檢測.進一步地,將CFD 算法與ELF 二進制文件的中間表示結合,實現了低算法復雜度的跨架構惡意軟件檢測的特征選擇方法CFDVex.

3.2.2 面向內存限制的檢測技術

物聯網設備為了便于使用、移動和部署,一般體積較小,這導致物聯網設備的內存和存儲空間通常會受到限制[47,86].有限的內存容易溢出,使一般基于機器學習的惡意代碼檢測系統難以被直接部署在物聯網設備中.面向內存限制的檢測技術[27,87]精心設計了輕量級模型,實現內存占用更小、速度更快的物聯網惡意代碼檢測系統.

2021 年,Giaretta 等人[88]實現了一種名為LiMNet的新型輕量級記憶網絡(memory networks)檢測物聯網惡意軟件流量以進行僵尸網絡早期檢測,不同于一般以網絡數據包為中心的設計方法,LiMNet 以物聯網設備為中心,使用記憶網絡的組件理解每個物聯網設備的行為.檢測模型的輸入是構建的特征圖,節點是物聯網設備,節點之間的交互根據網絡數據包的源地址和目的地址確定,LiMNet 從圖中節點之間的交互流中提取因果關系,將相關的節點級信息存儲在內部結構中,并使用這些信息來識別僵尸程序.文獻[87]同樣設計了一個輕量級網絡,在將二進制文件原始字節轉換成的Markov 圖像的基礎上,針對物聯網設備內存受限的特點修改了經典的卷積神經網絡,提出了輕量級卷積神經網絡(lightweight convolutional neural network,LCNN),該網絡在CNN中加入了深度卷積(depthwise convolution)和通道洗牌(channel shuffle),其卷積層的設計與著名的輕量級網絡ShuffleNetV2[89]基本相同,但是單元數量更少.與其他基于深度學習的方法相比,LCNN 模型的大小只有1 MB,而VGG16 的模型有552.57 MB,由此可見,LCNN 可以在保持準確性的同時顯著減少訓練模型所需的資源消耗.

3.2.3 面向電力限制的檢測技術

由于物聯網設備受到體積和硬件限制的原因[90],用于給物聯網設備供電的電池通常容量不高,并且許多物聯網設備在部署后,電池一般不需要短期更換,因此設備上程序的運行受到電量的限制.輕量級和高速的檢測模型可以解決電力資源限制問題,然而,最近的研究[91-93]提出了更有效的方案,這些檢測方案可以獨立于設備可用資源進行部署,從根源上規避了物聯網環境中部署檢測系統受到的電力資源限制問題.

文獻[91]以嵌入式設備的電磁輻射為分析對象,選擇樹莓派2B 作為目標設備,在執行惡意代碼時檢測設備外部的電磁輻射,處理數據中的噪聲,并使用軟件分析保護機制擴展后的數據集來訓練卷積神經網絡模型.此檢測模型不依賴設備和系統架構,也不會導致物聯網設備的計算開銷,并且實驗結果也證明了此模型對于未知的混淆樣本具有較高的魯棒性.DeepPower[92]監控被用于保護設備的功率信號,通過分析側信道功率信號推斷物聯網惡意軟件活動,首先快速檢測出可疑功率信號,然后使用基于注意力的Seq2Seq 模型實現對可疑信號的細粒度分析.訓練的深度學習模型在檢測Mirai 惡意軟件時體現了很好的魯棒性,可以及時檢測物聯網惡意代碼入侵.Azmoodeh 等人[93]通過監控物聯網設備的電量使用情況實現檢測.通過記錄所有運行的進程的電量消耗情況,使用電量消耗數據訓練支持向量機模型,實現了檢測.

3.2.4 小結

在3.2 節中我們分類介紹了目前以解決物聯網設備受到計算資源、內存空間以及電力資源等限制為研究動機的物聯網惡意代碼檢測方法,并總結在表3 中.當前針對物聯網資源限制的研究工作相比傳統的基于機器學習或深度學習的方法,只需要少量的計算資源和內存資源,檢測速度快.但是,當前模型大多側重于解決資源限制問題,只在來自單一架構的數據集上訓練和測試模型,沒有在不同架構上編譯的惡意程序中驗證模型的檢測效果,模型的魯棒性和泛化能力有限.

Table 3 Comparison of Resource-constrained AI-based IoT Malware Detection Techniques表3 基于人工智能資源限制的物聯網惡意代碼檢測技術對比

4 面向性能提升的物聯網惡意代碼檢測

第3 節詳細介紹了物聯網設備和環境所面臨的挑戰和限制,并針對解決物聯網設備特性帶來的惡意代碼檢測問題進行了研究,取得了一系列的研究成果.而本節主要介紹旨在提高所使用的機器學習和深度學習模型性能和檢測效果的物聯網惡意代碼檢測工作.這些工作針對惡意代碼檢測領域的一般性問題,主要關注于提升基于人工智能算法的檢測方法的準確率,降低誤報率以及提高檢測速度等方面.

在本節中,我們根據所分析對象的不同,將基于通用技術的研究工作劃分為基于二進制可執行文件的檢測技術和基于流量的檢測技術2 類.這2 類檢測技術均將機器學習或深度學習用于物聯網惡意代碼檢測,并通過選擇不同的特征或修改人工智能模型來提高檢測效果.

4.1 基于可執行文件分析的檢測性能提升

在物聯網環境中,絕大多數物聯網系統依賴于基于Linux 的操作系統,其上運行的程序為ELF 文件[94],分析物聯網系統中的惡意ELF 文件并結合深度學習算法實現檢測系統已經是物聯網安全領域的重要部分.除針對物聯網環境和設備的跨架構和資源限制特性的檢測方法外,基于二進制可執行文件的檢測技術還解決惡意代碼檢測面臨的一些普遍問題,包括提高模型檢測效果和模型對攻擊的魯棒性[95-100]、檢測使用各種混淆技術的惡意代碼[101-103]等,另有一小部分工作通過對ELF 文件的詳細分析,對比了同為ELF 文件的物聯網惡意代碼與安卓惡意代碼[104-105].

Dib 等人[96]從可執行二進制文件中提取可打印字符串特征并結合二進制文件轉換成的圖片,以及使用超過7 萬個最新的物聯網惡意代碼樣本訓練了一個結合CNN 和長短期記憶(long short-term memory,LSTM)網絡的檢測模型,模型的準確率較現有方法有所提升,但是此方法沒有考慮混淆的惡意代碼樣本.類似地,文獻[99]同樣使用待測樣本轉換成的RGB 圖片作為其檢測模型的輸入,并利用深度遷移學習,通過融合ResNet18[106]、MobileNetV2[107]和Dense-Net161[108]這3 個卷積神經網絡,提高了模型的檢測和分類性能.

另一方面,OGCNN-RWD[98]是一種基于最優圖卷積神經網絡的勒索軟件檢測技術,OGCNN-RWD使用圖卷積神經網絡(graph convolutional neaval network,GCNN)模型,通過和諧搜索算法(harmony search algorithm,HSA)進行參數選擇.模糊模式樹(fuzzy pattern tree,FPT)[109]在物聯網惡意代碼檢測中也得到了應用,該樹狀結構具備處理模糊性和不可見條件的能力,提高了模糊方法對惡意代碼變化的魯棒性.此外,文獻[97]提取控制流圖相關特征并輸入模糊模式樹,實驗結果表明使用模糊樹和快速模糊樹方法的檢測結果優于使用支持向量機、決策樹、k最近鄰和隨機森林等其他機器學習算法.但是模糊模式樹算法計算復雜度高,運行時間長,不便于在物聯網環境中實際部署.Yumlembam 等人[100]提出基于圖神經網絡(graph neural network,GNN)的分類器用于檢測惡意軟件.他們的研究表明,基于GNN 的檢測模型魯棒性較差,針對此問題,他們引入了名為VGAEMalGAN 的對抗樣本生成模型,并通過實驗證明使用VGAE-MalGAN 生成的對抗樣本進行再訓練可以提高檢測方法的魯棒性.

面向物聯網架構及資源限制的惡意代碼檢測技術側重于解決物聯網環境和設備特性對惡意代碼檢測系統造成的限制,但未考慮使用混淆技術的惡意代碼對檢測方法造成的影響[25,27,50,70].因此,面向性能提升的物聯網惡意代碼檢測工作[101-103]針對這一問題展開了探索,提升了在混淆惡意樣本上的檢測準確率.

Darabian 等人[101]采用序列模式挖掘技術,提取二進制可執行樣本操作碼序列的最大頻繁模式作為特征,并利用開源的多態惡意軟件創建工具構建了6 個多態惡意代碼數據集,在這些數據集以及來自ARM 架構的惡意樣本集上,他們訓練了包括k-最近鄰、支持向量機在內的多個機器學習模型.為了減輕使用多態和代碼混淆技術的惡意代碼對標準檢測方法的影響,文獻[102]提出了基于遷移學習的預訓練Inception-v3 模型檢測框架,該框架能夠對模型進行微調,其輸入為惡意代碼二進制文件轉換成的RGB圖片.實驗證明,基于圖像的惡意軟件模型不需要特征工程,構建速度快,能夠對抗代碼混淆,并且在各項指標上優于使用類似技術的其他方法.

2-MaD[103]是一種2 階段的物聯網惡意代碼混合檢測方案,旨在部署于智能城市環境中以保護物聯網設備免受混淆惡意軟件的攻擊.2-MaD 首先在第1階段執行靜態分析,提取樣本的操作碼特征,訓練雙向長短期記憶(bidirectional long-short term memory,Bi-LSTM)模型進行檢測.隨后,在第2 階段中,對可能被靜態分析誤報為良性的惡意代碼進一步地動態分析,提取虛擬機的行為日志中的進程內存信息,訓練EfficientNet-B3[110]模型再次檢測惡意代碼.相較于單一的靜態檢測或動態檢測,該方法具有更低的誤報率,但是由于在動態分析階段執行一個樣本需要2 min 時間,2-MaD 技術的時間消耗大.HyMalD[111]是另一個混合檢測工具,與2-MaD 不同,HyMalD 同時執行基于靜態分析和基于動態分析的物聯網惡意代碼檢測.靜態檢測部分提取物聯網惡意代碼的操作碼特征訓練了Bi-LSTM 模型;動態檢測部分提取樣本在沙箱中運行產生的進程、文件和注冊表行為作為特征并轉換為RGB 圖像訓練SPP-Net 模型[112].實驗結果顯示,相較于單一的靜態檢測方法,HyMalD 具有較低的漏報率和更高的準確率.

物聯網系統主要運行基于Linux 系統的ELF 文件,而攻擊安卓系統的惡意軟件也基于Linux 系統[105].隨著物聯網設備的普及,分析物聯網惡意軟件與其他基于Linux 系統的惡意軟件之間的差異有助于構建更有效的檢測系統.

文獻[104]通過提取物聯網和安卓惡意代碼樣本的控制流圖,并從圖的大小、直徑、最短路徑分布、節點數量和中介中心性等圖論相關的圖屬性對2 種惡意代碼樣本進行對比分析,發現安卓惡意軟件的節點數量更多,與物聯網惡意軟件相比安卓惡意軟件具有更高的復雜性.Alasmary 等人[105]的研究是在文獻[104]工作基礎上的擴展,他們分別分析了近3 000個物聯網和安卓惡意軟件樣本以及良性樣本數據的控制流圖相關特征,并提取了平均最短路徑、度中心性和中介中心性等具有高區分度的特征.然后,他們利用機器學習和深度學習方法訓練了基于這些特征的物聯網惡意代碼檢測模型,其中卷積神經網絡檢測模型得到了誤報率最低且準確率最高的實驗結果.然而,這一系列對比研究的不足是因為沒有考慮其檢測模型對代碼混淆和對抗樣本攻擊的魯棒性.

4.2 基于流量分析的檢測性能提升

很大一部分物聯網惡意軟件以僵尸程序的形態出現[113].一旦感染物聯網設備,僵尸程序會與攻擊者的命令與控制(command and control,C&C)服務器進行通信,并根據黑客的指令執行惡意攻擊,如DDoS攻擊等[114].僵尸網絡是由被僵尸程序感染的設備組成的網絡[115].隨著物聯網設備部署數量的迅速增加,針對物聯網的DDoS 攻擊流量也達到了前所未有的水平[116-118].及時檢測此類攻擊并斷開受感染設備與網絡的鏈接對物聯網安全至關重要.基于流量的檢測是對設備上運行的二進制可執行程序檢測系統的補充,它使安全管理人員可以在攻擊發生的早期階段實時發現可能的惡意行為,并減少系統安全保障開銷.

基于流量的檢測通常被視為基于動態特征的行為檢測技術,在物聯網惡意代碼檢測領域中,由于僵尸程序的廣泛存在,也有一些基于流量的惡意行為檢測方法研究[15,114,119-124].例如,N-BaIoT[119]從受感染的物聯網設備中提取網絡行為快照,并使用深度自動編碼器檢測異常網絡流量.Jamal 等人[15]利用ToN_IoT 數據集[38]提取網絡數據包的源端口、目的端口、時間戳、鏈接狀態等特征,并訓練了基于深度學習的檢測模型.Alharbi 等人[122]使用主成分分析(principal component analysis,PCA)方法對特征進行降維,并利用開源的IoT-23 數據集[36]提取特征后訓練隨機森林分類器,以提高機器學習模型的檢測性能并降低過擬合的風險.文獻[121]將關聯規則學習[125]應用于物聯網流量分析,除了選取流量包的端口等特征,還使用其他報頭信息并行進行所有報頭信息規則挖掘,以便檢測未知惡意流量.

文獻[114]將FastGRNN[126]用于物聯網惡意代碼產生流量的檢測,FastGRNN 相比于傳統的RNN模型具有更低的復雜性,能夠提供快速的訓練和攻擊檢測能力.分布式模塊化的檢測方案EDIMA[120]不僅包含基于機器學習算法的檢測模型,而且包括一個定期使用新捕獲的流量重新訓練機器學習模型的模型構造器模塊和一個數據包流量特征數據庫,EDIMA 用于存儲提取的已知惡意數據特征向量列表并及時更新,通過定期進行模型重新訓練以應對大量新型物聯網惡意代碼引起的概念漂移等問題.物聯網惡意軟件分析系統BOTA[124]是基于機器學習和基于規則的異構分類器的集合,可在高速計算機網絡上對受感染的物聯網設備及時實現可解釋的檢測.

4.3 小結

本節對第4 節中介紹的物聯網安全領域面向性能提升和基于通用人工智能技術進行的惡意代碼檢測研究進行總結,并展示在表4 中.

Table 4 Comparison of Performance-enhancing IoT Malware Detection Techniques表4 性能提升的物聯網惡意代碼檢測技術對比

基于可執行文件分析的檢測性能提升方法通過利用深度學習方法自動提取特征,減少對專家知識的依賴,提高檢測模型的性能,但是當前的很多檢測研究沒有考慮對抗樣本等攻擊對機器學習和深度學習模型的安全威脅.基于流量分析的檢測性能提升方法為攻擊早期階段檢測物聯網惡意代碼提供了支持.然而,由于攻擊流量數量巨大,用于訓練檢測系統的數據集無法實時更新,導致基于流量的檢測系統的準確率可能隨時間降低.

5 挑戰與機遇

本節對當前研究工作中存在的問題和未解決的挑戰進行了總結,基于當前已有的研究工作存在的不足提出了未來的研究方向.表5 展示了當前的挑戰與機遇.

Table 5 Challenges and Opportunities表5 挑戰與機遇

5.1 當前工作面臨的挑戰

1)缺少針對物聯網設備特性的評估指標.目前基于人工智能檢測的相關研究在評價檢測方案的效果時,通常選擇用于評估機器學習和深度學習算法性能的評價指標,包括準確率、精確度、召回率和F1 值以及漏報率和誤報率等.這些指標在應用于各種場景的人工智能模型中都被使用,雖然檢測準確率等指標可以反映模型的檢測能力,但是由于物聯網設備還存在獨有的特性和限制,這些通用的評估指標無法全面評估物聯網設備上惡意代碼的檢測模型.例如,針對物聯網中存在多種不同架構,不同架構上的惡意代碼可能存在較大區別的特性,應在檢測準確率等評價之外對檢測模型的跨架構檢測能力進行定量評估.此外,由于物聯網設備的資源限制,我們在調研中也發現很多解決資源限制問題的研究設計了基于人工智能的輕量級檢測模型,但是這些輕量級模型的資源消耗量等數據同樣沒有定量評價標準.

2)缺少統一可用的動態分析環境.目前使用的機器學習和深度學習的物聯網惡意代碼檢測工作中使用動態分析方法的較少[72,103,111].雖然自從IoTPOT[6]被公開以來,其已經成為物聯網惡意代碼分析數據集的穩定來源,但是動態分析過程中研究人員試圖通過樣本的執行提取自定義的特征,如運行的進程等,這需要一個可以直接部署使用的開源沙箱.隨著物聯網惡意代碼技術的迭代,其檢測沙箱環境逃避動態分析,因此當前需要的動態分析環境需要有模擬真實設備環境的反逃逸設置,同時便于快速部署多個虛擬環境,以適應物聯網惡意代碼多種版本運行在不同CPU 架構上的特點.

3)缺乏對攻擊的魯棒性.隨著近年來人工智能技術在各個領域的蓬勃發展,人工智能的安全性也逐漸成為被研究人員關注的領域.在對基于人工智能的物聯網惡意代碼檢測技術的大規模調研中,我們發現大多數檢測物理聯網惡意代碼的機器學習模型在設計時沒有考慮針對模型的攻擊,由于真實部署環境中存在大量攻擊者,檢測模型的安全實際上面臨著較大風險.最近幾年也有許多針對人工智能惡意代碼檢測工具的對抗性攻擊研究[127-129],目前常見的攻擊包括對模型訓練數據的數據投毒攻擊、針對人工智能模型的對抗樣本攻擊等.

5.2 未來研究方向

為了實現更高效、更實用的基于人工智能的物聯網惡意代碼檢測技術,為物聯網安全領域的發展注入新的活力,本節在總結現有研究的基礎上,提出了3 個未來可能的研究方向,旨在為研究人員進一步的工作提供參考.

1)結合大模型實現物聯網惡意代碼檢測.近年來隨著人工智能領域的突破性技術ChatGPT 的出現,大模型也成為研究的熱點.隨著計算能力的提高,通過億級數據訓練的大模型擁有著遠遠超出一般機器學習和深度學習的性能.AI 大模型與安全領域相結合,可以實現快速分析惡意代碼,引入大模型輔助物聯網惡意代碼檢測,使用訓練好的大模型直接檢測惡意代碼將會極大提高惡意代碼檢測技術的效率.同時可以通過大量數據的訓練以產生針對物聯網特性的新的檢測評估指標,實現高效準確的物聯網惡意代碼檢測和完善的模型檢測效果評估.

2)提高檢測模型安全性.我們對當前研究工作的分析中指出了目前基于人工智能的物聯網惡意代碼檢測技術缺乏模型魯棒性保障的問題.針對真實環境的部署中檢測模型可能遭到的對抗樣本攻擊,未來的研究工作應該考慮提高檢測模型的安全性,這也是未來人工智能安全領域模型安全的研究方向之一.可以通過在設計物聯網惡意代碼檢測模型時引入對抗訓練和隨機化數據等方法提高檢測模型的安全性.

3)結合零信任架構實現檢測.零信任安全模型是近年來提出的安全防御新架構.由于物聯網環境中設備數量巨大且正在快速擴張,傳統的防御方案無法在物聯網設備中得到大規模應用.結合基于不信任任何設備或用戶原則的零信任架構要求對設備實時認證和授權訪問,攻擊者無法通過感染一個設備快速感染聯網的其他設備,可以有效減輕基于人工智能的惡意代碼檢測系統的負擔.

6 總結

近年來,物聯網安全越來越受到重視,一方面由具于物聯網設備數量激增,另一方面也因為針對物聯網設備的惡意代碼等威脅不斷涌現.物聯網惡意代碼檢測在物聯網安全中扮演著舉足輕重的角色.本文對2018 年至今的基于人工智能的物聯網惡意代碼檢測技術進行了大規模調研,從物聯網設備區別于一般臺式機等設備的特性導致的問題出發,提出了面向主要研究動機的分類方法,從物聯網設備限制緩解的惡意代碼檢測方面和方面性能提升的物聯網惡意代碼檢測方面對當前的檢測工作進行了分析和梳理.基于對現有研究的全面總結,分析了該領域當前面臨的挑戰,并提出了未來的研究方向.

作者貢獻聲明:劉奇旭負責論文的總體規劃、指導以及論文的撰寫;劉嘉熹負責論文主要內容的調研和撰寫;靳澤負責論文結構的梳理;劉心宇、肖聚鑫負責相關工作的調研和梳理;陳艷輝負責論文內容的梳理和校對;朱洪文、譚耀康負責相關文獻的整理和內容校對.

猜你喜歡
人工智能特征設備
諧響應分析在設備減振中的應用
如何表達“特征”
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
2019:人工智能
商界(2019年12期)2019-01-03 06:59:05
人工智能與就業
IT經理世界(2018年20期)2018-10-24 02:38:24
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
抓住特征巧觀察
數讀人工智能
小康(2017年16期)2017-06-07 09:00:59
下一幕,人工智能!
南風窗(2016年19期)2016-09-21 16:51:29
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
主站蜘蛛池模板: AV在线天堂进入| 51国产偷自视频区视频手机观看| 国产成人av一区二区三区| 九九视频在线免费观看| 在线视频亚洲色图| 成·人免费午夜无码视频在线观看| 久久这里只有精品8| 在线人成精品免费视频| 国产成人综合久久| 国产免费人成视频网| 2021天堂在线亚洲精品专区| 91视频国产高清| 国产综合欧美| 国产精品久久久久久久久kt| 欧美亚洲一区二区三区导航| 亚洲AV一二三区无码AV蜜桃| 精品国产一区二区三区在线观看| 理论片一区| 伊人久久综在合线亚洲91| 亚洲欧美自拍中文| 国产95在线 | 99视频有精品视频免费观看| 毛片视频网| 国产中文一区二区苍井空| 宅男噜噜噜66国产在线观看| 日韩欧美中文在线| 天堂在线视频精品| 日本成人在线不卡视频| 超清无码熟妇人妻AV在线绿巨人| 久久国产精品影院| 婷婷六月综合网| a毛片免费看| 波多野结衣一二三| 国产后式a一视频| 91伊人国产| 午夜毛片免费观看视频 | 久久午夜夜伦鲁鲁片无码免费| 91久久精品日日躁夜夜躁欧美| 成人av专区精品无码国产| 日韩黄色大片免费看| 欧美日韩资源| 婷婷色在线视频| 日韩精品一区二区深田咏美| 日本人妻丰满熟妇区| 91精品国产福利| 无码精品一区二区久久久| 九九香蕉视频| 91精品网站| 亚国产欧美在线人成| 秋霞国产在线| 中文字幕无码电影| 1级黄色毛片| 午夜老司机永久免费看片| 日韩二区三区| 久久婷婷国产综合尤物精品| 国产精品免费久久久久影院无码| 亚洲无线观看| 国产成+人+综合+亚洲欧美| 亚洲女同欧美在线| 成人精品午夜福利在线播放| 91无码网站| 2020国产在线视精品在| 中国黄色一级视频| 国产69精品久久| 亚洲福利一区二区三区| 亚洲第一av网站| 九色最新网址| 91精品啪在线观看国产91九色| 欧美精品综合视频一区二区| 人人爽人人爽人人片| 国产男女免费完整版视频| 亚洲国产理论片在线播放| 91精品啪在线观看国产60岁 | 国产精品久久国产精麻豆99网站| 亚洲欧洲一区二区三区| 免费一级无码在线网站| 亚洲开心婷婷中文字幕| av在线手机播放| 国产精品网址在线观看你懂的| 亚洲男人的天堂久久精品| 青青草a国产免费观看| 国产全黄a一级毛片|