蔣建春, 肖佳平, 唐 琨
1(中國科學院 軟件研究所, 北京 100190)
2(南寧市發展和改革委員會, 南寧 530028)
信息物理系統 (Cyber-Physical Systems, CPS)是指一個集成了計算、通信和物理過程的混成系統, 具有自主行為的智能化、網絡化、開放控制系統[1]. 在智慧城市建設進程中, CPS將占據核心地位, 例如依靠大數據出行的智能交通系統、物聯網、融合生物信息采集驗證的電子政務系統和智能電網等. 美國國家科學基金會(NSF)認為, CPS將讓整個世界互聯起來, 如同互聯網改變了人與人的互動一樣, CPS將會改變我們與物理世界的互動[2]. 2007年7月, 美國總統科學技術顧問委員會在題為《挑戰下的領先——競爭世界中的信息技術研發》的報告中列出了8大關鍵的信息技術,其中CPS位列首位[3]. CPS的應用也極為廣泛, 應用包括高可信的醫療設備和服務系統、智能高速公路、智能交通系統、智能電網、分布式機器人等[4]. 但與此同時, 信息物理系統的安全問題相繼出現, 與信息物理系統相關的安全威脅事件逐年遞增. 根據美國工業控制系統網絡應急響應組統計, 2011年上報工業控制系統相關的安全事件198件. 2010年, 震網(Stuxnet)蠕蟲事件利用西門子公司控制系統存在的漏洞, 感染數據采集與監測系統(SCADA), 隱蔽實施攻擊活動, 導致伊朗布什爾核電站項目推遲[5]. 2011年, 美國華盛頓大學與加州大學圣地亞哥分校的研究團隊, 發表了一篇題為《汽車攻擊面的綜合實驗性分析》的論文, 該論文提到直接撥打車載電話號碼或是播放特制的聲音信號就能取得汽車的控制[6]. 2013年, 德國安全研究人員Hugo Teso在Hack In The Box黑客大會上表示, 利用航空系統ACARS的相關漏洞, 可以控制飛機[7]. 同互聯網的安全事件相比較, 針對工業控制系統的事件數量小, 但因工業控制系統涉及到國計民生和國家關鍵基礎設施的安全控制, 其安全事件帶來的影響和危害巨大. 因此, 系統化分析信息物理系統的安全威脅顯得十分必要.
本文內容組成如下: 第1節是已有的相關研究工作; 第2節是信息物理系統安全威脅分析模型與威脅分析方法; 第3節信息物理系統安全威脅分析系統工具實現; 第4節信息物理系統安全威脅分析案例; 第5節, 總結智慧城市中信息物理系統安全威脅模型分析方法和未來的研究方向.
安全威脅分析是信息物理系統的核心問題之一,針對該問題, 國內外研究人員已開展了相關研究工作.Clifford Neuman等研究人員分析了信息物理系統的網絡域、物理域相互影響的7種安全威脅模式, 即CC(Cyber-Cyber threats)、CP (Cyber-Physical threats)、PC(Physical-Cyber threats)、PP (Physical-Physical threats)、CPP (Cyber-Physical-Physical threats)、CPC(Cyber-Physical-Cyber threats)、PCP (Physical-Cyber-Physical threats)[8]. M.Yampolskiy等提出基于數據流圖分析CPS的安全威脅[9]. Katherine R. Davis 等提出利用信息系統和物理系統依賴關系在線辨識CPS脆弱點[10].關于安全威脅建模方法, 常見的方法有攻擊樹、攻擊圖、威脅列表、本體等方法. 在威脅建模工具方面, 開源代碼工具有TRIKE、SeaMonster等, 而商業方面的安全建模工具有Threat Modeler、Corporate Threat Modeller、SecurlTree、Little-JIL以及微軟SDL威脅建模工具等[11]. Oleg Mikhail Sheyner、Xinming Ou提出利用攻擊圖構建安全威脅場景[12]. 上述已有的安全威脅建模的研究方法局限于網絡域, 不能對信息物理系統的跨域安全威脅進行建模分析. 同時對于智慧城市的信息物理系統來說, 其涉及組件之眾多, 組件之間存在多種依賴關系, 各組件的安全漏洞數量動態變化,而且組件時有更新, 傳統的安全威脅建模方法依賴專家經驗, 難以適應大規模、快速、智能化的安全威脅建模. 本文擬主要針對智慧城市的CPS, 提出一種基于大數據、通用的信息物理系統安全威脅分析模型和威脅視圖分析方法, 實現大規模安全威脅自動化建模, 為智慧城市的網絡安全建設提供技術支撐.
信息物理系統實現信息空間、物理空間的融合,計算深度嵌入到物理設備中, 首先利用傳感器獲取物理世界的數據信息, 然后把這些數據通過異構網絡傳輸到數據分析中心進行深度計算, 執行器依據計算結果控制物理設備及環境的狀態變化, 從而形成感知、聯網、計算、控制復雜的系統. 為更好分析信息物理系統的安全威脅, 本文將信息物理系統抽象為感知組件、網絡傳輸組件、計算分析決策組件、控制執行組件、人機交互組件、物理實體組件.
(1) 感知組件
感知組件是CPS的數據來源和控制命令執行器,是信息空間和物理世界連接點, 因感知部件所處環境為開放性、不確定性環境, 而感知節點數據處理能力、通信能力和存儲能力有限, 極易形成對CPS的攻擊威脅. 感知部件面臨的安全威脅有物理攻擊威脅、女巫攻擊威脅、節點捕獲攻擊威脅、傳感器數據攻擊威脅、傳感器側信道攻擊威脅、傳感器操作系統攻擊威脅、傳感器節點假冒攻擊、能耗攻擊等.
(2) 網絡組件
網絡組件是CPS的神經網絡, 是信息空間和物理世界聯接器. CPS的網絡傳輸結構、接入方式、通信協議存在各種安全脆弱性, 從而導致攻擊威脅發生. 網絡部件面臨的安全威脅有路由攻擊、黑洞攻擊、蠕蟲漏洞攻擊、HELLO泛洪攻擊、SCADA攻擊、控制網絡拒絕服務攻擊等.
(3) 計算分析決策組件
計算分析決策組件是信息物理系統的“大腦”, 該組件依據搜集到的數據信息, 通過計算分析, 給信息物理系統發出控制操作指令. 決策層的安全威脅除研究傳統信息空間攻擊外, 還有新的攻擊方法, 例如數據注入攻擊、機器學習算法攻擊、惡意代碼攻擊等. 北卡州立大學的研究人員分析電力網絡的狀態估計算法安全缺陷, 提出了虛假數據的注入攻擊方法, 該方法通過訪問電力系統的配置信息, 操縱測量器的測量, 可以繞過目前電力系統的異常數據度量方法檢測, 從而改變狀態估計結果[13,14].
(4) 控制執行組件
控制執行組件是信息空間和物理世界的交互點,通過控制執行部件的操作可將信息空間數據處理結果轉換成物理世界過程, 從而導致信息空間能夠影響到物理世界. 控制執行層的安全威脅主要有控制命令偽裝攻擊、控制協議攻擊、控制網絡攻擊等.
(5) 人機交互組件
人機交互組件是人同信息物理系統進行交互操作的窗口, 通過人的外部干預, 確保信息物理系統按照人類預期行為進行活動. 人機交互組件的安全威脅主要有認證攻擊、身份假冒攻擊、權限濫用攻擊、數據驅動攻擊等.
(6) 物理硬件組件
信息物理系統通過物理實體組件來影響和操作外部物理環境及對象. 物理實體組件將信息物理系統的信息轉化成物理行為或改變物理環境.
本文的信息物理系統安全威脅分析系統框架由信息物理系統版本數據庫、工控組件漏洞數據庫、組件安全威脅知識庫、威脅搜索與關聯引擎、安全威脅分析模塊和系統安全威脅分析結果展示模塊組成, 系統結構框架如圖1所示.

