物联网基础设施安全防护
針對漏洞的惡意行為分析
我們共捕獲到 4 種針對 UPnP 漏洞的利用行為 1,如表 4.7 所示。從中可以看出,這些漏洞均為遠程 命令執行類漏洞。另外我們也發現,當漏洞出現在特定端口時,攻擊者一般不會經過 UPnP 的發現階段,
1 需要說明的是,由于 UPnP 的 SOAP服務端口眾多,而 SSDP 服務中只能標識一個 SOAP端口,因此,我們主要是對 SOAP相關端
口進行了監聽。如果攻擊者首先進行 SSDP 服務發現,再根據服務發現內容決定下一步是否要進行攻擊,我們則可能無法對其進行 捕獲。
而是會選擇直接對該特定端口進行攻擊。
表 4.7 UPnP 漏洞利用情況(按源 IP 去重排序)
|ExploitDB編號|漏洞公開年份|CVE編號|漏洞描述|
對 UPnP 日志中的源 IP 去重之后,我們發現對 UPnP 漏洞進行過利用的 IP 約占所有 IP 的 29.6%。 我們對去重之后的源 IP 的國家分布進行了分析,從圖 4.16 中可以看出, 位于中國的攻擊源最多。更進 一步我們發現,來自中國攻擊行為的 90% 位于自臺灣省,中國大陸地區的攻擊源量級與俄羅斯、美國 等國家的量級相當。結合圖 2.2 中 2019 年國內 IPv4 資產地區分布情況,我們有如下推測,臺灣省物聯 網資產暴露數量多,惡意軟件
在這些設備間廣泛傳播,部分失陷設備組成的僵尸網絡進一步擴散,因為 設備基數龐大,我們捕獲到的攻擊源也相應更多。英國 烏克蘭 印度 巴西 土耳其 越南 阿根廷 美國 俄羅斯 中國
圖 4.16 UPnP 類日志攻擊源 IP 的國家分布情況
我們對來自中國的攻擊源 IP 的資產類型進行分析。結合綠盟威脅情報中心(NTI)對這些 IP 資產 的開放端口信息與設備類型標記,我們對一些已知類型的設備進行分類。除了我們能夠確認型號的攝像
頭、NVR、路由器等物聯網設備外,我們亦將符合以下標準的 IP 資產歸類為嵌入式
/ 物聯網設備。- 開放 UPnP 或 WS-Disc
overy 服務。- NTI識別到設備運行了 Dropbear、lighttpd、MiniHTTPD 服務。
通過以上標準進行分類的結果如圖 4.17 所示。位于中國的 76.6% 的攻擊源 IP 是物聯網設備,其中 21.3% 的設備是攝像頭、NVR,7.3% 的設備是路由器。攻擊源與受害者都是物聯網設備,再次印證了 我們的猜測,攻擊者針對這些物聯網設備進行攻擊時,同時利用這些設備作為跳板攻擊其他設備,并傳 播惡意軟件。
打印機 77
VoIP電話 91
路由器 956
攝像頭/NVR 2788
其他設備 3992
其他物聯網設備 9172
圖 4.17 中國 UPnP 漏洞攻擊源 IP 被 NTI標記的資產類型
結合捕獲的攻擊日志、關聯漏洞與資產數據,我們也對潛在受影響的 UPnP 設備的國家分布進行了 分析。我們選取 UPnP 漏洞攻擊行為關聯的廠商信息、SDK信息、攻擊目的端口,并在資產數據中進行 關聯。我們認為受到目前 UPnP 漏洞攻擊行為潛在威脅的設備包括:
- 華為特定型號、采用特定 UPnP SDK 的設備。
- 采用 Realtek UPnP SDK 的設備。
- D-Link特定型號、采用特定 UPnP SDK 的設備。
美國 波蘭 巴西 韓國 烏克蘭 西班牙 俄羅斯 中國 印度
日本
圖 4.18 潛在受影響的 UPnP 設備的國家分布情況
4.5 小結
本章首先對 Telnet 服務進行了威脅分析,整體來看,前半年對于 Telnet 服務的利用情況逐月增加,
在 8 月份活躍的攻擊者最多,直到后半年攻擊者的數量才有所減少。攻擊者的國家分布廣泛,其中又 以中國和美國的攻擊者最多。通過對攻擊者的弱口令分析,結合最初的 Mirai 惡意代碼也是通過 Telnet 服務的弱口令將路由器、頻監控設備組建成僵尸網絡的,可以得出攻擊者主要還是以攻擊開放 Telnet 服務的物聯網設備為主的結論。
自 WS-Discovery 反射攻擊在今年 2 月被百度安全研究人員披露以來,今年下半年利用 WS- Discovery 進行反射攻擊的事件明顯增多。蜜罐捕獲的 WS-Discovery 反射攻擊事件從 8 月中旬開始呈現 上升趨勢,9 月份之后增長快速,需要引起相關人員(如安全廠商、電信服務提供商、運營商等)足夠
的重。類似 WS-Discovery 反射攻擊這種利用物聯網資產進行惡意行為的新型攻擊方法將會隨著物聯 網設備的增多而不斷出現,暴露數量多并且之前并未引起足夠關注的物聯網資產同樣需要重點關注。
UPnP 服務的暴露數量較去年減少約 22%,但依舊在兩百萬量級。從國家分布來看,俄羅斯的暴露 數量變化最為明顯,相比去年下降了 84%,因此,我們推測俄羅斯的相關部門推動了對于 UPnP 的治理 行動,這也在一定程度上反應出物聯網威脅正在從監測走向治理。但這種層面的治理終究治標不治本, 理想情況下,相關部門、廠商應該推動 UPnP 相關 SDK的完善,同時對于存在問題的產品,推動相關 廠商進行補丁的修復,并且將對于 UPnP 的安全評估納入物聯網安全評估指標項中,從而確保不會再有 新的產品存在已知的風險。另外,也可以參考第五章的物聯網終端安全防護機制來進行防護。
面向物聯網終端的安全防護機制
引言
為緩解越來越嚴重的物聯網相關威脅,綠盟科技提出了融合“云管邊端”的物聯網安全解決方案。 其中,我們將物聯網云端、運營商管道、邊緣計算的安全稱為基礎設施安全,將物聯網終端上的各種安 全機制稱為物聯網終端安全。
相比于云端和管道側有相對成熟的防護機制、邊緣尚未成型也無現實威脅,物聯網終端卻面臨巨大 的安全挑戰,其安全顯得更加的重要。一方面,雖然物聯網設備已存在很長的時間,但早期物聯網設備 及其應用協議都因為安全性設計考慮不周,存在各種的脆弱性;另一方面,前文的物聯網安全事件、資 產暴露情況及物聯網的威脅分析,不法分子已經開始利用這些物聯網設備的漏洞和脆弱性,對個人、企 業乃至國家產生了嚴重的威脅。所以在本章,我們提出一種以終端保護為核心的物聯網安全防護方法, 以提高整體物聯網的安全防護能力。
物聯網基礎設施安全防護
綠盟科技作為專業的云安全服務提供商,與主流的云計算服務商合作,保護云上業務的安全性。綠 盟科技云安全解決方案采用了軟件定義安全架構,把零散的虛擬化安全設備和傳統安全設備進行整合, 形成安全資源池,實現安全設備服務化和管理集中化;通過 API方式與云平臺進行聯動。云安全解決方 案能覆蓋私有云、行業云和傳統數據中心安全,豐富、彈性、靈活、開放地幫助客戶應對云計算平臺和 云上業務系統面臨的安全風險和挑戰,如圖 5.1 所示。具體云安全解決方案部分,可參見綠盟云相關產 品和服務 [52];
圖 5.1 綠盟科技云安全解決方案
在管道側,綠盟科技有多年的運營商骨干網的安全運營支撐經驗,如態勢感知、僵木蠕、近源清洗 等安全解決方案,可有效地檢測和緩解來自物聯網的拒絕服務攻擊,以及針對物聯網終端的惡意探測和 攻擊。
隨著云和人工智能平臺日趨成熟、5G 網絡的逐步應用與普及,網絡邊緣側出現了大量邊緣節點用 于分擔服務器的分析壓力,如基于 ARM、Intel 高性能芯片的網關產品等。終端和邊緣會進一步融合, 以滿足高實時場景下的分析需求。邊緣計算是 5G、物聯網和工業互聯網場景下新型的基礎設施,面向 邊緣計算的安全防護還在早期階段。
邊緣節點的處理能力通常強于普通物聯網終端,所以其安全能力會也相對更強,此外,如 StarlingX、OpenNess 等邊緣計算平臺都同時是基于虛擬化和容器技術的,呈現云化的特性。所以邊緣 計算平臺的基礎設施安全,很大程度上與保證虛擬化、容器和編排系統的安全。除了前述云安全解決方 案外,綠盟科技于 2018 年發布的《容器安全技術報告》[53] 全面介紹了容器安全的防護思路和體系。更 詳細的邊緣計算安全研究,敬請期待 2020 年綠盟科技的《邊緣計算安全報告》。
物聯網終端的防護體系
觀點 7:安全事件頻發,有嚴重安全問題的物聯網終端隱藏著巨大的威脅。物聯網終端防護能力急 需建設。而物聯網終端功能、結構非常簡單,防護時需要注意兩點:終端的信息保護和終端的異常分析。**
當前,物聯網的威脅的源頭往往指向了脆弱的物聯網終端,在云、管、邊安全的支撐下,我們提出 一種以終端保護為核心的物聯網安全防護體系,為物聯網終端構建兩種能力:終端的信息保護能力和云 端對終端的異常分析能力。前者能保證終端在其自身的使用場景下,有一些方式可以保證終端內部指紋、 密鑰等信息的安全;后者能保證即便終端在電站、水閘等很難維護的場景中運行時,也能安全地將一些 信息上傳到管理平臺,并能分析出終端的異常狀態。
該安全防護體系如圖 5.2 所示。對于終端內部的關鍵信息,如密鑰、口令、指紋、聲紋等可以放到 芯片中,基于芯片內部的安全能力把這些關鍵信息保護起來。印制電路板負責調試接口的限制與隱藏, 比如設置串口訪問口令、設置調試接口訪問控制等。固件是實現這些保護功能的軟件代碼。硬件、固件 設計的合適,可以保證攻擊者在不拆解芯片的前提下無法獲取關鍵信息和調試功能。在固件中,必要場 景下需要提供可信基礎,以防止惡意軟件等應用對破壞終端、篡改關鍵信息等。在終端上應用可信環境, 后續小節中會詳細介紹。
圖 5.2 物聯網終端防護體系
固件、操作系統與文件系統作為中間件為上層應用提供基礎,其安全性主要體現在對上層應用訪問 內存、硬盤外圍設備等資源的訪問權限方面,這些中間件能提供的基礎 API已經足夠,所以應用層只需 要基于操作系統、文件系統的 API做好自身的安全性即可。而操作系統、文件系統在實際應用中只有可 選的幾個方案,終端需要關注的是已有哪些安全問題,比如嵌入式 Linux、嵌入式安卓、RTOS(Real-time Operating System, RTOS)等,其漏洞信息在 CVE Details 網站 [54] 上可查,廠商需要針對這些漏洞做好 安全防護,如做好內核更新、源碼漏洞修正等。
物聯網終端一般性能受限,安全分析、處理的能力欠缺,所以需要云端強大的計算能力提供安全分析, 終端需要上傳一些信息配合云端做異常分析。云端分析完成后,如果有異常,終端需要處理異常。從行 為角度分析,終端有兩個行為需要引起注意:進程行為和網絡行為。進程行為決定了如何處理終端內部 信息,網絡行為決定了信息怎么出去,怎么進來。如果惡意軟件入侵成功,必然需要一次通信保證惡意 軟件被植入,然后啟用惡意軟件進程。所以,針對終端的行為分析,可以簡單地理解為進程行為和網絡 行為。終端側防火墻(如 iptables)結合策略可以做網絡控制以停止惡意連接,終端內需要具備進程控 制能力以殺死惡意軟件進程。由于策略是經過云端分析并發現異常后確定的,所以必須有一個通道負責 接收云端策略。這樣,信息上傳、異常分析、策略接收與執行這些流程形成了閉環。
還有兩個敏感問題需要注意:信息保護和安全升級。信息保護所說的信息可分終端自身信息保護與
網絡信息保護。終端內部信息是諸如密鑰、指紋等關鍵信息,網絡信息是需要上傳的信息,如域名請求 信息、NetFlow 等。對網絡信息的保護,終端和云端需要在足夠強的認證和加密的基礎上建立安全通道, 對終端自身信息的保護需要結合安全存儲、可信執行、硬件調試策略等機制來實現。如果有軟件需要升 級,還需要在終端和云端之間建立一個安全的文件傳輸通道負責升級包的發送與接收,終端也需要安全 地處理升級包,以防止惡意升級等。
物聯網終端的信息保護
防護思路
需要指出的是,SDK(Software Development Kit)包含芯片廠商、代工生產廠商(Original Equipment Manufacturer,OEM)、安全廠商等提供的所有 SDK。信息分 7 個,其中,前兩個是硬件 信息,考慮到終端的組裝、維修等流程,這些硬件信息必須完整保留。中間三個則可以通過應用可信系 統、安全探針、SDK等得到部分或者完整的支持。對于指紋等關鍵信息的保護,目前只能依托安全芯片、
可信系統和安全 SDK來保證。目前對網絡的加密和認證,表格所示 5 種方案均能保證。由表 5.1 所示, 橫向是一些安全解決方案,縱向是終端上的信息,空心圓表示不支持該信息的保護,實心圓表示支持該
信息的保護。
表 5.1 物聯網終端的信息保護
物聯網終端的信息保護
防護方法
安全設備 安全芯片 安全探針 可信系統 SDK 信息
PCB 絲印 ○ ○ ○ ○ ○ 芯片型號 ○ ○ ○ ○ ○ 通信總線接口 ○ ○ ● ○ ● 調試接口 ○ ○ ○ ○ ● 固件信息 ○ ○ ○ ● ● 密鑰、指紋等關鍵資產 ○ ● ○ ● ● 網絡信息 ● ● ● ● ●
PCB絲印和芯片型號
PCB 信息和芯片型號可以不用抹去,我們假設攻擊者可以看到芯片型號,而且可以在網上獲取到該 芯片的相關信息,如參考手冊、數據手冊等。攻擊者獲取到這些信息之后,會找到設備上的調試接口,
最起碼是可以通過使用調試器使自己的 PC 和設備之間建立正確的硬件的連接。
通信總線接口
通信總線接口是指 UART(Universal Asynchronous Receiver/Transmitter)、I2C (Inter-Integrated Circuit)、SPI(Serial Peripheral Interface Bus)、I2S(Inter-IC Sound 或 Integrated Interchip Sound)、RS-485 等通信接口,這部分接口一般會連接傳感器,利用邏輯分析儀可以嗅探到總線上的數據, 這部分的數據很難做好防護,只能在開發階段基于廠商的 SDK做好限制,比如通過設置 UART登錄認 證限制訪問權限,在應用層對數據進行認證和加密。具體采用什么算法對通信數據做認證和加密,需要 結合使用場景和終端性能、功耗而定。
調試接口
硬件接口這些可以保留,但是出于安全考慮,對調試接口做訪問控制的能力成為了一種需求。2018 年,Ramesh Bhakthavatchalu 和 Nirmala Devi.M 發布了一篇對 JTAG (Joint Test Action Group)接口 做訪問控制的文章 [55],在 NXP最新的 LPC55S69 系列的微控制器中,已經將基于密碼學的調試接口的 認證流程集成在芯片中,以保證關鍵信息和代碼的安全性 [56]。這種防護思路需要結合芯片廠商提供的 SDK實現,在開發中設置寄存器和相關密鑰參數,以保證調試接口的訪問控制。
固件信息
前面的防護方法,盡管可以保證固件很難被讀取,但是也不能排除攻擊者通過社工等手段獲取了固 件。如果攻擊者偽造了一個固件,得就防范攻擊者能正常運行偽固件。針對固件的防篡改保護,需要結 合安全存儲把密鑰放到一個 OTP Memory(One Time Programmable)或者其他安全存儲區域,這樣密 鑰寫入后將無法被更改,利用該密鑰做代碼簽名認證,可以防止代碼被篡改。因為做校驗的密鑰是無法 被更改的,在攻擊者獲取不到相應的私鑰的前提下,即便通過一些文檔或者經驗,找到了前面方法,也 無法偽造合法的固件簽名。而可信系統正式保證了這樣的認證流程。進一步想,讀取密鑰、驗證簽名的 代碼則成為整個安全的核心。可以基于 SDK,利用芯片中對 flash memory (快閃存儲器,夜間閃存, 以下簡稱 flash)的讀保護的功能,對這段代碼做好讀保護,使攻擊者無法獲取這段代碼。同時還可以 利用這段代碼做好固件的解密,密鑰存儲在相同的區域即可。如果這段代碼非常小,放在芯片中加以保 護即可,如果在外部 flash 中,則需要考慮采用具備認證、加密功能的 flash 才可以。近期,一些存儲 器的研發廠商,如 Micron Technology[57],在 Nor Flash 中集成了數據訪問控制功能,對數據的訪問需 提供密碼。
當固件篡改、讀取被限制到足夠強的程度時,安全通信的密鑰存儲有了一定程度的保證,在現有的 芯片廠商提供的方案來看,該保證是在攻擊者沒有對芯片做拆解、拍照、逆向的過程。由于對芯片的拆 解成本太高,所以,這些最新的安全功能對物聯網設備的防護程度已經足夠強。
關鍵資產
關鍵資產的保護可以依托固件保護功能,將關鍵資產集成到固件中,通過防止固件被讀取,來保護 關鍵資產的泄露。關鍵資產還可以直接放到安全芯片中,基于安全芯片自身的安全性來保護資產的安全, 思路和固件保護相似。
網絡信息保護
對網絡信息的防護,只需要關注通信協議即可。如果通信協議中支持認證、加密方式,只需要稍做 配置即可做好通信的認證、加密。如果協議本身不支持認證和加密的配置,就需要利用密碼學庫,基于 該協議的通信方式做雙向認證的訪問控制和加密的數據傳輸功能。
不同的網絡通信模式,對訪問控制的要求也有些許不同。姑且把網絡協議分為點對點的模式、點對 多的模式。點對點的模式比較好理解,比如 HTTP、SSH 等協議是點對點的協議,像 MQTT等具備訂閱、 分發模式我們暫時稱為點對多的協議。對點對點的協議,只要在通信雙方之間做好雙向認證、加密,在 物聯網通信場景下已經足夠安全。而對點對多的協議,即便做了客戶端和 Broker 之間的雙向認證,涉 及一個因信息共享導致的問題:信息泄露。以 MQTT為例,MQTT 的網絡結構如圖 5.3 所示 [58]:
圖 5.3 MQTT 工作模式
MQTT以 Topic 作為信息的標簽,訂閱 topic 相同,則能收到 MQTT Broker 轉發的相同的信息。如 果“mobile device”是一個攻擊者身份,他遍歷地訂閱了 1000 個 Topic,如果這 1000 個 Topic 有 10 個 Topic 確實被物聯網設備使用,則這 10 個 Topic 數據同時傳輸到了攻擊者的手機上。所以,對 Topic 訪問控制也是必須的,這方面可以結合 ACL訪問控制規則實現,此處不再贅述。
參考資料
綠盟 2019物聯網安全年報
友情鏈接
GB-T 35279-2017 信息安全技術 云計算安全參考架構
總結
以上是生活随笔為你收集整理的物联网基础设施安全防护的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c学习汇总
- 下一篇: UI设计书籍推荐,这三本好书你不能错过