ISA/IEC 62443 Part 4: Component | OT 場域資訊安全的六脈神劍
文章目錄
「六脈神劍,並非真劍,乃是以一陽指的指力化作劍氣,有質無形,可稱無形氣劍。」
因為「指法」達到「四品」的境界,六脈「神劍」才得以堪稱「劍中無匹」,對比 OT 場域資安標準 ISA/IEC 62443-4-1[1] 正是因為有 ISA/IEC 62443-4-2 [2]的「底氣」,才有以戈止戰的立足點.
我們很容易忙碌於黃金圈外層的「做什麼」與「怎麼做」,忘了「為什麼」。 黃金圈理論 - 賽門.西奈克
ISA/IEC 62443 Part 4 Component 被台灣被廣泛討論,甚至在 google trend 上台灣是世界第一的熱點.討論的範疇從入門到進階都有,但總是少了點什麼.ISA/IEC 62443 Part 4 由 Part 4-1 (ISA/IEC 62443-4-1) 和 Part 4-2 (ISA/IEC 62443-4-2) 組成.分別對應黃金圈理論的「怎麼做(策略與流程)」與「做什麼(要求)」.然而,在一開始就必須探索的「為什麼」反而甚少人提及,這往往成為專案內相關利害關係人沒辦法對齊相同的目標與願景的主因,進而導致推動上的阻礙甚或失敗.
本篇不會討論技術上的實作細節,而是從「為什麼」開始,以攻擊者的觀點描述攻擊的七個步驟,讓導入 ISA/IEC 62443 的防守方得以理解需求「為什麼要做」以及「為什麼不做」.並且將「要做」到事情由上而下以策略與要求兩個層面說明其核心精神.希望能夠解決防禦資源分散的問題,藉此也建立利害關係人的共同畫面,對齊彼此目標,實現願景.
Cyber Kill Chain
Lockheed Martin 洛克希德馬丁以駭客攻擊為樣本,解析駭客攻擊程序為「偵查(Reconnaissance)」、「武裝(Weaponization)」、「運送(Delivery)」、「揭露(Explore)」、「潛伏(Install)」、「命令與控制(Command & Control)」以及「行動(Action on Objectives)」七個步驟[3].回顧腦海中浮現的戰爭場景,是不是都滿足這七個步驟,而且在心中充滿既視感呢.
https://unsplash.com/photos/5EUh-tq31eA
網路攻擊行動和傳統戰場看似不同,但其實存在很多的共通點
目的
戰爭不外乎「爭奪別人」的資產的一方,與保護「自己(或利害關係人)的資產」的一方.資訊戰和現代戰爭最大的差異,或許僅止於現代戰爭的「資產」偏向於抽象的價值,例如可口可樂的配方、敵國的關鍵軍事設施等等.
手段
既然目的相同,達到目標的過程自然相近.儘管網路攻擊因為「決戰於千里之外」到特性,不容易觀察具體的「物理行動」.但假想敵終究是人,過去數千年來從傳統戰爭所累積的經驗,即便各有巧妙不同,一樣適用於資訊戰攻防的借鏡.
網路攻擊七步驟
就讓我們站在具備專業能力且擁有一定資源與動機駭客的角度,觀察受過良好訓練的駭客會怎麼攻擊,我們又該如何進行防禦.以下的思想演練也邀請讀者們套用於於手邊的產品/服務開發系統文件,透過「把手弄髒」的過程,讓資安落地.
偵查 (Reconnaissance)
在對目標進行攻擊前,最重要的是搜集目標情報找到突破口.常見的手法可能是社交攻擊以及主/被動弱點評估(vulnerability active/passive assessemnt).「攻其無備、出其不意」是偵查階段的攻擊方針,因此選用主動或被動取決於對方是否具備偵測機制( 例如目標系統是否受到 IPS/IDS 的保護).在目標設備受到保護的狀況下,使用主動弱點評估有可能在發送封包執行服務掃描的過程中被發現攻擊意圖,而造成攻擊的失敗.在此情境下使用被動弱點評估雖然獲得的情資(系統作業系統、系統版本、提供的服務以及服務版本)會受到限制,但不失為權宜的做法.
武裝 (Weaponization)
根據偵查結果是否被揭露,選擇對應的武器(惡意程式).舉例來說,如果發現目標的服務與版本存在被揭露且可能存在尚未修復的問題,攻擊者會優先取得對應的攻擊工具或相關的揭露資訊.反之,如果找不到任何已知漏洞,攻擊者就需要分析哪一個攻擊層面比較有機會切入,自行開發程式或使用工具,以執行零日攻擊(0-Day Attack).
投放 (Delivery)
準備好武器後,下一個步驟即準備將武器投射至戰場(目標設備).常見的作法有透過 e-mail、網站、隨身碟等等方式.以上幾種方式是透過企業或系統內部「人」的資安流程缺陷投放武器至目標系統. 另一種投放策略,則是藉由下一階段的「揭露(Explore)」找出「系統」在產品開發週期的弱點,在取得必要傳輸權限後,將惡意程式傳送至系統內.技術難度相對比較高,但取得權限後有機會完全掌握目標設備的所有權限,甚至做為跳版進攻更價值的關鍵設備.
揭露 (Explore)
在武器進到戰場後,「使用武器的人」以及「攻擊發起線」會很大程度左右戰場結果.對應到資訊戰則是攻擊者在這個階段企圖取得使用者權限以及其權限影響範圍.此階段的重點,在於利用系統漏洞取得權限. 大部分的情況,攻擊者會先取得使用者權限後,透過提權取得系統管理者權限.部分情況可能因為系統未做好設定導致攻擊者直接利用漏洞取得系統管理者權限.
潛伏 (Install)
潛伏時間的長短與攻擊目標有關,如果一次性的揭露即可達到目標,則潛伏階段相對短暫.但很多時候取得目標權限的目的是等待合適的時間點,發起一次性的精準打擊,因此需要維持先前的揭露的成果,以確保不受時間影響,在關鍵時刻發起攻擊.(例如:系統不定期關機或歲修)
常見的做法會是作為系統程式安裝在目標設備中,並且使用混淆後的程序名稱在系統背景執行,近期常見的勒索軟體即為此例.
命令與控制 (Command & Control)
命令與控制的目地在於建立攻擊者與目標系統內惡意程式的溝通通道(例如:reverse shell),透過通道傳送發起攻擊的命令.一般來說,如果系統內有多層防護(例如防火牆設備)在執行時雖然還是有機會透過 port forwarding 避開防火牆的阻礙,但確實可以很大程度消耗攻擊者的資源.
行動 (Action on Objectives) 發起攻擊!!
防禦策略 (ISA/IEC 62443-4-1)
如同真實的戰場,不論是攻擊或是防守都有對應的「戰略規劃」與「戰術應用」,ISA/IEC 62443-4-1 即為產品的防禦策略,ISA/IEC 62443-4-2 則建立了戰術應用的準則.以下即針對防禦策略與技術要求說明其核心精神並列舉標準要求供各位參考:
偵查
防禦方針在於讓攻擊者「偵查無果」與「不敢偵查」,對應 ISA/IEC 62443-4-1 要求:
ISA/IEC 62443-4-1: SD-2 Defense in depth design 根據威脅建模(threat modeling)的結果,實作多層防禦機制,藉此降低下一層的攻擊層面(attack surface).
ISA/IEC 62443-4-1: SVV-3 Vulnerability Testing 分析攻擊層面判斷進出系統的弱點,測試提供的服務或進出的埠口(port)是否可能被攻擊者用來做為提權(elevated privileges)的破口 ,並執行對應的修補.
武裝
從攻擊觀點可以得知,只要即時修復產品已知漏洞,就可以大幅增加攻擊者的攻擊成本,降低攻擊意願.因此此階段的防禦方針即為模擬攻擊者的的武裝流程,透過威脅建模分析攻擊者可能的攻擊模式,並透過相應的測試,檢驗產品是否具有已知漏洞,以及評估是否足以防禦攻擊者的 0-Day 攻擊.
ISA/IEC 62443-4-1 參考內容如下: SR-2: Threat model SVV-2 Treat Mitigation Testing SVV-3 Vulnerability Testing SVV-4: Penetration testing
投放、揭露與潛伏
這兩個攻擊面向的防禦方針,在於降低系統在開發生命週期各階段的安全功能以及透過安全測試,及早發現問題.
ISA/IEC 62443-4-1 參考內容如下: SD-4: Secure design best practices SI-1: Secure Implementation Review SI-2: Secure Coding Standards SVV-3: Vulnerability Testing SVV-4: Penetration Testing SUM-4: Security Update Delivery
攻擊
面對攻擊不外乎「事前預防」與「事後反應」,對應 ISA/IEC 62443-4-1 參考內容如下:
事前預防: SR-2: Threat model
事後反應: DM-1: Receiving notifications of security-related issues DM-2: Reviewing security-related issues DM-3: Assessing security-related issues DM-4: Addressing security-related
防禦技術要求 (ISA/IEC 62443-4-2)
資安等級
用兵之法,無恃其不來,恃吾有以待也;無恃其不攻,恃吾有所不可攻也。──《孫子‧九變》
早在 2500年前,孫子充分展現了中國文化的智慧,這句話中有三個關鍵字:「敵」、「我」、「待」. 關鍵字:「敵」 根據其「意圖」、「動機」、「能力」與「資源」依威脅程度分級為
- 非故意且不具對應能力與資源的非授權使用者.
- 故意且但動機不足、不具特定能力與資源不算充裕的非授權使用者.
- 故意且具有中度動機、具備對應的技術能力且具備中度資源的非授權使用者.
- 故意、具備高度動機與對應的技術能力.此外,還有高度資源(可能是國家等級的資源)的非授權使用者
關鍵字:「我」、「待」 面對以上四種等級的敵人,「我」們應該視「可用的資源」以及「我方」願意承擔的風險,選定對應的技術等級,是吾有以「待」之.
攻擊總是比防禦需要準備更多的資源,因此攻擊方的策略是將資源挹注在少數有機會的缺口,找到破口後再深入挖掘可以利用的漏洞,獲得更多可供利用的破口;防禦雖然有先天的優勢,但因為守備範圍廣,所以重點在於延展防守的廣度以及縱深的防禦. 根據可接受的風險選定對應的策略,除了避免殺雞用牛刀的情況,也藉由這樣的方式,讓資源能夠聚焦在關鍵的資產部位,降低風險..
安全限制
在進入安全要求前,有四項安全限制是不可以違背的,藉由這四項限制讓產品與系統的安全策略一致,不相牴觸.
- 先求不傷身體在講求療效:必須支援必要功能(essential function)的運作
- 成功不必在我:不需要所有安全要求都由單一產品(元件)實作,也可以透過系統內的其他元件藉由縱深防禦補償安全弱點.
- 建立防火牆:所有的元件(component)僅開放運作所需最小權限,避免攻擊者攻擊成功後取得不必要的權限
- 戰略與戰術協同一致:戰術與戰略相互搭配,才能避免建樹不見林的問題,ISA/IEC 62443-4-2 的技術要求必須與 ISA/IEC 62443-4-1 定義的防禦策略一致.
七大基礎要求 (Fundamental Requirements, FR)
FR 1 – Identification and authentication control
以保障授權使用者合法存取為目標,從非授權存取手法分別就「攻擊路徑」、「帳號與識別管理」、「識別器(Authenticator)管理」、「密鑰/公私鑰管理」這幾個面向進行要求.
常見的 Public Key Infrastructure (PKI) 管理議題、證書洩漏或過期問題都屬於此項.在此項如果發生資安問題,常見的影響會是敏感資料外洩以及系統被非授權使用者接管或控制,同時也是攻擊者取得基礎授權的第一步,不可不慎.
FR 2 – Use control FR 1 講的是角色或是使用者的識別, FR 2 則是通過識別後的權限控管.其內容涵蓋了「授權管理」、「會議 (session)管理」、「動態執行碼(mobile code)管理」以及「稽核資料保護」.常見的會議劫持(session hijacking)、跨站請求偽造(Cross Site Request Forgery, CSRF)、跨網站指令碼攻擊( Cross-Site-Scripting, XSS)都屬於此範圍.
此項目長踞 OWASP Top 10,且頻繁出現在網站服務以及遠端服務上,漏洞數多且攻擊成功率高,是防守方需要特別留意的項目.
FR 3 – System integrity
FR 3 規範了「通訊、程式碼、軟韌體與會議(session)的完整性」以及問題發生時的反應機制.
當中的「注入驗證 (Input Validation)」與「惡意程式防護(Protection from Malicious Code)」是在「揭露」階段常用的手段.透過注入攻擊(Injaction Attack)觸發異常行為(例如:記憶體溢位),進一步執行惡意程式(malicious shellcode)取得控制權;惡意程式防護,在程度上也與注入攻擊相似,只有在攻擊的策略有不同.
其中,在針對嵌入式設備的要求(Embedded Device Requirements EDR 3.2)中,特別列舉對應的防護機制,諸如:No Execute (NX) bit、data execution prevention (DEP)、address space layout randomization (ASLR)等等.雖然進階的攻擊手段有機會繞過上述防護機制,但也著時遏止初階的攻擊行為以及消耗中高階攻擊者的資源,降低攻擊動機、增加反應時間.
FR 4 – Data confidentiality
FR 4 定義了「敏感性資訊的保護要求」以及「使用的密碼邏輯」.其中,「使用的密碼邏輯」推薦以 NIST FIPS 140 定義的密碼模組規範,以提供防護端更完整的安全要求標準以及指引.
FR 5 – Restricted data flow
FR 5 定義了「網路切割要求(Network Segmentation)」並導入「Zone」的概念,藉由相同安全能力的設備,組成 Zone 的範圍.並以安全能力決定 Zone 與 Zone 之間允許傳遞的資訊,藉以將重點資源投放在關鍵的設備(例如 Zone 和 Zone 的邊界),做好資料流的管理.
FR 6 – Timely response to events
FR 6 除了定義「稽核紀錄管理」以在於問題發生時判斷問題來源、盤點損害範圍並快速做出反應外.也定義了「持續監控機制」,期能在最快時間內偵測入侵活動.
FR 7 – Resource availability
FR 7 規範了「資源管理」以及「系統備援機制」,解決或降低目標設備資源被耗盡後的影響.今(2021)年即發生好幾起國內網路供應商受到分散式阻斷服務攻擊,導致系統無法正常提供服務的情況.倘若防禦端的設備與健康、安全及環境相關,則更需要留意此類型的攻擊行為,避免造成人員、財產的損失.
結語
矛盾不矛盾
楚人有鬻盾與矛者,譽之曰:「吾盾之堅,物莫能陷之。」以譽其矛曰:「吾矛之利,於物無不陷也。」或曰:「以子之矛陷子之盾,何如?」其人弗能應也。夫不可陷之盾與無不陷之矛,不可同世而立。 <<韓非子,難一>>
<<韓非子>> 內的楚人扮演一個常見的標準錯誤示範:「只有規格但沒有測試,如何驗證結果?」,但他很幸運的被點出問題,「以子之矛陷子之盾,何如?」.雖然故事沒有下文,但如果故事背後的展開是楚人在每做出一面盾之後,便根據這個盾的用途與使用情境,選擇合適的矛做測試.測試的結果作為矛與盾的改善標的.在持續的強化迭代下,矛與盾不再矛盾,最終成為捍衛楚國的神兵利器.
對比 ISA/IEC 62443,持續符合情境的改善方案記述在 ISA/IEC 62443-4-1 ;定義矛要多利、盾要多硬的則是 ISA/IEC 62443-4-2 的範疇.如果不想和故事中的楚人踏進相同的誤區,兩個標準必須相互搭配成為增值迴路,不可或缺.
此外,資安威脅是期待的安全等級與實際安全防護間的差距,補足這段差距的是名為 ISA/IEC 62443-4-1 的策略,以及 ISA/IEC 62443-4-2 的要求.這當中最容易被忽略的是「實際安全防護」的量度.除了透過威脅建模以及相關測試作為模擬考與隨堂考之外,更重要的是理解攻擊者的思維脈落,才能根據自身能夠承擔的風險對症下藥,讓防守方取得與攻擊者在不對稱戰場上匹敵的能力.
-
ISA/IEC 62443-4-1 Product security development life cycle requirements ↩︎
-
ISA/IEC 62443-4-2 technical security requirements for IACS ↩︎
-
https://www.lockheedmartin.com/en-us/capabilities/cyber/cyber-kill-chain.html ↩︎
文章作者 Legnacra
上次更新 2022-04-03