圖1 基于威脅庫和漏洞庫搜索關聯的信息物理系統安全威脅分析框架
信息物理系統版本數據庫用于存放各個階段的系統版本信息(包括傳感器設備信息、支撐操作系統和路由協議等). 工控組件漏洞數據庫用于實時更新存儲已發現的信息物理系統組件相關漏洞數據. 組件安全威脅知識庫用于存放信息物理系統組件相關的安全威脅數據(例如驗證繞過、欺騙、失控和自毀等). 威脅搜索與關聯引擎則根據提供的信息物理系統組件名稱及安全漏洞, 生成相關的安全威脅列表, 并根據提供的信息物理系統組件關聯關系及安全威脅列表生成組合的安全威脅關聯圖. 安全威脅分析模塊輸出系統存在的威脅以及相互關聯關系, 安全威脅分析結果展示則根據各個模塊提供的數據, 生成相應可視化結果供決策者制定相應方案.
通過研究信息物理系統安全威脅分析系統框架,我們可以清晰提取出信息物理系統安全威脅分析的三個重要因素.
(1) 威脅因素
信息物理系統安全不同于傳統意義上的網絡安全,它的威脅因素包括系統漏洞、數據攻擊和設備故障,識別難度遠高于傳統的網絡安全, 因此在對信息物理系統進行安全威脅分析的過程中首先需要明確知悉分析對象的威脅因素, 從而選擇合理的分析方法. 本文使用各司其職的方式對威脅因素進行識別, 即每個組件單獨設置威脅警報, 例如傳感器組件故障則利用故障檢測方法監測, 數據攻擊則利用數據攻擊識別監測.
(2) 組件特征元
信息物理系統所涉及的組件之多由圖1可以看出,包括感知組件、網絡傳輸組件、計算分析決策組件、控制執行組件、人機交互組件和物理實體組件. 每個組件的特性如何用不同的特征元來描述成為安全威脅分析的前提條件. 本文利用系統版本、組件標簽和編號來對系統的組件進行標記.
(3) 威脅搜索與關聯引擎
威脅搜索與關聯引擎是安全威脅分析的核心部分,通過系統組件分析得到的組件特征元在漏洞數據庫中快速搜索, 在安全威脅知識庫獲取安全威脅情況, 同時建立全系統的安全威脅關聯視圖, 構造完整的威脅途徑. 本文的威脅搜索與關聯算法在2.3節具體描述.
安全威脅搜索與關聯分析是實現大規模信息物理系統自動化安全威脅分析的核心部分, 主要包括單節點安全威脅分析和復合安全威脅分析.
(1) 信息物理系統單節點安全威脅分析方法
在信息物理系統建?;A上, 本文提出基于知識驅動安全威脅分析及基于實體關聯的威脅分析方法,以系統化分析信息物理系統的安全威脅. 其中, 信息物理系統組件安全威脅的分析方法可采用基于安全威脅知識庫來驅動, 其分析方法步驟描述如下:
第1步, 獲取信息物理系統組件的脆弱性, 即判斷系統特征組件存在的攻擊危險;
第2步, 通過特定數據庫, 例如CVE庫, 獲取信息物理系統組件的相關威脅庫;
第3步, 檢查指定的信息物理系統組件威脅的脆弱性是否存在, 如果存在則標示組件存在安全威脅; 否則, 重復第二步, 直到組件威脅庫分析完畢;
第4步, 生成信息物理系統的組件安全威脅全局清單.
(2) 信息物理系統復合安全威脅分析方法
復雜的信息物理系統安全威脅不是針對單個組件,而是利用多個組件的安全脆弱性構成安全威脅圖, 從而實現攻擊目標, 例如APT高級持續威脅. 本文提出采用組件關聯安全威脅的分析方法, 基于組件之間的關聯關系, 建立組件安全威脅關聯視圖. 具體步驟描述如下:
第1步, 任選信息物理系統的一個組件, 標示為C,確定C 與其它組件的關聯關系, 以關聯矩陣表示.
第2步, 根據單節點安全分析(1)中的安全威脅全局清單, 依次選擇信息物理系統組件C的安全威脅列表 T={T1,T2,…,Tn}.
第3步, 分析信息物理系統組件C與其它組件的關聯安全影響, 如果組件C與組件B有安全關聯, 即組件C的安全威脅脆弱性造成B受到威脅, 則標示組件C與B的安全關聯威脅連接; 否則, 重復第二步, 直到組件C威脅分析完畢.
第4步, 生成信息物理系統組件C的關聯威脅圖.

