在 Elastic 中使用 JOIN 進行威脅狩獵!

作者:來自 Elastic?Paul Ewing, Jonhnathan Ribeiro

Elastic 的管道查詢語言 ES | QL 為查詢帶來了 join 功能。

威脅狩獵者歡呼吧!你是否一直在尋找一種通過 Elastic 的速度和強大功能來連接數據的方法?好消息!Elastic 現在可以通過管道查詢語言 ES|QL(Elasticsearch 查詢語言)中的新功能來連接數據源。這將使得從高級行為檢測到警報篩查,再到威脅狩獵的強大搜索成為可能。

為什么 JOIN 在安全中至關重要:這全關乎上下文

Elastic 一直提供全面的搜索功能,幫助用戶調查安全事件、分析日志以及大規模地探索數據。其中一個關鍵功能在推動檢測和調查中發揮著重要作用:JOIN,因為上下文至關重要。

JOIN 允許分析人員、檢測工程師和威脅狩獵者在基于條件的查詢上構建更具上下文感知的邏輯。考慮以下問題:這個人在哪個部門工作,他們的工作需要他們運行 PowerShell 嗎?這個惡意軟件事件是否涉及一個關鍵用戶,比如域管理員?這個釣魚攻擊活動是否針對特定的角色或業務部門?

所有這些問題都依賴于警報之外的數據。而 JOIN 就是讓從業人員將這些上下文信息引入查詢的方式 —— 通過跨數據源連接線索,從而在狩獵、調查和響應過程中做出更智能、更快速的決策。

JOIN 的進化:ES|QL 中的 LOOKUP

Elastic 現有的豐富策略已經支持類似 JOIN 的工作流,但維護豐富作業和管理更新增加了摩擦,比如每次更新后都需要重新執行豐富策略。現在,隨著 ES|QL 中引入 LOOKUP JOIN 函數,一切變得更加輕松。這一新功能為分析人員提供了更快速、更直觀的方式來將外部數據引入查詢。不需要預處理或外部步驟 —— 只需在搜索工作流中按需 JOIN 所需數據。

在每一步幫助安全分析師

安全從業人員專注于保護組織數據的許多方面。讓我們來看看在傳統的端到端工作流中,JOIN 如何提供幫助:(1)發現新的可疑活動,(2)篩查檢測警報,以及(3)進行事件響應。

1. 發現威脅:假設、搜索、關聯

威脅狩獵者和檢測工程師通過發現可疑行為來保護他們的系統。威脅狩獵工作流側重于一個科學模型來發現惡意活動。首先,建立假設,查看你的結果,并判斷是否發生了事件。

威脅狩獵可以包括機器學習和簡單的搜索,但通常數據堆棧分析是其中的一部分。Elasticsearch 查詢語言(ES|QL)已將聚合功能引入查詢,并提供了轉換數據的能力 —— 現在還可以將來自不同數據存儲的結果添加到查詢結果中。這就是 JOIN 如此關鍵的原因。分析師和威脅狩獵者經常需要處理多個數據源,并需要關聯這些數據。通常會有一個共享的參數,如主機、用戶、文件、進程等。那么,如何在身份驗證日志和進程執行之間尋找橫向移動呢?如何在網絡流量數據和文件創建之間尋找數據外泄?JOIN 使得威脅狩獵者能夠跨多個數據源找到異常行為。

2. 篩選警報:關注重要的部分

接下來,安全分析師正在審查威脅狩獵者和檢測工程師提供的警報輸出。警報篩查(alert triage)是另一個使用 JOIN 的場景。分析師因警報過多而遭遇警報疲勞這一問題已經廣為人知。是的,Elastic 通過生成性 AI 和 Attack Discovery 以及上下文豐富的用戶體驗來解決這個問題,但有時仍需要從外部或額外的數據源中進行優先級排序。JOIN 在這里也發揮著作用。現在,用戶可以將警報元數據與威脅情報數據源進行對比,優先處理那些具有已知惡意指標的警報。或者,如何處理來自特定資產清單的警報?現在,分析師可以優先考慮那些處理大部分外部通信并且是釣魚攻擊目標的業務元素。

3. 響應事件:快速行動,掌握全貌

事件響應通常是填補空白的過程。在調查初期,響應者通常只處理附帶活動案件的部分信息。這時,JOIN 就變得至關重要。在事件響應過程中,團隊需要跨系統連接信息 —— 身份驗證日志、端點遙測、網絡數據、威脅情報、資產清單 —— 并實時關聯它們。沒有 JOIN,響應者只能手動將信息拼湊在一起或在不同工具之間跳轉。使用 LOOKUP JOIN,事件響應者可以:

  • 使用資產所有權或敏感性級別豐富警報

  • 將端點活動與已知惡意軟件指標進行關聯

  • 通過單個查詢追蹤用戶在多個系統中的活動

