POWERSUPPLaY:電源變揚聲器,泄漏你的隱私信息
MY TRIP
該項研究來自以色列內蓋夫本古里安大學的網絡安全研究人員Mordechai Guri博士,他演示了一種新型惡意軟件—“POWERSUPPLaY”,可以從帶有電源設備的計算機中,繞過物理隔離系統和音頻隔離系統,在物理斷網狀態下竊取高度敏感數據。具體的方法涉及到一個可以改變CPU負載的惡意軟件,以及一部手機。通過改變CPU的負載,電源的超聲波頻率也會隨之改變,而在旁邊最遠不超過5米范圍的手機則可以收到這些超聲波,從而達到傳送數據的目的。
1.方法和原理分析
這種讓電源說話的惡意軟件,會通過啟動和停止CPU工作負載,影響電源的開關頻率,從理論上來看,并不難理解。大家都知道只要是變化的電流就一定會有對應變化的電磁場,而惡意軟件就是將電磁變化轉為音頻,以便竊取數據。它不需要任何特殊提權。通常來說,惡意軟件多以獲取權限為入侵基礎,而這種利用電源電流的惡意軟件,并不需要任何特殊的系統權限、訪問硬件資源或是root權限,大大降低了惡意軟件攻擊過程中被安全軟件發現的可能性。其次,這種惡意軟件是專門針對GAP(物理隔離網絡)環境研發的場景定制武器。所謂物理隔離網絡,是當今已知安全性最高的網絡安全設備,代表著更安全的非網絡環境信息交換。從而讓電源中的變壓器和電容器發出聲音信號。目標是靜默泄漏數據的惡意軟件不會播放任何引起注意的聲音。取而代之的是,它將在兩個或多個不同的頻率上播放可聽或不可聽的聲音,每個頻率代表一個0比特,一個1比特或一系列比特(例如00、01、10、11),這些比特將被接收機捕獲。
圖1 攻擊原理圖
由于現代CPU是節能的,CPU的瞬時工作負載直接影響其功耗的動態變化。通過調節CPU的工作負載,就可以控制其功耗,從而控制SMPS的瞬時切換頻率。通過啟動和停止CPU工作負載,我們能夠設置SMPS,使它在指定的頻率切換,從而發出聲學信號并在其上調制二進制數據。為了生成開關頻率fc,我們以與fc相關的頻率控制CPU的利用率。為此,創建了n個工作線程,其中每個線程都綁定到一個特定的核心。為了產生載波,每個工作線程以頻率fc超載其核心,在其核心上重復施加連續工作負載1/2fc的時間和使其核心處于1/2fc的空閑狀態。算法1顯示了使用(nCores)個核心在(time)毫秒的持續時間內生成聲調(freq)。一開始我們啟動(nCores)線程并將每個線程綁定到特定的核心。切換頻率由每個工作線程通過使用繁忙循環和屏障對象生成。我們使用繁忙等待技術使內核過載,這會導致在該時間段內充分利用內核的效能。工作線程與屏障對象同步,允許它們完全啟動和停止切換頻率。主線程控制工作線程的同步,根據屏障時序改變循環狀態標志,這確保了占空比的生成在內核之間精確定時。
表1 聲音生成算法
單純從聲音來判斷,受攻擊電源發出的聲音與風扇噪聲無異。不同的是,風扇是真噪音,而惡意軟件操控電源發出的聲音,卻是可以泄露主機數據的特殊聲音。這種特殊的“噪音”,一旦被聲波接收設備捕獲,稍加提取處理,就能復原成原始信息,也就是目標電腦設備上的高敏感數據。
對抗攻擊模型由發送方和接收方組成。通常,發送器是一臺計算機,接收器是一個屬于雇員或訪客附近的移動電話(圖2)。
圖2 攻擊模型的真實場景
1)感染階段:在初始階段,攻擊要求的條件是受感染的計算機必須配備內部電源,如今幾乎每個計算機化系統中都存在該電源。另外,通過社會工程技術識別雇員的移動電話。假定員工在工作場所攜帶手機。然后,可以通過利用設備的漏洞進行物理接觸來感染這些設備,也可以使用電子郵件、SMS / MMS、惡意應用程序及惡意網站等通過不同的攻擊媒介來感染手機。
圖3 該信息已通過從電源播放的秘密超聲波信號泄露
2)滲透階段:在滲透階段,受感染計算機中的惡意軟件會收集感興趣的敏感數據。數據可以是文件、擊鍵記錄、憑證(例如密碼)或加密密鑰。然后,惡意軟件使用計算機電源發出的聲波來調制和傳輸數據(圖3),從頻譜圖中我們也可以看出,使用了四個不同的頻率進行調制。附近的受感染手機會檢測傳輸情況,對數據進行解調和解碼,然后使用移動數據或Wi-Fi通過Internet將其傳輸給攻擊者。
2.防御措施
作為對策,研究人員建議在禁止移動電話和其他電子設備的受限區域中對敏感系統進行分區。要擁有一個入侵檢測系統來監視可疑的CPU行為,并設置基于硬件的信號檢測器和干擾器,也可能有助于抵御提議的秘密通道。這里我們在等級保護三級及以上系統中,要求屏蔽機柜或機房,其意義在此技術過程中就凸顯出來了。
3.總 結
在本文中,作者證明了運行在計算機上的惡意軟件可以使用電源作為一個帶外揚聲器。在系統中執行的代碼可以有意地調節電源的內部開關頻率,從而控制由其電容器和變壓器產生的波形。這種技術允許從各種類型的計算機和設備中產生聲音和超聲波音頻音調,即使音頻硬件被阻塞、禁用或不存在。電源供應代碼可以從一個普通的用戶模式進程中操作,并且不需要硬件訪問或根特權。這種方法不調用特殊的系統調用或訪問硬件資源,因此是高度隱蔽的。通過使用電源供應,我們可以從無音頻的系統中傳輸數據到附近的手機,最大比特率為50比特/秒。
參考文獻
翻譯自:Guri M . POWER-SUPPLaY: Leaking Data from Air-Gapped Systems by Turning the Power-Supplies Into Speakers[J].2021.