很多时候,在开发软件时,都是在操作系统的安全范围内进行操作,我们不知道网络接口如何黑醋栗IP数据包,也不知道文件系统如何处理这些inode。本文用Golang语言以及eBPF技术,演示了对内核行为进行监控的实现,希望对你有帮助。
golang
golang uretprobe的崩溃与模拟实现
云原生架构下,服务的可观测性几乎是标配。K8S生态中,大量微服务都是用Golang写的,在观测Golang的函数返回值时,大概率会发生进程崩溃的情况。也就是说Go uprobe观测一切正常,但Go uretprobe观测,几乎都触发崩溃,今天,笔者来带大家了解崩溃原因,一起探讨解决方案。
eCapture旁观者支持Golang tls/https加密明文捕获
云原生生态中,golang语言开发的项目越来越多,例如Docker和K8s、etcd等。作为SRE、RD,偶尔需要在生产环境抓网络通讯包,用来分析排查故障。很多时候,都是tls/https加密协议,如何在不重启业务保留现场,不改为自定义CA证书的情况下,分析明文通讯内容呢?
如何使用Delve和eBPF更快地调试Go程序
Delve 的目标是为开发人员提供愉快且高效的 Go 调试体验。因此,本文重点介绍了我们如何优化函数跟踪子系统,以便您可以更快地检查程序并找到根本原因分析。Delve 的跟踪实现有两个不同的后端,一个是基于 ptrace 的,另一个使用 eBPF。
Tetragon进程阻断原理
文章较长,可直接看文末视频。5月份Isovalent发布了基于eBPF技术的运行时实时防御产品Tetragon,引起业内广泛关注,实时阻断能力也受到很大争议,并被传统安全厂商EXP绕过挑战。今天我们一起来看下阻断能力的技术原理。
新型eBPF后门boopkit的原理分析与演示
前段时间的Bvp47木马利用BPF技术敲门,想必你已经精通了吧?笔者曾担忧在eBPF加持下,用在后门场景会更加恐怖。这不GitHub上开源了一个Boopkit,今天笔者跟大家一起来了解一下它的技术原理,使用了哪些eBPF程序功能。它是如何实现任意开启的TCP端口服务,远程唤醒后门,并生成反弹shell的。
eCapture:无需CA证书抓https网络明文通讯
eCapture是一款基于eBPF技术实现的用户态数据捕获工具。不需要CA证书,即可捕获https/tls的通讯明文。eCapture系统用户态程序使用Golang语言开发,具有良好的系统兼容性,无依赖快速部署,更适合云原生场景。内核态代码使用C编写,使用clang/llvm编译,生产bpf字节码后,采用go-bindata转化为golang语法文件,之后采用ehids/ebpfmanager类库,调用bpf syscall进行加载、HOOK、map读取。
Linux中基于eBPF的恶意利用与检测机制
内核态eBPF程序实现容器逃逸与隐藏账号rootkit
本文是在kernel space内核态,hook内核态函数,更改内核态返回用户态缓冲区数据,欺骗用户态进程,实现容器逃逸与rootkit。用户态进程拿到被篡改的数据,从而被骗通过认证。在此过程,不改变任何文件、进程、网络行为,不产生日志。 常规HIDS、HIPS产品无法感知。
datadog的eBPF安全检测机制分析
datadog的system-probe模块使用了eBPF技术研发,实现了网络管理、运行时安全、系统状态感知等几个功能,支持运维管理、安全检测两个场景。其中核心模块在网络与运行时安全两个场景。故本文重点分析了这两个场景的技术实现与业务特性。