摘要:本文首先詳細(xì)介紹了信息物理系統(tǒng)(CPS)的概念及其特點(diǎn),其次簡(jiǎn)要概述了CPS的網(wǎng)絡(luò)安全保護(hù)措施以及針對(duì)CPS的攻擊及隱私泄露問題,并給出了典型的具體案例。當(dāng)前關(guān)注的重點(diǎn)應(yīng)當(dāng)放在那些有針對(duì)性的專門攻擊CPS系統(tǒng)并可能造成物理?yè)p害的網(wǎng)絡(luò)攻擊。
一、信息物理系統(tǒng)概述
Cyber-PhysicalSystems(CPSs)即信息物理系統(tǒng),它是一個(gè)綜合計(jì)算、網(wǎng)絡(luò)和物理環(huán)境的多維復(fù)雜系統(tǒng),信息物理系統(tǒng)這個(gè)概念與物聯(lián)網(wǎng)概念相似,但與物聯(lián)網(wǎng)相比,信息物理系統(tǒng)更注重強(qiáng)調(diào)控制。
CPSs這個(gè)詞是2006年由美國(guó)國(guó)家科學(xué)基金會(huì)(NSF)的海倫·吉爾首次進(jìn)行詳細(xì)的描述,其認(rèn)為信息物理系統(tǒng)是通過計(jì)算核心(嵌入式系統(tǒng))實(shí)現(xiàn)感知、控制、集成的物理、生物和工程系統(tǒng)。信息物理系統(tǒng)的功能由計(jì)算和物理過程交互實(shí)現(xiàn)。此后得到美國(guó)政府和科學(xué)界的高度重視,隨后各個(gè)國(guó)家都提出了相似的技術(shù)框架和相應(yīng)的標(biāo)準(zhǔn),其中最具代表性的包括“德國(guó)工業(yè)4.0”和“中國(guó)制造2025”。
CPSs存在于眾多嵌入式計(jì)算機(jī)和通信技術(shù)的物理系統(tǒng)的自動(dòng)化行業(yè),包括航空航天、汽車、化工生產(chǎn)、民用基礎(chǔ)設(shè)施、能源、醫(yī)療、制造業(yè)、新材料和運(yùn)輸?shù)阮I(lǐng)域。CPSs主要包括3個(gè)部分,這三個(gè)部分為感知層、數(shù)據(jù)傳輸層(網(wǎng)絡(luò)層)和應(yīng)用控制層。
感知層主要是由傳感器、控制器和采集器等設(shè)備組成。感知層中的傳感器是作為信息物理系統(tǒng)的末端設(shè)備,其主要作用是采集環(huán)境中的信息數(shù)據(jù),并且定時(shí)的發(fā)送給服務(wù)器,服務(wù)器在接收到數(shù)據(jù)之后作出相應(yīng)的處理,再返回給物理末端設(shè)備作出相應(yīng)的變化。數(shù)據(jù)傳輸層主要是連接信息世界與物理世界的橋梁,主要實(shí)現(xiàn)的是數(shù)據(jù)傳輸,為系統(tǒng)提供實(shí)時(shí)的網(wǎng)絡(luò)服務(wù),保證網(wǎng)絡(luò)分組實(shí)時(shí)可靠。應(yīng)用控制層則是根據(jù)認(rèn)知結(jié)果,將物理設(shè)備傳回來的數(shù)據(jù)進(jìn)行分析,并以可視化的客戶端界面呈現(xiàn)給客戶。
圖1 信息物理系統(tǒng)的總體結(jié)構(gòu)
二、CPS的主要特點(diǎn)
CPSs的特點(diǎn)主要包括了:嵌入式系統(tǒng)、實(shí)時(shí)系統(tǒng)、有線或者無(wú)線的網(wǎng)絡(luò)和控制理論等。
嵌入式系統(tǒng):
嵌入式系統(tǒng)是CPSs最普遍的特征之一,這些計(jì)算機(jī)通常直接與物理世界相連接(傳感器、控制器和執(zhí)行器),且只執(zhí)行一些特定的操作。這類計(jì)算機(jī)并不需要傳統(tǒng)計(jì)算機(jī)那樣的計(jì)算能力,因此它們的資源往往是有限的。其中一些嵌入式系統(tǒng)甚至不運(yùn)行操作系統(tǒng),而只是在固件上運(yùn)行一個(gè)特定的軟件,以此來提供對(duì)設(shè)備和硬件的低級(jí)控制,像這樣的沒有操作系統(tǒng)的設(shè)備也被稱作為裸金屬系統(tǒng)(裸機(jī)電腦)。即使嵌入式系統(tǒng)有一個(gè)操作系統(tǒng),它們運(yùn)行的操作系統(tǒng)通常也僅僅是一個(gè)精簡(jiǎn)版系統(tǒng),用以支持平臺(tái)所需的最小工具。
實(shí)時(shí)系統(tǒng):
對(duì)于功能安全來說,為了確保系統(tǒng)的正確性,執(zhí)行計(jì)算的時(shí)間是很重要的。實(shí)時(shí)編程語(yǔ)言可以幫助開發(fā)人員為他們的系統(tǒng)指定時(shí)間以滿足時(shí)間要求,而實(shí)時(shí)操作系統(tǒng)可以保證接受和完成應(yīng)用程序任務(wù)的時(shí)間。
網(wǎng)絡(luò)連接:
雖然目前許多關(guān)鍵基礎(chǔ)設(shè)施(如電力系統(tǒng))在其SCADA系統(tǒng)中使用了串行通信來監(jiān)控遠(yuǎn)程操作,但越來越多的嵌入式系統(tǒng)通過與IP兼容的網(wǎng)絡(luò)進(jìn)行通信。系統(tǒng)不同部分之間的信息交換在過去的20年開始才從串行通信遷移到IP兼容的網(wǎng)絡(luò)。例如:Modicon于1979年發(fā)布的串行通信協(xié)議Modbus,隨后串行協(xié)議在20世紀(jì)90年代有了更多功能的IEC 60870-5-101和DNP3。在20世紀(jì)90年代末和21世紀(jì)初,這些串行協(xié)議都采用支持Modbus/TCP和IEC 60870-5-104等標(biāo)準(zhǔn)的IP網(wǎng)絡(luò)。雖然大部分的遠(yuǎn)距離通信是通過有線網(wǎng)絡(luò)進(jìn)行的,但無(wú)線網(wǎng)絡(luò)也是CPSs的一個(gè)特點(diǎn),在消費(fèi)者嵌入式領(lǐng)域,藍(lán)牙就是一種流行的無(wú)線協(xié)議。
控制性:
大多數(shù)的CPSs觀察并控制物理世界中的變量。反饋控制系統(tǒng)已經(jīng)存在了兩個(gè)世紀(jì),早在1788年,就有蒸汽調(diào)速器這樣的技術(shù)。大多數(shù)控制理論采用微分方程建立一個(gè)物理模型,然后設(shè)計(jì)一個(gè)控制器以滿足一組期望的特性,如穩(wěn)定性和效率。控制系統(tǒng)最初設(shè)計(jì)有模擬傳感和模擬控制。隨著計(jì)算機(jī)網(wǎng)絡(luò)的使用,數(shù)字控制器遠(yuǎn)離了傳感器和執(zhí)行器(如泵、閥門等),這樣就產(chǎn)生了一種網(wǎng)絡(luò)控制系統(tǒng)。目前還在研究的是將傳統(tǒng)的物理系統(tǒng)模型(如微分方程)和計(jì)算模型(如有限狀態(tài)機(jī))結(jié)合起來,封裝在一個(gè)混合系統(tǒng)內(nèi),稱之為混合系統(tǒng)。
由于CPSs是多種多樣的,包括工業(yè)系統(tǒng)、現(xiàn)代車輛、醫(yī)療設(shè)備等,這些系統(tǒng)都有不同的特點(diǎn),上述特點(diǎn)為CPSs的一般特點(diǎn),并不能適用于所有的CPSs中。在討論網(wǎng)絡(luò)安全問題之前,需要先描述自動(dòng)控制系統(tǒng)下運(yùn)行的物理系統(tǒng)是如何免受事故和自然故障的影響,以及針對(duì)非惡意對(duì)手的保護(hù)措施為何不足以應(yīng)對(duì)惡意攻擊者的。
三、CPS的保護(hù)措施
物理基礎(chǔ)設(shè)施的控制設(shè)備發(fā)生故障,會(huì)對(duì)人、環(huán)境和其他物理基礎(chǔ)設(shè)施造成無(wú)法彌補(bǔ)的傷害。因此工程師們開發(fā)了各種保護(hù)措施用于防止事故和自然原因造成的故障,包括了安全機(jī)制、保護(hù)機(jī)制、故障檢測(cè)機(jī)制和魯棒控制機(jī)制。
功能安全機(jī)制:
例如針對(duì)控制系統(tǒng)的通用安全標(biāo)準(zhǔn)(IEC 61508),其基本原理是獲取需求并從危害和風(fēng)險(xiǎn)分析已知故障的可能性和故障的后果,然后設(shè)計(jì)系統(tǒng),在考慮所有故障的原因后滿足安全要求。這個(gè)通用安全標(biāo)準(zhǔn)在特定的行業(yè)中作為其他許多標(biāo)準(zhǔn)的基礎(chǔ),例如流程工業(yè)(煉油廠、化學(xué)系統(tǒng)等)使用IEC 61511標(biāo)準(zhǔn)來設(shè)計(jì)安全儀表系統(tǒng)(SIS)以防止事故的發(fā)生。
保護(hù)機(jī)制:
與安全相關(guān)的另一個(gè)概念就是保護(hù),例如電網(wǎng)中的保護(hù)系統(tǒng)包括:
· 發(fā)電機(jī)保護(hù):當(dāng)系統(tǒng)頻率過低或過高時(shí),發(fā)電機(jī)會(huì)自動(dòng)與電網(wǎng)斷開,以防止對(duì)發(fā)電機(jī)的永久性破壞。
· 低頻減載(UFLS):如果電網(wǎng)頻率過低,則啟動(dòng)受控減載。以一種可控的方式進(jìn)行部分電力分配系統(tǒng)的斷開,同時(shí)避免像醫(yī)院、供水等安全關(guān)鍵負(fù)荷的中斷。UFLS的啟動(dòng)是為了提高電網(wǎng)的頻率,防止發(fā)電機(jī)斷開。
· 過流保護(hù):當(dāng)線路中電流過高時(shí),會(huì)觸發(fā)保護(hù)繼電器,使線路斷開,防止線路兩側(cè)設(shè)備損壞。
· 過/欠壓保護(hù):如果母線電壓過低或者過高,會(huì)觸發(fā)電壓繼電器。
可靠性機(jī)制:
當(dāng)安全和保護(hù)系統(tǒng)試圖防止事故發(fā)生時(shí),仍需要其他的方法保證系統(tǒng)發(fā)生故障后能夠持續(xù)運(yùn)行。
故障檢測(cè)機(jī)制:
通過故障檢測(cè)、隔離和重新配置來保證其容錯(cuò)率。采用基于模型的檢測(cè)系統(tǒng)或純數(shù)據(jù)驅(qū)動(dòng)系統(tǒng)來檢測(cè)異常。隔離則是識(shí)別異常來源的過程,重新配置是從故障中恢復(fù)的過程,通常通過移除故障傳感器來進(jìn)行重新配置。
魯棒控制機(jī)制:
魯棒控制研究的是控制系統(tǒng)在運(yùn)行中如何面對(duì)不確定性問題。這些問題可能來源于自然環(huán)境(如飛機(jī)運(yùn)行時(shí)的陣風(fēng))、傳感器噪聲、未被工程師建模的系統(tǒng)動(dòng)力學(xué)和系統(tǒng)部件隨時(shí)間的退化。魯棒控制通常選取最不利運(yùn)行的條件來設(shè)計(jì)控制算法,使系統(tǒng)安全運(yùn)行。
功能安全與網(wǎng)絡(luò)安全:
添加新的安全防御可能會(huì)帶來安全問題,例如,一個(gè)發(fā)電廠可能因?yàn)殡娔X在應(yīng)用補(bǔ)丁后重啟而致發(fā)電機(jī)組關(guān)閉。軟件更新和補(bǔ)丁可能會(huì)違反安全認(rèn)證,阻止未經(jīng)授權(quán)的用戶訪問CPS也可能會(huì)在緊急情況下阻止急救人員訪問系統(tǒng)(例如,護(hù)理人員可能需要訪問阻止噴口未經(jīng)授權(quán)連接的醫(yī)療設(shè)備)。在設(shè)計(jì)和部署新的安全機(jī)制時(shí),安全解決方案應(yīng)考慮CPS的安全問題。
CPSs即便擁有了上述機(jī)制,但也不足以保護(hù)其安全。隨著CPS安全成為主流領(lǐng)域,對(duì)于擁有安全機(jī)制、保護(hù)機(jī)制、容錯(cuò)機(jī)制、和魯棒控制機(jī)制的CPSs,已經(jīng)不能免受網(wǎng)絡(luò)攻擊。已經(jīng)有研究證實(shí),電網(wǎng)中故障檢測(cè)(壞數(shù)據(jù)檢測(cè))算法是如何被繞過的,通過發(fā)送與電網(wǎng)合理配置一致的錯(cuò)誤數(shù)據(jù)即可進(jìn)行繞過。攻擊者在傳感器中注入少量虛假數(shù)據(jù),從而使故障檢測(cè)系統(tǒng)無(wú)法將其識(shí)別為異常,現(xiàn)在已經(jīng)有現(xiàn)實(shí)世界的攻擊會(huì)針對(duì)這些用于預(yù)防事故的保護(hù)措施。
四、網(wǎng)絡(luò)安全和隱私問題
CPSs是醫(yī)療保健設(shè)備、能源系統(tǒng)、武器系統(tǒng)和運(yùn)輸管理的核心。特別是工業(yè)控制系統(tǒng),在關(guān)鍵的國(guó)家基礎(chǔ)設(shè)施中有著重大的作用及影響,如果這些設(shè)施的中斷,將會(huì)造成重大影響,并且會(huì)產(chǎn)生巨大的經(jīng)濟(jì)損失。例如,對(duì)電網(wǎng)的攻擊會(huì)導(dǎo)致停電,停電則會(huì)導(dǎo)致其他關(guān)鍵基礎(chǔ)設(shè)施(如供水系統(tǒng)、醫(yī)療系統(tǒng)等)產(chǎn)生級(jí)聯(lián)影響。攻擊GPS系統(tǒng)會(huì)導(dǎo)致司機(jī)到達(dá)了攻擊者期望的目的地。
4.1 針對(duì)CPSs的攻擊
一般來說,CPS控制的是一個(gè)物理進(jìn)程,一組傳感器向控制器報(bào)告進(jìn)程的狀態(tài),控制器又向執(zhí)行器(如閥門)發(fā)送控制信號(hào),以維持系統(tǒng)所期望的狀態(tài)??刂破鞒3Ec監(jiān)控設(shè)備或其他配置設(shè)備(如電網(wǎng)中的SCADA系統(tǒng)或醫(yī)療設(shè)備編程器)通信,這些設(shè)備可以監(jiān)控系統(tǒng)或更改控制器的配置。
圖2 CPS的總體架構(gòu)及攻擊點(diǎn)
1.攻擊步驟①表示攻擊者可以通過破壞傳感器(例如數(shù)據(jù)未經(jīng)驗(yàn)證的傳感器或者攻擊者擁有傳感器密鑰),并注入虛假的傳感器信號(hào),導(dǎo)致系統(tǒng)的控制器對(duì)惡意數(shù)據(jù)進(jìn)行操作。
2.攻擊步驟②表示攻擊者在傳感器和控制器之間的通信線路上進(jìn)行攻擊,攻擊者可以通過延遲甚至完全阻止傳感器到控制器的信息,使控制器失去對(duì)系統(tǒng)的可觀察性,從而導(dǎo)致控制器使用傳感器之前傳來的陳舊數(shù)據(jù)進(jìn)行操作。根據(jù)攻擊者采用延遲或阻斷數(shù)據(jù)通信可以分為拒絕服務(wù)攻擊和過時(shí)數(shù)據(jù)攻擊。
3.攻擊步驟③表示攻擊者可以直接攻擊控制器,例如通過控制器向執(zhí)行器發(fā)送錯(cuò)誤的控制信號(hào)。
4.攻擊步驟④表示攻擊者可以延遲或阻止任何控制器傳來的控制命令,使執(zhí)行器無(wú)法接受到控制器的任何控制命令或接收到過時(shí)的控制命令。這類攻擊也被認(rèn)為是針對(duì)執(zhí)行器的拒絕服務(wù)攻擊。
5.攻擊步驟⑤表示攻擊者可以破壞執(zhí)行器或使執(zhí)行器執(zhí)行與控制器意圖不同的控制動(dòng)作。這種攻擊不同于直接攻擊控制器,雖然都可以導(dǎo)致執(zhí)行器執(zhí)行計(jì)劃之外的行為,但從原理和結(jié)果還是有些細(xì)微的差別。
6.攻擊步驟⑥則是表示攻擊者可以直接對(duì)物理系統(tǒng)進(jìn)行物理攻擊(例如破壞部分的基礎(chǔ)設(shè)施),雖然這種攻擊不屬于網(wǎng)絡(luò)攻擊,但他可以與網(wǎng)絡(luò)攻擊結(jié)合起來一起被攻擊者使用,這樣的物理、網(wǎng)絡(luò)聯(lián)合攻擊可以使攻擊者更容易成功。
7.攻擊步驟⑦表示攻擊者可以延遲或阻止監(jiān)視控制設(shè)備及配置設(shè)備與控制器之間的通信,這種攻擊將使控制器無(wú)法收到或延遲收到配置設(shè)備的命令,或使監(jiān)視控制設(shè)備無(wú)法獲取控制器的信息。
8.攻擊步驟⑧則通過破壞或假冒SCADA系統(tǒng)及配置設(shè)備進(jìn)行攻擊,并向控制器發(fā)送惡意控制或更改配置信息。這類攻擊類型已經(jīng)在烏克蘭電網(wǎng)被攻擊事件中得到了證明,攻擊者破壞了SCADA系統(tǒng)控制室的計(jì)算機(jī)。
網(wǎng)絡(luò)安全的本質(zhì)是信息安全,而信息安全則包括了隱私泄露,CPSs還具有設(shè)計(jì)者未曾意料到的隱私泄露問題。CPS設(shè)備可以以前所未有的粒度收集各種人類活動(dòng)的物理數(shù)據(jù),如電力消耗、位置信息、駕駛習(xí)慣和生物傳感器數(shù)據(jù)等等,并且這種被動(dòng)的信息收集方式會(huì)讓很多人不知道他們的信息正在被收集,正規(guī)企業(yè)或工廠可以通過他們收集到的信息進(jìn)行分析,從而制定企業(yè)戰(zhàn)略或生產(chǎn)方式等計(jì)劃,但這些信息也將成為攻擊者的目標(biāo),攻擊者可以通過非法的手段獲取這些信息,造成用戶或企業(yè)的隱私泄露。
4.2 針對(duì)CPSs攻擊的真實(shí)案例
幾十年來,控制系統(tǒng)一直是關(guān)鍵基礎(chǔ)設(shè)施、制造業(yè)和工業(yè)工廠的核心,然而,很少有確認(rèn)的明確是針對(duì)控制系統(tǒng)的網(wǎng)絡(luò)攻擊案例(這里關(guān)注的是來自惡意對(duì)手的攻擊,而不是研究人員出于說明目的而發(fā)起的攻擊)。
非針對(duì)性攻擊是指因計(jì)算機(jī)可能遭受的相同攻擊引起的事件,屬于誤傷的攻擊。例如“Slammer”蠕蟲,它不加區(qū)別地攻擊Windows服務(wù)器,但無(wú)意中感染了戴維斯-貝斯核電站,影響了工程師監(jiān)控系統(tǒng)狀態(tài)的能力。另一個(gè)非目標(biāo)攻擊的例子是在水過濾裝置中使用控制器發(fā)送垃圾郵件。
針對(duì)性的攻擊是指對(duì)手知道他們的目標(biāo)是CPS,因此,根據(jù)特定CPS屬性調(diào)整攻擊策略。當(dāng)前特別關(guān)注對(duì)物理世界有影響的攻擊,而重點(diǎn)不在用于偵察CPSs的攻擊(如Havex或BlackEnergy)。
2000年澳大利亞昆士蘭Maroochy污水處理廠內(nèi)部工程師多次攻擊SCADA系統(tǒng),導(dǎo)致三個(gè)月時(shí)間內(nèi)有75萬(wàn)加侖未經(jīng)處理的污水流入公園、河流等場(chǎng)地,造成海洋生物損失、危及公共安全等后果,并造成了巨大經(jīng)濟(jì)損失。這是有公開報(bào)道的第一次CPSs受到攻擊。
2010年針對(duì)伊朗Natanz核濃縮項(xiàng)目的Stuxnet蠕蟲病毒,該病毒攔截了可編程邏輯控制器(PLC)上的讀、寫塊的請(qǐng)求。通過攔截這些請(qǐng)求,Stuxnet能夠在PLC操作員不知情的情況下修改發(fā)送或返回給PLC的數(shù)據(jù)。Stuxnet可以將不正確的轉(zhuǎn)速發(fā)送給驅(qū)動(dòng)鈾濃縮的離心機(jī)的馬達(dá),導(dǎo)致離心機(jī)故障,從而需要更換。結(jié)果,離心機(jī)設(shè)備不得不定期更換,降低了Natanz工廠濃縮鈾的產(chǎn)量。
參考文獻(xiàn):
1.加州大學(xué)圣克魯茲分校Alvaro Cardenas,《Cyber-Physical Systems Security Knowledge Area 》
2.智慧工業(yè),《聊聊信息物理系統(tǒng)(CPS)》
3.《信息安全與通信保密》期刊,《工業(yè)控制系統(tǒng)安全事件縱覽》
來源:網(wǎng)絡(luò)安全應(yīng)急技術(shù)國(guó)家工程實(shí)驗(yàn)室