2
還記得當(dāng)年紅極一時(shí)的黑客操控大廈電力玩起坦克大戰(zhàn)的視頻嗎?(就是這個(gè))視頻真實(shí)性拋開(kāi)不論,帶給圍觀群眾的震撼效果絕對(duì)是十級(jí)。
雷鋒網(wǎng)今天帶來(lái)的是另一組大片。
視頻中的神操作者是來(lái)自騰訊安全平臺(tái)部Blade團(tuán)隊(duì)的兩位小哥Nicky、Xbalien。沒(méi)錯(cuò),就是這兩位?
▲左xbalien,右Nicky
這兩位還在不久前舉辦的歐洲頂級(jí)安全會(huì)議HITB大會(huì)上分享了如何以上帝視角,完成操控大樓燈光的壯舉。
月黑風(fēng)高夜,某座大廈的36樓突得陷入黑暗。
一片靜謐中有人屏息以待,心中默念:1,2,3!一間屋子亮起了燈光,又一間亮了起來(lái)……
監(jiān)控器前的拍攝團(tuán)隊(duì)大喊一聲“卡”,錄制結(jié)束了。
Nicky和Xbalien長(zhǎng)舒了一口氣,拍了三次,終于搞定了。
這不是大電影的拍攝現(xiàn)場(chǎng),主角不是明星,而是一臺(tái)無(wú)人機(jī)和一層高樓。這波操作也并非你所預(yù)想的特效制作,而是真實(shí)上演的針對(duì)智能樓宇設(shè)備 ZigBee 通信協(xié)議新的攻擊方式——有別于以往針對(duì)某一廠商的某一產(chǎn)品進(jìn)行攻擊,而是通用、快速的批量攻擊。
當(dāng)然要實(shí)現(xiàn)視頻中的炫酷動(dòng)作需要三步。
第一就是利用無(wú)人機(jī),使其載著樹(shù)莓派(Raspberry PI)設(shè)備以較慢速度圍繞某一樓宇進(jìn)行網(wǎng)絡(luò)信息搜集。
具體來(lái)說(shuō),要發(fā)送一些信標(biāo)包探測(cè) ZigBee 信道的網(wǎng)絡(luò)網(wǎng)關(guān)信息,比如設(shè)備ID信息,還會(huì)進(jìn)一步探測(cè)其使用的密鑰并進(jìn)行解析。
這些結(jié)果信息都會(huì)被反饋回來(lái)進(jìn)行半自動(dòng)化分析。
所謂的半自動(dòng)化分析是什么?
這就要回到ZigBee協(xié)議本身了,ZigBee廣泛應(yīng)用于智能家居系統(tǒng)中,諸如ABB、三星、小米等廠商都有生產(chǎn)ZigBee設(shè)備。為了使用戶更方便地連接第三方廠商生產(chǎn)的ZigBee設(shè)備,許多制造商使用ZigBee聯(lián)盟通用密鑰,允許設(shè)備在不同的供應(yīng)商之間進(jìn)行配對(duì)。也就是說(shuō)你可以用小米的網(wǎng)關(guān)控制三星設(shè)備,而控制燈光、窗簾、空調(diào)等也有標(biāo)準(zhǔn)的實(shí)現(xiàn)指令。
所謂知己知彼,半自動(dòng)化分析就是讓你更清楚的了解“彼方”,通過(guò)分析 ZigBee 設(shè)備來(lái)源廠商以及其控制指令是否標(biāo)準(zhǔn),如果是兼容協(xié)議,就可以自動(dòng)生成攻擊指令。假如遇上特立獨(dú)行的廠商,懶得去兼容協(xié)議,或者在控制指令中加入了特殊指令,就需要預(yù)先進(jìn)行簡(jiǎn)單的人工分析及提取指令。
完成半自動(dòng)化分析后,無(wú)人機(jī)第二次起飛進(jìn)行自動(dòng)化批量攻擊,此時(shí)就會(huì)出現(xiàn)視頻中的畫(huà)面,無(wú)人機(jī)“操控”燈光,窗簾,空調(diào)等設(shè)備自動(dòng)打開(kāi)與關(guān)閉。
此處有個(gè)大膽腦洞,是不是以后求婚可以有這種操作……(據(jù)說(shuō)兩位小哥哥也有此想法)
當(dāng)然批量攻擊的實(shí)現(xiàn)是借前兩步中收集 ZigBee 密鑰和網(wǎng)絡(luò)信息的光,通過(guò)模擬網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)送包含攻擊載體的廣播包,控制所有燈一起開(kāi)或者關(guān)。
但要知道,一個(gè)樓層可能有幾百個(gè)ZigBee設(shè)備,它們分布在不同房間中處于不同信道。而每次攻擊卻只能針對(duì)一個(gè)信道,還存在要攻擊的信道距離無(wú)人機(jī)稍遠(yuǎn)的可能,這會(huì)拖慢整個(gè)測(cè)試速度。
“我們做了一個(gè)新的改變!”Nicky興奮地告訴雷鋒網(wǎng)編輯,他們?cè)跇?shù)莓派上同時(shí)使用了兩個(gè)嗅探設(shè)備和兩個(gè)發(fā)送設(shè)備,以便在前期搜集網(wǎng)絡(luò)信息時(shí)可以加快速度。同理,在發(fā)射 ZigBee 數(shù)據(jù)包進(jìn)行攻擊時(shí),也可以同時(shí)使用兩個(gè)發(fā)射器發(fā)射信號(hào),加速攻擊流程。
ZigBee并非沒(méi)有防御措施,但Nicky和Alien利用一些漏洞繞過(guò)這些防御措施。比如Blade團(tuán)隊(duì)還發(fā)現(xiàn)了一種新的繞過(guò)ZigBee協(xié)議重放防御機(jī)制的方法:通過(guò)在ZigBee網(wǎng)絡(luò)中創(chuàng)建一個(gè)虛擬節(jié)點(diǎn),并將這個(gè)虛擬節(jié)點(diǎn)的設(shè)置一個(gè)隨機(jī)的MAC地址,和一個(gè)與網(wǎng)絡(luò)中節(jié)點(diǎn)設(shè)備相同的網(wǎng)絡(luò)地址,這樣在以當(dāng)虛擬節(jié)點(diǎn)身份發(fā)送廣播包時(shí),序列號(hào)與計(jì)數(shù)器都會(huì)從0開(kāi)始計(jì)數(shù),完全可以隨心所欲的控制所有設(shè)備。
Nicky和Alien研究這種批量攻擊方式時(shí)間不算短,從2017年6月開(kāi)始,歷經(jīng)兩三個(gè)月,中間也有不少難題。比如攻擊高層樓宇的智能設(shè)備可能面臨信號(hào)發(fā)射功率不夠,需要尋找載體——無(wú)人機(jī),對(duì)無(wú)人機(jī)的控制技術(shù)也有一定要求。另外為了不影響大樓中的工作人員辦公,測(cè)試往往選擇深夜進(jìn)行……
不過(guò)這兩位研究員也樂(lè)在其中,他們?cè)诓痪们芭e辦的HITB大會(huì)上分享了針對(duì) ZigBee 協(xié)議的批量攻擊方式以及對(duì)應(yīng)的安全加密機(jī)制,主要有以下幾點(diǎn)。
如果不需要兼容其它廠商的設(shè)備,廠商可以避免使用通用安全密鑰。
以“新”代“舊”,目前市面上不少芯片廠商提供較老的芯片只支持老版本的ZigBee協(xié)議棧,但老版本的ZigBee協(xié)議是存在漏洞的,建議使用高版本的ZigBee協(xié)議棧。
制定自定義加密方案,ZigBee包含物理層、網(wǎng)絡(luò)層、應(yīng)用層等,建議廠商在應(yīng)用層,用非對(duì)稱算法實(shí)現(xiàn)自己的認(rèn)證加密方案,這樣即使密鑰泄露,網(wǎng)絡(luò)通信也有一定的安全保證。
密鑰存儲(chǔ),市面上一些廠商的 ZigBee 固件或者硬件的flash芯片會(huì)明文存儲(chǔ)一些密鑰。黑客只要購(gòu)買(mǎi)這種智能設(shè)備就可以從固件中提取密鑰進(jìn)而攻擊同類產(chǎn)品。因此密鑰不應(yīng)該以明文方式存儲(chǔ)在固件或芯片中,應(yīng)該做一些加密或打散方式存儲(chǔ),提高黑客攻擊成本。
拿下一層樓不算什么,Blade團(tuán)隊(duì)的下一個(gè)目標(biāo)是整棟酒店,他們瞄準(zhǔn)的是KNX協(xié)議。
目前,智能家居的通信協(xié)議多使用ZigBee協(xié)議,而KNX常用于大型公共場(chǎng)所,如體育場(chǎng)館、機(jī)場(chǎng)、豪華酒店以及核電站、工廠等一些工業(yè)設(shè)施。Nicky和Xbalien從去年11月開(kāi)始研究這一協(xié)議,發(fā)現(xiàn)這一協(xié)議相關(guān)的研究及安全工具極少,他們前期花費(fèi)了大量時(shí)間和精力去分析這一協(xié)議。
早前在 DEFCON 大會(huì)上,曾有安全研究員通過(guò)WiFi網(wǎng)絡(luò)入侵了深圳京基100大樓瑞吉酒店的 KNX系統(tǒng),并控制了酒店的照明系統(tǒng)。但 Nicky和Xbalien在實(shí)地測(cè)試時(shí)發(fā)現(xiàn)多數(shù)酒店的KNX網(wǎng)關(guān)網(wǎng)絡(luò)與酒店本身的WiFi網(wǎng)絡(luò)相隔離,其 KNX 設(shè)備的最后網(wǎng)關(guān)在單獨(dú)的控制室內(nèi),旁人接觸不到。
通過(guò)對(duì)KNX協(xié)議的分析,他們發(fā)現(xiàn)可以通過(guò)接入KNX電纜網(wǎng)絡(luò)來(lái)修改KNX/IP路由器的配置,在不影響整個(gè)原有KNX網(wǎng)絡(luò)設(shè)備的正常使用情況下,攻擊KNX網(wǎng)絡(luò)中的任何設(shè)備或嗅探KNX網(wǎng)絡(luò)流量,這種攻擊同時(shí)可以導(dǎo)致整個(gè)KNX網(wǎng)絡(luò)的設(shè)備拒絕服務(wù)。
當(dāng)然這只是一個(gè)思路,能否實(shí)現(xiàn)還需親自接觸KNX設(shè)備進(jìn)行測(cè)試。
于是兩位小哥哥自己添置了KNX設(shè)備,搭建起小型KNX網(wǎng)絡(luò),并在上面完成了整套攻擊流程。
“但這種小型網(wǎng)絡(luò)無(wú)法完全模擬大型網(wǎng)絡(luò)的攻擊場(chǎng)景,于是我們決定,去某五星級(jí)酒店開(kāi)房。”
選擇某五星級(jí)酒店開(kāi)房是有原因的,當(dāng)然不是你想的某些不正經(jīng)原因,而是因?yàn)樵摼频甑乃蟹块g以及走廊或大廳都用到了KNX設(shè)備。這是一個(gè)較大型的網(wǎng)絡(luò),其中可能使用了幾千甚至上萬(wàn)個(gè)KNX設(shè)備,以此為研究目標(biāo)就可以實(shí)現(xiàn)大型KNX網(wǎng)絡(luò)的批量攻擊。
于是,Nicky和Xbalien一拍即合,跑去酒店花了1800開(kāi)了一間房,在里面測(cè)試了一天一夜,成功驗(yàn)證了利用上述攻擊方式可以操縱酒店走廊燈,以及客房“請(qǐng)勿打擾”燈牌亮滅。
(試想若是這波操作被心懷不軌的黑客利用,在男女主人公在床上酣戰(zhàn)之時(shí),窗簾慢慢打開(kāi)……好吧,以上情節(jié)只是編輯的無(wú)良腦洞……)
他們也在HITB大會(huì)上分享了針對(duì)KNX協(xié)議的安全防護(hù)建議:
目前國(guó)內(nèi)外多數(shù)廠商仍在使用老舊KNX設(shè)備,這些設(shè)備不兼容最新版KNX協(xié)議,更不支持最新版協(xié)議中的加密機(jī)制,暴露出來(lái)的漏洞有很多,應(yīng)該將設(shè)備升級(jí)到新版協(xié)議。
KNX網(wǎng)關(guān)要做好網(wǎng)絡(luò)隔離,不能將KNX網(wǎng)關(guān)開(kāi)放在公網(wǎng)上,會(huì)帶來(lái)很大安全風(fēng)險(xiǎn)。
另外,最新版的KNX協(xié)議支持?jǐn)?shù)據(jù)包加密,但很多廠商沒(méi)有開(kāi)啟這一安全選項(xiàng)。我們建議廠商開(kāi)啟這一選項(xiàng),對(duì)數(shù)據(jù)進(jìn)行加密。
針對(duì)這兩種協(xié)議的攻擊是否會(huì)被黑客利用?
Nicky告訴雷鋒網(wǎng),目前新聞中并未出現(xiàn)過(guò)黑客大規(guī)模攻擊這些設(shè)備。究其原因可能是ZigBee和KNX皆偏向控制設(shè)備一類的通信協(xié)議,本身不會(huì)包含一些敏感信息或者數(shù)據(jù)。而黑客攻擊往往帶有逐利性,攻擊這兩種協(xié)議所能得到的回報(bào)不高,通常只是為了炫技。
但實(shí)際上這類攻擊同樣可能被恐怖分子用于攻擊城市電力與照明系統(tǒng),制造社會(huì)恐慌等。
“我們選擇研究的這兩種協(xié)議是智能樓宇領(lǐng)域使用最廣泛的、最具代表性的協(xié)議,通過(guò)這兩種協(xié)議的研究,我們認(rèn)為智能樓宇領(lǐng)域普遍使用協(xié)議的安全性不高。”
這種安全性不高的原因主要源于廠商。
這倒不是說(shuō)廠商對(duì)協(xié)議安全性毫不關(guān)注,而取決于在部署安裝設(shè)備時(shí)的安裝人員是否有開(kāi)啟安全選項(xiàng)或者用正確的網(wǎng)關(guān)及路由設(shè)備部署網(wǎng)絡(luò)。也就是說(shuō),就算設(shè)備是安全的,安全人員卻沒(méi)有正確部署設(shè)備,同樣會(huì)造成安全問(wèn)題。另外,還有一些國(guó)內(nèi)外廠商缺少由于安全技術(shù)人員,基本只要實(shí)現(xiàn)設(shè)備可用性就不會(huì)再考慮設(shè)備的安全性的原因。
當(dāng)然,這些都只是冰山一角,智能樓宇的安全攻防之戰(zhàn)還任重道遠(yuǎn)。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。