谷神星網絡科技有限公司
工業控制網絡安全系列之五SCADA 通信協議的漏洞、攻擊及應對
谷神星網絡科技有限公司
工業控制系統(ICS)中,SCADA(監控和數據采集系統)的每一步操作都是嚴格遵照RTU(遠程終端單元)發出的指令來完成的,所以,想對采用SCADA的工業控制系統進行破壞,黑客只要修改相關數據或者阻礙數據傳輸就可以達到目的。
由于SCADA系統的通信協議在設計之初就欠缺安全考慮,所以SCADA系統對黑客們有很大的吸引力。這些黑客有兩種,一種是目標式攻擊者,一種是愚笨式攻擊者。愚笨式攻擊者一般都是些技術不熟練的生手,對付他們只要采用冗余系統或其他安全手段就可以了,不用費什么力氣。而目標式攻擊者多數技術嫻熟、智力超群,SCADA系統現有的安全手段很難防備。如果遇到攻擊方式多樣化的協同式攻擊(聯合攻擊),SCADA系統更是束手無策;而且,協同式攻擊還可通過偽裝和分解等手段來躲避偵測。可以這么說,如果策劃嚴密、實施得當,協同式通信信道攻擊幾乎可以摧毀現在所有的SCADA系統。不過,協同式通信信道攻擊只有在黑客做足風險分析,找到系統所有漏洞的前提下才能完成。
如果“換位思考”,從攻擊者的角度來考慮重要系統的安全防護工作,那么,首先就應該對通信信道進行風險分析,找出所有可能的漏洞,然后再采取應對措施,降低協同式通信信道攻擊風險。
采用風險分析或漏洞分析方法的另一個好處是,企業可以自行決定是對所有的設備實施安全防護,還是只對特定的某些區域進行安全防護,以在投入成本與安全效益之間取得平衡。
⑴IEC 60870-5-101和IEC 60870-5-104通信協議中存在以下幾個漏洞:
①IEC 60870-5-101協議中CS(校驗和)域只有一個字節;IEC 60870-5-104協議中則沒有CS域;傳輸數據的完整性完全取決于下一層;
② 對于應用層和數據鏈路層,兩種協議都缺少內在的安全機制;
③ 數據傳輸層的漏洞有:
a. 有限的帶寬限制了可傳輸幀的長度(如:兩個協議下,一次都只能傳輸255個8位位組)。
b. 通信介質的不可靠性(即通信介質不一定有安全機制)。
⑵IEC 62351安全標準也對這些漏洞進行了探討。攻擊者就是利用這兩個協議中的這些漏洞潛入系統并進行破壞的。其中,應用層漏洞可能導致的攻擊有電子欺騙和非否定攻擊;數據鏈路層漏洞可能導致的攻擊有嗅探攻擊、數據篡改和重放攻擊等。
⑶SCADA環境中可能會受到通信信道攻擊的環節有:
① MTU(主控終端)和RTU之間的通信(數據傳輸采用的是IEC 60870-5-101和IEC 60870-5-104協議)。
②MTU 和HMI(人機接口)之間的通信。
這些環節中,如果數據被修改,就可能導致控制出錯,并引發混亂。
⑴CS域漏洞
①CS域的位數不夠
IEC 60870-5-101協議中CS域只有一個字節,很容易發生溢出現象。早期SCADA研究中有很多這方面的論據。其中一個例子是,校驗和最大值為100的情況下,如果所有數據的和為130或230或330等時,那么CS域的值為30。這表明,只使用一個字節的CS域是不能準確反映校驗和的數值的。
② 單憑CS域不能保證數據的完整性
單純依靠CS域來檢查數據的完整性是不可取的。精明的黑客只要同時改變數據值和相應CS域的值,就可以瞞天過海。
⑵ 數據傳輸層的漏洞
數據傳輸的有限帶寬制約了數據包的幀長度。在IEC 60870-5-101和IEC 60870-5-104協議下,一次只能傳輸255個8位位組;同時,也不可能在傳輸幀中增加安全位。
缺乏安全機制的通信介質也是一個問題。通常,通信介質有雙絞線、光纖、無線電波等。如果通信介質為無線電波,那么,一個不在通信頻段的信號就能對數據通信造成頻率干擾。
IEC 62351安全標準為IEC 60870-5系列協議提供了安全機制。雖然IEC 62351對應用層提供了安全策略,但卻沒有考慮數據鏈路層的安全措施。因此,僅憑IEC 62351標準來保護DCADA系統通信協議的安全是不夠的。
⑴非協同式攻擊
目的:誤導控制中心操作員
缺陷:在交叉檢驗標識的值和范圍時容易被控制中心操作員發覺
非協同式攻擊也分兩種,愚笨型和智能型。
愚笨型攻擊非常簡單,攻擊者不需要具備通信協議相關知識,只要簡單修改幾個字節的數據,再發送到目的地即可。但是,MTU仿真器會根據CS值檢測出數據變化,并提示“校驗和不匹配”信息。所以,這類攻擊對系統不會造成大的影響。
智能型攻擊就需要了解系統所用的通信協議內容。圖1為IEC 60870-5-101協議中傳輸幀的格式。
圖1中,CF 控制域;LA 鏈路地址域;T1 類型標志域;VSQ 可變結構限定詞;COT 傳輸原因域;CAASDU應用服務地址單元域;CS 校驗和域;L 長度域;RES 保留位;PRM 信源信息位;FCB 幀計數位;DFC 數據流控制位;ACD要求訪問位。
圖1也對CF控制域的8個位元進行了描述。其中,ACD位是由從(受控)系統發送給主(控制)系統的,目的是告知主系統有數據需要傳送;主系統如果想讀取這些數據就會發出數據請求。通常這些數據與斷路器、開關等有關,所以大部分情況下,被視為關鍵數據。聰明的黑客非常清楚,只要修改ACD位和相應CS位的值,就可以蒙蔽主系統,主系統就接收不到這些關鍵數據。
還有一個DFC位,也是由從系統傳送到主系統的。目的是告知主系統,如果主系統繼續發送數據請求,就會導致數據溢出。那么,黑客如果修改DFC位和相應CS位的值,就可以讓主系統處于不斷等待狀態中。
ASDU(CAASDU)域和LA域分別儲存應用服務地址和鏈路地址。黑客如果篡改了這些域和相應CS位的值,那么RTU就不可能按照原定指令進行控制操作。
傳輸幀格式里的其他域(如TI、VSQ、CQT等)的值也可能被修改,不過這種修改很容易被操作員發覺,影響非常小。
⑵協同式攻擊
如果攻擊者想給某個組織或某個國家嚴重打擊,就會采取協同式攻擊,也稱作目標協同式攻擊。這種攻擊不是由個人進行的,而是由一組不同領域的專家共同完成。就像其他常見的利用通信信道攻擊獲取網絡接入和接入憑證信息一樣,他們收集的是通信協議及其域值的詳細信息。攻擊者會仔細研究通信協議,找出哪些漏洞可以用來進行最大限度的破壞。實驗證明,這種攻擊可以造成非常嚴重的后果。
攻擊者一旦獲取了代表執行器和斷路器等設備域的標識、值和范圍等信息,就可以發送控制命令,操縱這些設備,并給系統造成嚴重影響。協同式攻擊非常殘酷,也非常不容易被發現和控制。
在應用層,認證機制是很關鍵的安全防護手段。認證機制有兩種:操作員認證和MTU/ RTU認證。
操作員認證可以阻擋非否定攻擊。其認證機制是每個操作員都擁有一個獨立的認證憑據,并可設置操作員權限。所以,采用操作員認證可以讓操作員負起責任。
MTU/RTU認證可以阻擋電子欺騙/偽裝攻擊。IEC 62351安全標準提出的安全機制是只認證關鍵數據,不認證非關鍵數據,以減少對帶寬和處理能力的要求。IEC 62351還定義了一個積極模式機制,用于取代質詢響應機制。不過,積極模式的安全性沒有質詢響應機制高。另外,IEC 62351對認證憑據的修改/管理也提出了密鑰交換機制。
對當前的SCADA系統實行這些安全機制面臨的一個主要問題是,RTU和MTU軟件是不對外開放的第三方軟件。安全模型的設計只能在技術上和經濟上都不影響現有SCADA系統的情況下進行。因此,在不影響SCADA系統運行的前提下,應用層的安全機制只能由系統外部提供。這個可以利用單板機(SBC)實現。將單板機視為附加層,在這個附加的安全層里,傳輸數據會被包裝起來。
圖2是為IEC 60870-5-101協議開發的安全設計模型。其中的強化安全區(Security Hardener)就是一個SBC。
這個安全模型是完全遵照IEC 62351安全標準要求設計的。模型中,為了優化帶寬使用和處理能力,采用的是僅對關鍵數據進行認證的模式。

