博雯 蕭簫 發自 凹非寺
量子位 | 公眾號 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元,至少不太親民:
要想湊齊這一整套裝置,從資金上來看還是有點難度的(狗頭)。
不知道研究人員後續會不會考慮從實際落地的角度出發,將這個裝置成本搞得更便宜一點。
對於研究本身,有網友調侃,這是“真把脈來了”:
有人感覺這是個絕妙的想法:
但也有網友認為,這篇論文就是在扯淡,看上去應用範圍(物聯網)過於狹窄,只是標題上蹭了熱度比較高的領域。
對於用電磁波訊號來檢測惡意軟體,你覺得這事靠譜嗎?
論文地址:
https://dl.acm.org/doi/pdf/10.1145/3485832.3485894
專案地址:
https://github.com/ahma-hub/analysis/wiki
參考連結:
[1]https://www.reddit.com/r/technology/comments/s1uygi/raspberry_pi_can_detect_malware_by_scanning_for/
[2]https://weibo.com/1770891687/La6KsEbeg
[3]https://thehackernews.com/2022/01/detecting-evasive-malware-on-iot.html
— 完 —
量子位 QbitAI · 頭條號簽約
關注我們,第一時間獲知前沿科技動態