物聯網設備固件安全監測報告
一、概述
近年來,物聯網與5G、人工智能、區塊鏈、大數據、IPv6等技術深度融合應用,新技術、新產品、新模式不斷涌現,隨著經濟社會數字化轉型和智能升級步伐加快,物聯網廣泛應用于智慧城市、數字鄉村、智能交通、智慧農業、智能制造、智能建造、智慧家居等領域,已成為新型基礎設施的重要組成部分。據IDC預測,到2025年全球物聯網設備數將達到416億臺。
固件是物聯網設備的關鍵組成部分,通常存儲于嵌入式設備的ROM、EEPROM及flash等非易失性存儲器件中,包括了設備運行所需的關鍵內容。固件向下與底層硬件交互,向上承載著各類設備應用。
由于物聯網設備生產商在固件開發過程中可能復用具有安全漏洞的開源組件及第三方代碼,同時對所開發固件的安全審計和網絡安全防護考慮不足,使得物聯網設備固件漏洞層出不窮,固件脆弱性及物聯網設備供應鏈安全問題不斷凸現。2020年,JSOF公司發布了影響Treck TCP/IP協議棧的Ripple20漏洞,全球500余個廠商生產的數十億物聯網設備受到漏洞影響。2021年,Nozomi 實驗室披露了 ThroughTek 公司的 P2P 視頻監控設備開發套件(SDK)存在嚴重漏洞,數以萬計的攝像頭等物聯網智能設備受到漏洞影響,攻擊者可利用該漏洞竊聽實時音頻和視頻,甚至控制基于此套件開發的設備。
針對物聯網固件的安全隱患,安全研究人員從靜態分析、符號執行、漏洞關聯、模糊測試等角度提出多種方法對物聯網固件安全性開展了綜合測試評估,能夠對單個固件或批量固件的脆弱性進行識別分析。CNCERT物聯網安全研究組長期關注物聯網設備芯片及固件的安全問題,立足物聯網設備固件安全態勢監測及物聯網設備固件脆弱性規模化分析兩個方向開展研究工作。
依托監測數據和固件安全分析系統,本報告從近一個月典型格式固件文件的傳播下載態勢,重點類型固件傳播下載情況以及重點類型固件脆弱性分析情況三個角度出發,嘗試對固件整體安全態勢進行分析評估。具體內容包括:
1)對典型格式固件文件的傳播下載態勢進行分析,監測識別頻繁傳播及批量下載等行為。
2)對22個典型路由器設備廠商固件的傳播下載態勢進行監測,識別對不同路由器廠商官網進行頻繁訪問及批量下載行為。
3)對22個典型路由器設備廠商的近1000個路由器固件進行了深度分析,發現普遍存在的敏感信息泄露、硬編碼口令、脆弱性配置等問題,并分析了固件代碼復用、組件復用和同源漏洞等供應鏈安全問題。
二、物聯網固件文件傳播下載態勢
2.1 典型格式固件文件的傳播下載態勢
(1)固件文件格式傳播下載監測情況
物聯網固件文件的格式復雜多樣,沒有統一的標準,通常以單個二進制文件或者壓縮文件的形式提供。典型固件二進制文件格式包括bin、img、hex等,典型的固件文件壓縮格式包括zip、rar、gz等。
在近一個月的時間內,我們對43種典型格式固件文件的傳播下載情況進行了監測,共監測到典型固件格式文件傳播下載事件4730119次,涉及傳播下載鏈接958996個,傳播下載源站點數量33843個。
在所有傳播下載事件中,分析發現很多zip、rar等通用壓縮格式中并不包含物聯網固件文件,過濾掉非固件文件后,涉及物聯網固件傳播下載事件219209起,涉及傳播下載文件20614個,傳播下載源站點IP數3720個。通過對傳播下載鏈接的可用性進行驗證分析,獲取到的固件文件格式及數量排名情況如圖1所示。可以看出,大部分固件文件是以壓縮格式傳播下載,壓縮格式以zip、rar、gz、bz2、7z等居多。

