eBPF技术已经成为云原生社区近年来备受关注的技术话题之一。在云原生领域,越来越多的项目和产品开始使用eBPF技术来构建其核心能力,涉及可观测性、网络和安全等关键领域。
《eBPF云原生安全:原理与实践》内容涵盖eBPF的工作原理、eBPF在云原生安全领域的应用、知名eBPF云原生安全项目、使用eBPF技术开发安全相关功能等。
扫码了解 ↑
视频介绍
内容简介
这是一本系统讲解如何使用eBPF技术构建云原生安全防线的著作,是一本面向eBPF技术爱好者和云安全领域从业者的实战宝典,从原理与实践角度详述了eBPF技术在云原生安全领域正在发生的关键作用,是作者多年构筑云原生安全纵深防御经验的总结。
本书详细阐述了eBPF技术的核心原理以及在云原生安全领域的应用价值,并结合大量的代码案例分析,深入探讨了在典型的云原生安全需求场景下使用eBPF技术可以帮助实现的安全功能和实践原理,同时也讲述了可能引入的安全风险,帮助读者从零基础快速了解eBPF技术,开始eBPF安全编程。
通过阅读本书,你将了解:
云原生安全面临的主要挑战,发展现状和理论基础;
eBPF技术的基本原理和云原生安全领域的典型应用;
基于eBPF技术的云原生安全核心开源项目的安装、使用、基础架构和实现原理;
如何使用eBPF技术实现典型的云原生安全需求及实现原理;
如何将eBPF安全事件关联进程、容器和Pod等上下文信息;
如何使用eBPF技术审计复杂的云原生攻击手段;
恶意eBPF程序的典型实现方式以及如何防护和探测此类恶意程序。
目录
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 探测和审计恶意eBPF程序 261
14.3.1 文件分析 261
14.3.2 bpftool 262
14.3.3 内核探测 265
14.4 本章小结 268
了解更多
本文来源:原创,图片来源:原创
责任编辑:王莹,部门领导:宁姗
发布人:白钰