BPF在安全与语言追踪中的应用
一、BPF在安全领域的应用
1.1 BPF安全监测基础
BPF追踪程序可用于安全监测和入侵检测。与当前常用的加载内核模块的监测方案相比,BPF程序通过验证器并利用现有内核技术,更加安全可靠。在2016年的内部研究中发现,BPF程序的开销比auditd小6倍。
不过,BPF在极端负载下有其特性。其输出缓冲区和映射大小有限,可能会耗尽,导致事件无法记录,这可能被攻击者利用。但BPF能感知耗尽情况并通知用户空间,安全解决方案应记录此类事件以满足可靠性要求。另外,为避免事件丢失,可给每个处理器添加带有重要事件计数器的映射。
1.2 策略应用技术
多种策略应用技术已开始使用BPF:
- seccomp :安全计算机制,允许执行BPF程序来确定系统调用的可用性,支持可编程操作,如终止调用进程、返回错误等,还能将复杂决策卸载到用户空间程序。
- Cilium :为容器或进程提供透明的网络连接保护和负载均衡,使用不同层次的BPF程序组合。
- bpfilter :概念验证,用于将iptables防火墙完全替换为BPF,可将iptables规则转换为BPF程序。
- Landlock :基于BPF的安全模块,用于控制对内核资源的访问,例如限制对文件系统特定区域的访问。
- KRSI :Google为LSM开发的新安全模块,支持可扩展的控制和管理,使用新的BPF程序类型。
超级会员免费看
订阅专栏 解锁全文
1859

被折叠的 条评论
为什么被折叠?