圖1 成功驗證的固件格式數量分布
在傳播下載頻次較高的文件中,從固件命名方式來看,完整的固件文件以Device.bin等命名;固件更新包、補丁文件以wlan_update_v2.zip 、DCUpdate2_0000.zip、patch_update_11.1.6.31.002.zip等命名;還有固件文件名不具備可讀性,如75801.bin等。
(2)固件傳播下載站點監測情況
表1中列出了典型格式固件的傳播下載站點的事件數及訪問IP數信息,不同站點的訪問頻次和訪問IP數量呈現出差異:部分站點訪問頻次較大,但訪問站點的IP數量不多,比如185.*.*.150;部分站點的訪問頻次及訪問站點IP量都比較可觀,比如104.*.*.102、104.*.*.102。
表1 典型傳播下載站點事件數及訪問IP情況

對下載站點的主機名信息和站點內容進一步分析,如地址34.*.*.141、10.*.*.198-205域名分別為igpsort.com、service.mercurycom.com.cn,為物聯網設備廠商的官方固件下載地址;地址185.*.*.150域名為technet24.ir,為通用資源下載站,提供固件、軟件、電子書、教學視頻等資源下載服務;站點104.*.*.102和104.*.*.102均為某Web安全廠商的節點,使用了Cloudflare的CDN網絡進行分發。
(3)獲取固件的行為監測情況
對獲取固件文件的IP行為進行分析,共發現下載IP數量為20733個,對下載最為頻繁的國內IP信息進行分析,其排序情況如表2所示。可以看出,不同IP地址的固件下載行為呈現出顯著區別:有些IP是對數百個不同的固件進行批量下載,有些IP對單個固件文件頻繁嘗試下載。
基于威脅情報對IP地址歷史上的惡意行為進行關聯, IP地址112.*.*.27疑似為傀儡機,對其行為進行分析,發現該IP頻繁訪問gowincg.com站點(但該站點不活躍),嘗試下載網站文件22個,涉及下載事件2369起,最高下載頻次每分鐘127起,行為比較可疑。
表2 傳播下載頻次Top10的國內用戶IP情況

綜上所述,通過對典型格式文件的傳播下載態勢進行監測,能夠發現傳播的固件文件格式以壓縮文件為主;固件傳播下載源站點包括廠商官網、CDN云服務商及通用資源下載站;并發現惡意IP地址具有批量獲取固件文件的行為。
2.2 路由器設備固件傳播監測分析情況
近年來,路由器設備,特別是家用無線路由器的應用非常廣泛,數量十分龐大。路由器作為網絡的關鍵中繼節點,也成為黑客的重要攻擊目標,用于竊取信息、消耗資源以及控制利用等。一直以來,全球都有大量的路由器暴露于公網上,通過資源測繪發現,主流路由器品牌在線情況如圖2所示。

圖2 主流路由器品牌在線情況
可以看出,Huawei、TP-Link、Cisco等國內外主流品牌路由器設備都大量在線。然而,路由器設備的網絡安全現狀不容樂觀,早在2018年,美國消費者協會的研究指出,在186臺測試樣本路由器中,有155臺(83%的比例)存在不同嚴重程度的固件漏洞,即平均每六臺無線路由器就有五臺存在安全漏洞。因此,我們重點針對路由器設備的固件傳播下載情況開展了監測分析。
(1)官方渠道固件傳播下載監測情況
在一個月的時間內,我們監測識別到網件(NETGEAR)、華碩(ASUS)、艾泰(UTT)、維盟(WAYOS)、TP-Link、D-Link等22個路由器廠商官網的固件傳播下載事件56686起,涉及下載地址2052個,源站點IP數量322個。表3列出了源站點IP的下載事件Top15排序情況。可以看出,網件、維盟、小米、必聯、友訊等主流品牌都有固件傳播下載事件,其中必聯、網件、維盟等品牌的固件下載數量最多。
表3 源站點傳播下載事件監測情況

