智慧家庭應用在帶來便利的同時,聯網裝置本身的安全性也是一大隱憂。本文將檢視市面上平價智慧門鈴的安全問題,並說明韌體分析如何協助業者找出可能遭受攻擊的安全漏洞及弱點。
近期,一篇Consumer Reports上的文章[1]檢視了幾款安全性不佳、售價較低的影像智慧門鈴(Video Doorbell)。這些不同品牌的門鈴,其實都是使用Eken和Tuck兩家公司生產的電路板,只是經過重新包裝再銷售出去。文中還提到,未經授權的人員可輕易對已安裝好的門鈴進行重新配對,並且只需要輸入門鈴的序號,便可查看攝影機的螢幕截圖。
讀完文章後,筆者好奇該產品是否仍有其他還沒被發現的安全漏洞,於是決定自掏腰包買幾個這樣的門鈴來進行測試。本文說明拆解此類智慧門鈴所發現的問題,並透過是德科技(Keysight)為物聯網安全評估套件新加入的韌體分析功能,找出裝置可能遭受攻擊的安全漏洞。
初步調查
筆者在Amazon買了兩個CR文章介紹的同款Aiwit智慧門鈴,其中一個用來測試其正常運作狀態,另一個用來拆解研究。在測試新設備時,首先依照官方預設的步驟進行安裝,以便評估其攻擊面。 將第一個門鈴與Wi-Fi存取點(AP)配對後,實際驗證了CR文章提到的問題:只需要按住門鈴按鈕約八秒鐘,未經授權的人員確實可以將攝影機重新設成配對模式,接著就可以將門鈴連接到其他帳號。
確認這項漏洞後,再來快速掃描了TCP埠,但除了發現telnet埠正在監聽外,並未看到其他問題。於是,筆者試著連接到telnet埠,看看能否以root使用者身分登入,但是其設有密碼保護,而且無法用常見的預設密碼登入。初步調查完畢,接下來將拆開備用的第二個門鈴分析裡面的構造。
逐步拆解:由外到內的分析
拆開門鈴外殼後,筆者注意到的第一件事是,雖然產品使用兩顆3.7V可充電電池,但兩顆電池是並聯的,也就是說,只需要其中一顆電池即可讓門鈴運作。假如只使用一顆電池,那麼門鈴的電量就只能充到約54%,不過還是可以正常運作。
繼續進行拆解,打開內蓋,檢查裡面的電路板。裡面有兩片電路板,透過16針腳連接在一起。較小的電路板主要由一些LED、門鈴按鈕、一根天線和一個喇叭所組成;較大的電路板則包含兩個關鍵元件:主CPU(圖1紅色框線)和快閃記憶體晶片(圖1黃色框線)。
該產品的CPU是全志科技(Allwinner)的V837S,其為中國一家採用Arm架構的SoC晶片製造商,專門生產Android平板電腦、車載媒體系統和攝影機等產品。雖說找不到CPU的產品規格書有點可惜,但影響不大,筆者最感興趣的是快閃記憶體。此門鈴採用武汉新芯(XMC)的XM25QH128C 16MB串列快閃記憶體,推測設備韌體應該都儲存在該記憶體中。
根據該快閃記憶體的產品規格書,其採用SOP-8封裝和SPI通訊,非常適合用來萃取資料,使用者可完全跳過將晶片從電路板上拆下,然後放入專用外部讀取器的麻煩過程。如果要透過SPI與晶片進行通訊,至少需要五個針腳:資料輸入(Data In)、資料輸出(Data Out)、時脈(Clock)、晶片選擇(Chip Select)和接地(Ground)。如果要為晶片供電,還需要供電的第六個針腳。根據產品規格書,這些針腳分別是5、2、6、1、4,以及供電用的8(圖2)。
只需要一片可透過USB與SPI裝置(例如Tigard或Buspirate)進行通訊的簡易I/O板,便可連接到這些針腳,接著導出晶片內的所有內容以進行分析。在未啟用寫入保護針腳(針腳3)的狀況下,甚至可覆寫晶片內容,或進行任何韌體修改。之所以未啟用針腳3,是因為裝置也使用此晶片來儲存配置資料。所有導出的晶片內容,最後會轉存成一個16MB檔案,裡面全是二進位資料和字串。
物聯網安全評估一探究竟
採用相關分析工具將可從導出的檔案中找出潛在的安全問題,例如是德科技於RSA 2024大會所發表,新加入物聯網安全評估套件(IoT Security Assessment)的「韌體分析」新功能(圖3),便可透過前面導出的晶片內容,檢查智慧門鈴的安全性。
將導出的檔案上傳到韌體分析工作區後,筆者發現該裝置很容易遭受多個已知嚴重CVE漏洞和常見配置弱點的攻擊,其中最顯著的弱點是,韌體中儲存了root使用者的預設密碼雜湊值(Hash)。
奇怪的是,它實際上使用了兩組不同的雜湊值,一個存在/etc/shadow檔,另一個存在/etc/passwd檔,並且雖然它們都是為root使用者配置的,但卻是兩組不同的密碼。就跟Eken並聯運作的電池一樣,筆者猜測其實只需要一組密碼。在使用IoT Security Assessment套件的韌體分析功能來萃取並下載這兩個密碼檔後,透過密碼破解工具程式來分析這些檔案,成功破解了密碼。不出所料,/etc/passwd檔案中的才是正確的密碼(圖4)。
值得注意的是,只要這款門鈴事先通過新的網路安全認證標章(Cyber Trust Mark)計畫[2](一項由FCC管理,基於NIST IR 8425準則[3]的自願性消費者物聯網網路安全標準),上述這些問題,例如寫死的預設密碼、不必要的開放埠、未加密的資料儲存等,大部分問題都可檢測出來並提前解決。
藉由從晶片中擷取內容、將資料轉存成可讀的檔案,接著找出可被利用來攻擊裝置的安全漏洞,一系列安全評估動作將有助於確保物聯網安全,開發出能夠讓消費者安心使用的產品。
(本文作者為是德科技首席安全研究員)
參考資料
[1] https://www.consumerreports.org/home-garden/home-security-cameras/video-doorbells-sold-by-major-retailers-have-security-flaws-a2579288796/
[2] https://www.keysight.com/us/en/cmp/2023/cyber-trust-mark-event.html
[3] https://csrc.nist.gov/pubs/ir/8425/final