主題是對(duì)付LIFX燈膽的,LIFX是一款智能燈膽,它可以或許用WIFI節(jié)制,節(jié)能,多色彩表現(xiàn),可以或許利用Android或iOS手機(jī)節(jié)制。咱們之以是抉擇對(duì)這款產(chǎn)物停止研討,重要是因?yàn)樗昧诵屡d的無(wú)線網(wǎng)絡(luò)協(xié)定,投入市場(chǎng)的方法和先輩的技巧深深的吸引了咱們。
2012年9月,LIFX名目開(kāi)端于Kickstarter眾籌平臺(tái),該產(chǎn)物剛開(kāi)端在眾籌平臺(tái)上線就受到了投資者們的青眼,其召募到的資金是其原始目的資金的13倍以上。
LIFX燈膽平日必要銜接到WiFi網(wǎng)絡(luò),以便利用智能手機(jī)利用法式可以或許對(duì)燈膽停止節(jié)制。在有多個(gè)燈膽可用的情況下,只有一個(gè)燈膽將銜接到網(wǎng)絡(luò)。這個(gè)“主”燈膽從智能手機(jī)利用法式上接管敕令,并經(jīng)由進(jìn)程802.15.4 6LoWPAN無(wú)線網(wǎng)絡(luò)將其播送到其余燈膽。

WiFi和802.15.4 6LoWPAN mesh網(wǎng)絡(luò)
在主燈膽封閉或與WIFI網(wǎng)絡(luò)斷開(kāi)銜接的情況下,體系會(huì)從殘剩燈膽中從新抉擇一個(gè)燈膽作為主裝備,并使其銜接到WiFi網(wǎng)絡(luò),新主裝備繼承將敕令發(fā)送到其余燈膽。這類一次只必要銜接一個(gè)燈膽到WiFi上的架構(gòu)具備很多長(zhǎng)處,其中包含殘剩燈膽在不亮?xí)r以低功率運(yùn)轉(zhuǎn),另有便是可以或許使燈膽網(wǎng)絡(luò)的可用規(guī)模遠(yuǎn)遠(yuǎn)跨越WiFi網(wǎng)絡(luò)的籠罩規(guī)模,如許可以或許削減WiFi網(wǎng)絡(luò)的堵塞。
不用說(shuō),LIFX燈膽利用的新興無(wú)線通訊協(xié)定,mesh網(wǎng)絡(luò)布局和主/從通訊方法深深吸進(jìn)了“黑客”的留意力,是以咱們拿起了幾個(gè)燈膽并開(kāi)端了咱們的研討之旅。該博客針對(duì)LIFX固件1.1版本停止了研討和闡發(fā),而且自從向LIFX申報(bào)了研討成果以后,該公司曾經(jīng)對(duì)固件1.1版本停止了進(jìn)級(jí),如今1.2版本曾經(jīng)可供下載了。
開(kāi)啟入侵攻擊之旅
LIFX燈膽網(wǎng)絡(luò)中有如下三個(gè)焦點(diǎn)通訊組件:
1.智能手機(jī)到燈膽的通訊
2.燈膽WiFi通訊
3.燈膽網(wǎng)絡(luò)通訊
闡發(fā)初始階段碰著的最大困難是新技巧和實(shí)踐常識(shí)帶給咱們的挑釁,是以咱們籌備從燈膽內(nèi)的802.15.4 6LoWPAN無(wú)線mesh網(wǎng)絡(luò)開(kāi)端動(dòng)手,以檢查其能否存在破綻漏洞bug。具體來(lái)講,咱們決議研討LIFX燈膽是如安在6LoWPAN mesh網(wǎng)絡(luò)之間同享WiFi網(wǎng)絡(luò)憑據(jù)的。
6LoWPAN是一種基于IEEE 802.15.4構(gòu)建的無(wú)線通訊尺度,與Zigbee利用的根本尺度雷同,該尺度容許經(jīng)由進(jìn)程低功率的Personal Area Networks (PAN)轉(zhuǎn)發(fā)IPv6數(shù)據(jù)包。為了監(jiān)控和注入6LoWPAN流量,咱們必要一個(gè)基于802.15.4尺度的核心裝備。在此義務(wù)中咱們抉擇的裝備是安裝了Contiki 6LoWPAN固件鏡像的ATMEL AVR Raven ,該裝備供給了一個(gè)尺度的網(wǎng)絡(luò)接口,經(jīng)由進(jìn)程該網(wǎng)絡(luò)接口咱們可以或許監(jiān)控和注入網(wǎng)絡(luò)流量到LIFX mesh網(wǎng)絡(luò)。
協(xié)定闡發(fā)
經(jīng)由進(jìn)程上述網(wǎng)絡(luò)接口,咱們可以或許監(jiān)控并將網(wǎng)絡(luò)流量注入到LIFX mesh網(wǎng)絡(luò)中。經(jīng)由進(jìn)程察看咱們發(fā)覺(jué)到LIFX網(wǎng)絡(luò)在很大程度上是未加密的,是以咱們可以或許輕松地剖析其網(wǎng)絡(luò)協(xié)定,并結(jié)構(gòu)新聞來(lái)節(jié)制燈膽并重放隨意率性數(shù)據(jù)包的有用載荷。
經(jīng)由進(jìn)程在LIFX網(wǎng)絡(luò)中增加新燈膽和同時(shí)監(jiān)控從mesh網(wǎng)絡(luò)中捕捉的數(shù)據(jù)包,咱們可以或許辨認(rèn)無(wú)關(guān)WiFi網(wǎng)絡(luò)憑據(jù)的特定數(shù)據(jù)包。全部新燈膽的參加進(jìn)程包含主燈膽在網(wǎng)絡(luò)上播送有一個(gè)新燈膽參加進(jìn)網(wǎng)絡(luò);以后新燈膽對(duì)主燈膽的播送作出相應(yīng),并哀求傳輸WiFi憑據(jù)細(xì)節(jié);然后主燈膽經(jīng)由進(jìn)程mesh網(wǎng)絡(luò)播送加密的WiFi憑據(jù)細(xì)節(jié),并將新的燈膽增加到LIFX智能手機(jī)利用法式中的可用燈膽列表中。

