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

基于ARM虛擬化安全防護(hù)技術(shù)

關(guān)于安全防護(hù)的詳細(xì)介紹和應(yīng)用
基于物聯(lián)網(wǎng)技術(shù)的安全防護(hù)系統(tǒng)
基于ebpf的性能工具-bpftrace

基于GSM的家庭安全防護(hù)系統(tǒng)設(shè)計(jì)

授時(shí)安全防護(hù)裝置是什么?怎么選?

評(píng)論