雷鋒網編者按:物聯網安全產品的核心在於技術,物聯網的安全是網際網路安全的延伸,我們可以利用網際網路已有的安全技術,結合物聯網安全問題的實際需要,改進已有技術,將改進後的技術應用到物聯網中,從而解決物聯網的安全問題。如:網際網路環境中的防火牆技術,主要是對TCP/IP協議數據包進行解析,而在物聯網環境中,防火牆還需要對物聯網中的特定協議進行解析,如工控環境中的Modbus、PROFIBUS等協議。
此外,物聯網還有其獨特性,如終端設備眾多,設備之間缺乏信任的問題,網際網路中現有的技術難以解決此類問題,所以我們還需要探索一些新的技術來解決物聯網中特有的新問題。
下述文章節選自綠盟科技技術刊《物聯網安全綜述》,雷鋒網(公眾號:雷鋒網)已獲授權發布。
由於物聯網將許多原本與網絡隔離的設備連接到網絡中,大大增加了設備遭受攻擊的風險。同時物聯網中的設備資源受限,很多設備在設計時較少考慮安全問題。還有物聯網中協議眾多,沒有統一標準等等這些安全隱患都可能被黑客利用,造成極大的安全問題,所以,我們需要利用一些漏洞挖掘技術對物聯網中的服務平臺,協議、嵌入式作業系統進行漏洞挖掘,先於攻擊者發現並及時修補漏洞,有效減少來自黑客的威脅,提升系統的安全性。因此主動發掘並分析系統安全漏洞,對物聯網安全具有重要的意義。
通過對物聯網安全需求和對策的分析,我們總結出以下需要重點關注的技術,下面分別從已有技術在物聯網環境中的應用、新技術的探索和物聯網相關設備、平臺、系統的漏洞挖掘和安全設計三個方面介紹物聯網安全技術研究的一些思路。
物聯網安全相關技術
異常行為檢測對應的物聯網安全需求為攻擊檢測和防禦、日誌和審計。
文章前面已經提到過,異常行為檢測的方法通常有兩個:一個是建立正常行為的基線,從而發現異常行為,另一種是對日誌文件進行總結分析,發現異常行為。
物聯網與網際網路的異常行為檢測技術也有一些區別,如利用大數據分析技術,對全流量進行分析,進行異常行為檢測,在網際網路環境中,這種方法主要是對 TCP/IP 協議的流量進行檢測和分析,而在物聯網環境中,還需要對其它的協議流量進行分析,如工控環境中的 Modbus、PROFIBUS 等協議流量。
此外,物聯網的異常行為檢測也會應用到新的應用領域中,如在車聯網環境中對汽車進行異常行為檢測。360研究員李均利用機器學習的方法,為汽車的不同數據之間的相關性建立了一個模型,這個模型包含了諸多規則。依靠對行為模式、數據相關性和數據的協調性的分析對黑客入侵進行檢測。
對應的物聯網安全需求:設備保護和資產管理、攻擊檢測和防禦。
通過代碼籤名可以保護設備不受攻擊,保證所有運行的代碼都是被授權的,保證惡意代碼在一個正常代碼被加載之後不會覆蓋正常代碼,保證代碼在籤名之後不會被篡改。相較於網際網路,物聯網中的代碼籤名技術不僅可以應用在應用級別,還可以應用在固件級別,所有的重要設備,包括傳感器、交換機等都要保證所有在上面運行的代碼都經過籤名,沒有被籤名的代碼不能運行。
由於物聯網中的一些嵌入式設備資源受限,其處理器能力,通信能力,存儲空間有限,所以需要建立一套適合物聯網自身特點的、綜合考慮安全性、效率和性能的代碼籤名機制。
對應的物聯網安全需求:設備保護和資產管理。
物聯網感知設備的系統安全、數據訪問和信息通信通常都需要加密保護。但由於感知設備常常散布在無人區域或者不安全的物理環境中,這些節點很可能會遭到物理上的破壞或者俘獲。如果攻擊者俘獲了一個節點設備,就可以對設備進行白盒攻擊。傳統的密碼算法在白盒攻擊環境中不能安全使用,甚至顯得極度脆弱,密鑰成為任何使用密碼技術實施保護系統的單一故障點。在當前的攻擊手段中,很容易通過對二進位文件的反彙編、靜態分析,對運行環境的控制結合使用控制 CPU 斷點、觀測寄存器、內存分析等來獲取密碼。在已有的案例中我們看到,在未受保護的軟體中,密鑰提取攻擊通常可以在幾個小時內成功提取以文字數據陣列方式存放的密鑰代碼。
白盒密碼算法是一種新的密碼算法, 它與傳統密碼算法的不同點是能夠抵抗白盒攻擊環境下的攻擊。白盒密碼使得密鑰信息可充分隱藏、防止窺探,因此確保了在感知設備中安全地應用原有密碼系統,極大提升了安全性。
白盒密碼作為一個新興的安全應用技術,能普遍應用在各個行業領域、應用在各個技術實現層面。例如,HCE 雲支付、車聯網,在端點(手機終端、車載終端)層面實現密鑰與敏感數據的安全保護;在雲計算上,可對雲上的軟體使用白盒密碼,保證在雲這個共享資源池上,進行加解密運算時用戶需要保密的信息不會被洩露。
對應的物聯網安全需求:設備保護和資產管理。
空中下載技術(over-the air,OTA),最初是運營商通過移動通信網絡(GSM或者CDMA)的空中接口對SIM卡數據以及應用進行遠程管理的技術,後來逐漸擴展到固件升級,軟體安全等方面。
隨著技術的發展,物聯網設備中總會出現脆弱性,所以設備在銷售之後,需要持續的打補丁。而物聯網的設備往往數量巨大,如果花費人力去人工更新每個設備是不現實的,所以OTA技術在設備銷售之前應該被植入到物聯網設備之中。
對應的物聯網安全需求:攻擊檢測和防禦。
網際網路環境中通常使用防火牆來監視網絡上的安全風險,但是這樣的防火牆針對的是TCP/IP協議,而物聯網環境中的網絡協議通常不同於傳統的TCP/IP協議,如工控中的Modbus協議等,這使得控制整個網絡風險的能力大打折扣。因此,需要開發能夠識別特定網絡協議的防火牆,與之相對應的技術則為深度包檢測技術。
深度包檢測技術(deep packet inspection,DPI)是一種基於應用層的流量檢測和控制技術,當IP數據包、TCP或UDP數據流通過基於DPI技術的帶寬管理系統時,該系統通過深入讀取IP包載荷的內容來對OSI七層協議中的應用層信息進行重組,從而得到整個應用程式的內容,然後按照系統定義的管理策略對流量進行整形操作。
思科和羅克韋爾自動化聯手開發了一項符合工業安全應用規範的深度數據包檢測 (DPI) 技術。採用 DPI 技術的工業防火牆有效擴展了車間網絡情況的可見性。它支持通信模式的記錄,可在一系列安全策略的保護之下提供決策制定所需的重要信息。用戶可以記錄任意網絡連接或協議(比如 EtherNet/IP)中的數據,包括通信數據的來源、目標以及相關應用程式。
在全廠融合乙太網 (CPwE) 架構中的工業區域和單元區域之間,採用 DPI 技術的車間應用程式能夠指示防火牆拒絕某個控制器的固件下載。這樣可防止濫用固件,有助於保護運營的完整性。只有授權用戶才能執行下載操作。
6.防火牆
對應的物聯網安全需求:攻擊檢測和防禦。
物聯網環境中,存在很小並且通常很關鍵的設備接入網絡,這些設備由 8 位的 MCU 控制。由於資源受限,對於這些設備的安全實現非常有挑戰。這些設備通常會實現TCP/IP協議棧,使用 Internet 來進行報告、配置和控制功能。由於資源和成本方面的考慮,除密碼認證外,許多使用8位 MCU 的設備並不支持其他的安全功能。
Zilog和Icon Labs聯合推出了使用8位MCU的設備的安全解決方案。Zilog 提供 MCU,Icon Labs將Floodgate防火牆集成到MCU中,提供基於規則的過濾,SPI(Stateful Packet Inspection)和基於門限的過濾(threshold-based filtering)。防火牆控制嵌入式系統處理的數據包,鎖定非法登錄嘗試、拒絕服務攻擊、packet floods、埠掃描和其他常見的網絡威脅。
嵌入式防火牆
對應的物聯網安全需求:認證、訪問控制管理。
傳統企業網絡架構通過建立一個固定的邊界使內部網絡與外部世界分離,這個邊界包含一系列的防火牆策略來阻止外部用戶的進入,但是允許內部用戶對外的訪問。由於封鎖了外部對於內部應用和設施的可見性和可訪問性,傳統的固定邊界確保了內部服務對於外部威脅的安全。企業網絡架構中的固定的邊界模型正在變得過時,BYOD和釣魚攻擊提供了對於內部網絡的不可信訪問,以及SaaS和IaaS正在改變邊界的位置。
軟體定義邊界(Software Defined Perimeter,SDP)使得應用所有者部署的邊界可以保持傳統模型中對於外部用戶的不可見性和不可訪問性,該邊界可以部署在任意的位置,如網絡上、雲中、託管中心中、私營企業網絡上,或者穿過這些位置的一些全部。
SDP用應用所有者可控的邏輯組件取代了物理設備,只有在設備證實和身份認證之後,SDP才提供對於應用基礎設施的訪問。
大量設備連接到Internet中,管理這些設備、從這些設備中提取信息的後端應用通常很關鍵,扮演了隱私或敏感數據的監護人的角色。SDP可以被用來隱藏伺服器和伺服器與設備的交互,從而最大化地保障安全和運行時間
對應的物聯網安全需求:認證
區塊鏈(Blockchain ,BC)是指通過去中心化和去信任的方式集體維護一個可靠資料庫的技術方案。該技術方案主要讓參與系統中的任意多個節點,通過一串使用密碼學方法相關聯產生的數據塊(block),每個數據塊中包含了一定時間內的系統全部信息交流數據,並且生成數據指紋用於驗證其信息的有效性和連結(chain)下一個資料庫塊。結合區塊鏈的定義,需要有這幾個特徵:去中心化(Decentralized)、去信任(Trustless)、集體維護(Collectively maintain)、可靠資料庫(Reliable Database)、開源性、匿名性。區塊鏈解決的核心問題不是「數字貨幣」,而是在信息不對稱、不確定的環境下,如何建立滿足經濟活動賴以發生、發展的「信任」生態體系。這在物聯網上是一個道理,所有日常家居物件都能自發、自動地與其它物件、或外界世界進行互動,但是必須解決物聯網設備之間的信任問題。
越來越多的侵犯用戶隱私的報告說明第三方收集和控制大量的個人數據的模式需要被改變。IBM認為物聯網設備的運行環境應該是去中心化的,它們彼此相連,形成分布式雲網絡。而要打造這樣一種分布式雲網絡,就要解決節點信任問題——在傳統的中心化系統中,信任機制比較容易建立,存在一個可信的第三方來管理所有的設備的身份信息。但是物聯網環境中設備眾多,可能會達到百億級別,這會對可信第三方造成很大的壓力。IBM 認為中本聰的比特幣區塊鏈技術可以完滿地解決這個問題。
Guy Zyskind等人提出一種分散式的個人數據管理系統,來實現用戶數據的保護,確保用戶可以擁有並管理自己的數據。實現了將區塊鏈應用於自動訪問控制管理而不需要可信第三方。與比特幣不同,系統交易(transaction)不是嚴格的金融交易——他們被用於攜帶指令,比如存儲、查詢和共享數據的指令。
物聯網相關設備、平臺、系統的漏洞挖掘技術,有助於發現 0day 漏洞和未知威脅,從而提升 IDS、防火牆等安全產品的檢測和防護能力。
將安全產品嵌入到設備之中,或者產品設計時採用物聯網設備安全框架,在物聯網設備生產之時就考慮安全問題,可以極大提升物聯網設備的安全性。
隨著物聯網的發展,將會出現越來越多的物聯網平臺。BAT 三家均已推出了智能硬體開放平臺。國外免費的物聯網雲平臺有 Temboo、Carriots、NearBus 和 Ubidots 。不過,目前對於物聯網平臺的安全性的分析還不多,相信以後物聯網平臺的安全性將會越來越多地吸引到人們的關注。
Samsung SmartThings 是一個智能家庭編程平臺,密西根大學和微軟研究院的研究人員對其上的499個應用和132個設備管理器(device handlers)進行了靜態代碼分析(static code analysis),論文發表在S&P 2016上。主要有兩點發現,一是,雖然SmartThings實現了一個特權分離模型(privilege separation model),但是,有兩個固有的設計缺陷(intrinsic design flaws),可導致 APP 越權;二是關於SmartThings的事件子系統,設備與 APP 之間通過其進行異步通信,該子系統並未對包含敏感信息(如lock codes)的事件提供足夠的保護。研究人員利用框架設計漏洞實現了四個攻擊的概念證明:修改門鎖密碼,竊取已有的門鎖密碼,禁用家庭的假期模式,觸發一次虛假的火災告警。
在現代的汽車、工控等物聯網行業,各種網絡協議被廣泛使用,這些網絡協議帶來了大量的安全問題。很多研究者開始針對工控等系統,特別是具有控制功能的網絡協議的安全性展開研究。研究人員在 QCon2016 的議題中提到用網絡協議 fuzzing 技術對 0Day 漏洞進行挖掘。
物聯網設備大多使用嵌入式作業系統,嵌入式系統通常內核較小,專用性強,系統精簡,高實時性,安全在嵌入式系統中處於較低的位置,隨著設備逐漸接入網際網路,作業系統的安全性需要重點關注。
2015年, 44CON 倫敦峰會中,研究人員採用了Fuzzing框架Sulley對VxWorks系統的多個協議進行了Fuzzing,挖掘到一些漏洞,並結合VxWorks的WDB RPC實現了一個遠程調試器,進行了相關調試分析
嵌入式設備眾多,而且大多在安全設計方面考慮不足。聯網的設備往往存在極大的潛在威脅。作為設備製造商,應在嵌入式設備的設計過程中就將安全框架考慮進入,對嵌入式設備進行安全設計。
Icon Labs[5]是嵌入式設備安全廠商,提出Floodgate安全框架,用於構建安全的嵌入式設備。Floodgate安全框架模塊既可以作為單獨的產品使用,也可以集成到已有的嵌入式Linux和任何RTOS中。
Floodgate架構
Floodgate Firewall,是一個嵌入式防火牆,提供狀態包檢測(Stateful Packet Inspection,SPI)、基於規則的過濾和基於門限的過濾來保護嵌入式設備免受來自網際網路的威脅。
Floodgate IDS對嵌入式Linux和RTOS設備提供保護,其能檢測出固件、配置信息和靜態數據的改變。Floodgate Secure Boot確保只有從OEM認證的固件才允許在這臺設備上運行。Floodgate Agent提供對於嵌入式和物聯網設備的態勢感知、安全事件報告、命令審計日誌和安全策略管理,同時也提供與企業安全管理系統的集成。
雷鋒網原創文章,未經授權禁止轉載。詳情見轉載須知。