根據傳播下載的固件文件名進行分析,共發現固件文件數量5000余個,圖3所列出了被下載頻次最高的固件文件對應的產品型號,其中小米、網件的產品固件下載頻次最高。

圖3 固件被下載頻次較高的典型產品
對獲取固件的IP地址進行分析,共監測到獲取下載固件的IP數量13324個。按照下載固件數量進行排名,Top15的IP信息如表4所示。可以看出,在近一個月的時間,位于境外的多個IP地址批量獲取了固件文件。
表4 下載固件數量Top15用戶IP情況

通過關聯威脅情報信息,識別到有惡意標簽的IP地址 9個,標簽內容為傀儡機、掃描和漏洞利用等。如IP地址216.*.*.202疑似為傀儡機,該IP地址下載事件306起,涉及文件261個,所下載文件包括網件(Netgear)文件258個,居易科技(DrayTek)文件3個。
綜上所述,通過對典型路由器設備廠商固件的傳播下載態勢進行監測分析,能夠有效監測到網件、維盟等主流路由器品牌都有固件傳播下載情況,還發現有惡意IP對不同路由器廠商官網進行頻繁訪問及批量下載行為。
(2)官方渠道可獲取的路由器固件分析
我們對近一個月的路由器固件傳播下載地址進行驗證,成功獲取固件663個,廠商包括網件(NETGEAR)、華碩(ASUS)、艾泰(UTT)、維盟(WAYOS)、小米(Xiaomi)和D-Link等,其中網件的固件數量最多,各品牌固件數量分布如圖4所示。

圖4 驗證獲取的固件品牌及數量分布
驗證獲取到的663個固件文件格式主要有img、chk、bin、zip等8種類型,文件格式及對應數量如圖5所示。

圖5 官網獲取到的固件文件格式分布
近1個月的時間內,以上663個固件文件共涉及傳播下載事件8115起,日均傳播下載事件198起,下載IP數1194個,分布在美國、中國、法國等52國家和地區,IP地址的國家分布情況如圖6所示。

圖6 下載IP數量國家分布情況
這些固件所屬廠商的傳播下載事件情況如圖7所示。

圖7 固件所屬廠商傳播下載事件情況
對單一IP的固件下載行為進行分析,發現有68個IP下載固件數量超過10個,其中,下載固件數量最多的IP下載數為71個,這些IP所屬國家的分布如圖8所示。

圖8 下載頻次較高的IP所屬國家分布
表5列出了下載固件數最多的IP地址信息,明顯可以看出位于美國的多個IP地址頻繁獲取了網件、必聯、維盟等7個廠商站點的固件文件。
表5 下載固件數最多的IP地址情況

綜上所述,通過對路由器固件傳播地址進行驗證獲取,獲取到路由器固件663個,文件格式以img、chk、bin、zip為主;基于對固件文件傳播下載事件的監測,識別到有惡意IP在頻繁訪問和獲取多個路由器廠商的固件文件。
三、路由器固件批量安全分析情況
通過長期積累,目前我們固件庫已收集超過14萬固件文件,我們從固件庫中隨機選取了22個路由器廠商的957個固件,基于固件安全分析集群進行了批量分析,分析結果如下。
3.1 固件基本信息批量分析情況
(1)解包分析情況
對957個固件進行解包,成功解包的固件數724個,解包成功率為84.5%。未成功解包的原因主要有固件文件加密以及固件文件頭存在垃圾數據的情況。
(2)固件文件系統分析情況
由于路由器設備存儲空間有限,固件文件系統通常是以壓縮的形式存儲在固件格式中。常見的路由器固件文件系統主要有Squashfs、Cramfs、JFFS2、Ubifs、等格式。Squashfs 文件系統是一套基于 Linux 內核使用的壓縮只讀文件系統,壓縮率高,是應用最為廣泛的壓縮格式之一;Cramfs是一種壓縮只讀文件系統,主要應用于文件系統內容較少且不需要用戶寫入的嵌入式系統中;JFFS2是一種帶斷電保護的Flash專用文件系統,是一種典型的日志結構文件系統;Ubifs是JFFS2的后繼文件系統之一,主要用于固態存儲設備上。
分析發現大部分路由器固件文件為單一文件系統,即只包括一種壓縮格式,所識別的文件系統類型分布如圖9所示,其中squashfs文件系統的占比最高,有140個固件未識別出文件系統,原因是固件本身無文件系統或者文件系統尚不能識別。

