博雯 蕭箫 發自 凹非寺
量子位 | 公衆号 QbitAI
不安裝任何防毒軟體,“懸絲診脈”也能揪出計算機病毒?
而且準确率達99.82%,防毒軟體看了都汗顔。
先請出我們的“患者”,一個經過特殊處理後化身微型計算機的樹莓派:

病毒入侵、服務中斷、背景程序活動等無數個正常和非正常的行為正在這台微型計算機中發生。
然後讓AI與這個藍白相間的示波器相連,伸出一根探針“懸絲”搭在CPU上:
很快啊,AI就發現了這台計算機上的惡意軟體!
明明是在樹莓派體内的病毒,怎麼探針隔空一放(沒直接接觸)就被發現了?
答案是:靠電磁波。
一群來自法國IRISA的學者認為,病毒、間諜軟體、蠕蟲等惡意軟體在活動時,會不自覺洩露出與裝置正常活動不同的“異常”電磁波。
通過外部裝置探查、再靠AI識别不同的電磁波,就能隔空發現“中毒裝置”上的病毒蹤迹。
他們表示,探測裝置不和“中毒裝置”相連,是以不會被病毒這類惡意軟體發現。
由于不和惡意軟體在一個屋子(中毒裝置)裡打遊擊,探測裝置也就不會引發病毒的回擊、反撲或更進一步的僞裝。
反過來說,僞裝再流氓、功能再牛逼的病毒軟體,也無法隐藏“中毒裝置”的電磁輻射和散熱。
該研究目前已經被ACM旗下的ACSAC 2021收錄。據作者表示,對于最常見的幾類惡意軟體,這種“懸絲診脈”法的識别率非常高:
技術圈大牛@phunter_lau更是調侃“玄學給予緻命一擊”:
是以這究竟是一項怎樣的研究?
貼合現實的“病毒資料庫”
要讓AI學會“懸絲”診斷,既要讓它學會識别疾病,也得避免它發生誤診。
是以這裡面就需要兩類電磁波資料集。
一方面,首先得讓它認識夠多的“疾病”,也就是惡意軟體出現時的電磁波信号。
像我們常說的電腦病毒,其實隻是廣大惡意軟體(Malware)中的一類。
惡意軟體包括電腦蠕蟲、特洛伊木馬、勒索軟體、間諜軟體、甚至是一些廣告軟體等,能夠利用IoT裝置的漏洞對其造成損傷。
研究人員從知名惡意軟體合集社群Virusign中擷取樣本,共收集了4790個32位ELF ARM惡意軟體樣本。
他們發現,以下三類惡意軟體是最為常見的三個類型:
第一種,DDoS攻擊,通過惡意流量淹沒網站或網絡資源,進而導緻資源耗盡,網絡服務暫時中斷或停止,導緻其正常使用者無法通路。典型的DDoS惡意軟體包括Mirai,Bashlite等。
第二種,勒索軟體 (Ransomware),又稱阻斷通路式攻擊(Denial-of-access attack),通過鎖死裝置、或系統性加密特定硬碟檔案,要求受害者繳納贖金以取回控制權。典型代表如GoNNaCry。
第三種,核心态Rootkits。其中Rootkits是一組工具的集合,可以替換或更改可執行程式,而核心态Rootkits不僅可以通路OS檔案,還能通過增删代碼來更改功能。例如,Keysniffer就能夠記錄鍵盤事件并寫入DebugFS。
光是掌握這些基本“疾病”還不夠,AI還得學會識破惡意軟體的進一步“僞裝”。
例如,混淆技術 (Obfuscation)就是比較常見的惡意軟體僞裝方法。
這種方法有意讓代碼模糊不清,進而使逆向工程變得困難,原本是一種用于保護含有IP價值的程式。但後來卻被黑客反向用來削弱防毒軟體,以逃脫其追捕。
據此,研究人員利用混淆技術對惡意軟體進行了進一步“更新”,再加入資料集中。
其中,就包括采用靜态代碼重寫(不透明謂詞、假控制流、指令替換、控制流扁平化)和動态代碼重寫(打包器、代碼虛拟化)等方式,對資料進行處理。
另一方面,除了惡意軟體資料以外,AI還得知道正常情況下的信号資料。
是以除了惡意的“病毒資料庫”,開發者還準備了一個良性資料集,以模拟真實場景中“随機突發”的病毒入侵事件。
哪些算是良性資料呢?
比如計算、裝置睡眠、照片捕捉、網絡工作連接配接,以及像是媒體播放這種長時間的可執行程式運作。
由于樹莓派部署了一個Linux 4.19.57-v7 ARM v7l的Raspbian Buster作業系統,開發者就從新安裝的Linux系統中收集ARM可執行檔案,以此生成良性資料集。
在整個過程中,研究人員一共收集了100000份電磁波資料,用于訓練AI。
但這些資料在交給AI用于訓練之前,還需要經過一些處理,從收集資料到完成訓練一共分成三步。
采用時頻域分析降低噪聲影響
首先,部署資料收集裝置,收集信号資料。
這個資料收集裝置分為被攻擊裝置和示波器兩部分,其中樹莓派是被攻擊裝置,高速數字轉換器PicoScope 6407(示波器)用于采集和傳輸資料。
部署好的資料收集裝置如下,其中PicoScope 6407的探針(EM probe)會被放在樹莓派上,用于收集信号:
然後,對資料進行預處理。
由于收集到的電磁波信号伴随大量噪音,是以需要将收集到的信号資料進行時域和頻域分析,進行特征采集:
最後,用這些資料訓練AI。
為了選出最适合這項實驗的AI,研究人員分别訓練了SVM、NB、MLP和CNN四種類型的網絡:
最後他們發現MLP和CNN是最棒的:
其中CNN還要更好一點,具體模型的架構如下:
訓練結果如下,其中1963份良性資料(benign)中,隻有1個被誤測為DDoS;Rootkit類型的惡意軟體資料全部被正确識别;DDoS和Ransomware的識别效果也不錯:
當然,除了單獨的惡意軟體類型以外,采用混淆技術後模型分類的效果也依舊不錯。
整套流程的邏輯如下:
其中,樹莓派代表的是“被攻擊裝置”,示波器用探針在外部收集電磁信号後,傳給AI進行預測,AI再将預測結果回報給防火牆,決定是否要攔截惡意軟體。
這項研究來自研究機構IRISA,目前是法國最大的計算機科學和新技術領域研究實驗室之一。
裝置價格接近9萬
研究登上的ACSAC 2021,是一個“純應用型”的安全會議。
然而包括Gizmodo在内的外媒表示,想要真正應用它來檢測惡意軟體,還有很多待解決的地方。
一方面,這篇論文采用的良性資料集,沒有将所有使用場景考慮在内,涉及的主要是圖檔及音視訊、以及一些裝置良性運轉的“正常活動”。
作者也在論文中提到,論文的最初目的并非檢測惡意軟體,而隻是讓AI學會給幾種惡意軟體做分類。至于實際檢測效果還不錯,隻是他們的“意外發現”。
另一方面,這項研究所采用的裝置價格不菲。
光是Picoscope 6407這台數字轉換器,在國内某寶的價格就接近90000元,至少不太親民:
要想湊齊這一整套裝置,從資金上來看還是有點難度的(狗頭)。
不知道研究人員後續會不會考慮從實際落地的角度出發,将這個裝置成本搞得更便宜一點。
對于研究本身,有網友調侃,這是“真把脈來了”:
有人感覺這是個絕妙的想法:
但也有網友認為,這篇論文就是在扯淡,看上去應用範圍(物聯網)過于狹窄,隻是标題上蹭了熱度比較高的領域。
對于用電磁波信号來檢測惡意軟體,你覺得這事靠譜嗎?