eBPF 技術(shù)實踐白皮書(第二版)_第1頁
eBPF 技術(shù)實踐白皮書(第二版)_第2頁
eBPF 技術(shù)實踐白皮書(第二版)_第3頁
eBPF 技術(shù)實踐白皮書(第二版)_第4頁
eBPF 技術(shù)實踐白皮書(第二版)_第5頁
已閱讀5頁,還剩141頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

編寫說明編寫單位:浪潮電子信息產(chǎn)業(yè)股份有限公司、濟(jì)南浪潮數(shù)據(jù)技術(shù)有限公司前言方便的內(nèi)核可編程性等特點成為實現(xiàn)內(nèi)核定制與功能多樣性的最佳選擇,為內(nèi)核提 8 9 9 74 1eBPF簡介統(tǒng)內(nèi)核)運(yùn)行沙盒程序。它可以安全有效地擴(kuò)展內(nèi)核的功能,并且不需要更改內(nèi)核源eBPF從根本上改變了上述情況,它允許在內(nèi)核中運(yùn)行沙箱程序,即通過運(yùn)行2eBPF技術(shù)介紹2.1.1eBPF加載過程重定位是指在編譯、加載的過程中把字節(jié)碼中一些臨時數(shù)據(jù)以更準(zhǔn)確的信息進(jìn)指針的安全性檢查在第二個階段實現(xiàn),每次把指針加載到寄存器時都會進(jìn)行指2.1.2JIT編譯直接執(zhí)行機(jī)器碼,這樣就解決了每次執(zhí)行都需要進(jìn)行中間碼解析的問題,如下圖所2.1.3掛載與執(zhí)行根據(jù)設(shè)計與需求提前在內(nèi)核指定位置通過提前嵌入代碼實現(xiàn)的,初始時函數(shù)指針是加載器讀取到map信息后調(diào)用系統(tǒng)調(diào)用創(chuàng)建eBPFmap,系統(tǒng)調(diào)用返回由eBPF常見程序類型主要用于從系統(tǒng)中提取跟蹤信息,進(jìn)等主要用于對網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行過濾和處行邏輯的情況下,對操作系統(tǒng)進(jìn)行深入的分析間,而不需要像傳統(tǒng)系統(tǒng)一樣必須將大量的采樣數(shù)據(jù)全部傳輸?shù)接脩艨臻g再進(jìn)行分核和安全模塊的解耦,使不同的安全模塊可以自在,開發(fā)人員可以通過eBPF編寫自定義的安全策略,并將2.2.1BCC2.2.2bpfTrace強(qiáng)大的單行代碼和簡短的工具。它自定義了自己的DSL作為前端,底層也是調(diào)用2.2.3libbpf頭文件就行,不需要再安裝內(nèi)核頭文件(vmlinux.從而解決了由于數(shù)據(jù)結(jié)構(gòu)在不同內(nèi)核版本間的變化導(dǎo)致的兼容2.2.4libbpf-bootstrap2.2.5cilium-ebpf2.2.6Coolbpf開發(fā)&測試組件提供了多語言開發(fā)和自動化測試功能;編譯組件提供了多種編譯方3.1.1系統(tǒng)診斷面臨挑戰(zhàn)等協(xié)作工具的不穩(wěn)定性,影響遠(yuǎn)程團(tuán)隊的工作效率和溝1、網(wǎng)絡(luò)數(shù)據(jù)包分析工具:如Wireshark、tcpdump能夠獲取到文件訪問信息以及該進(jìn)程所在的調(diào)試內(nèi)存泄漏問題是一項復(fù)雜而具有挑戰(zhàn)性的任務(wù)。這涉及詳細(xì)檢查應(yīng)用程序常見的干擾源是中斷搶占。當(dāng)中斷搶占時間過長時,可能會導(dǎo)致業(yè)務(wù)進(jìn)程調(diào)度不及戶來說可能需要一定的專業(yè)知識進(jìn)行分析,并且難以準(zhǔn)確定位根3.1.2基于eBPF的系統(tǒng)診斷方案診斷方案應(yīng)運(yùn)而生,為系統(tǒng)在網(wǎng)絡(luò)、IO、內(nèi)存和調(diào)度等方面的診斷提供了更強(qiáng)大的網(wǎng)絡(luò)抖動問題定位周期長,定位難度大(跨很多組件業(yè)務(wù)影響嚴(yán)重的特點,ICMP_ECHOREPLY)協(xié)議的網(wǎng)絡(luò)延遲探測協(xié)議,通過發(fā)送和解析探測報文來定位報的回包后,可以獲取所有時間戳數(shù)據(jù)進(jìn)行分析,以確定存在延filepath:文件路徑,當(dāng)在一次采集周期內(nèi)由于進(jìn)程訪問文獲取不到文件名則為"-"如進(jìn)程來自某個容器,在文件名后綴會顯示[containterId:2、當(dāng)內(nèi)核分配內(nèi)存時,memleak會在eBTIME(irqoff)3.1.3基于eBPF的Profiling取并保存函數(shù)調(diào)用棧,保證問題發(fā)生后能夠回溯到當(dāng)時的問題現(xiàn)場,而的哪一段代碼在CPU上消耗資源。而offcpu我們希望看到應(yīng)用是否是自愿放棄?地址:函數(shù)調(diào)用的內(nèi)存地址?文件名:源代碼文件名稱?行號:源代碼中的行號通過前面的方法獲取到了內(nèi)核態(tài)和用戶態(tài)棧信息后,需要在用戶態(tài)將ContinuesProfiling整體架構(gòu)我們事先需要部署agent去負(fù)責(zé)profiling,在server端去查看數(shù)據(jù)。在中心端SysOM:/anolis/sysom節(jié)點端SysAK:/anolis/sysakeBPF采集端Coolbpf:/anolis/coolbpf3.2.1虛擬化IO全路徑分析主要面臨的挑戰(zhàn)2、客戶操作系統(tǒng)塊設(shè)備物理地址(guestblockLBA)到虛擬磁盤文件內(nèi)偏移3.2.2基于bpftrace虛擬化IO路徑追蹤解決方案主要功能關(guān)鍵技術(shù)2、virtio前后端分析:完成virtio前端(virtio-blk/virtio-scsi、virtio-2、追蹤結(jié)果按預(yù)定義格式保存到raw輸出,供reporter解析;圖3-2-4IO性能追蹤工具repor3.3.1TCP監(jiān)控面臨的挑戰(zhàn)時等信息。但是這種方式依賴業(yè)務(wù)邏輯適配側(cè)采集時間,能夠獲取到整個通信路徑上的延遲。該方式需要用戶修改業(yè)務(wù)邏輯適3.3.2基于eBPF的TCP監(jiān)控方案為了克服了傳統(tǒng)TCP監(jiān)控方式的缺陷,龍蜥社區(qū)基于eBP數(shù)據(jù)下載時間。對于下載比較大的數(shù)據(jù)響應(yīng),該信息的3.4.1Linux網(wǎng)絡(luò)性能優(yōu)化面臨的挑戰(zhàn)隨著當(dāng)前芯片等硬件制造工藝的持續(xù)進(jìn)步,網(wǎng)卡支持的帶寬及處理能力越來越傳統(tǒng)網(wǎng)絡(luò)性能優(yōu)化方案存在諸多問題更多網(wǎng)絡(luò)協(xié)議和特性卸載。但這種方案還存載能力不一定具有通用性,帶來的性能提升可能無法與其不同平臺上的兼容性可能存在差異。某些特定的硬件設(shè)備或操作系統(tǒng)版本可能無法配置和調(diào)優(yōu)問題:DPDK提供了豐富的配置選項和優(yōu)化以及相關(guān)的元數(shù)據(jù),這些都需要占用一定的內(nèi)存空間。DPDK通過3.4.2基于eBPF的Linux內(nèi)核網(wǎng)絡(luò)性能優(yōu)化解決方案整體架構(gòu)XDP可直接掛載至可編程的智能網(wǎng)卡上,執(zhí)行效率最高,但對硬件有一定要求。作系統(tǒng)進(jìn)行數(shù)據(jù)處理,它的執(zhí)行性能相對也很高。對于還沒有實現(xiàn)native或供的通用XDP兼容模式,它可以在沒有硬件或驅(qū)動程序支持的主機(jī)上執(zhí)行XDP行,但性能相對較低。nativeXDP掛載點在poll函數(shù)之后,在內(nèi)核收包函數(shù)應(yīng)用實踐夠帶來大幅的性能提升。相比kube-proxy等傳統(tǒng)實現(xiàn)方案,包轉(zhuǎn)發(fā)率能夠提高3.5.1傳統(tǒng)流量鏡像面臨的挑戰(zhàn)在數(shù)據(jù)中心中存在多種流量鏡像方案,包括基于交換機(jī)端口鏡像的硬件流量鏡庫的流量這增加了數(shù)據(jù)傳輸量以及后期流量篩選和分可擴(kuò)展性問題:基于交換機(jī)或iptables/ovs3.5.2基于eBPF的流量鏡像解決方案3.5.3應(yīng)用實踐在某大型企業(yè)客服系統(tǒng)容器化遷移項目中,線上客服業(yè)務(wù)相關(guān)數(shù)據(jù)庫從物理機(jī)量采集后無法直接分析,還需要針對性的解封裝,增加了整3.6.1傳統(tǒng)網(wǎng)絡(luò)訪問控制面臨的挑戰(zhàn)系,當(dāng)出現(xiàn)問題時難以快速定位到具體的規(guī)則,不易兼容性問題:可能與同樣基于iptabl3.6.2基于eBPF的網(wǎng)絡(luò)訪問控制解決方案兼容性強(qiáng):eBPF程序作用于操作系統(tǒng)網(wǎng)絡(luò)入口,能夠避免與運(yùn)行如提供更加靈活易用的安全加固語義規(guī)則、支持標(biāo)記/鏡像等更多的網(wǎng)絡(luò)包處理3.6.3應(yīng)用實踐某銀行清算系統(tǒng)部分服務(wù)運(yùn)行于私有云平臺互聯(lián)網(wǎng)區(qū),其通過傳統(tǒng)的軟件防火也通過iptables方案實現(xiàn),因此兩種上下線業(yè)務(wù)期間常會出現(xiàn)配置不當(dāng)、互聯(lián)網(wǎng)與云內(nèi)流量規(guī)則沖突引起訪問控制異常leBPF流量訪問規(guī)則作用于互聯(lián)網(wǎng)通信網(wǎng)卡tc入口,不影響云內(nèi)流量路徑l流量在互聯(lián)網(wǎng)通信網(wǎng)卡tc處被限制,可以做到與云內(nèi)流量更加安全的隔離3.7.1基于eBPF實現(xiàn)網(wǎng)絡(luò)功能的優(yōu)勢1.eBPF作為一種起源于內(nèi)核的2.相比于DPDK等方案,eB3.eBPF允許動態(tài)加載用戶代碼然后安全地在內(nèi)核3.7.2eBPF實現(xiàn)網(wǎng)絡(luò)功能面臨的技術(shù)挑戰(zhàn)bpf_get_prandom_u32對于網(wǎng)絡(luò)功能來說性能開銷太大。如果每一個包都調(diào)用一現(xiàn)有的解決方案存在的缺陷為了解決這兩個技術(shù)挑戰(zhàn),可以考慮兩種解決方案。第一種解決方案是增強(qiáng)第二種解決方案是將所有功能無法實現(xiàn)的和性能下降的網(wǎng)絡(luò)功能實現(xiàn)為內(nèi)核模3.7.3基于標(biāo)準(zhǔn)庫的優(yōu)化eBPF網(wǎng)絡(luò)功能技術(shù)方案整體架構(gòu)為了在不修改內(nèi)核的前提下,解決上述的技術(shù)挑戰(zhàn),我們設(shè)計并實現(xiàn)一個可供eBPF調(diào)用的網(wǎng)絡(luò)功能標(biāo)準(zhǔn)庫eNetSTL。eNetSTL將上述的通用的模我們驗證了跳表的查找性能和插入性能,可以看到使用eN達(dá)到了70.9%的峰值。這是由于隨著哈希函低負(fù)載場景下,優(yōu)化主要體現(xiàn)在使用hw_hash_crc替代基于軟件的哈希計算和3.8.1傳統(tǒng)解決方案面臨挑戰(zhàn)傳統(tǒng)安全檢測和防御方案采用內(nèi)核模塊技術(shù),內(nèi)核模塊技術(shù)是通過編寫內(nèi)核模斷低3.8.2基于eBPF的新一代安全解決方案和合規(guī)性的同時,解決傳統(tǒng)內(nèi)核模塊方式帶來的系統(tǒng)穩(wěn)定性和性主要功能2、主機(jī)入侵檢測:基于規(guī)則引擎可以對黑客的入侵行為進(jìn)行檢測和自動處置?;凇罢T餌”行為監(jiān)測的勒索病毒防御,及時發(fā)現(xiàn)和阻止勒索病毒整體架構(gòu)/test//test/bin/完全信任業(yè)務(wù)軟件自身程序,對業(yè)務(wù)軟件的程序不做任何攔截,保障業(yè)務(wù)/test/bin/其他任何程序都無法終止以及對業(yè)務(wù)4、黑客入侵:攻擊者對被保護(hù)的文件進(jìn)行編輯或刪除等操作,進(jìn)入內(nèi)核LSMmap安全策略和匹配。在獲取主體進(jìn)程時作、進(jìn)程創(chuàng)建、網(wǎng)絡(luò)連接等行為?;贛ITREATT&CK(AdversarialTactics,文件描述符0,1,2,3文件描述符選擇實施加固和擴(kuò)展,以便更好地滿足對不同用戶不同場景的配置安全基

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論