圖9 單文件系統類型分布
此外,還分析發現有固件文件為多文件系統,即固件中包括多種壓縮格式,如圖10所示,所有多系統固件全部使用主壓縮格式+cpio輔助格式的形式(cpio是通過重定向的方式將文件進行打包備份和還原恢復的命令,可以解壓以 .cpio 或者 .tar 結尾的文件),其中squashfs搭配cpio是最常見的一種。

圖10 多文件系統類型分布
(3)固件指令集分析情況
路由器常用的CPU架構包括MIPS、ARM、X86、PowerPC等。圖11呈現了各固件CPU架構的分布情況,其中MIPS架構合計占比52.5%,ARM架構合計占比14.2%,X86架構合計占比8.5%,PPC架構占比3.9%。可見MIPS和ARM架構是目前路由器固件中最常用的系統架構。

圖11 固件指令集架構情況
(4)固件操作系統版本分析情況
對路由器固件使用操作系統進行分析,有46.08%的固件使用的基于Linux內核的操作系統,涉及的Linux版本號包括2.4.X、2.6.X、3.2.X、3.3.X、3.4.X、3.10.X、3.14.X、4.4.X等。
3.2 固件脆弱性批量分析情況
(1)配置風險、敏感信息泄露及代碼安全風險
分析固件中存在的配置層面的脆弱性風險,主要風險點如表6所示:在路由器固件中配置風險、敏感信息泄露、代碼安全等方面存在顯著的安全隱患。其中配置風險主要是指固件中不安全的配置項,敏感信息泄露通常是固件中由于開發不規范導致的telnet服務、數據庫泄露等,代碼安全主要是指檢測固件中是否包含源代碼。
表6 配置風險、敏感信息泄露等典型風險情況

(2)固件密鑰及口令安全
路由器固件中的*.pem、*.key、*.crt、shadow、passwd、host_key等文件存儲有密鑰和口令,是操作系統的核心關鍵信息。對這類信息進行重點檢測,發現相關文件對數量分布如圖12和表7所示,其中識別到passwd文件數高達795個,對該文件進行暴力破解能夠獲得系統密碼。

圖12 識別密鑰文件類型分布情況
表7 包含密鑰數量Top10的固件

通過對檢測到的密鑰文件嘗試口令破解,發現硬編碼的典型用戶名包括admin、root、user等,其中admin占比64.33%,root和user分別占比12.74%和10.19%。

圖13 弱口令分布情況
檢測出含有弱口令文件數量最多的固件信息如表8所示。
表8 包含弱口令文件數量Top10的固件

我們分析發現有同一品牌的不同固件經常包含相同弱口令。例如,insys品牌的INSYS_SDSL_1.0_Router_Firmware_2.12.12.zip固件和INSYS_RSM_Router_Firmware_2.12.1.zip固件,都包含相同的shadow與libmoros.so文件,文件中都包含用戶名user及口令user。
(3)固件組件識別及Nday漏洞關聯情況
對路由器固件中包含的組件進行檢測識別,共發現124種、816個常見組件,平均每個固件使用4種以上的組件,識別到組件數較多的固件統計排序如表9所示。
表9 所識別的固件組件數Top10排序