圖1 IEC 60870-5-101和104通信協議的幀格式

圖2 IEC 60870-5-101協議的認證安全模型
關于優化帶寬和處理能力的計算:IEC 60870-5-101 協議中ASDU(應用服務數據單元)的長度是25 B。通常,處理25 B需要100 ms。再考慮由SBC給應用層提高安全防護的質詢響應機制,其中質詢信息112 bit(23 B),響應信息72 bit(9 B);專門的ASDU請求和響應會占50 B。那么采用安全機制傳輸的字節總數為82 B(23+9+50)。
字節數的增加會增大帶寬的使用;用“X”來表示增加的處理能力。那么,新的處理能力應為“100 ms+X”。注意:“X”值會小于100 ms。
如果使用積極模式來代替質詢響應機制,那么額外增加的字節數應為57 B(積極模式請求7 B+數據傳輸50 B)。
注意:質詢響應機制的數據長度是根據所需的最小值(IEC 62351提到)來計算的,因為數據長度總有增加的可能。
圖3是IEC 60870-5-104協議的安全認證模型。IEC 60870-5-104協議是一個基于IP的協議,所以,某種程度上,它與IEC 60870-5-101協議的設計模型并不相同,但是,它們的數據傳輸機制都是差不多的。
這種模型也是完全遵照IEC 62351安全標準來設計的。由于認證機制中積極模式的安全性不夠,所以這種模式只采用了質詢響應機制。雖然在時間苛刻的情況下,積極模式非常重要,但通常的工作場景是可以承受質詢響應機制帶來的時間延遲的。
IEC 62351 安全標準只對應用層提供了安全防護措施。但是在SCADA系統中,僅實現應用層安全并不能保證關鍵數據的完整性。所以,為了保證數據完整性,需要引入安全加密機制。由于MTU和RTU都是第三方軟件,在實施數據鏈路層安全機制時,也會碰到線路機制。
經過對IEC 60870-5-101協議數據包格式的深入分析發現,在MTU和RTU之間傳輸的數據包有2種規格。一種長度<16 B,另一種長度>16 B。小于16 B的ASDU數據包在傳送時是完全加密的,大于16 B的ASDU數據包中,只有16 B(包括CS位)被加密,并與其余數據一起傳送。為提供更強大的安全防護,使用了AES-128位加密算法。我們已經對模擬實驗室里的SCADA測試臺使用了這種技術。加密技術可以有效防御數據篡改攻擊、重放攻擊以及嗅探攻擊等。在數據傳輸協議中采用時間戳技術也可以防御重放攻擊。
采用不同機制造成的時延如表1所示。
由于SCADA系統的通信協議缺乏應用層和數據鏈路層的安全機制,使得SCADA系統深受網絡攻擊之苦。這些網絡攻擊被犯罪分子用來作為破壞某個組織或國家的網絡戰爭武器。如果采用上述實驗研究模型,可以有效防御網絡攻擊,并可為SCADA系統提供應用層和數據鏈路層的安全防護。這個研究模型也是完全符合IEC 62351安全標準的。
(未完待續,“系列之六:新一代基于服務的SCADA/DCS系統化體系架構”見2015年第9期)

表1 不同機制造成的時延

圖3 IEC 60870-5-104協議的安全認證模型
ADI推出四通道、2.4 GS/s、16位數DAC AD9154
最近,Analog Devices, Inc. (NASDAQ∶ADI)——全球領先的高性能信號處理解決方案供應商推出四通道、2.4 GS/s、16位數模轉換器(DAC) AD9154,該器件在100 MHz ~ 300 MHz 頻段內具有業界領先的動態范圍性能,可用于復中頻發射機。高度集成的四通道、16位 DAC AD9154 是同類產品中唯一片內集成 PLL(鎖相環)和八通道 JESD204B 接口的器件。這些特性組合可讓設計人員采用單個器件滿足多載波 GSM 和 LTE 發射器針對無線宏基站、點對點微波無線電、軍用無線電和無線電測試設備的全部設計要求。這款最新的轉換器集成一系列針對復中頻發射應用優化的特性,包括復數數字調制、輸入信號功率檢捊以及增益、相位與失調補償。觀看最新款高速 DAC 的視頻請訪問: http∶//www . analog.com/AD9154video 。
(ADI公司供稿)