路由器LED闪灯泄露数据
作者: 日期:2017年06月08日 阅:29,387

漏洞固件引发的死亡闪灯

今年2月份媒体报道,硬盘闪灯会泄露数据。如今,以色列班古里昂大学的边信道专家们,将类似的方法应用到了路由器上。

路由器信号获取的吸引力在于:如果能让路由器泄露管理员凭证,那就不仅仅能突破一台主机,而是整个网络。

不过,相对的,搞定路由器也比针对单台主机下手要更难一些:你需要一个与目标路由器之间无阻隔的传感器,而且,必须拿到路由器的控制权。

如果你已经控制了路由器,该大学研究团队开发的“xLED”可以帮你往路由器操作上添加LED控制。或者,如该团队在论文中写的一样,有足够权限的攻击者可以跳过固件,直接让路由器执行恶意脚本。

下面的代码片段,就是Linux系路由器操作系统上所谓“最简”调制方法。

算法 1. ModulateOOK

1: procedure ModulateOOK(nLED, data, T)
2: openLED(nLED); // 以写模式打开 LED 文件
3: while(data[i] !=0)
4: if(data[i] == ‘0’) // 通过关闭 LED 调制 0
5: setLEDOff(nLED);
6: if(data[i] == ‘1’) // 通过打开 LED 调制 1
7: setLEDOn(nLED);
8: i++;
9: sleep(T); // 睡眠 T 毫秒
10: closeLED(nLED); // 关闭 LED 文件描述符

如果没触到操作系统,下面的shell脚本也相当简单:

// 方法 #1
// 开启 LED
1: echo 0 > /sys/class/leds/led_name/brightness
// 关闭 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 // 关闭 LED

有时间的话,可以看看下面的概念验证视频,里面有个代码可以试试看能渗漏出什么来:

如果用摄像机来窥探LED,渗漏速率不会超过 1 Kbps:GoPro Hero5 运动相机能以 960比特/秒的速率录下LED闪动,但大多数摄像机仅能达到 120比特/秒。

如能物理接触到目标设施,事情就好做得多了:一个光学传感器(该团队用了 Thorlabs PDA100A )能以高达 3.5 Kbps 的速度运作。

或许最佳应对措施只剩下用胶带蒙上LED了,即便这么做会造成一些不便。另外,多注意一下你路由器上的固件。

相关阅读

一个利用无人机进行渗透测试的“犯罪”故事
研究人员证明计算机上的硬盘灯可被用来泄露口令和敏感数据

 

关键词:

申明:本文系厂商投稿收录,所涉观点不代表安全牛立场!


相关文章