圖2 組件關聯威脅圖示例
第5步, 重復第1步, 直到信息物理系統所有組件分析完畢.
第6步, 生成信息物理系統的所有分析組件的安全威脅關聯視圖.
本文將從信息物理系統組件漏洞分析、安全威脅分析、威脅關聯分析和安全威脅路徑分析4個方面建立信息物理系統安全威脅分析系統原型. 為了實現數
據驅動的信息物理系統安全威脅分析, 設計如下算法.

算法1. 信息物理系統組件漏洞分析輸入: 組件名、漏洞列表輸出: 組件名漏洞列表, 形如<組件名, 漏洞名>過程步驟:1) 初始化獲取CVEDB數據集, 提取CVE漏洞條目為Y 2) 初始化組件A的特征數據X 3) 檢查Y是否含有X, 如果有, 則產生<A, Y>4) 檢查CVEDB 數據集是否檢查完畢, 否則, 重復1)算法2. 信息物理系統組件安全威脅分析輸入: <組件名, 漏洞名>, <漏洞名, 威脅名>輸出: 組件名威脅列表 , 形如<組件名, 威脅名>過程步驟:1) 初始化組件A的漏洞數據CVE 2) 初始化威脅庫VBThreatDB 4) 從CVE提取組件A的漏洞數據條目Xi 5) 將Xi與VBThreatDB的漏洞進行匹配6) 如果匹配成功,則產生此漏洞對應的威脅關系, <A→Xi→T>7) 檢查組件的漏洞數據是否分析完畢, 否則重復4 8) 輸出組件威脅庫<A→CVE→T>算法3. 信息物理系統組件威脅關聯分析輸入: 組件威脅庫 CTheatDB = <A→CVE→T>, 威脅觸發 StartT =<觸發條件1, 觸發條件2,…, 觸發條件n>輸出: 威脅關聯 <T1→T2>過程步驟:1) 初始化組件A的CThreatDB 2) 初始化威脅觸發StartT 3) 從CTheatDB 提取漏洞數據條目X和Y 4) 將X.T(StartT)與Y.T(StartT)進行交集運算5) 如果不為空,則產生 A →X.T→Y.T 6) 檢查組件的CTheatDB是否兩兩匹配分析完畢,否則重復2)7) 輸出威脅關聯結果算法4. 信息物理系統組件安全威脅路徑分析輸入: 組件關聯數據, 形如<組件名A1, 組件名A2>, 組件名A1威脅列表, 形如<組件名A1, 威脅名T1>輸出: 關聯威脅途徑列表, 形如<組件名A1, 威脅名T1, 組件名A2 >過程步驟:1) 組件A1關聯數據初始化X 2) 組件A1威脅數據初始化Y 3) 從Y提取威脅數據T1 4) 從X提取關系RELATIONSHIP(A1, A2)5) IF RELATIONSHIP(A1, A2) = TRUE THEN <A1. T1→ A2>6) ELSE檢查A1的關聯數據庫X是否為空, 否則重復(4)檢查A1的威脅數據庫Y是否為空, 否則重復(3)輸出可視化結果
本文以智慧城市的智能電網為例, 驗證所提出的信息物理系統的安全威脅分析方法. 智能電網的信息物理系統的架構模型如圖3所示. 智能電網的信息物理系統由AMI頭端/系統操作員/數據中心的源端、配電分布的網絡端和用戶端三個層次構成. 威脅因素為系統漏洞導致電壓負載不均衡威脅, 工控系統的程序漏洞數據庫來自國家安全信息漏洞共享平臺.