這是一條更快速的路徑,幫助理解根本原因并協調后續步驟。

ES|QL 中的 LOOKUP JOIN 語法

在深入了解一些安全查詢示例之前,讓我們首先回顧一下如何使用這個新的 ES|QL 函數。ES|QL 是一種管道語言,允許用戶在單個搜索中構建一系列操作,同時過濾、轉換和聚合數據。JOIN 本身以前是通過豐富策略或使用 ENRICH 命令與 ES|QL 來解決的。盡管這些方法解決了一些 JOIN 的用例,但我們的用戶需要一種更簡單的方法來連接數據,而不需要配置豐富的設置。

新的 JOIN 功能是在使用 LOOKUP JOIN 函數時實現的。在這里,你可以建立一個查找索引,根據連接鍵將數據添加到你的搜索結果中。當你使用 ES|QL 管道編寫查詢時,可以簡單地建立查找并將結果添加到當前查詢中,有效地將兩個數據源進行連接。有關更多信息,請查閱我們的文檔或其他內容,JOINs 已經到來!

這是一個簡單的安全用例,使用 LOOKUP JOIN。讓我們尋找包含已知威脅情報指標的 Elastic Security 警報。在這個場景中,我們的威脅情報數據存儲將被命名為 “threat-match”。

FROM *.alerts-security*
| EVAL indicator.id = file.name
| LOOKUP JOIN threat-match on indicator.id

結果將包含你期望的所有警報元數據,包括:

  • 規則內容:名稱、描述、嚴重性等

  • 原始事件、主機信息、用戶信息、進程信息、文件信息和網絡信息

  • 現在,來自查找的威脅情報信息:指標名稱、指標值、指標類型、指標描述等

讓我們試試看!

為了真正展示 ES|QL 和 LOOKUP JOIN 的強大功能,讓我們重新審視一些安全場景,在這些場景中,連接數據將發揮最大的作用。

使用 AI 助手來引導 首先,使用 AI 助手總是有幫助的。我們可以請求助手首先解釋更多關于 ES|QL LOOKUP JOIN 的內容,然后請求幫助為警報添加當前用戶的風險評分。讓我們來看看!

使用 AI 助手來引導進行 Alerts 豐富

注意:請使用最新版本的 Elastic Security,以獲得最新的 AI 助手安全體驗。

警報分類示例

讓我們繼續使用警報分類的場景。在查看安全警報時,分析師總是在尋找優先排序的方法,為什么不關注那些擁有特權訪問的用戶呢?我們將查看 Windows 系統上的警報,然后在 Entity Analytics Active Directory 集成中查找結果,查看特權組成員。

其他示例可以專注于使用 MITRE ATT&CK?。我們將利用 Elastic 實體風險評分來優先排序生成跨多個 MITRE ATT&CK 戰術(初始訪問、持久性、防御規避等)警報的關鍵主機。

威脅狩獵查詢

現在,假設我們沒有警報,需要使用 LOOKUP JOIN 來進行狩獵。回想一下,Elastic 的核心理念是開放性。我們通過以下倉庫提供了我們的檢測規則,Elastic Security Labs 團隊甚至擴展了這一點,加入了威脅狩獵內容。欲了解更多信息,請閱讀如何提升你的威脅狩獵。

讓我們從一個威脅狩獵查詢開始,比如通過 Run Keys 實現的 Windows 持久性(Windows Persistence via Run Keys)。如果我們通過與資產信息的連接來豐富這些查詢呢?在這種情況下,我們將從預構建的威脅狩獵查詢開始,然后通過擴展日期范圍和查看所有持久性示例來進行微調。接著,通過添加實體查找,我們可以找到主機的資產位置。

Threat hunting queries

如果你想進一步簡化這個示例,我們可以將查詢減少到查看所有啟動過程,并執行 LOOKUP JOIN,如之前那樣,我們可以看到資產位置。

利用本地工具技術

許多威脅狩獵者搜索 “本地工具執行”(living off the land)進程執行,這代表了系統上可用的本地工具,這些工具可以執行任意代碼。盡管管理員可能出于良性原因使用這些工具,但攻擊者可以利用這些進程來規避檢測。現在,通過 LOOKUP JOINS,我們可以為我們的威脅狩獵創建這些文件的列表。這個工作流允許我們不斷將新進程添加到我們新創建的 LOOKUP 索引中,同時保留查詢的邏輯。

1. 首先創建 LOOKUP 索引。這里是一個示例:

PUT /lolbins-lookup
{"mappings": {"properties": {"process.name": {"type": "keyword"},"lolbin": {"type": "boolean"}}},"settings": {"index.mode": "lookup"}
}

2. 然后,我們可以通過批量上傳將數據添加到索引中

