我们是 BPF 的忠实信徒,有很多原因。从广义上讲,它允许 Linux 内核以更高的安全保证和更低的学习门槛进行编程。
在 BPF 中开发分析器非常有意义,因为一旦实现了堆栈遍历机制,我们就可以利用 perf 子系统来获取有关 CPU 周期、指令、L3 缓存未命中或我们机器中可用的任何其他性能计数器的样本。它还有助于开发其他工具,如分配跟踪器、off-CPU分析器等。
Linux
实战eBPF kprobe函数插桩
说起eBPF大家都不陌生,在实际使用时,基于各种需求场景,kprobe的出场机会比较多。在eBPF kprobe实战过程中,你遇到过因为业务需求kprobe 需要获取多个参数的场景吗?如果你也纠结过如何取得超过6个的参数,本文尝试带你一起揭开这层面纱。
Tetragon进程阻断原理
文章较长,可直接看文末视频。5月份Isovalent发布了基于eBPF技术的运行时实时防御产品Tetragon,引起业内广泛关注,实时阻断能力也受到很大争议,并被传统安全厂商EXP绕过挑战。今天我们一起来看下阻断能力的技术原理。
新型eBPF后门boopkit的原理分析与演示
前段时间的Bvp47木马利用BPF技术敲门,想必你已经精通了吧?笔者曾担忧在eBPF加持下,用在后门场景会更加恐怖。这不GitHub上开源了一个Boopkit,今天笔者跟大家一起来了解一下它的技术原理,使用了哪些eBPF程序功能。它是如何实现任意开启的TCP端口服务,远程唤醒后门,并生成反弹shell的。
Linux中基于eBPF的恶意利用与检测机制
分享一些eBPF技术相关的PDF
datadog的eBPF安全检测机制分析
datadog的system-probe模块使用了eBPF技术研发,实现了网络管理、运行时安全、系统状态感知等几个功能,支持运维管理、安全检测两个场景。其中核心模块在网络与运行时安全两个场景。故本文重点分析了这两个场景的技术实现与业务特性。
不要在linux上启用net.ipv4.tcp_tw_recycle参数
在linux服务器上,要不要开启tcp.ipv4.tw_recycle?TCP连接中,TIME-WAIT状态的作用是什么?tcp.ipv4.tw_reuse参数呢?当服务器即为服务端,又是客户端时(比如FPM服务器,相对于nginx来说,是服务端,相对于redis来说,是客户端),该如何配置?
ububtu server 14.04上,PHP5-FPM服务的启动方式变更
在一位前辈微博上看到,他总是给自己找点事做,让自己忙碌起来,严于律己。我甚有感触,相比之下自惭形秽,一直做不到,这应该就是大神跟我等小菜之间的差距吧。这次遇到的问题是ubuntu 14.04上,/etc/init.d/php5-fpm 不能正常管理php5-fpm?而12.04老的版本可以,是php5-fpm启动脚本的bug,还是操作系统更新带来的bug?
TCP SOCKET中backlog参数的用途是什么?
在前年时,业务中遇到好多次因为PHP-FPM的backlog参数引发的性能问题,一直想去详细研究一番,还特意在2013年总结里提到这事《为何PHP5.5.6中fpm backlog Changed default listen() backlog to 65535》,然而,我稍于懒惰,一拖再拖,直至今日,才动脑去想,动笔去写。PHP-FPM的配置中,backlog默认值从128改为65535,又从65535改为511,可能很多人都没有在意,我也是因为遇到过类似错误,才决定去认真理理其中知识点的。