這些組件歷史上或多或少暴露出相關漏洞,對組件進行漏洞關聯,所關聯的漏洞數量如圖14所示。

圖14 組件關聯漏洞數量排序情況
例如,固件NETGEAR_WNDR3400v3_Router_Firmware_1.0.1.28_Hotfix.zip包含OpenSSL、Samba等組件,關聯到249個漏洞,以下是部分截圖。

圖15 固件關聯組件漏洞情況
對路由器固件組件漏洞的漏洞等級進行分析,所涉及漏洞的等級統計情況如圖17所示。

圖16 固件關聯漏洞統計情況
為了較為準確地描述所關聯漏洞的特性,我們利用CWE(通用缺陷枚舉)對固件漏洞進行分析,分析結果如表10所示。
表10 固件漏洞CWE關聯情況

(4)固件漏洞知識圖譜關聯
基于漏洞知識圖譜方法,我們嘗試利用圖可視化的形式呈現固件與漏洞的關聯關系,以支撐高效的漏洞檢測,以NETGEAR_WNDR3400v3_Router_Firmware_
1.0.1.28_Hotfix.zip關聯到的249個漏洞為例,圖17展示了該固件與漏洞的多層次關聯關系。

圖17 固件關聯到的漏洞知識圖譜
從圖中可以看出,該固件包含了Busybox 1.7.2、Samba 3.0.13、Open SSL 0.9、Dnsmasq 2.3、Dnsmasq 2.7組件,這些組件關聯到多個CVE漏洞,圖中不同顏色代表了所關聯漏洞的不同危險等級。除組件之外,圖中還包含有CWE、操作系統、密鑰證書等維度的關聯關系,可用于進一步深度挖掘。
綜上,通過固件分析系統對近1000個路由器固件進行批量安全檢測分析,統計發現MIPS和ARM架構是路由器固件最常用的兩種系統架構;路由器固件大多數為單文件系統,且squashfs最為常用;有近一半的路由器固件使用Linux內核操作系統。通過對配置安全、敏感信息安全、代碼安全、密鑰安全、CVE漏洞關聯、組件識別、CWE識別等方面開展分析,發現路由器固件暴露諸多問題,發現有5585項配置風險、1169項敏感信息泄露、1730項代碼安全的情況;多個路由器存在密鑰弱口令硬編碼問題,涉及到admin、root、user等口令組合;路由器固件中使用busybox、openssl組件最多,通過分析發現漏洞組件會同時存在于多個固件中。
四、總結
本報告依托全網物聯網設備固件監測分析數據,首次圍繞物聯網設備固件安全態勢監測及物聯網設備固件脆弱性規模化分析兩個維度,對有限的固件格式和重點設備類型的固件開展了三個方面的監測分析。
一是通過對近一個月全網固件典型格式文件的傳播下載源、傳播下載事件和下載用戶行為進行了監測,識別到有惡意IP頻繁訪問特定站點進行固件文件下載。
二是聚焦路由器固件,通過對22個路由器廠商官網的固件下載情況進行監測,監測到有惡意IP在對不同路由器廠商官網固件進行批量下載。
三是選取了22個廠商的近1000個路由器固件通過固件分析系統進行深度分析,發現普遍存在的敏感信息泄露、硬編碼口令、脆弱性配置等問題,并識別分析了固件代碼復用、組件復用和同源漏洞等供應鏈安全問題。
由于物聯網設備底層硬件平臺的復雜異構性,針對傳統的PC和X86通用平臺的安全分析方法很多無法直接適用于物聯網固件分析,因此物聯網固件的安全分析是一個長期的難點。今后,CNCERT物聯網研究組將持續關注物聯網芯片和固件安全方向,開展全網固件的安全態勢監測,持續評估物聯網固件供應鏈安全性,為物聯網新基建行動計劃保駕護航。