使用 MS Defender for Endpoint 防禦威脅
Microsoft Defender for Endpoint 是一個旨在幫助企業網路預防、偵測、調查和回應其端點上的進階威脅的平台。
Microsoft Defender for Endpoint 啟用了以下功能:
- 威脅和漏洞管理提供即時可見性,並協助確定改善安全狀況的方法。
- 減少攻擊面可以消除有風險或不必要的攻擊面,並限制危險代碼的運作。
- 進階保護使用機器學習和深度分析來防禦基於檔案的惡意軟體。
- 端點偵測和回應監視行為和攻擊者技術,以偵測和回應進階攻擊。
- 使用人工智慧自動調查告警並在幾分鐘內修復複雜的威脅。
- Microsoft 威脅專家為我們的security center帶來深入的知識和主動的威脅搜尋。
Microsoft Defender for Endpoint 使用以下 Windows 10 內建技術和 Microsoft 雲端服務的組合:
- 端點行為感測器。這些感測器內建於 Windows 10 中,收集並處理來自作業系統的行為訊號。感測器將資料傳送到 Microsoft Defender for Endpoint 的組織專有的instance。
- 雲端安全分析。在整個 Windows 生態系統、企業雲端產品(例如 Office 365)和線上資產中使用大數據、機器學習和獨特的 Microsoft 技術,將行為訊號轉化為針對進階威脅的洞察、偵測和建議回應。
- 威脅情資(TI)。威脅情資由Microsoft hunter和安全團隊生成,並透過合作夥伴提供的威脅情資進行強化,使Microsoft Defender for Endpoint 能夠識別攻擊者工具、技術和程序,並在收集的感測器資料中觀察到這些情況時產生告警。
實踐安全管理
威脅與漏洞管理
有效識別、評估和修復端點弱點對於運行健康的安全方案和降低組織風險至關重要。威脅和漏洞管理作為減少組織曝險、強化端點的被攻擊面和提高組織彈性的基礎設施。
此基礎架構可協助組織基於感測器即時發現漏洞和錯誤配置,無需agents或定期掃描。它根據許多因素對問題進行優先排序。這些因素包括威脅情勢、組織中的偵測、易受攻擊設備上的敏感資訊以及業務環境。
威脅和漏洞管理是內建的、即時的、由雲端驅動的,與 Microsoft security stack、Microsoft Intelligent Security Graph和應用程式分析知識庫完全整合。它可以透過與 Microsoft Intune 和 Microsoft Endpoint Manager 整合來建立安全作業或tickets。
它針對安全維運、安全管理和 IT 管理之間的差距提供以下解決方案:
- 與端點漏洞相關的EDR見解
- 曝險探索背景的連結下的機器漏洞和安全配置評估資料
- 透過 Microsoft Intune 和 Microsoft Endpoint Manager 的內建修復流程
例如,使用網站中提供的安全建議,管理員可以請求應用程式更新,然後通知 Intune 團隊修復該請求。
減少攻擊面
減少攻擊面的功能集透過確保正確設定configuration settings並應用漏洞緩解技術來提供堆疊(Stack)中的第一道防線。
- 基於硬體的隔離可在系統啟動和運行時保護和維護系統的完整性,並透過本地和遠端證明來驗證系統完整性。 Microsoft Edge 的容器隔離有助於保護主機作業系統免受惡意網站的侵害。
- 應用程式控制從傳統的應用程式信任模型(預設所有應用程式都被假定為可信)轉變為應用程式必須取得信任才能運行的模型。
- 漏洞利用(Exploit protection)防護將緩解技術應用於我們組織專屬的應用程式。
- 網路防護擴展了 Microsoft Edge 中的 Microsoft Defender SmartScreen 提供的惡意軟體和社交工程保護,以覆蓋組織裝置上的網路流量和連線。
- 受控資料夾存取有助於保護關鍵系統資料夾中的檔案免受惡意和可疑應用程式(包括檔案加密勒索軟體惡意軟體)所做的更改。
- 減少攻擊面可透過智慧規則來減少應用程式的攻擊面,這些規則可阻止基於 Office、腳本和郵件的惡意軟體所使用的向量。
- 網路防火牆使用基於主機的雙向網路流量過濾,阻止未經授權的網路流量流入或流出本地設備。
下面的圖示顯示了針對保護辦公室應用程式的攻擊面減少規則的偵測圖表:
次世代防護
Microsoft Defender 防毒軟體是內建的反惡意軟體解決方案,可為桌電、可筆電和伺服器提供新一代保護。 Microsoft Defender 防毒軟體包括:
- 雲端提供的保護可近乎即時地偵測和阻止新出現的威脅。與機器學習和 Intelligent Security Graph一起,雲端提供的保護是為 Microsoft Defender 防毒軟體提供支援的下一代技術的一部分。
- Always-on scanning,使用進級檔案和process behavior監控和其他啟發式方法(也稱為“即時保護”)。
- 基於機器學習、人工和自動化大數據分析以及深入的威脅抵抗研究的專用保護更新。
應考慮以下proxy和網路設定:
- Microsoft Defender for Endpoint 感測器需要 Microsoft Windows HTTP (WinHTTP) 來回報感測器資料並與 Microsoft Defender for Endpoint 服務進行通訊。
- 嵌入式 Microsoft Defender for Endpoint 感測器使用 LocalSystem 帳號在系統脈絡中運作。此感測器使用 Microsoft Windows HTTP 服務 (WinHTTP) 來實現與 Microsoft Defender for Endpoint 雲端服務的通訊。
- WinHTTP configuration setting獨立於 Windows Internet (WinINet) 網際網路瀏覽代理設定,且只能使用下列auto discovery方法來探索proxy server:
— 透明代理
— WPAD(Web Proxy Autodiscovery Protocol)
端點偵測與回應
Microsoft Defender for Endpoint 端點偵測和回應功能提供近乎即時且可操作的進階攻擊偵測。安全分析師可以有效地確定告警的優先等級,了解漏洞的全部範圍,並採取回應措施來補救威脅。
當偵測到威脅時,系統中會建立告警供分析人員進行調查。具有相同攻擊技術或歸因於同一攻擊者的告警被聚合成一個稱為事故(Incident)的實體。以這種方式聚合告警使分析人員可以輕鬆地集中調查和回應威脅。
受「assume breach」心態的啟發,Microsoft Defender for Endpoint 不斷收集行為網路遙測資料。其中包括process資訊、網路活動、核心和記憶體管理器的深度技術、使用者登入活動、註冊表和檔案系統變更等。這些資訊會儲存六個月,使分析人員能夠及時回到攻擊開始時。然後,分析師可以使用各種視圖並透過多個向量進行調查。
Security operations dashboard(如下圖所示)是顯示端點偵測和回應功能的地方。它提供了偵測到的位置的High-level概述,並突出顯示了需要採取回應行動的位置。
自動調查與修復
Microsoft Defender for Endpoint 在多台機器上提供廣泛的可見性。透過這種技術,該服務可以產生大量告警。對於典型的安全維運團隊來說,產生的告警數量可能難以單獨處理。為了應對這項挑戰,Microsoft Defender for Endpoint 使用自動調查和修復功能來大幅減少必須單獨調查的告警量。
自動調查功能使用各種檢查演算法和分析師使用的流程(例如playbooks)來檢查告警並立即採取補救措施來解決違規問題。這顯著減少了告警量,使安全維運專家能夠專注於更複雜的威脅和其他高價值舉措。在下面的圖示中,我們可以看到惡意軟體被檢測到,並自動修復:
搜尋網路中的威脅
Microsoft Defender for Endpoint 中的進階搜尋可使用搜尋和查詢工具來搜尋整個組織中可能的威脅。我們可以主動檢查網路中的事件,以找到與組織相關的指標和實體。對資料的靈活存取有助於不受限制地尋找已知和潛在的威脅。
我們可以使用威脅追蹤查詢來建立自訂偵測規則。這些規則會自動運行以檢查並回應各種事件和系統狀態,包括可疑的違規活動和配置錯誤的電腦。
若要執行範例威脅搜尋查詢,請在 Microsoft Defender portal中選擇“Hunting”,然後選擇“Advanced Hunting”。在查詢欄位中,key入以下範例並選擇執行查詢:
在上面代碼中,應用了以下filters:
- 第一個(where filter)只回傳前 7 天的記錄
- 第二個(where filter)是過濾 FileName 以搜尋代表 PowerShell 應用程式的process file names
- 第三個(where filter)是過濾命令列中的字串,這些字串通常用於使用 PowerShell 檔案
- Project僅傳回指定的column
- top 將結果數限制為 100
進階搜尋基於 Kusto 查詢語言。允許使用以下運算:
where
. Filter a table to the subset of rows that satisfy a predicate.summarize
. Produce a table that aggregates the content of the input table.join
Merge the rows of two tables to form a new table by matching values of the specified column(s) from each table.count
. Return the number of records in the input record set.top
. Return the first N records sorted by the specified columns.limit
. Return up to the specified number of rows.project
. Select the columns to include, rename or drop, and insert new computed columns.extend
. Create calculated columns and append them to the result set.makeset()
. Return a dynamic (JSON) array of the set of distinct values that Expr takes in the group.find
. Find rows that match a predicate across a set of tables.
最佳實踐
可以遵循以下最佳實踐來確保查詢效能:
- 首先套用過濾器 — Azure Kusto 經過高度優化,可利用時間過濾器。
- 在尋找完整標記時,請使用 has 關鍵字而不是 contains。
- 使用在特定column中尋找而不是在所有column中使用全文搜尋。
- 在兩個table之間進行連接時,選擇row較少的表作為第一個table(最左邊的表)。
- 在兩個table之間進行join時,只選擇要join的column。