經(jīng)由進(jìn)程Wireshark 6LoWPAN捕捉數(shù)據(jù)包
經(jīng)由進(jìn)程對(duì)捕捉到的數(shù)據(jù)包停止闡發(fā)咱們發(fā)覺(jué)到,WiFi細(xì)節(jié)(包含憑據(jù))是被加密傳輸?shù)模且栽蹅兛梢曰蛟S在mesh網(wǎng)絡(luò)中注入數(shù)據(jù)包,以獲得WiFi細(xì)節(jié)。別的,獲得WiFi詳細(xì)信息的進(jìn)程不會(huì)增加任何新裝備或在LIFX智能手機(jī)利用法式中激發(fā)任何警報(bào)。如今咱們可以或許隨意率性地從mesh網(wǎng)絡(luò)獲得WiFi憑據(jù),但卻沒(méi)方法來(lái)解密它們。為了進(jìn)一步的入侵攻擊,咱們必要對(duì)其利用的加密機(jī)制停止闡發(fā)。
獲得固件
咱們起首從闡發(fā)LIFX裝備的固件開(kāi)端來(lái)測(cè)驗(yàn)考試去破解其加密機(jī)制,一樣平常情況下,咱們只必要從供應(yīng)商網(wǎng)站下載固件,脫殼,解密或以其余方法將其更改成咱們認(rèn)識(shí)的格局就能夠或許了。但是,在研討時(shí)咱們發(fā)覺(jué)到,因?yàn)長(zhǎng)IFX裝備剛投入市場(chǎng),是以供應(yīng)商還沒(méi)有向"大眾宣布可以或許闡發(fā)的固件。在這類情況下,咱們只能本身獲得LIFX裝備的固件。
為了從裝備中提取固件,咱們起首必要獲得對(duì)內(nèi)嵌的微節(jié)制器的物理拜訪,這是一個(gè)異常講求技巧的獲得進(jìn)程。對(duì)付門外漢來(lái)講,彷佛只不過(guò)是用錘子敲擊它,直到可以或許看到LIFX裝備的外部布局。一旦獲得內(nèi)嵌的微節(jié)制器,咱們就能夠或許拜訪Printed Circuit Board (PCB)了,該裝備如下圖所示:

提取LIFX PCB
經(jīng)由進(jìn)程闡發(fā)獲得到PCB咱們發(fā)覺(jué)到,該器件重要由兩個(gè)片上體系(SoC)集成電路(IC)構(gòu)成:一個(gè)是德州儀器CC2538,其重要賣力6LoWPAN網(wǎng)絡(luò)裝備的通訊,另一個(gè)是STMicroelectronics STM32F205ZG,其重要賣力WiFi端的通訊。這兩款芯片均基于ARM Cortex-M3處理器。進(jìn)一步的闡發(fā)發(fā)覺(jué)到,每一個(gè)芯片上的JTAG引腳功能齊全。JTAG是Joint Test Action Group的縮寫,是IEEE 1149.1尺度的罕用稱號(hào),它描寫了用于測(cè)試微節(jié)制器缺點(diǎn)的一種協(xié)定,并經(jīng)由進(jìn)程Test Action Port接口調(diào)試硬件。
一旦肯定了每一個(gè)芯片準(zhǔn)確的JTAG引腳和籌備好銜接到芯片的JTAG接口,下一步要做的工作是手動(dòng)跟蹤引腳,闡發(fā)和主動(dòng)探測(cè)。為了可以或許節(jié)制發(fā)送到芯片的JTAG敕令,咱們必要硬件和軟件組合起來(lái)利用。在這類情況下利用的硬件是開(kāi)源的BusBlaster JTAG調(diào)試器,它與開(kāi)源的OpenOCD調(diào)試器共同利用。在設(shè)置裝備擺設(shè)好硬件和軟件以后,咱們可以或許向芯片收回JTAG敕令了。
BusBlaster JTAG調(diào)試器
此時(shí),咱們可以或許從每一個(gè)芯片中疾速的轉(zhuǎn)儲(chǔ)閃存,并啟動(dòng)對(duì)固件的逆向闡發(fā)工作。
逆向闡發(fā)固件
如今咱們領(lǐng)有兩個(gè)二進(jìn)制的blob固件,咱們必要辨認(rèn)哪一個(gè)固件賣力存儲(chǔ)和加密WiFi憑據(jù)。經(jīng)由進(jìn)程映像上的“字符串”咱們肯定WIFI憑據(jù)存儲(chǔ)在LIFX LWM-01-A芯片的固件映像中。
將固件映像加載到IDA Pro中,咱們可以或許經(jīng)由進(jìn)程查找罕見(jiàn)的加密常量(S-Boxes,F(xiàn)orward and Reverse Tables和Initialization Constant)來(lái)辨認(rèn)加密代碼,經(jīng)由進(jìn)程該方法咱們肯定芯片中利用的是AES加密算法。因?yàn)锳ES是一種對(duì)稱加密算法,是以加密密鑰和解密密鑰是雷同的。經(jīng)由進(jìn)程闡發(fā)咱們發(fā)覺(jué)到在LIFX的計(jì)劃中,每一個(gè)裝備都邑收回一個(gè)恒定的全局密鑰。是以假如咱們可以或許從一個(gè)裝備中獲得密鑰,那末咱們就能夠或許利用雷同的密鑰來(lái)解密統(tǒng)統(tǒng)其余裝備發(fā)送的新聞。在這類情況下,密鑰可用于解密從任何LIFX燈膽發(fā)送的加密新聞。因?yàn)榧用艹A恳部捎糜诒嬲J(rèn)加密和解密法式的匯編代碼,是以在AES算法開(kāi)源完成的贊助下,咱們可以或許經(jīng)由進(jìn)程逆向闡發(fā)以前定位到的加密函數(shù)來(lái)提取加密密鑰,初始化向量和塊形式。

IDA Pro拆解固件加密代碼
末了一步是經(jīng)由進(jìn)程利用提取到的密鑰解密從網(wǎng)絡(luò)中嗅探到的WiFi憑據(jù)來(lái)證實(shí)提取的加密密鑰能否準(zhǔn)確。
組合入侵攻擊
控制了加密算法,密鑰,初始化向量和對(duì)mesh網(wǎng)絡(luò)協(xié)定的懂得,咱們可以或許將數(shù)據(jù)包注入到mesh網(wǎng)絡(luò)中,捕捉WiFi細(xì)節(jié)并解密憑據(jù),統(tǒng)統(tǒng)這統(tǒng)統(tǒng)都不會(huì)惹起LIFX裝備的任何身份驗(yàn)證或警報(bào)。是以咱們勝利了!
應(yīng)當(dāng)留意的是,因?yàn)檫@類入侵攻擊是針對(duì)802.15.4 6LoWPAN無(wú)線mesh網(wǎng)絡(luò)停止的入侵攻擊,以是入侵攻擊者必要在一個(gè)易受入侵攻擊的LIFX燈膽的無(wú)線籠罩規(guī)模內(nèi)(30米規(guī)模內(nèi))停止入侵攻擊,是以這重大限定了大規(guī)模破綻漏洞bug利用的實(shí)用性。
修復(fù)倡議
在發(fā)覺(jué)到該破綻漏洞bug后咱們實(shí)時(shí)通知了LIFX公司,并一路幫忙該公司完成為了破綻漏洞bug的修復(fù)工作,和其余進(jìn)一步的網(wǎng)安性改良步伐。如今,新固件利用從WiFi憑據(jù)導(dǎo)出的加密密鑰來(lái)加密統(tǒng)統(tǒng)的6LoWPAN流量,并包含了用于包管新燈膽可以或許網(wǎng)安參加到WIFI網(wǎng)絡(luò)中的網(wǎng)安功能。
固然,任何物聯(lián)網(wǎng)裝備,無(wú)論是手機(jī),筆記本電腦,照樣燈膽,黑客總是有機(jī)遇將其挾制,后續(xù)咱們將會(huì)在博客中先容更多無(wú)關(guān)挾制物聯(lián)網(wǎng)裝備的技巧文章。
|