圖3 智能電網多層概念架構模型[15]
本文首先通過爬蟲抓取與工控系統相關的漏洞存儲到本地工控系統的程序漏洞數據庫, 同時在多個文獻資源庫搜集漏洞對應的威脅結果建立安全威脅知識庫. 本文分析系統漏洞導致電壓負載不均衡威脅, 利用檢索IEEE電子文獻庫構建電壓負載不均衡威脅知識庫, 共檢索25篇有關智能電網電壓負載不均衡安全威脅的文章. 威脅知識庫以自動和人工的方式實現定期更新. 其次, 對智能電網的系統組件進行詞頻分析和掃描分析, 按2.1歸類, 構建智能電網的組件字典和特征量, 如表1所示. 然后, 通過在程序漏洞數據庫中進行漏洞搜索與掃描. 檢測到系統的SQL數據注入共有41例, 其中33例危害級別為“高”, 7例危害級別為“中”, 1例危害級別為“低”. 控制器漏洞共有19例, 其中12例危害級別為“高”, 7例危害級別為“低”; PLC漏洞共有44例, 其中25例危害級別為“高”, 16例危害級別為“中”, 3例危害級別為“低”; PowerSCADA漏洞共4條, 其中1例危害級別為“高”, 3例危害級別為“中”,10例危害級別為“低”. 漏洞掃描結果如圖4所示.

