如何從未聯網PC中獲取信息?試試讓USB接口變身無線電發射器
有一位名叫Mordechai Guri的以色列研究員,善于利用一些特別的技巧從未聯網的電腦中提取信息。他和他的團隊曾在今年6月通過計算機風扇的噪聲,成功獲取到離線計算機中的數據。而這一次,他又成功利用了射頻傳輸技術,通過USB 2.0接口,實現了從離線PC上獲取數據信息。
這種新技術名叫USBee。其工作原理是首先將裝有攻擊軟件的USB設備插入PC中,植入惡意軟件;之后將USB接口當成RF射頻發射器來用:具體方法是調制發往USB設備的高速數據流,這樣就可以直接利用USB本身向外發射無線電信號了。傳輸信息的邏輯并不復雜,比如240MHz-480MHz區間內的電壓輻射用來表示“0”——這樣就能夠按照所發出的不同的頻率組合以0101的方式把數據傳輸出來。
外部接應的接收器可以通過接收到的信號頻率變化,還原出相對應的數據信息。具體實施中,若要傳出密碼或者加密密鑰,可以利用二進制移頻鍵控(B-FSK)將二進制數據信息調制成波。通過接口數據針腳的快速電壓變化就能形成相應的載波。
據Guri的估算,USBee的無線發出速度(80比特/秒)足以在十秒內發送一個4,096位的加密密鑰到附近的接收機。
可以使用以下函數創建基本載波:
- inline static void fill_buffer_freq
- (u32 *buf, int size, double freq)
- {
- inti = 0;
- u32x = 0;
- double t = freq / 4800 * 2;
- for(i = 0, x = 0x00000000; i<size*8; i++)
- {
- x= x<<1;
- if ((int)(i*t)%2==0)
- x++;
- if((i%32)==31)
- {
- *(buf++) = x;
- x=0x00000000;
- }
- }
- }
之后,只要用戶有“寫文件”的權限,就能夠將結果Buffer寫入移動設備中,來生成發射信號。
Guri和他的團隊在這周剛發出的研究報告中稱:
“實際的數據傳輸過程是:函數fill_buffer_freq()將接收到的buffer生成byte pattern,再寫入USB的任意數據模塊和數據流中”。
“這個傳輸過程不需要很高的權限,只要可以在移動設備上創建文件夾即可。”
視頻中,Guri的團隊展示了如何利用一臺筆記本電腦,再加上30美元的無線電天線,在距離15英尺遠的地方就能接收到數據。這次實驗說明這種全新的USBee技術可以用來實施暗中監視。無論是在酒店的隔壁房間,還是擁擠的辦公室。
這是一次有趣又實用的入侵行為。當然,想要完成這次入侵,首先要讓惡意軟件能夠接觸到未聯網的電腦,即將安裝了惡意軟件的USB插入PC;同時,還需要在沒有人注意的情況下離這臺PC足夠近,才能夠接收到有效信號。總之,只要你賄賂對了人,威脅了合適的人,準確利用了安全平臺(OPSEC)的漏洞,那么將目標代碼編入到目標機器也不是不可能的。