新書推薦:
《
盗墓笔记之秦岭神树4
》
售價:HK$
57.3
《
战胜人格障碍
》
售價:HK$
66.7
《
逃不开的科技创新战争
》
售價:HK$
103.3
《
漫画三国一百年
》
售價:HK$
55.2
《
希腊文明3000年(古希腊的科学精神,成就了现代科学之源)
》
售價:HK$
82.8
《
粤行丛录(岭南史料笔记丛刊)
》
售價:HK$
80.2
《
岁月待人归:徐悲鸿自述人生艺术
》
售價:HK$
59.8
《
女人的中国医疗史:汉唐之间的健康照顾与性别
》
售價:HK$
103.8
|
編輯推薦: |
(1)作者背景权威:作者是阿里云容器服务技术专家,阿里云容器团队是国内最早在云原生生产环境中使用eBPF的团队之一。
(2)作者经验丰富:作者在阿里等互联网大厂有十余年的云计算安全工作经验,多年的eBPF实战经验。
(3)资深专家推荐:阿里云容器服务负责人易立、阿里云高级技术专家李鹏等多位专家高度评价并推荐。
(4)内容系统全面:从eBPF工作原理、eBPF在云原生领域应用场景,到知名的eBPF云原生安全项目,再到常见和复杂的云原生安全问题的eBPF技术解决方案,应有尽有。
(5)基于生产环境:书中所有实战经验和案例分析,主要来自于自作者在阿里云一线的工作经验总结。
(6)深度剖析源码:对eBPF以及Falco、Tracee、Tetragon等云原生安全领域的知名eBPF项目的核心源码进行了深度剖析。
(7)实战案例丰富:书中用大量实战案例讲解了如何使用eBPF技术解决常见的安全需求以及应对复杂的攻击手段。
|
內容簡介: |
这是一本系统讲解如何使用eBPF技术构建云原生安全防线的著作,是一本面向eBPF技术爱好者和云安全领域从业者的实战宝典,从原理与实践角度详述了eBPF技术在云原生安全领域正在发生的关键作用,是作者多年构筑云原生安全纵深防御经验的总结。
本书详细阐述了eBPF技术的核心原理以及在云原生安全领域的应用价值,并结合大量的代码案例分析,深入探讨了在典型的云原生安全需求场景下使用eBPF技术可以帮助实现的安全功能和实践原理,同时也讲述了可能引入的安全风险,帮助读者从零基础快速了解eBPF技术,开始eBPF安全编程。
通过阅读本书,你将了解:
?云原生安全面临的主要挑战,发展现状和理论基础;
?eBPF技术的基本原理和云原生安全领域的典型应用;
?基于eBPF技术的云原生安全核心开源项目的安装、使用、基础架构和实现原理;
?如何使用eBPF技术实现典型的云原生安全需求及实现原理;
?如何将eBPF安全事件关联进程、容器和Pod等上下文信息;
?如何使用eBPF技术审计复杂的云原生攻击手段;
?恶意eBPF程序的典型实现方式以及如何防护和探测此类恶意程序。
|
關於作者: |
黄竹刚,阿里云容器服务技术专家,eBPF 技术爱好者,云原生安全领域从业人员,拥有十余年软件开发经验,熟悉Python、Go等多种编程语言,热爱开源并长期活跃于开源社区。
匡大虎,阿里云高级技术专家,阿里云容器服务安全负责人,专注云原生安全,是阿里云云原生安全核心成员之一。
|
目錄:
|
Contents 目 录
前 言
第一部分 eBPF助力云原生安全
第1章 云原生安全概述 3
1.1 云原生安全的挑战 3
1.1.1 云原生平台基础设施的安全
风险 4
1.1.2 DevOps软件供应链的安全
风险 4
1.1.3 云原生应用范式的安全风险 5
1.2 云原生安全的演进 5
1.3 云原生安全的理论基础 11
1.3.1 威胁建模 11
1.3.2 坚守安全准则 14
1.3.3 安全观测和事件响应 21
1.4 云原生安全的方法论 21
1.4.1 CNCF云原生安全架构 22
1.4.2 云原生应用保护平台 31
1.5 本章小结 35
第2章 初识eBPF 36
2.1 eBPF历史 36
2.2 eBPF的关键特性和应用场景 38
2.2.1 Linux内核 38
2.2.2 eBPF的关键特性 39
2.2.3 eBPF的应用场景 41
2.3 eBPF的架构 44
2.4 本章小结 47
第3章 eBPF技术原理详解 48
3.1 eBPF“Hello World”程序 48
3.2 eBPF技术原理 53
3.2.1 eBPF Map数据结构 53
3.2.2 eBPF虚拟机 56
3.2.3 eBPF验证器 60
3.2.4 bpf()系统调用 61
3.2.5 eBPF程序和附着类型 63
3.3 eBPF程序的开发模式 66
3.3.1 BCC模式 66
3.3.2 CO-RE libbpf模式 68
3.4 本章小结 75
第4章 eBPF技术在云原生安全领域
的应用 76
4.1 针对云原生应用的攻击 76
4.2 eBPF和云原生安全的契合点 78
4.2.1 容器中的基础隔离 78
4.2.2 传统安全架构 79
4.2.3 eBPF提升云原生应用运行时
安全 80
4.2.4 eBPF伴随云原生应用生命
周期 81
4.3 eBPF云原生安全开源项目 83
4.3.1 Falco 84
4.3.2 Tracee 85
4.3.3 Tetragon 86
4.4 双刃剑 87
4.5 本章小结 90
第二部分 云原生安全项目详解
第5章 云原生安全项目Falco详解 93
5.1 项目介绍 93
5.1.1 功能 93
5.1.2 使用场景 95
5.2 安装 95
5.2.1 使用包管理工具 95
5.2.2 下载二进制包 97
5.2.3 Kubernetes环境 98
5.3 使用示例 99
5.3.1 规则引擎 99
5.3.2 告警输出 104
5.3.3 事件源 104
5.4 架构和实现原理 105
5.4.1 架构 105
5.4.2 驱动 105
5.4.3 用户态模块 111
5.5 本章小结 113
第6章 云原生安全项目Tracee
详解 114
6.1 项目介绍 114
6.2 安装 115
6.3 使用示例 116
6.3.1 事件追踪 116
6.3.2 制品捕获 122
6.3.3 风险探测 124
6.3.4 外部集成 127
6.4 架构和实现原理 129
6.4.1 架构 129
6.4.2 tracee-ebpf实现原理 130
6.5 本章小结 141
第7章 云原生安全项目Tetragon
详解 142
7.1 项目介绍 142
7.2 安装 143
7.3 使用示例 144
7.3.1 事件观测 144
7.3.2 风险拦截 149
7.4 架构和实现原理 154
7.4.1 架构 154
7.4.2 事件观测 156
7.4.3 风险拦截 165
7.5 本章小结 166
第三部分 eBPF安全技术实战
第8章 使用eBPF技术审计和拦截
命令执行操作 169
8.1 审计命令执行操作 169
8.1.1 基于eBPF Kprobe和Kretprobe
实现 170
8.1.2 基于eBPF Fentry和Fexit
实现 173
8.1.3 基于eBPF Ksyscall和Kretsyscall
实现 174
8.1.4 基于eBPF Tracepoint实现 175
8.2 拦截命令执行操作 178
8.2.1 基于bpf_send_signal实现 178
8.2.2 基于bpf_override_return实现 179
8.3 本章小结 182
第9章 使用eBPF技术审计和拦截
文件读写操作 183
9.1 审计文件读写操作 183
9.1.1 基于eBPF Kprobe和Kretprobe
实现 184
9.1.2 基于eBPF Tracepoint实现 185
9.1.3 基于eBPF LSM实现 187
9.2 拦截文件读写操作 189
9.2.1 基于bpf_send_signal实现 190
9.2.2 基于bpf_override_return实现 191
9.2.3 基于eBPF LSM实现 191
9.3 本章小结 192
第10章 使用eBPF技术审计和拦截
权限提升操作 193
10.1 审计权限提升操作 193
10.1.1 基于eBPF LSM实现 194
10.1.2 基于eBPF Kprobe实现 195
10.2 拦截权限提升操作 196
10.3 本章小结 197
第11章 使用eBPF技术审计和拦截
网络流量 198
11.1 审计网络流量 198
11.1.1 基于eBPF套接字过滤器实现 198
11.1.2 基于eBPF TC实现 204
11.1.3 基于eBPF XDP实现 207
11.1.4 基于Kprobe实现 207
11.2 拦截网络流量 209
11.2.1 基于eBPF TC实现 209
11.2.2 基于eBPF XDP实现 210
11.3 本章小结 211
第12章 为事件关联上下文信息 212
12.1 进程信息 212
12.1.1 进程操作事件 212
12.1.2 网络事件 216
12.2 容器和Pod信息 221
12.2.1 进程操作事件 221
12.2.2 网络事件 225
12.3 本章小结 226
第四部分 eBPF安全进阶
第13章 使用eBPF技术审计复杂的
攻击手段 229
13.1 审计使用无文件攻击技术实现的
命令执行操作 229
13.2 审计反弹Shell操作 232
13.3 本章小结 236
第14章 使用eBPF技术探测恶意
eBPF程序 237
14.1 恶意eBPF程序 237
14.1.1 常规程序 237
14.1.2 网络程序 250
14.2 防护恶意eBPF程序 260
14.3 探测和审计恶意eBP
|
內容試閱:
|
Preface?前 言
为什么要写这本书
eBPF技术已经成为云原生社区近年来备受关注的技术话题之一。在云原生领域,越来越多的项目和产品开始使用eBPF技术来构建其核心能力,涉及可观测性、网络和安全等关键
领域。
尽管eBPF技术备受关注,但是市面上关于eBPF技术尤其是eBPF技术在云原生安全领域应用的书籍寥寥无几。为此,我们编写了这本关于eBPF技术的书,内容涵盖eBPF的工作原理、eBPF在云原生安全领域的应用、知名eBPF云原生安全项目、使用eBPF技术开发安全相关功能等。
读者对象
本书的目标读者包括开发者、eBPF技术爱好者及云原生安全领域的从业人员。无论是对eBPF技术本身感兴趣的读者,还是对其在云原生安全领域的应用感兴趣的读者,都适合阅读
本书。
本书内容
本书分为四大部分,其中第一部分由匡大虎完成,其余三部分由黄竹刚完成。各部分的内容如下:
第一部分为eBPF助力云原生安全,包括第1~4章。第1章简要介绍云原生安全的挑战、发展、理论基础及方法论,第2章带领读者初步认识eBPF,第3章介绍eBPF的技术原理,第4章探讨eBPF技术在云原生安全领域的应用。
第二部分为云原生安全项目详解,包括第5~7章。这部分从安装、使用及架构和实现原理等方面,介绍Falco、Tracee、Tetragon这三个云原生安全领域基于eBPF技术实现核心安全能力的知名开源项目。
第三部分为eBPF安全技术实战,包括第8~12章。这部分以实战的方式介绍如何使用eBPF技术实现常见的安全需求,比如审计和拦截命令执行操作、文件读写操作、权限提升操作及网络流量。同时,这部分还将介绍如何实现实际业务场景中提出的为安全事件关联进程信息、容器和Pod信息等上下文信息的需求。
第四部分为eBPF安全进阶,包括第13和14章。第13章介绍如何使用eBPF技术审计复杂的攻击手段,比如无文件攻击、反弹Shell。第14章介绍恶意eBPF程序的常见实现模式及如何防护和探测这类恶意程序。
勘误和支持
由于作者的水平有限,书中难免会出现一些错误或不准确的地方,恳请读者批评指正。勘误将会在本书示例程序的源代码仓库(https://github.com/mozillazg/cloud-native-security-with-ebpf)中以Issue的形式发布,读者发现任何错误,有任何意见或建议,都欢迎在Issue中
留言。
谨以此书献给所有热爱和关注eBPF与云原生安全的读者!
|
|