LIFX智能燈泡漏洞泄露WIFI密碼
最近有安全研究人員報(bào)告LIFX燈泡存在漏洞,黑客可以在距離燈泡30米內(nèi)獲取燈泡連接的WIFI密碼。LIFX燈泡使用aes加密wifi密碼,其加密密鑰是固定的,通過特殊方式獲得密鑰之后就可以解密wifi的密碼。目前LIFX已經(jīng)發(fā)布安全升級(jí)公告。
LIFX燈泡是可以由Wi-Fi控制的智能多色LED燈泡,售價(jià)99美元。LIFX曾創(chuàng)下Kickstarter眾籌平臺(tái)有史以來最成功的融資活動(dòng),在最初目標(biāo)僅為10萬美元的情況下,于短短六天內(nèi)籌集到了130萬美元。上周,該公司宣布在A輪融資中募集了1,200萬美元。
LIFX燈泡會(huì)連接wifi網(wǎng)絡(luò),這樣才可以通過手機(jī)APP控制。當(dāng)有多個(gè)燈泡的時(shí)候,只有一個(gè)燈泡會(huì)連接到網(wǎng)絡(luò)。這個(gè)控制燈泡會(huì)接受手機(jī)發(fā)來的指令,然后通過802.15.4 6LoWPAN協(xié)議廣播給其他的燈泡。
當(dāng)控制燈泡關(guān)閉或者掉線的時(shí)候,剩余的燈泡會(huì)選舉一個(gè)新的控制燈泡連接wifi,等待接受手機(jī)端發(fā)來的命令。這樣的設(shè)計(jì)保證同時(shí)只有一只燈泡連接wifi,不用說,這種設(shè)計(jì)是有很多優(yōu)點(diǎn)的。也引起我們的研究興趣。
分析攻擊面
在燈泡的網(wǎng)絡(luò)中主要有3個(gè)核心的通信部分:
1,智能手機(jī)到燈泡的通信。 2,燈泡WIFI的通信。 3,燈泡mesh網(wǎng)絡(luò)的通信。
我們決定先從燈泡的 802.15.4 6LoWPAN的無線mesh網(wǎng)絡(luò)下手,分析一下燈泡之間是如何分享 wifi 認(rèn)證密碼的。
協(xié)議分析
通過監(jiān)控和注入LIFX的mesh網(wǎng)絡(luò),我們發(fā)現(xiàn)大部分通信都是未加密的。這樣就可能輕易的分析出協(xié)議,從而構(gòu)造消息控制燈泡或者重放控制指令。我們也發(fā)現(xiàn)了共享wifi密碼的流程。當(dāng)有新燈泡加入時(shí),控制燈泡會(huì)廣播消息,新燈泡回應(yīng)控制燈泡,然后跟控制燈泡請求wifi的相關(guān)信息。控制燈泡會(huì)回應(yīng)wifi的信息,加密之后發(fā)給新燈泡。然后新燈泡就出現(xiàn)在手機(jī)APP的控制列表里了。下圖顯示的是加密之后的wifi信息。
通過對數(shù)據(jù)的進(jìn)一步分析,我們發(fā)現(xiàn)可以自己在燈泡的mesh網(wǎng)絡(luò)中注入數(shù)據(jù)包來請求wifi的信息。這樣就可以在沒有新燈泡加入的情況下獲得wifi信息,而且手機(jī)上不會(huì)有任何提示。到目前為止,還沒有足夠的信息來解密wifi信息,因此我們決定去分析燈泡使用的加密算法。
獲得固件
理想的情況下,可以在設(shè)備官網(wǎng)下載到固件分析。這次由于LIFX是一家非常新興的公司,他們還沒有發(fā)布過固件。所以我們只好自己想辦法提取固件。
通過對PCB的分析,我們獲得了以下的信息:mesh網(wǎng)絡(luò)使用的是德州儀器的CC2538,wifi網(wǎng)絡(luò)使用的是意法半導(dǎo)體的STM32F205ZG (marked LIFX LWM-01-A)。處理器使用的ARM Cortex-M3 。而且芯片的jtag都是可以用的。我們使用開源硬件BusBlaster JTAG debugger,最后成功導(dǎo)出了固件。
逆向固件
現(xiàn)在我們有了兩個(gè)二進(jìn)制的文件。通過對字符串的識(shí)別,發(fā)現(xiàn)加密算法部分在LIFX LWM-01-A芯片中。使用IDA Pro加載固件,通過尋找一些加密常用的常量: S-Boxes, Forward和Reverse Tables和Initialization Constants,分析出LIFX采用了AES進(jìn)行加密。AES是一種對稱加密算法。也就是說加密和解密都需要同一個(gè)預(yù)共享的key。如果LIFX使用了固定的加密密鑰的話,這就意味者我們從一個(gè)LIFX燈泡中獲得了加密key,就可以使用這個(gè)key解密所有LIFX燈泡加密的wifi信息。下圖是ids 反匯編的加密代碼。結(jié)合對開源AES實(shí)現(xiàn)的分析,我們獲得了aes加密使用的key,初始化向量,塊模式等。
最后我們使用獲得的信息解密了嗅探到的wifi信息證明了漏洞存在。由于這個(gè)攻擊場景需要使用無線mesh網(wǎng)絡(luò),所以攻擊者需要在網(wǎng)絡(luò)覆蓋的范圍內(nèi)進(jìn)行攻擊,大概是30米。目前l(fā)ifx已經(jīng)發(fā)布了新版固件修正這個(gè)漏洞。
本文根據(jù)http://contextis.com/翻譯整理。