李亞山
智能咖啡機
近年來,越來越多的家用電器貼上了智能的標簽。當看到 “智能” 這兩個字的時候,我們可能會覺得這些電器比傳統(tǒng)電器更加聰明、便捷。但是,使用這些需要連接網(wǎng)絡的智能設備時,你是否考慮過它的安全性呢?
近日,安全公司 Avast 的研究人員馬丁·霍恩進行了一項實驗,他對一臺 250 美元的智能咖啡機進行了逆向工程。他希望了解,針對這些物聯(lián)網(wǎng)設備可以進行何種黑客攻擊。經(jīng)過一周的努力,他得出了答案。具體來說,他可以通過黑客攻擊使咖啡機打開加熱器,讓它噴水,開啟磨豆機,甚至顯示一條勒索信息,同時讓咖啡機反復發(fā)出嗶嗶聲。并且,想要阻止這些麻煩的唯一方法,只能是拔下電源線。
霍恩在接受采訪時說:“智能咖啡機是有可能遭到黑客攻擊的。這個實驗是為了說明這確實發(fā)生了,并且可能會發(fā)生在其他物聯(lián)網(wǎng)設備上?!贝蠖鄶?shù)物聯(lián)網(wǎng)設備都是“開箱即用”,用戶不需要配置任何東西,通常,賣家也不會考慮這個問題。所以,這是一個很好的例子,讓大家了解一些事情。
什么是開箱即用?
當霍恩首次連接到智能咖啡機時,他發(fā)現(xiàn)咖啡機充當了 Wi-Fi 熱點,而且該熱點通過不安全的連接與智能手機 APP 進行通信。該 APP 可用于配置設備,用戶可以選擇將其連接到家庭 Wi-Fi 網(wǎng)絡。由于沒有加密,研究人員可以輕松了解手機如何控制咖啡機。同時,由于沒有身份驗證,黑客軟件同樣可以控制咖啡機。
這種機制使霍恩只能實現(xiàn)一小部分命令,它們都不是特別有害。隨后霍恩檢查了咖啡機接收固件更新的機制。事實證明,它們是通過手機接收固件更新的,而且同樣沒有加密,沒有身份驗證。這些明顯的漏洞給霍恩創(chuàng)造了進行黑客攻擊的機會。由于最新的固件版本存儲在 Android 應用程序中,因此他可以將其弄到計算機上,然后使用軟件分析器 IDA 進行逆向工程。不費吹灰之力,他破解出可讀的代碼。他在博客中寫道:“據(jù)此,我們可以推斷出整個更新機制沒有加密,并且固件可能是直接添加到咖啡機閃存中的‘明文圖像?!?/p>
拆機
為了真正地反匯編固件(即將二進制代碼轉(zhuǎn)換為與硬件進行通信的底層匯編語言),霍恩必須知道咖啡機使用的是哪種 CPU。于是他拆開設備內(nèi)部零件,找到電路板,并識別芯片。以下兩張圖片顯示了他的發(fā)現(xiàn):1. 帶 AT 調(diào)制解調(diào)器固件的 ESP8266 芯片;2. STM32F05106 ARM Cortex M0 芯片,它是主 CPU;3. 帶配置的 I2C EEPROM;4. 調(diào)試端口和編程接口。
在拆機了解了各部分的功能之后,霍恩將它們重新組裝起來。之后,霍恩能夠撤消咖啡機最重要的功能,包括檢查加熱器上是否裝有水瓶,使設備發(fā)出蜂鳴聲?;舳鬟€能控制咖啡機的固件安裝更新。最終,霍恩獲得了足夠的信息來編寫模仿更新過程的 python 腳本。他使用固件的略微修改版本,發(fā)現(xiàn)它可以正常工作。
足以讓用戶望而卻步
下一步是創(chuàng)建修改后的固件,使之做一些不那么友好的事情?;舳鲗懙溃骸白畛酰覀兿胱C明這個設備可以進行加密貨幣的挖掘工作??紤]到 CPU 和架構,它當然是可行的,但在 8MHz 的速度下,這沒有任何意義,因為這樣一個礦機的生產(chǎn)價值可以忽略不計?!?p>
咖啡機內(nèi)部電路板
霍恩編程實現(xiàn)了字符顯示
因此,研究人員決定做其他事情來搗亂:如果主人想讓咖啡機停止運行,就得交出贖金,就像視頻中顯示的那樣。由于芯片中有還一些未使用的內(nèi)存空間,霍恩添加了幾行代碼,就導致了所有的混亂?!拔覀冋J為這足以讓用戶望而卻步。我們能輕易讓智能咖啡機的使用體驗達到最差,用戶唯一能做的就是把咖啡機從電源插座上拔下來?!?/p>
如果更新腳本和修改后的固件被重新編寫并加載到 Android 手機上(由于 iOS 系統(tǒng)封閉的特性,其攻擊難度要大得多),有幾種方式可以實施攻擊。最簡單的方法就是在 Wi-Fi 范圍內(nèi)找到易受攻擊的咖啡機。如果設備連接 Wi-Fi 網(wǎng)絡時沒有進行相關配置,找到它們可以說唾手可得。
黑客攻擊主戰(zhàn)場
一旦設備連接到家庭網(wǎng)絡,這個配置咖啡機和啟動任何更新所需的臨時 SSID 就不再可用了。但是,如果攻擊者知道給定網(wǎng)絡上正在使用一臺智能咖啡機,他就可以直接繞過這個限制。然后,攻擊者將向網(wǎng)絡發(fā)送一個取消授權包,這將導致咖啡機斷開連接。之后,設備將再次開始廣播 SSID,讓攻擊者自由地用惡意固件更新設備。
很多人都知道,這種攻擊的局限性在于,只有當攻擊者能夠定位到一個易受攻擊的咖啡機,并且處于咖啡機的 Wi-Fi 范圍內(nèi)時,它才會起作用?;舳髡f,解決這個問題的一種方法是入侵一個 Wi-Fi 路由器,用它作為黑客攻擊主戰(zhàn)場來攻擊咖啡機。這種攻擊可以遠程進行,但如果攻擊者已經(jīng)入侵了路由器,網(wǎng)絡所有者就需要擔心比咖啡機故障更糟糕的事情了。
霍恩說,無論如何,勒索襲擊只是攻擊者所能做的開始。他認為,經(jīng)過更多的工作,攻擊者可以對咖啡機進行編程,攻擊路由器、計算機或與同一網(wǎng)絡相連的其他設備。而且,攻擊者能在沒有明顯跡象的情況下做到這一點。
正確地看待這件事
由于種種限制,這種黑客攻擊并不代表真正或直接的威脅,盡管對于某些人而言,這足以使他們遠離 “智能” 產(chǎn)品,至少遠離沒有使用加密和身份驗證的設備。
當然,這種黑客攻擊只是一項實驗,旨在探索連接到互聯(lián)網(wǎng)的咖啡機、冰箱和其他家用設備的種種可能性。有趣的是,被黑的咖啡機已不能再接收固件更新,因此業(yè)主無法采取任何措施來修復霍恩發(fā)現(xiàn)的漏洞。
霍恩還提出了一個重要觀點:“典型冰箱的使用壽命為 17 年,供應商能為其維持 17 年的軟件更新嗎?”這是現(xiàn)代物聯(lián)網(wǎng)設備中最令人關注的問題之一。當然,即使它不再獲得更新,用戶仍然可以使用它,但是隨著物聯(lián)網(wǎng)爆炸式的發(fā)展速度和并不完善的服務支持,這些設備極易受到攻擊,它們可以被濫用于諸如網(wǎng)絡破壞、數(shù)據(jù)泄漏、勒索軟件攻擊和 DDoS 攻擊等。
還有一個問題,那就是如何應對物聯(lián)網(wǎng)爆炸發(fā)展。當我們逐步實現(xiàn)萬物互聯(lián)的時候,我們怎么樣才能保障各個設備的安全性呢?這些問題都值得研發(fā)人員和商家深思。
(本刊綜合整理)(編輯/克珂)