eBPF云原生安全:原理與實(shí)踐 黃竹剛 匡大虎
定 價(jià):¥99
中 教 價(jià):¥59.40 (6.00折)
庫 存 數(shù): 27
這是一本系統(tǒng)講解如何使用eBPF技術(shù)構(gòu)建云原生安全防線的著作,是一本面向eBPF技術(shù)愛好者和云安全領(lǐng)域從業(yè)者的實(shí)戰(zhàn)寶典,從原理與實(shí)踐角度詳述了eBPF技術(shù)在云原生安全領(lǐng)域正在發(fā)生的關(guān)鍵作用,是作者多年構(gòu)筑云原生安全縱深防御經(jīng)驗(yàn)的總結(jié)。本書詳細(xì)闡述了eBPF技術(shù)的核心原理以及在云原生安全領(lǐng)域的應(yīng)用價(jià)值,并結(jié)合大量的代碼案例分析,深入探討了在典型的云原生安全需求場景下使用eBPF技術(shù)可以幫助實(shí)現(xiàn)的安全功能和實(shí)踐原理,同時(shí)也講述了可能引入的安全風(fēng)險(xiǎn),幫助讀者從零基礎(chǔ)快速了解eBPF技術(shù),開始eBPF安全編程。通過閱讀本書,你將了解:?云原生安全面臨的主要挑戰(zhàn),發(fā)展現(xiàn)狀和理論基礎(chǔ);?eBPF技術(shù)的基本原理和云原生安全領(lǐng)域的典型應(yīng)用;?基于eBPF技術(shù)的云原生安全核心開源項(xiàng)目的安裝、使用、基礎(chǔ)架構(gòu)和實(shí)現(xiàn)原理;?如何使用eBPF技術(shù)實(shí)現(xiàn)典型的云原生安全需求及實(shí)現(xiàn)原理;?如何將eBPF安全事件關(guān)聯(lián)進(jìn)程、容器和Pod等上下文信息;?如何使用eBPF技術(shù)審計(jì)復(fù)雜的云原生攻擊手段;?惡意eBPF程序的典型實(shí)現(xiàn)方式以及如何防護(hù)和探測此類惡意程序。
(1)作者背景權(quán)威:作者是阿里云容器服務(wù)技術(shù)專家,阿里云容器團(tuán)隊(duì)是國內(nèi)最早在云原生生產(chǎn)環(huán)境中使用eBPF的團(tuán)隊(duì)之一。(2)作者經(jīng)驗(yàn)豐富:作者在阿里等互聯(lián)網(wǎng)大廠有十余年的云計(jì)算安全工作經(jīng)驗(yàn),多年的eBPF實(shí)戰(zhàn)經(jīng)驗(yàn)。(3)資深專家推薦:阿里云容器服務(wù)負(fù)責(zé)人易立、阿里云高級(jí)技術(shù)專家李鵬等多位專家高度評(píng)價(jià)并推薦。(4)內(nèi)容系統(tǒng)全面:從eBPF工作原理、eBPF在云原生領(lǐng)域應(yīng)用場景,到知名的eBPF云原生安全項(xiàng)目,再到常見和復(fù)雜的云原生安全問題的eBPF技術(shù)解決方案,應(yīng)有盡有。(5)基于生產(chǎn)環(huán)境:書中所有實(shí)戰(zhàn)經(jīng)驗(yàn)和案例分析,主要來自于自作者在阿里云一線的工作經(jīng)驗(yàn)總結(jié)。(6)深度剖析源碼:對(duì)eBPF以及Falco、Tracee、Tetragon等云原生安全領(lǐng)域的知名eBPF項(xiàng)目的核心源碼進(jìn)行了深度剖析。(7)實(shí)戰(zhàn)案例豐富:書中用大量實(shí)戰(zhàn)案例講解了如何使用eBPF技術(shù)解決常見的安全需求以及應(yīng)對(duì)復(fù)雜的攻擊手段。
Preface?前 言為什么要寫這本書eBPF技術(shù)已經(jīng)成為云原生社區(qū)近年來備受關(guān)注的技術(shù)話題之一。在云原生領(lǐng)域,越來越多的項(xiàng)目和產(chǎn)品開始使用eBPF技術(shù)來構(gòu)建其核心能力,涉及可觀測性、網(wǎng)絡(luò)和安全等關(guān)鍵領(lǐng)域。盡管eBPF技術(shù)備受關(guān)注,但是市面上關(guān)于eBPF技術(shù)尤其是eBPF技術(shù)在云原生安全領(lǐng)域應(yīng)用的書籍寥寥無幾。為此,我們編寫了這本關(guān)于eBPF技術(shù)的書,內(nèi)容涵蓋eBPF的工作原理、eBPF在云原生安全領(lǐng)域的應(yīng)用、知名eBPF云原生安全項(xiàng)目、使用eBPF技術(shù)開發(fā)安全相關(guān)功能等。讀者對(duì)象本書的目標(biāo)讀者包括開發(fā)者、eBPF技術(shù)愛好者及云原生安全領(lǐng)域的從業(yè)人員。無論是對(duì)eBPF技術(shù)本身感興趣的讀者,還是對(duì)其在云原生安全領(lǐng)域的應(yīng)用感興趣的讀者,都適合閱讀本書。本書內(nèi)容本書分為四大部分,其中第一部分由匡大虎完成,其余三部分由黃竹剛完成。各部分的內(nèi)容如下:第一部分為eBPF助力云原生安全,包括第1~4章。第1章簡要介紹云原生安全的挑戰(zhàn)、發(fā)展、理論基礎(chǔ)及方法論,第2章帶領(lǐng)讀者初步認(rèn)識(shí)eBPF,第3章介紹eBPF的技術(shù)原理,第4章探討eBPF技術(shù)在云原生安全領(lǐng)域的應(yīng)用。第二部分為云原生安全項(xiàng)目詳解,包括第5~7章。這部分從安裝、使用及架構(gòu)和實(shí)現(xiàn)原理等方面,介紹Falco、Tracee、Tetragon這三個(gè)云原生安全領(lǐng)域基于eBPF技術(shù)實(shí)現(xiàn)核心安全能力的知名開源項(xiàng)目。第三部分為eBPF安全技術(shù)實(shí)戰(zhàn),包括第8~12章。這部分以實(shí)戰(zhàn)的方式介紹如何使用eBPF技術(shù)實(shí)現(xiàn)常見的安全需求,比如審計(jì)和攔截命令執(zhí)行操作、文件讀寫操作、權(quán)限提升操作及網(wǎng)絡(luò)流量。同時(shí),這部分還將介紹如何實(shí)現(xiàn)實(shí)際業(yè)務(wù)場景中提出的為安全事件關(guān)聯(lián)進(jìn)程信息、容器和Pod信息等上下文信息的需求。第四部分為eBPF安全進(jìn)階,包括第13和14章。第13章介紹如何使用eBPF技術(shù)審計(jì)復(fù)雜的攻擊手段,比如無文件攻擊、反彈Shell。第14章介紹惡意eBPF程序的常見實(shí)現(xiàn)模式及如何防護(hù)和探測這類惡意程序。勘誤和支持由于作者的水平有限,書中難免會(huì)出現(xiàn)一些錯(cuò)誤或不準(zhǔn)確的地方,懇請(qǐng)讀者批評(píng)指正。勘誤將會(huì)在本書示例程序的源代碼倉庫(https://github.com/mozillazg/cloud-native-security-with-ebpf)中以Issue的形式發(fā)布,讀者發(fā)現(xiàn)任何錯(cuò)誤,有任何意見或建議,都?xì)g迎在Issue中留言。謹(jǐn)以此書獻(xiàn)給所有熱愛和關(guān)注eBPF與云原生安全的讀者!
黃竹剛,阿里云容器服務(wù)技術(shù)專家,eBPF 技術(shù)愛好者,云原生安全領(lǐng)域從業(yè)人員,擁有十余年軟件開發(fā)經(jīng)驗(yàn),熟悉Python、Go等多種編程語言,熱愛開源并長期活躍于開源社區(qū)。匡大虎,阿里云高級(jí)技術(shù)專家,阿里云容器服務(wù)安全負(fù)責(zé)人,專注云原生安全,是阿里云云原生安全核心成員之一。
Contents 目 錄前 言第一部分 eBPF助力云原生安全第1章 云原生安全概述 31.1 云原生安全的挑戰(zhàn) 31.1.1 云原生平臺(tái)基礎(chǔ)設(shè)施的安全風(fēng)險(xiǎn) 41.1.2 DevOps軟件供應(yīng)鏈的安全風(fēng)險(xiǎn) 41.1.3 云原生應(yīng)用范式的安全風(fēng)險(xiǎn) 51.2 云原生安全的演進(jìn) 51.3 云原生安全的理論基礎(chǔ) 111.3.1 威脅建模 111.3.2 堅(jiān)守安全準(zhǔn)則 141.3.3 安全觀測和事件響應(yīng) 211.4 云原生安全的方法論 211.4.1 CNCF云原生安全架構(gòu) 221.4.2 云原生應(yīng)用保護(hù)平臺(tái) 311.5 本章小結(jié) 35第2章 初識(shí)eBPF 362.1 eBPF歷史 362.2 eBPF的關(guān)鍵特性和應(yīng)用場景 382.2.1 Linux內(nèi)核 382.2.2 eBPF的關(guān)鍵特性 392.2.3 eBPF的應(yīng)用場景 412.3 eBPF的架構(gòu) 442.4 本章小結(jié) 47第3章 eBPF技術(shù)原理詳解 483.1 eBPFHello World程序 483.2 eBPF技術(shù)原理 533.2.1 eBPF Map數(shù)據(jù)結(jié)構(gòu) 533.2.2 eBPF虛擬機(jī) 563.2.3 eBPF驗(yàn)證器 603.2.4 bpf()系統(tǒng)調(diào)用 613.2.5 eBPF程序和附著類型 633.3 eBPF程序的開發(fā)模式 663.3.1 BCC模式 663.3.2 CO-RE libbpf模式 683.4 本章小結(jié) 75第4章 eBPF技術(shù)在云原生安全領(lǐng)域的應(yīng)用 764.1 針對(duì)云原生應(yīng)用的攻擊 764.2 eBPF和云原生安全的契合點(diǎn) 784.2.1 容器中的基礎(chǔ)隔離 784.2.2 傳統(tǒng)安全架構(gòu) 794.2.3 eBPF提升云原生應(yīng)用運(yùn)行時(shí)安全 804.2.4 eBPF伴隨云原生應(yīng)用生命周期 814.3 eBPF云原生安全開源項(xiàng)目 834.3.1 Falco 844.3.2 Tracee 854.3.3 Tetragon 864.4 雙刃劍 874.5 本章小結(jié) 90第二部分 云原生安全項(xiàng)目詳解第5章 云原生安全項(xiàng)目Falco詳解 935.1 項(xiàng)目介紹 935.1.1 功能 935.1.2 使用場景 955.2 安裝 955.2.1 使用包管理工具 955.2.2 下載二進(jìn)制包 975.2.3 Kubernetes環(huán)境 985.3 使用示例 995.3.1 規(guī)則引擎 995.3.2 告警輸出 1045.3.3 事件源 1045.4 架構(gòu)和實(shí)現(xiàn)原理 1055.4.1 架構(gòu) 1055.4.2 驅(qū)動(dòng) 1055.4.3 用戶態(tài)模塊 1115.5 本章小結(jié) 113第6章 云原生安全項(xiàng)目Tracee詳解 1146.1 項(xiàng)目介紹 1146.2 安裝 1156.3 使用示例 1166.3.1 事件追蹤 1166.3.2 制品捕獲 1226.3.3 風(fēng)險(xiǎn)探測 1246.3.4 外部集成 1276.4 架構(gòu)和實(shí)現(xiàn)原理 1296.4.1 架構(gòu) 1296.4.2 tracee-ebpf實(shí)現(xiàn)原理 1306.5 本章小結(jié) 141第7章 云原生安全項(xiàng)目Tetragon詳解 1427.1 項(xiàng)目介紹 1427.2 安裝 1437.3 使用示例 1447.3.1 事件觀測 1447.3.2 風(fēng)險(xiǎn)攔截 1497.4 架構(gòu)和實(shí)現(xiàn)原理 1547.4.1 架構(gòu) 1547.4.2 事件觀測 1567.4.3 風(fēng)險(xiǎn)攔截 1657.5 本章小結(jié) 166第三部分 eBPF安全技術(shù)實(shí)戰(zhàn)第8章 使用eBPF技術(shù)審計(jì)和攔截命令執(zhí)行操作 1698.1 審計(jì)命令執(zhí)行操作 1698.1.1 基于eBPF Kprobe和Kretprobe實(shí)現(xiàn) 1708.1.2 基于eBPF Fentry和Fexit實(shí)現(xiàn) 1738.1.3 基于eBPF Ksyscall和Kretsyscall實(shí)現(xiàn) 1748.1.4 基于eBPF Tracepoint實(shí)現(xiàn) 1758.2 攔截命令執(zhí)行操作 1788.2.1 基于bpf_send_signal實(shí)現(xiàn) 1788.2.2 基于bpf_override_return實(shí)現(xiàn) 1798.3 本章小結(jié) 182第9章 使用eBPF技術(shù)審計(jì)和攔截文件讀寫操作 1839.1 審計(jì)文件讀寫操作 1839.1.1 基于eBPF Kprobe和Kretprobe實(shí)現(xiàn) 1849.1.2 基于eBPF Tracepoint實(shí)現(xiàn) 1859.1.3 基于eBPF LSM實(shí)現(xiàn) 1879.2 攔截文件讀寫操作 1899.2.1 基于bpf_send_signal實(shí)現(xiàn) 1909.2.2 基于bpf_override_return實(shí)現(xiàn) 1919.2.3 基于eBPF LSM實(shí)現(xiàn) 1919.3 本章小結(jié) 192第10章 使用eBPF技術(shù)審計(jì)和攔截權(quán)限提升操作 19310.1 審計(jì)權(quán)限提升操作 19310.1.1 基于eBPF LSM實(shí)現(xiàn) 19410.1.2 基于eBPF Kprobe實(shí)現(xiàn) 19510.2 攔截權(quán)限提升操作 19610.3 本章小結(jié) 197第11章 使用eBPF技術(shù)審計(jì)和攔截網(wǎng)絡(luò)流量 19811.1 審計(jì)網(wǎng)絡(luò)流量 19811.1.1 基于eBPF套接字過濾器實(shí)現(xiàn) 19811.1.2 基于eBPF TC實(shí)現(xiàn) 20411.1.3 基于eBPF XDP實(shí)現(xiàn) 20711.1.4 基于Kprobe實(shí)現(xiàn) 20711.2 攔截網(wǎng)絡(luò)流量 20911.2.1 基于eBPF TC實(shí)現(xiàn) 20911.2.2 基于eBPF XDP實(shí)現(xiàn) 21011.3 本章小結(jié) 211第12章 為事件關(guān)聯(lián)上下文信息 21212.1 進(jìn)程信息 21212.1.1 進(jìn)程操作事件 21212.1.2 網(wǎng)絡(luò)事件 21612.2 容器和Pod信息 22112.2.1 進(jìn)程操作事件 22112.2.2 網(wǎng)絡(luò)事件 22512.3 本章小結(jié) 226第四部分 eBPF安全進(jìn)階第13章 使用eBPF技術(shù)審計(jì)復(fù)雜的攻擊手段 22913.1 審計(jì)使用無文件攻擊技術(shù)實(shí)現(xiàn)的命令執(zhí)行操作 22913.2 審計(jì)反彈Shell操作 23213.3 本章小結(jié) 236第14章 使用eBPF技術(shù)探測惡意eBPF程序 23714.1 惡意eBPF程序 23714.1.1 常規(guī)程序 23714.1.2 網(wǎng)絡(luò)程序 25014.2 防護(hù)惡意eBPF程序 26014.3 探測和審計(jì)惡意eBPF程序 261
14.3.1 文件分析 261
14.3.2 bpftool 262
14.3.3 內(nèi)核探測 265
14.4 本章小結(jié) 268