POST /_bulk
{ "index" : { "_index" : "lolbins-lookup" }}
{ "process.name" : "powershell.exe", "lolbin": true }
{ "index" : { "_index" : "lolbins-lookup" }}
{ "process.name" : "cmd.exe", "lolbin": true }
...

3. 現在,我們可以通過 LOOKUP JOINS 在網絡中搜索 “living off the land processes” 的進程!

這意味著我們可以使用 LOOKUP 來與指標列表進行匹配。請記住,LOOKUP 索引可以更新,因此當你發現更多的 “living off the land processes” 技術時,只需將其添加到索引中,便無需更改查詢或執行加值策略即可看到新的結果。

總結

LOOKUP JOIN 在許多安全工作流中已經證明了其極大的實用性,但這只是開始。如 Elasticsearch 博客中所述,這種類型的連接最接近于 SQL 風格的 LEFT OUTER JOIN,除了改善整體用戶體驗外,我們還計劃擴展連接功能(例如 INNER 連接)。此外,這項功能還使其他搜索語言的語法轉換成為可能。請閱讀我們最近的博客,了解更多有關自動遷移的信息!

總結一下,這種新的連接功能是安全分析師工具箱中的另一個工具,Elastic 搜索 AI 技術提供了許多先進的技術來保護您的數據免受攻擊。這包括生成式 AI、機器學習、聚合、加值、基于序列的關聯等等。繼續關注更多更新和信息!體驗 Elastic Security 最快、最簡單的方式是在 Elastic Cloud Serverless 上。立即試用。

本博客中描述的任何功能或功能的發布和時機由 Elastic 單獨決定。任何當前不可用的功能或功能可能無法按時或根本不交付。

在本文中,我們可能使用或引用了第三方生成式 AI 工具,這些工具由各自的所有者擁有和運營。Elastic 對這些第三方工具沒有控制權,也不對其內容、操作或使用負責,也不對因使用這些工具而產生的任何損失或損害承擔責任。在使用 AI 工具處理個人、敏感或機密信息時,請務必謹慎。您提交的任何數據可能會用于 AI 訓練或其他用途。我們無法保證您提供的信息會保持安全或機密。使用任何生成式 AI 工具之前,您應了解其隱私政策和使用條款。

Elastic、Elasticsearch 和相關標志是 Elasticsearch N.V. 在美國及其他國家的商標、標識或注冊商標。所有其他公司和產品名稱是各自所有者的商標、標識或注冊商標。

原文:Threat hunting in Elastic with JOINs! | Elastic Blog

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/79009.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/79009.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/79009.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

從實列中學習linux shell5: 利用shell 腳本 檢測硬盤空間容量,當使用量達到80%的時候 發送郵件

下面是用于檢測硬盤空間并在使用量達到80%時發送郵件的Shell腳本 第一步 編寫腳本 #!/bin/bash# 郵件配置 recipient"zhaoqingyou99qhzt.com" subject"磁盤空間警報" mail_cmd"/usr/bin/mail" # 根據實際郵件命令路徑修改# 檢查是否安裝郵件工…

Ethan獨立開發產品日報 | 2025-04-30

1. Daytona 安全且靈活的基礎設施,用于運行你的人工智能生成代碼。 Daytona Cloud重新定義了AI代理的基礎設施,具備低于90毫秒的啟動時間、原生性能和有狀態執行能力,這些是傳統云服務無法比擬的。您可以以前所未有的速度和靈活性來創建、管…

Unity SpriteMask(精靈遮罩)

🏆 個人愚見,沒事寫寫筆記 🏆《博客內容》:Unity3D開發內容 🏆🎉歡迎 👍點贊?評論?收藏 🔎SpriteMask:精靈遮罩 💡作用就是對精靈圖片產生遮罩&#xff0c…

OpenHarmony全局資源調度管控子系統之內存管理部件

OpenHarmony之內存管理部件 內存管理部件 簡介目錄框架 進程回收優先級列表 補充 回收策略/查殺策略 使用說明參數配置說明 availbufferSizeZswapdParamkillConfignandlife 相關倉 簡介 內存管理部件位于全局資源調度管控子系統中,基于應用的生命周期狀態&#…

姜老師的MBTI課程筆記小結(1)ENFJ人格

課程文稿: 好,今天我們的重點其實并不在ENTJ,而是在于如果一個人其他都很像,只是在思考和感受這兩端選擇的時候,他缺了思考而更尊重感受,它會是什么樣的一個人格特質呢?這就是ENFG在16人格的學派…

Node.js 應用場景

Node.js 應用場景 引言 Node.js 是一個基于 Chrome V8 JavaScript 引擎的開源、跨平臺 JavaScript 運行環境。它主要用于服務器端開發,通過非阻塞 I/O 模型實現了高并發處理能力。本文將詳細介紹 Node.js 的應用場景,幫助你了解其在實際項目中的應用。…