表1 智能電網系統漏洞掃描結果
最后通過字段匹配建立威脅關聯<數據不完整→負載不均衡>, 由漏洞數據庫已知組件漏洞<計算分析決策組件→SQL注入>和威脅<SQL注入→數據不完整/錯誤>, 因此根據本文算法3建立威脅關聯<計算分析決策組件→SQL注入→數據不完整→負載不均衡>, 同時建立完整威脅路徑<惡意數據攻擊→計算分析決策組件→SQL注入→數據不完整→負載不均衡>. 搜索關聯得到SCADA漏洞同樣存在威脅<SCADA漏洞→數據不完整/錯誤>, 則據此匹配建立威脅途徑有向圖. 智能電網中通過引擎計算得到的所有威脅有向圖如圖5所示, 組件與威脅之間邊的條數表示組件產生該威脅的漏洞個數. 威脅分析的所有操作均通過Python實現自動化檢測和分析. 由圖5可知, 智能電網中的信息物理系統由網絡組件帶來的漏洞威脅遠遠大于其他組件,漏洞個數排列依次為網絡組件 > 物理硬件組件 > 計算分析決策組件 > 控制執行組件 > 感知組件 > 人機交互組件, 因此需要加強智能電網中網絡組件和物理硬件組件的監控和更新升級, 以提高關鍵性基礎設施的安全性和可靠性.

圖4 漏洞掃描結果

圖5 智能電網系統安全威脅分析智能生成威脅有向圖
本文提出的方法適用于存在顯性依賴關系的信息物理系統安全威脅建模分析, 信息物理系統的特征組件通過詞頻分析得到并按屬性分類, 漏洞庫和威脅庫可設置為定時更新, 可實現普遍意義上信息物理系統的大規模自動安全威脅建模分析, 具有一定的通用性.
傳統的安全威脅分析利用人工方法, 構造攻擊樹來實現安全威脅分析. 同已有的工作相比較, 本文所提出的安全威脅分析方法以安全數據驅動, 通過安全漏洞數據、安全威脅數據所依賴的實體關系, 建立完整的安全威脅鏈路模型. 文獻[12]利用漏洞相互關系形成攻擊圖, 而本文的安全威脅關聯分析方法利用實體物理事實上的業務相互依賴關系, 實現智能化安全威脅分析, 構建安全威脅路徑圖. 本文有利于發現隱蔽的、間接的安全威脅路徑, 同時可根據具體的攻擊行為快速找到攻擊路徑, 為系統防御提供決策性指導.
本文首先分析信息物理系統安全問題及抽象的組件模型, 在此基礎上提出了基于知識庫驅動安全威脅分析及基于實體關聯的威脅分析方法, 以系統化分析信息物理系統的安全威脅, 并研發實現信息物理系統安全威脅分析原型系統, 給出了智能電網的安全威脅分析案例, 為智慧城市的關鍵性基礎設施信息化進程提供一種實時可靠的安全威脅分析方法和防御工具.本文所提出的分析方法和工具原型仍需人工干預, 組件威脅的隱性依賴關系需進一步依據更多的數據進行挖掘, 其分析方法的完備性及適應性需進一步研究.