[工控安全] 001 ICS 工業控制系統與普渡模型
飛飛 | 2022-07-23工業控制系統
Industrial Control System 簡稱 ICS = 電腦與工業設備組成的自動控制系統,包含感應器(Sensor)、執行器(Actuators)、輸入端與輸出端組成。並且透過通訊協定,IT 場域可能常聽到 HTTP 或 TCP,而 OT 場域分成有開源與設備廠商閉源開發的通訊協定。
普渡模型
Purdue Enterprise Reference Architecture 簡稱 PERA = OT 與 IT 整合的參考模型,但實際上台灣有很多中小型企業的工控場域的連 IT 化都還不成熟。
該模型描述工控場域每一個設備之間的關係,共有六個區塊
- 第五層 企業智慧層
- 第四層 企業營運層
- 第三層 廣域現場製造和操作控制層
- 第二層 區域現場製造和操作控制層
- 第一層 控制層
- 第零層 受控設備層
其中第五層與第四層是 IT 場域,第三層到第零層是 OT 場域,以第零層開始講解:
第零層 受控設備層
- Equipment Under Control 簡稱 EUC
- 該層擺放許多工業製造流程中所使用的設備與元件。
- 生產設備、驅動器等,根據工廠的性質而使用的原料可能有塑膠、化學等原料。
- 過去以人力將原料放置設備內,工業轉型後可能採用機械手臂、機器人,並由第一層進行操控。
第一層 控制層
- 保護受控設備的系統,如 BPCS 和 SIS
- 基本製程控制系統(Basic Process Control System 簡稱 BPCS)
- 控制受控設備的系統,人員可操作該系統,確認原料的數量。
- 紀錄生產數值,可以產生受控設備的生產報告,進行確認。
- 可能包含警報記錄,如原料異常或設備異常等紀錄。
- 安全儀表系統(Safety instrumented system 簡稱 SIS)
- 保障生產安全,如偵測到氣壓太高可能關閉氣體閘。
第二層 區域現場製造和操作控制層
- 監控基礎建設的設施,查看執行與事件偵測和回應得控制器、監控器或操作介面。
- 可程式化邏輯控制器(Programming Logic Control 簡稱 PLC)
- 變頻驅動器(Variable-frequency Drive 簡稱 VFD)
- 人機操作介面(Human Machine Interface 簡稱 HMI)
第三層 廣域現場製造和操作控制層
- 監控整個工控場域
- 監控和資料蒐集系統(Supervisory Control And Data Acquisition 簡稱 SCADA)
- 分散式控制系統(distributed control system 簡稱 DCS)
第四層 企業營運層
- 企業核心 IT 系統
- 企業資源規劃系統(Enterprise Resource Planning 簡稱 ERP)
- 產品生命週期管理系統(Product Lifecycle Management 簡稱PLM)
- 供應鏈管理系統(Supply Chain Management 簡稱 SCM)
- 客戶關係管理系統(Customer Relation Management 簡稱 CRM)
第五層 企業智慧層
- 現代趨勢構建雲端環境,並透過大數據分析,採用機器學習和人工智慧分析製成資料,進而使生產效能提高。
特殊區域 IDMZ
工控區域的非軍事區(Industrial Demilitarized zone, IDMZ)
DMZ 是在 IT 場域中,透過防火牆區隔一個網段,讓使用者可以存取企業的公開資訊,因為網段的設定無法存取企業內部敏感資訊。
而 IDMZ 則是於 IT 與 OT 之間,區隔一個 DMZ 區,讓 OT 與 IT 並非可直接互相存取,提升安全性。
重點回顧
- 何謂工業控制系統
- 普渡模型
- IDMZ
[ATT&CK®] 3 分析攻擊手法制定紅隊演練流程
飛飛 | 2022-07-01紅隊演練訓練環境
建立靶機環境與知識庫
透過上一篇文章,分析三十六個 Techniques 為範例,分析攻擊手法後作為紅隊演練的訓練,可以制定一套學習 Windows 的流程與進度表:
第零步:了解 Windows 歷史與文件
- Windows 版本與Windows 伺服器版本
- 各版本的差異與功能不同
- 已知弱點(如 CVE)也需要注意版本
第一步:了解基本指令的操作
分析 ATT&CK® 針對 Windows 相關的 Techniques,可以發現 APT 組織皆以 Cmd 或是 Powershell 作為攻擊媒介,因此可以針對兩種指令進行訓練。
可以針對 ATT&CK® 所使用的指令,進行學習,作為補充指令。
cmd 命令提示字元,可參考 初學者之卷 所撰寫的教學。
Powershell:可參考微軟官方文件。
Get-Help Command-Name
:取得幫助內容。Get-Command
了解目前主機安裝多少 cmdlet。Invoke-WebRequest
:送出請求,取得網頁內容。- 嘗試了解 APT 組織所使用的 PowerShell 指令
第二步:了解 Windows File System
- Logical drives:硬碟 C 槽
- 預設資料夾(PerfLogs、Program Files and Program Files (x86)、Users)
- 預設檔案(作業系統的程式碼)
了解這些預設資料夾的功能與預設檔案的功能。
第三步:Windows 權限檔案
權限主體分成 Users 跟 Group ,而可以設定的權限可以分成以下七個:
- Full control:允許使用者、群組設定資料夾與其他人的所有權限(修改、讀取、寫入、執行)。
- Modify:允許使用者和群組修改、讀取、寫入和執行檔案。
- Read & execute:允許使用者和群組讀取和執行檔案。
- List folders content:允許使用者和群組列出資料夾內容,含子資料夾。
- Read:僅允許使用者和群組讀取檔案。
- Write:允許使用者和群組寫入指定資料夾。
- Special permissions:特殊存取權限。
使用 icacls 檢查檔案權限和資料夾權限:
- I:從父容器繼承的權限
- F:完全控制
- M:修改權限
- OI:對象繼承
- IO:僅繼承
- CI:容器繼承
- RX:讀取並執行
- AD:追加子資料夾
- WD:寫入資料
第四步:Windows 身分驗證
驗證身分該使用者的合法性。
- 身分驗證帳戶:本機使用者帳戶和系統管理員帳戶。
登入概念
- 認證:確認身分過程,認證 = 憑證 + 驗證
- 授權:該使用者可以做什麼操作與可以存取什麼資源。
- 憑證:身分證明:系統使用者帳號和密碼
驗證階段透過 Local Security Authority(本機安全性驗證),管理本機安全性原則,進行驗證。
- 了解 Windows 驗證的原理與流程
- Windows 內建帳號與群組的關係
net
指令的相關應用- Windows 密碼與雜湊(NTLM)
第五步:Windows 內建功能
一、Computer Management:電腦管理
- 工作排程器:可以指定特定條件自動執行定義與操作。
- 事件檢視器:查看 windows Log 相關事件(成功、失敗登入事件與系統錯誤),可以將 Log 轉發到 SIEM 中確認惡意動作。
- 共用資料夾:在網路上共享可以被多個使用者存取的目錄或資料夾。
- 本機使用者和群組:可以新增使用者,可以管理群組。
- 效能:監視設備的 CPU 使用率、記憶體使用率。
- 裝置管理器:硬體管理,網路介面卡、滑鼠、韌體。
- 磁碟管理:可以縮小、擴展、新增分區並格式化。
- 服務和應用程式:可以檢查系統上正在執行的服務,啟動、停止、重新啟動。
二、Local Security Policy:本機安全性原則
三、Disk Cleanup
四、Registry Editor
Win + R + RegEdit
五、Registry Editor (Regedit)
第六步:Windows Server
了解 Windows Server 的伺服器可衍生出多種功能。
第七步:Windows Log
Windows 預設路徑 C:\Windows\System32\winevt\Logs
。
三種查看 Windows 事件的工具
- Event Viewer
- Wevtutil.exe
- Get-WinEvent
五種 Windows 紀錄的事件
- 關閉 Windows IIS HTTP Logging 的手法
C:\Windows\System32\inetsrv\appcmd.exe set config “website_name” /section:httplogging /dontLog:true
第八步:Active Directory
了解 Active Directory 與 Azure Active Directory 的差別,以及驗證方式的不同。
Active Directory
- NTLM
- LDAP / LDAPS
- KERBEROS
Azure Active Directory
- SAML(安全性聲明標記語言)
- OAUTH 2.0
- OpenID連接
第九步:惡意腳本撰寫
分析 APT 組織所撰寫的惡意腳本內容,並學習該程式語言以及了解惡意腳本執行方式與內容。
- PowerShell
- VBScript
- JavaScript
以上為透過分析 Techniques 初步制定紅隊演練的學習流程,可以再繼續透過分析 Technique 了解更多攻擊手法,將紅隊演練的知識樹擴展。
參考網址
- https://github.com/redcanaryco/atomic-red-team/
- https://blog.malwarebytes.com/threat-analysis/2020/02/fraudsters-cloak-credit-card-skimmer-with-fake-content-delivery-network-ngrok-server/
Terms of use
- MITRE ATT&CK® and ATT&CK® are registered trademarks of The MITRE Corporation.