使用eBPF LSM热修复Linux内核漏洞

前面我们讨论了Tetragon产品实时阻断实现原理,那你知道它为什么没选择eBPF LSM吗? bpf_send_signal颗粒度是进程,而eBPF LSM的颗粒度是函数,更精确,控制范围也不一样,可以对函数调用堆栈做调整,达到替换执行的目标函数。业务场景就是对于漏洞的热更新了。本文就是一个简单的eBPF LSM实现思路,核心内容是确定精准HOOK点的思路。怎么找HOOK点?HOOK点挂载后,对性能影响是什么?如何做权衡?接下来,我们一起了解一下。

Continue reading


新型eBPF后门boopkit的原理分析与演示

前段时间的Bvp47木马利用BPF技术敲门,想必你已经精通了吧?笔者曾担忧在eBPF加持下,用在后门场景会更加恐怖。这不GitHub上开源了一个Boopkit,今天笔者跟大家一起来了解一下它的技术原理,使用了哪些eBPF程序功能。它是如何实现任意开启的TCP端口服务,远程唤醒后门,并生成反弹shell的。

Continue reading


聊一聊《Bvp47 美国NSA方程式的顶级后门》中的BPF隐藏信道

在《Bvp47 美国NSA方程式的顶级后门》的文章,里面提到后门使用BPF技术做通信信道的隐藏,本身不监听端口,通过特定SYN包唤醒后门。而且隐藏近二十年之久。恰巧笔者近期在学习eBPF,且在春节前用eBPF技术实现了类似功能的后门DEMO,对这块特别感兴趣。 好奇它的兼容性是如何做的,HOOK点是如何选择的?用的BPF/eBPF哪个内核版本的类库?

Continue reading


Cilium eBPF实现机制源码分析

通过笔者的分析学习,可以宏观的了解到Cilium在eBPF内核技术使用时,场景覆盖网络处理的XDP、TC、SOCKET等L3、L4、L7层,业务覆盖防火墙、网络路由、网络隔离、负载均衡等。通过集中式管理eBPF文件源码,下发到各endpoint分发式编译挂载。调试日志作为eBPF map事件统一收集处理。 支持用户态、内核态相互之间用eBPF map做双向通讯,实现策略下发与数据收集。具备数据对账、监控告警能力。

Continue reading


保障IDC安全:分布式HIDS集群架构设计

近年来,互联网上安全事件频发,企业信息安全越来越受到重视,而IDC服务器安全又是纵深防御体系中的重要一环。保障IDC安全,常用的是基于主机型入侵检测系统Host-based Intrusion Detection System,即HIDS。在HIDS面对几十万台甚至上百万台规模的IDC环境时,系统架构该如何设计呢?复杂的服务器环境,网络环境,巨大的数据量给我们带来了哪些技术挑战呢?

Continue reading