Qt/C++面試【速通筆記六】—Qt 中的線程同步

在多線程編程中,多個線程同時訪問共享資源時,可能會出現數據不一致或者錯誤的情況。這時,我們需要線程同步機制來保證程序的正確性。Qt 提供了多種線程同步方式,每種方式適用于不同的場景。 1. 互斥鎖(QMutex&#xff…

JDK-17 保姆級安裝教程(附安裝包)

文章目錄 一、下載二、安裝三、驗證是否安裝成功1、看 java 和 javac 是否可用2、看 java 和 javac 的版本號是否無問題 一、下載 JDK-17_windows-x64_bin.exe 二、安裝 三、驗證是否安裝成功 java:執行工具 javac:編譯工具 1、看 java 和 javac 是否…

【LeetCode Hot100】回溯篇

前言 本文用于整理LeetCode Hot100中題目解答,因題目比較簡單且更多是為了面試快速寫出正確思路,只做簡單題意解讀和一句話題解方便記憶。但代碼會全部給出,方便大家整理代碼思路。 46. 全排列 一句話題意 給定一個無重復數字的序列&#xf…

pytest-前后置及fixture運用

1.pytest中的xunit風格前后置處理 pytest中用例的前后置可以直接使用類似于unittest中的前后置處理,但是pytest中的前后置處理方式更 加豐富,分為模塊級、類級、方法級、函數級等不同等級的前后置處理,具體見下面的代碼: test_…

使用scipy求解優化問題

一、求解二次規劃問題 min(X.T * P * X C.T * X) s.t. Xi > 0 ∑Xi 1 1.定義目標函數 def objective(x):return 0.5 * np.dot(x, np.dot(P, x)) np.dot(c, x)2. 定義等式約束 def equality_constraint(x):return np.sum(x) - 1 3.定義邊界約束:x # …

C++初階-STL簡介

目錄 1.什么是STL 2.STL的版本 3.STL的六大組件 4.STL的重要性 4.1在筆試中 4.2在面試中 4.3.在公司中 5.如何學習STL 6.總結和之后的規劃 1.什么是STL STL(standard template library-標準模板庫);是C標準庫的重要組成部分&#xf…

kivy android打包buildozer.spec GUI配置

這個適合剛剛學習kivyd的道友使用,后面看情況更新 代碼 import tkinter as tk from tkinter import ttk, filedialog, messagebox, simpledialog import configparser import os import json # 新增導入class BuildozerConfigTool:def __init__(self, master):se…

MOOS-ivp使用(一)——水下機器人系統的入門與使用

MOOS-ivp使用(一)——水下機器人系統的入門與使用 MOOS-ivp(Marine Operational Oceanographic System for Intelligent Vehicle Planning)是專為水下機器人(如AUV)設計的開源框架。類似于ROS,…

電子病歷高質量語料庫構建方法與架構項目(智能質控體系建設篇)

引言 隨著人工智能技術的迅猛發展,醫療信息化建設正經歷著前所未有的變革。電子病歷作為醫療機構的核心數據資產,其質量直接關系到臨床決策的準確性和醫療安全。傳統的病歷質控工作主要依賴人工審核,存在效率低下、主觀性強、覆蓋面有限等問題。近年來,基于人工智能技術的…

react學習筆記4——React UI組件庫與redux

流行的開源React UI組件庫 material-ui(國外) 官網: http://www.material-ui.com/#/github: GitHub - mui/material-ui: Material UI: Comprehensive React component library that implements Googles Material Design. Free forever. ant-design(國內螞蟻金服) 官網: Ant…

GPU集群搭建

1. 硬件規劃與采購 GPU 服務器:挑選契合需求的 GPU 服務器,像 NVIDIA DGX 系列就不錯,它集成了多個高性能 GPU。網絡設備:高速網絡設備不可或缺,例如萬兆以太網交換機或者 InfiniBand 交換機,以此保證節點…

ZYNQ 純PL端邏輯資源程序固化流程

ZYNQ 純PL端邏輯資源程序固化 ZYNQ的程序固化流程比傳統的FPGA固化流程復雜很多,Vivado生成的bit文件無法直接固化在ZYNQ芯片中。因為ZYNQ 非易失性存儲器的引腳(如 SD 卡、QSPI Flash)是 ZYNQ PS 部分的專用引腳。這些非易失性存儲器由 PS …

[計算機科學#6]:從鎖存器到內存,計算機存儲的構建與原理

【核知坊】:釋放青春想象,碼動全新視野。 我們希望使用精簡的信息傳達知識的骨架,啟發創造者開啟創造之路!!! 內容摘要:在上一篇文章中,我們深入了解了計算機如…