<span id="guzba"><ruby id="guzba"></ruby></span>
  1. <track id="guzba"></track>
    <menuitem id="guzba"><dfn id="guzba"><menu id="guzba"></menu></dfn></menuitem><tbody id="guzba"><div id="guzba"></div></tbody>

    1. <tbody id="guzba"><div id="guzba"><td id="guzba"></td></div></tbody>

           

          基于ATT & CK技術矩陣,在工業控制系統安全防護的實踐

          2021-11-30 14:47:23來源:深圳融安網絡科技有限公司

          前言

          ATT&CK是近幾年最火的攻防框架,通過公開的信息和安全社區對攻擊者的行為進行研究,匯聚了攻擊者使用的各種戰術和技術,同時也提供了如何緩解和檢測各項入侵技術的方法,以便防御者能了解到攻擊者入侵時使用的各種手段以及如何進行防御,徹底改變了長期以來“防”落后于“攻”的局面。


          ATT&CK中不但匯聚了對手攻擊企業使用的技術,而且匯聚了對手攻擊工業控制系統使用的各種技術,對研究如何做好工業系統的安全具有重大意義。



          一、什么是ATT&CK?


          ATT&CK (Adversarial Tactics, Techniques & Common Knowledge) 是 MITRE 公司開發的、基于真實環境觀察攻方戰術和技術的知識庫,ATT&CK于 2015 年 5 月發布 。

          MITRE 作為一家由美國政府資助的非盈利研發機構,向美國政府提供系統工程、研究開發和信息技術的支撐,主要包括航空、國防、醫療保健、國土安全和網絡安全領域。


          ATT&CK 專注于外部對手如何在內部破壞和操作計算機網絡。起源于一個記錄和分類針對 Windows 系統的對手戰術(tactics) 、技術(techniques)和程序(procedures)(TTP) 的項目,主要用于增強惡意行為的檢測。目前,已經發展到包括 Linux 和macOS,并且已經擴展到移動設備、基于云系統和工業控制系統。


          下圖是ATT&CK的企業技術矩陣,里面包含了攻擊者用到的各種戰術和技術。


          ATT&CK 為工業控制系統打造了專屬的技術矩陣

          在高層次上,ATT&CK 是一種行為模型,包括以下內容核心組件:

          ? 戰術,表示攻擊期間對手的短期戰術目標;

          ? 技術,描述對手實現戰術目標的手段;

          ? 子技術,描述對手實現戰術的更具體的手段;

          ? 記錄對手對技術、其程序和其他元數據的使用。



          核心組件一、戰術(Tactics)



          在ATT&CK內,戰術(Tactics)代表了 ATT&CK 技術的“原因”,是攻擊者執行行動的戰術目標。而作為單個技術有用上下文類別,涵蓋了對手在操作期間所做事情的標準、更高級別的表示,例如權限維持、信息收集、橫向移動、執行文件和竊取數據等,可以認為是對攻擊者使用的技術按攻擊目的來進行分類。

          ATT&CK框架的十四個戰術)


          核心組件二、技術(Techniques)


          在ATT&CK技術中,技術(Techniques)是代表了對手“如何”通過執行行動來實現戰術目標。例如,攻擊者可能會轉儲憑證以獲得密碼憑證(一種技術),這些憑證可在以后用于橫向移動。技術也可以代表對手通過執行行動獲得的“什么”。實現戰術目標的方法或技術可能有多種,因此每個戰術類別中都有多種技術。如下圖所示:


          核心組件三、程序 procedures


          在 ATT&CK 內,程序是對手使用技術或子技術的具體實現,又是TTP概念的另一個重要組成部分。例如,APT28 的一個程序是使用 PowerShell 注入 lsass.exe ,以實現在受害主機上抓取 LSASS 內存來轉儲憑據。程序示例如下圖:


          關于 ATT&CK 中的程序需要注意的兩個重要方面:一是、對手如何使用技術和子技術;二是、程序可以跨越多種技術和子技術的問題。

          擴展前面的例子,對手用來轉儲憑據的程序包括 PowerShell、進程注入和抓取LSASS 內存,都是屬于不同的行為,并且,程序還可能包括在執行過程中使用的特定工具。在 ATT&CK 技術和子技術頁面的“程序示例”部分中把技術的在野利用記錄為程序。


          其中,ATT&CK 中的緩解措施表示可以使用的安全概念和技術類別防止技術或子技術被成功執行。


          核心組件四、組 (Groups)、軟件(Software)


          組 Groups:ATT&CK的組是一組相關的入侵活動,通過安全社區中的通用名稱進行跟蹤。分析師使用各種分析方法和術語(例如威脅組、活動組、威脅參與者、入侵集和活動)跟蹤活動組。由于不同的組織以不同的名稱跟蹤類似的活動,一些團體可能有多個名稱與類似的活動相關聯。


          軟件 Software:ATT&CK的軟件是自定義或商業代碼、操作系統實用程序、開源軟件或用于在 ATT&CK 中建模的其他工具的通用術語。由于各種組織以不同的名稱跟蹤同一組軟件,因此某些軟件實例具有與同一實例相關聯的多個名稱。示例包括 PsExec、Metasploit、Mimikatz,以及 Windows 實用程序,如 Net、netstat、Tasklist 等。



          ATT&CK 對象模型關系


          ATT&CK 的每個高級組件都以某種方式與其他組件相關


          一個持續威脅組織(APT)的示例,其中 APT28 使用 Mimikatz針對 Windows LSASS 進程內存的憑證轉儲:


          基于威脅行為的安全方法論


          MITRE ATT&CK 基于威脅行為的網絡入侵檢測方法論以五項原則為指導。



          二、ATT&CK的作用



          ATT&CK 提出了現代檢測方法的不足之處:

          ? 大多數 AV 應用程序可能無法可靠地檢測自定義工具,因為這些工具在使用前,就已經經過對手專門的產品測試,甚至可能已使用了逃避其他類型惡意軟件檢測的混淆技術。

          ? 攻擊者也有能力在系統上使用合法功能來實現他們的目的。

          ? 其他當前的網絡安全方法,例如威脅情報訂閱或共享可能對于檢測對手作用不大,因為對手指標變化太快。典型的網絡流量檢查也沒有用,因為APT的流量一般是通過有效的SSL加密的。


          ATT&CK可用于對手模擬、紅隊演練、行為分析開發、防御短板評估、SOC成熟度評估和豐富網絡威脅情報。

          對手模擬:ATT&CK可作為創建對手模擬場景的工具,進行測試和驗證防御常見的對手技術。特定對手組織的配置文件可以是根據 ATT&CK 中記錄的信息構建而成。防御團隊也可以使用這些配置文件來調整和改進防御措施。

          紅隊演練:在不使用已知威脅情報的情況下應用對抗性思維進行演習。紅隊專注于在未被檢測到的情況下完成最終目標。ATT&CK可用作創建紅隊計劃和組織操作來繞過某些網絡中可能采取的防御措施。它也可以用作開發新的攻擊路線圖,執行常見防御手段無法檢測到的操作。

          行為分析開發:超越傳統的入侵指標(IoC)或惡意活動簽名,行為檢測分析可用于識別系統或網絡中潛在惡意活動而不依賴已知的對手工具和指標。ATT&CK 可用作構建和測試行為分析以檢測對手的行為。網絡分析資料庫(CAR)就是一個行為分析的例子,可用作組織開發行為分析的起點。

          防御短板評估:防御短板評估允許組織確定企業的哪些部分缺乏防御和可見性。這些短板代表盲點,允許攻擊者在未被發現的情況下訪問其網絡。ATT&CK可以作為一種以行為為中心的對抗模型來規避企業組織內現有的防御短板。對于已發現的盲點,可以優先投資可以檢測該盲點的安全產品。

          SOC成熟度評估:一個組織的安全運營中心是許多大中型企業持續監控網絡威脅活動的關鍵組件。ATT&CK 可用作一種測量,以確定SOC在檢測、分析和響應入侵時的有效性。類似于防御短板評估,SOC成熟度評估側重于SOC 用于檢測、理解和響應不斷變化的網絡威脅的過程。

          豐富網絡威脅情報:網絡威脅情報包括影響網絡安全的網絡威脅和威脅組織的知識。它包括有關惡意軟件的信息,工具、TTP、技巧、行為和其他與威脅相關的指標。ATT&CK可用于通過行為的視角來理解和記錄對手組織的信息,而與團隊可能使用的工具無關。分析師和防御者可以更好地了解跨多個組織的常見行為并更有效地防御。了解多個組如何使用相同的技術行為,使分析師能夠專注于跨越多種威脅的有效防御。



          三、ATT&CK在工業控制系統安全防護的實踐



          面對攻擊手段不斷變化的對手,即使部署了防火墻、入侵檢測、終端安全、堡壘機、安全管理中心等設備,也不能保證能夠抵御通過精心準備的APT攻擊。因此我們需要一個面向實戰攻防的技術框架。通過使用威脅情報了解最新對手的行為,將用到的技術映射到ATT&CK中去,接著使用對手模擬來模擬對手的行為,然后分析當前的安全設備能否檢測到最新的威脅,最后評估目前的防御短板,思考當前的防御需要做哪些調整,需要添加哪些安全設備來覆蓋短板。最終實現安全運營能力的不斷上升。


          那么,如何把 ATT&CK 應用到工業控制系統的安全防護中去?可以從威脅情報、檢測和分析、對手模擬和紅隊,以及評估和工程化四個方面去進行實踐。


          威脅情報


          網絡威脅情報就是了解你的對手做了什么,并使用這些信息來改進決策。例如我們關注的是工業控制系統中普遍存在的勒索病毒的 TTPs,可以使用 attack-navigator 把所有想關注的勒索病毒添加到技術矩陣中,以查看它們使用的所有技術,以及哪些技術是高頻使用的。https://mitre-attack.github.io/attack-navigator/

          下圖是使用 attack-navigator 生成的 REvil 和 EKANS 勒索病毒使用的技術,其中紅色的為 REvil 使用的技術,黃色的為 EKANS 使用的技術,綠色的是兩個勒索病毒共同使用的技術,可以優先進行研究。


          檢測和分析


          在研究完工業控制系統中勒索病毒的行為后,可以開始構建分析以檢測勒索病毒的TTPs?;?ATT&CK 的分析不是識別已知的問題并阻止它們,而是收集有關系統上發生的事情的日志和事件數據,并使用這些數據來識別 ATT&CK 中描述的可疑行為。

          創建和使用 ATT&CK 分析的第一步是了解您擁有哪些數據和搜索能力。

          下面幾個數據來源在檢測大量技術方面很有價值:

          ? 進程和進程命令行監控,通常由 Sysmon、Windows 事件日志和許多終端安全平臺收集;

          ? 文件和注冊表監控,也經常由 Sysmon、Windows 事件日志和許多終端安全平臺平臺收集;

          ? 身份驗證日志,例如通過 Windows 事件日志從域控制器收集;

          ? 數據包捕獲,例如由 Zeek 等傳感器在網絡中的主機之間收集的數據包。

          將這些數據收集到某種搜索平臺 (Security Information and Event Management,SIEM) 中,例如SOC、態勢感知等平臺,以便對其進行分析。


          MITRE Cyber Analytics Repository (CAR) 是MITRE基于MITRE ATT&CK對手模型開發的分析知識庫。CAR 定義了一個以偽代碼表示的數據模型,但也包括直接針對特定分析工具(例如,Splunk、EQL)的實現。https://car.mitre.org/

          在 SOC、態勢感知等平臺中獲得數據后,就可以嘗試進行一些分析。一個很好的起點是查看其他人創建的分析并針對你的數據來運行它們。一個很好的入門分析是 CAR-2016-03-002。這將嘗試找到使用 WMI 在遠程系統上執行命令的方法,這是Windows Management Instrumentation描述的常見攻擊技術。

          在偽代碼中,通過搜索 wmic.exe 進程創建時的命令行,并檢查其中是否含有 process call create 和 /node 關鍵字來檢測 wmi 技術。


          可以通過 ATT&CK 導航器評估目前已經覆蓋了哪些檢測,首先找出需要優先檢測的技術。其次,集成來自 CAR 的分析并將這些分析著色為黃色,以表明至少有了一些覆蓋范圍。再次,改進這些分析,并可能添加更多內容以提高對這些技術的覆蓋率。最后,對其中一些檢測感到滿意,并將它們涂成綠色。并再逐步增加檢測范圍。


          對手模擬和紅隊


          對手模擬是一種紅隊參與,它通過模仿一個已知組織的威脅來定義紅隊使用的行動和行為。這就是對手模擬不同于滲透測試和其他形式的紅隊的原因。對手模擬器構建一個場景來測試對手的戰術、技術和程序 (TTP) 的某些方面。然后,紅隊在目標網絡上運行時遵循該場景,以測試防御對模擬對手的影響。


          可以先從單個技術測試開始。

          Atomic Red Team 是映射到MITRE ATT&CK框架的測試庫。安全團隊可以使用Atomic Red Team快速、可移植和可重復地測試他們的環境。

          https://github.com/redcanaryco/atomic-red-team


          以 T1047 – WMI 工具使用的測試為例,在原子測試中有測試該技術的命令,復制到命令行中執行該命令。

          wmic /user:#{user_name} /password:#{password} /node:"#{node}" process call create #{process_to_execute}

          完成此操作后,可以查看我們期望檢測到的行為是否是我們實際檢測到的。例如,SOC、態勢感知等平臺工具中有一個行為分析工具,它應該在“wmic.exe”執行時發出警報,但我們發現它沒有觸發,所以我們發現日志沒有正確從我們的主機導出。您對問題進行了故障排除和修復,現在您已經取得了顯著的改進,以幫助您在將來使用此程序有更好的機會抓住對手。

          這些單一測試允許重點關注單個 ATT&CK 技術,因此它可以更輕松地構建基于 ATT&CK 的防御覆蓋,因為您可以從單個技術的單個測試開始,然后從那里擴展。


          原子測試的流程可以總結如下:

          1. 選擇一個 ATT&CK 技術。

          2. 選擇一個該技術的原子測試。

          3. 執行測試流程。

          4. 分析你的檢測程序是否有效。

          5. 提升檢測能力。


          原子測試的進階是創建對手模擬,模仿特定對手的行為。建議采用下圖所示的五步流程來創建對手模擬計劃、執行操作并推動防御改進。

          1.收集威脅情報 — 根據您的組織面臨的威脅選擇對手,并與 CTI 團隊合作分析有關對手所作所為的情報。

          2.提取技術——將你擁有的情報映射到特定的技術。

          3.分析和組織——以一種易于制定具體計劃的方式將這些信息繪制成操作流程。

          4.開發工具和程序——弄清楚如何實施該行為??紤]:威脅組織是如何使用這種技術的?該小組是否根據環境背景改變了使用的技術?我們可以使用哪些工具來復制這些 TTP?

          5.模仿對手——有了一個適當的計劃,紅隊現在有能力執行和執行仿真任務。


          評估和工程化

          評估和工程化展示如何使用 ATT&CK 來衡量你的防御并實現改進。主要包括以下過程

          1. 評估防御目前如何與 ATT&CK 中的技術和對手相抗衡;

          2. 確定當前覆蓋范圍內最高優先級的短板;

          3. 修改防御,或獲得新的防御,以解決這些短板。


          剛開始起步時:選擇要關注的單一技術,確定該技術的覆蓋范圍,然后進行適當的工程增強以開始檢測它。通過這種方式開始,可以練習如何進行更大的評估。

          一旦熟悉這一過程,并能夠訪問更多的資源,理想情況下,將希望擴展您的分析以跨ATT&CK矩陣的一個相當大的子集。此外,您可能還想使用更高級的覆蓋方案來保證SOC工具檢測的可信度。在這里,建議將其分為低、一些或高可信度。


          除了查看分析之外,還需要開始分析相應的安全產品。建議迭代每個安全產品,為每個安全產品創建一個單獨的熱圖,并提出以下問題:

          ? 該安全產品在哪里運行?根據安全產品運行的位置。例如,在外圍或在每個端點——它可能通過特定的策略做得更好或更糟。

          ? 該安全產品如何檢測?它是否使用了一組靜態的“已知不良”指標?或者使用行為檢測?

          ? 該安全產品監控哪些數據源?了解安全產品監控的數據源可以讓您推斷它可能檢測到哪些技術。

          ? 是否可以通過修改現有安全產品的配置來覆蓋防御短板?

          ? 是否需要新的安全產品來覆蓋防御短板?


          運行評估可以了解當前的覆蓋范圍,可通過威脅情報對其進行擴充,并對防御短板進行優先級排序,然后通過編寫分析來調整現有的防御。

          從長遠來看,不應該設想自己每周甚至每個月都進行一次評估。相反,應該對上次評估的內容保持記錄,每次獲得新信息時更新它,并定期運行對手模擬練習以抽查您的結果。隨著時間的推移,網絡和收集到的內容的變化可能會產生意想不到的后果,從而降低先前測試過的防御的有效性。通過利用 ATT&CK 展示您的防御如何與真實威脅相疊加,將能夠更好地了解您的防御態勢并確定改進的優先級。

          分享:

          微博
          微信公眾號
          少妇体验按摩调情bd
          <span id="guzba"><ruby id="guzba"></ruby></span>
          1. <track id="guzba"></track>
            <menuitem id="guzba"><dfn id="guzba"><menu id="guzba"></menu></dfn></menuitem><tbody id="guzba"><div id="guzba"></div></tbody>

            1. <tbody id="guzba"><div id="guzba"><td id="guzba"></td></div></tbody>