針對操作系統、內核安全,聯通云操作系統團隊開發了的一個基于 eBPF 的 Linux 安全防護系統 safeguard,可以實現安全操作的審計攔截及安全防護功能。項目采用 libbpfgo 庫,使用 go 語言實現頂層控制。safeguard 在聯通云 CULinux 操作系統中已得到應用,目前項目已在 openEuler 社區開源[1]。
簡介
KRSI (eBPF+LSM)
eBPF 是擴展的伯克利包過濾器(extended Berkeley Packet Filter)的縮寫,它是一種可以在內核空間運行沙箱化程序的技術。eBPF 可以在不修改或重新編譯內核、插入內核 KO 的情況下,動態地增加內核的能力。通過 eBPF,可以實現網絡、觀測、跟蹤和安全等多種用例。
LSM 是 Linux 安全模塊(Linux Security Module)的縮寫,它是一種提供可插拔的安全框架機制,可以讓不同的安全模塊在內核中注冊并實施自定義的安全策略。LSM 提供了一系列的鉤子(hooks),可以在系統調用或其他安全相關事件發生前后執行安全檢查。
eBPF 和 LSM 可以結合使用,形成一種基于 eBPF 的 LSM 擴展,叫做 KRSI (eBPF+LSM)。它允許用戶在運行時使用 eBPF 程序實現和執行自定義的安全策略和審計規則。它的優點是不需要修改或重新編譯內核,也不需要配置現有的 LSM 模塊。KRSI (eBPF+LSM) 的工作原理是將 eBPF 程序加載到 LSM 鉤子中,然后在調用路徑中執行這些程序,對系統資源的訪問進行檢查和控制。
safeguard 架構及功能介紹
safeguard 基于 KRSI (eBPF+LSM) 實現,整體架構采取了 C/S 架構,分 Agent、Server、UI 等幾個組件,功能涵蓋了審計控制、行為分析、主機管理、風險管理、入侵檢測等(詳細介紹參考下文)。
圖1 架構圖
應用場景
safeguard 是一種基于 KRSI(eBPF+LSM) 的 Linux 安全審計和管控解決方案,可以實現對系統的全面監控和保護。下面是一些可能的應用場景:
表1 應用場景
項目功能
審計控制
1. 文件
追蹤文件系統的活動,包括文件的打開、關閉、讀寫、刪除等。
修改文件系統的行為,例如攔截某些文件操作,或者實現自定義的安全策略。
安全策略:
①攔截或重定向文件(比如密鑰文件、用戶賬號文件或需要安全防護的各種類型文件等)操作,使用eBPF來攔截對敏感文件的讀寫操作,或者重定向對某些文件的訪問到其他位置。 ② 實現自定義的訪問控制,使用 eBPF 來檢查對文件的訪問者的身份、權限、環境等信息,然后根據一些規則來允許或拒絕訪問。 ③實現自定義的審計和監控,使用 eBPF 來記錄對某些文件的操作的詳細信息,如操作者、時間、內容等,并將這些信息輸出到日志。
2. 進程:
追蹤進程的生命周期,例如進程的創建、終止、調度、上下文切換等。
修改進程的行為,例如注入或修改某些系統調用,或者實現自定義的調度策略。
3. 網絡:
追蹤網絡的活動,例如網絡包的發送、接收、轉發、丟棄等。
修改網絡的行為,例如過濾或重寫某些網絡包,或者實現自定義的路由策略。
行為分析
1. 收集并分析文件系統的性能、熱點、異常等。(選擇合適的 eBPF 程序類型和掛載點,例如,使用kprobes 或 tracepoints 來追蹤文件系統相關的內核函數或事件,如 vfs_read, vfs_write, ext4_sync_file 等。)
2. 收集信息來分析進程的資源消耗、狀態變化、依賴關系等(do_fork, do_exit, schedule 等)。
3. 收集信息,分析網絡的流量、延遲、丟包率、擁塞等(使用 tc 或 xdp 來追蹤網絡包的發送、接收、轉發、丟棄等事件)。
主機管理
從安全角度自動化構建細粒度資產信息,支持對業務層資產精準識別和動態感知,讓保護對象清晰可見。功能包括:賬號展示、端口列表、進程列表等。賬號展示可以列出系統管理員及用戶賬號,端口列表展示了系統開放的網絡端口,進程列表展示系統內運行的各種進程。
風險管理
精準發現內部風險,快速定位問題并有效解決安全風險,提供詳細的資產信息、風險信息以供分析和響應。功能包括:漏洞檢測、安全補丁、弱密碼、系統風險、賬號風險等。漏洞掃描提供了系統的安全漏洞掃描功能,安全補丁功能會提示系統是否需要更新某些補丁,弱密碼可以掃描出系統中存在的簡單密碼并提示修改,系統風險、賬號風險展示了系統中可能出現的其他系統及賬號相關的其他風險。
入侵檢測
提供多錨點的檢測能力,能夠實時、準確的感知入侵事件,發現失陷主機,并提供對入侵事件的響應手段。功能包括:暴力破解、異常登錄、反彈 shell 、本地提權、后門檢測,Web 后門等。檢測系統的可疑事件,發現暴力破解,異常登錄,反彈 shell 行為,或者存在風險的本地提權行為,并提供后門檢測,Web 后門掃描功能。
發布路線
項目目前已經實現了審計控制及部分行為分析模塊功能,整體規劃如下:
表2 項目整體規劃
審核編輯:湯梓紅
-
內核
+關注
關注
3文章
1384瀏覽量
40442 -
Linux
+關注
關注
87文章
11351瀏覽量
210499 -
操作系統
+關注
關注
37文章
6900瀏覽量
123807 -
安全防護
+關注
關注
0文章
60瀏覽量
13584
原文標題:safeguard—基于 KRSI (eBPF+LSM)的 Linux 安全防護系統
文章出處:【微信號:openEulercommunity,微信公眾號:openEuler】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
知語云全景監測技術:現代安全防護的全面解決方案
如何設計連網系統的安全防護?
嵌入式產品如何進行安全防護
關于 eBPF 安全可觀測性,你需要知道的那些事兒
openEuler 倡議建立 eBPF 軟件發布標準
數據庫自主安全防護技術的研究與實現
![數據庫自主<b class='flag-5'>安全防護</b>技術的研究與實現](https://file1.elecfans.com//web2/M00/A5/EF/wKgZomUMOt6AXoaeAAARvsVQmRg374.gif)
基于ARM虛擬化安全防護技術
![基于ARM虛擬化<b class='flag-5'>安全防護</b>技術](https://file.elecfans.com/web2/M00/49/84/poYBAGKhwMGAD-NTAAAWowaFC7k003.jpg)
評論