路由器LED閃燈泄露數(shù)據(jù)

責(zé)任編輯:editor005

作者:nana

2017-06-08 15:02:38

摘自:安全牛

今年2月份媒體報(bào)道,硬盤閃燈會(huì)泄露數(shù)據(jù)。如今,以色列班古里昂大學(xué)的邊信道專家們,將類似的方法應(yīng)用到了路由器上。

今年2月份媒體報(bào)道,硬盤閃燈會(huì)泄露數(shù)據(jù)。如今,以色列班古里昂大學(xué)的邊信道專家們,將類似的方法應(yīng)用到了路由器上。

路由器信號(hào)獲取的吸引力在于:如果能讓路由器泄露管理員憑證,那就不僅僅能突破一臺(tái)主機(jī),而是整個(gè)網(wǎng)絡(luò)。

不過,相對(duì)的,搞定路由器也比針對(duì)單臺(tái)主機(jī)下手要更難一些:你需要一個(gè)與目標(biāo)路由器之間無阻隔的傳感器,而且,必須拿到路由器的控制權(quán)。

如果你已經(jīng)控制了路由器,該大學(xué)研究團(tuán)隊(duì)開發(fā)的“xLED”可以幫你往路由器操作上添加LED控制。或者,如該團(tuán)隊(duì)在論文中寫的一樣,有足夠權(quán)限的攻擊者可以跳過固件,直接讓路由器執(zhí)行惡意腳本。

下面的代碼片段,就是Linux系路由器操作系統(tǒng)上所謂“最簡”調(diào)制方法。

算法 1. ModulateOOK

1: procedure ModulateOOK(nLED, data, T)

2: openLED(nLED); // 以寫模式打開 LED 文件

3: while(data[i] !=0)

4: if(data[i] == ‘0’) // 通過關(guān)閉 LED 調(diào)制 0

5: setLEDOff(nLED);

6: if(data[i] == ‘1’) // 通過打開 LED 調(diào)制 1

7: setLEDOn(nLED);

8: i++;

9: sleep(T); // 睡眠 T 毫秒

10: closeLED(nLED); // 關(guān)閉 LED 文件描述符

如果沒觸到操作系統(tǒng),下面的shell腳本也相當(dāng)簡單:

// 方法 #1

// 開啟 LED

1: echo 0 > /sys/class/leds/led_name/brightness

// 關(guān)閉 LED

2: echo 255 > /sys/class/leds/led_name/brightness

// 方法 #2

3: echo 1 > /proc/gpio/X_out // 開啟 LED

4: echo 0 > /proc/gpio/X_out // 關(guān)閉 LED

有時(shí)間的話,可以看看下面的概念驗(yàn)證視頻,里面有個(gè)代碼可以試試看能滲漏出什么來:

如果用攝像機(jī)來窺探LED,滲漏速率不會(huì)超過 1 Kbps:GoPro Hero5 運(yùn)動(dòng)相機(jī)能以 960比特/秒的速率錄下LED閃動(dòng),但大多數(shù)攝像機(jī)僅能達(dá)到 120比特/秒。

如能物理接觸到目標(biāo)設(shè)施,事情就好做得多了:一個(gè)光學(xué)傳感器(該團(tuán)隊(duì)用了 Thorlabs PDA100A )能以高達(dá) 3.5 Kbps 的速度運(yùn)作。

或許最佳應(yīng)對(duì)措施只剩下用膠帶蒙上LED了,即便這么做會(huì)造成一些不便。另外,多注意一下你路由器上的固件。

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)