日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

使用tracee编写规则追踪系统安全事件

發布時間:2025/3/21 windows 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用tracee编写规则追踪系统安全事件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、何為tracee

Tracee 是 Linux 的運行時安全和取證工具。它使用 Linux eBPF 技術在運行時跟蹤您的系統和應用程序,并分析收集到的事件以檢測可疑的行為模式。Tracee 由以下子項目組成:

Tracee-eBPF - 使用 eBPF 的 Linux 跟蹤和取證程序

Tracee-Rules - 運行時安全規則檢測引擎

『技術資料』

二、安裝tracee

運行tracee的必要條件

Linux 內核版本 >= 4.18

Linux 內核頭文件在常規位置下可用

系統庫 libelf 和 zlib

快速開始安裝

docker run --name tracee --rm --pid=host --privileged -v /tmp/tracee:/tmp/tracee -it aquasec/tracee:latest trace 本條命令將僅啟動原始跟蹤 (Tracee-eBPF),沒有檢測引擎 (Tracee-Rules),用戶將會看到如下的大量的原始事件輸出:[root@localhost ~]# docker run --name tracee --rm --pid=host --privileged -v /tmp/tracee:/tmp/tracee -it aquasec/tracee:latest trace TIME UID COMM PID TID RET EVENT ARGS 06:16:20:529134 0 assist_daemon 719 759 0 security_file_open pathname: /proc/stat, flags: O_RDONLY|O_LARGEFILE, dev: 5, inode: 4026532025 06:16:20:529094 0 assist_daemon 719 759 7 open pathname: /proc/stat, flags: O_RDONLY|O_LARGEFILE|O_CLOEXEC, mode: 0 06:16:20:529244 0 assist_daemon 719 759 0 close fd: 7 06:16:20:529274 0 assist_daemon 719 759 0 security_file_open pathname: /proc/719/stat, flags: O_RDONLY|O_LARGEFILE, dev: 5, inode: 16789925 06:16:20:529267 0 assist_daemon 719 759 7 open pathname: /proc/719/stat, flags: O_RDONLY|O_LARGEFILE|O_CLOEXEC, mode: 0 06:16:20:529332 0 assist_daemon 719 759 0 close fd: 7 06:16:20:652683 0 systemd 1 1 0 security_file_open pathname: /proc/1/mountinfo, flags: O_RDONLY|O_LARGEFILE, dev: 5, inode: 387752 06:16:20:652646 0 systemd 1 1 21 openat dirfd: -100, pathname: /proc/self/mountinfo, flags: O_RDONLY|O_CLOEXEC, mode: 0 06:16:20:653013 0 systemd 1 1 0 lstat pathname: /proc, statbuf: 0x7FFE8EE051E0

每行是 Tracee-eBPF 收集的單個事件,包含以下信息:

TIME - 以秒為單位顯示相對于系統啟動時間的事件時間

UID - 調用進程的真實用戶 ID(在主機用戶命名空間中)

COMM - 調用進程的名稱

PID - 調用進程的pid

TID - 調用線程的 tid

RET - 函數返回的值

EVENT - 標識事件(例如系統調用名稱)

ARGS - 函數的參數列表

三、使用tracee-rules檢測可疑行為

目前官方未給出docker運行的方式,根據官方文檔,可以從源碼進行編譯(cd tracee-rules && make),或者從release內下載編譯好的包。為了方便測試,選擇使用官方release包。

wget https://github.com/aquasecurity/tracee/releases/download/v0.6.3/tracee.tar.gz cd distsudo ./tracee-ebpf -o format:gob | ./tracee-rules --input-tracee file:stdin --input-tracee format:gob

以上命令會執行tracee-rules默認的檢測規則,包含以下可疑行為的檢測:

我們可以簡單的選用Fileless Execution(從內存執行進程,磁盤中沒有文件)這個行為測試一下:

wget https://github.com/abbat/elfexec/releases/download/v0.3/elfexec.x64.glibc.xz xz -d elfexec.x64.glibc.xz chmod u+x elfexec.x64.glibc && mv ./elfexec.x64.glibc ./elfexececho ' #include <unistd.h>int main(int argc, char* argv[]) {write(STDOUT_FILENO, "Hello!\n", 7);return 0; } ' | cc -xc - -o /dev/stdout | elfexec

執行打印hello的命令以后,tracee-rules捕捉到結果如下:

Loaded 14 signature(s): [TRC-1 TRC-13 TRC-2 TRC-3 TRC-11 TRC-9 TRC-4 TRC-5 TRC-12 TRC-8 TRC-6 TRC-10 TRC-7]*** Detection *** Time: 2021-11-04T07:55:05Z Signature ID: TRC-5 Signature: Fileless Execution Data: map[] Command: elfexec Hostname: localhost

從返回中可以看出,該命令觸發了TRC-5規則。

四、創建自定義規則

tracee-rules提供了兩種方式自定義規則:使用.rego語言的規則文本,或使用go Signature接口的規則。這里我們以rego規則示例,如何自定義規則,捕獲可疑的系統行為。

rego規則

  • 根據示例規則文件,我們需要編寫以下三個位置:
  • rego_metadoc:定義規則元數據的文檔規則。
  • tracee_selected_events:定義事件選擇器的集合規則。
    tracee_match:編寫匹配邏輯,可以擁有多個trace_match塊。
  • 筆者以編寫一個監控whoami命令為例。需要監控whoami命令,則需要監視execve內核函數,并且執行的路徑參數應該是whoami的文件路徑。完整的規則文本如下:

    package tracee.TCR_1 import data.tracee.helpers __rego_metadoc__ := {"id": "TCR-1","version": "1.0.0","name": "cmd whoami","description": "cmd whoami","tags": ["linux", "container"],"properties": {"Severity": 2,"MITRE ATT&CK": "cmd",} } eventSelectors := [{"source": "tracee","name": "execve"} ] tracee_selected_events[eventSelector] {eventSelector := eventSelectors[_] } tracee_match {input.eventName == "execve"pathname = helpers.get_tracee_argument("pathname")startswith(pathname, "/usr/bin/whoami") }

    將此規則文件保存于rules目錄下,重新啟動tracee-rules即可監控到whoami命令的執行。

    Loaded 1 signature(s): [TCR-1]*** Detection *** Time: 2021-11-08T06:50:52Z Signature ID: TCR-1 Signature: cmd whoami Data: map[] Command: bash Hostname: localhost

    最后

    點擊獲取『網絡安全學習資料`攻略』

    總結

    以上是生活随笔為你收集整理的使用tracee编写规则追踪系统安全事件的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。