根據研究人員對基本類型軟件(被稱為固件)的第一次大規模分析表明,糟糕的安全做法可能會給攻擊者攻擊“物聯網”提供機會。
固件是管理高層次軟件和底層硬件之間交互的一種軟件,有時候它可能是設備中唯一的軟件。在所有類型的計算機硬件中都有固件,不過,這個研究主要專注于嵌入式系統,例如打印機、路由器和安全攝像機。
研究人員和法國一所以技術為重點的研究所學校Eurecom合作開發了一個網絡爬蟲,從很多制造商的網站中獲取了超過3萬張固件映像,這些制造商包括西門子、施樂、Bosch、飛利浦、D-Link、三星、LG和Belkin等。
他們發現了很多安全問題,包括糟糕的加密機制和后門程序,這些都可能會給攻擊者提供攻擊的機會。他們發現了38個漏洞,而在123個產品(甚至更多)都包含了其中的一些漏洞,他們已經將這些漏洞報告給了供應商。
他們將在圣地亞哥舉行的第23屆Usenix安全專題討論會上介紹他們的研究結果。
該研究的共同作者兼Eurecom大學網絡和安全學院助理教授Aurélien Francillon[cq]表示,他們所分析的大多數固件都是在消費類設備中,這是競爭非常激烈的領域,企業經常會迅速發布產品來領先于其對手。
“你必須保持快速和價格便宜,”Francillon在接受電話采訪時表示,“如果你想要安全的設備,那么你需要想方設法地避免我們所發現的這些漏洞。”
固件安全做法遠遠落后于電腦軟件市場,在電腦軟件市場中像這樣的微軟供應商在經歷了慘痛的教訓之后才了意識他們需要定期地頻繁地自動修復軟件。
而對于固件,并不總是這樣,固件可能被設計為定期打補丁,同時非常依賴于第三方軟件,但這些軟件可能不是最新版本。在一個實例中,研究人員發現在最新發布的固件映像中捆綁著10年前的Linux內核。Francillon表示:“這真實一個噩夢。”
固件的陰暗世界有時候讓人很難搞清楚究竟哪些設備可能會受到影響。制造商通常依賴于各行業廣泛使用的工具和開發工具包,也就是說,存在漏洞的固件可能出現在各種不同品牌的產品中。
研究人員表示,有些設備可能受到已知漏洞的影響,即使已經有可用的更新固件。
他們還發現固件映像以不用的方式部署數字證書來實現加密過程中的問題。他們發現固件中有41個數字證書是自我簽名的,并包含一個私有RSA密鑰(+微信關注網絡世界),大約35000臺聯網設備在使用這些不安全的證書。
“后門程序”,或者說植入到固件的代碼中訪問設備的方式,也不能幸免。這是一個很差的安全做法,但是開發人員往往忘記刪除后門程序就發布了代碼,或者低估了攻擊者找到這些后門程序的能力。
研究人員搜索了可能表明后門程序存在的固件映像,他們發現了326個。
他們發現,其中一個后門程序位于某個基于Linux的固件中,它可能會允許攻擊者控制家庭自動化設備,并可能遠程關閉別人家里的燈光。
有趣的是,他們隨后在另一家供應商的44個閉路電視攝像頭中發現了這個完全相同的后門程序,以及來自不愿透露姓名的主要網絡設備供應商的家用路由器。但事實證明問題并不是這些供應商的錯。
事實上,所有這些設備都是用了來自另一個制造商的網絡芯片,而這家制造商顯然將這個后門程序留在固件中用于調試目的。他們并不知道這個芯片供應商是誰,但他們計劃收購一些設備,并做更多的研究。