去年报告过IP源地址伪造漏洞,到今天快过去一年了,到底是如何实现的?跟阿里的安全专家 pyn3rd 发现的是同一个漏洞吗?有人说简单的HTTP的Header追加伪造?有人说是修改返回包内容,本地欺骗?有人说这是装神弄鬼,炒冷饭? 今天就来聊下吧。
eBPF
eBPF在Golang中的应用介绍
很多时候,在开发软件时,都是在操作系统的安全范围内进行操作,我们不知道网络接口如何黑醋栗IP数据包,也不知道文件系统如何处理这些inode。本文用Golang语言以及eBPF技术,演示了对内核行为进行监控的实现,希望对你有帮助。
eCapture v0.8.0:CO-RE、非CO-RE二合一,交叉编译amd64、arm64双版本
使用eBPF技术实现的软件,总会分不清CO-RE(一次编译,到处运行),在选择CORE、非CORE版本而烦恼吗?这下你不用纠结了,eCapture 0.8.0起,会自动选择CORE版本。不论内核是否支持CORE,eCapture都可以兼容。
ecapture v0.7.4发布,支持Pcap FIlter包过滤语法
eCapture v0.7.4版本发布支持Pcap Filter Syntax,你可以像tcpdump一样使用pcap filter表达式来过滤网络包。在tls或gotls模块中,当运行模式参数-m为pcap时,在命令行最后的参数中设定。
eCapture v0.7.3新版性能提升10倍,支持OpenSSL 3.2
击败 eBPF Uprobe 监控
这篇文章介绍了一种可以用于监控用户空间程序的 eBPF 程序。它首先向您介绍了 eBPF 和 uprobes,然后探讨了我们在 uprobes 中发现的缺陷,演示了绕过eBPF uprobe监控的方法。
GitHub万星项目进度70%,eCapture旁观者7K Stars达成
eBPF挂钩TC egress时,被TCP Checksum搞死了
我最近也在尝试用eBPF TC类型程序,挂钩`egress`网络包,修改IP包、TCP包内容,实现路由跟踪的功能。除了eBPF验证器的奇葩问题外,剩下的就是`skb_buff`修改后,被客户端内核丢弃、中间路由丢弃、服务端内核丢弃的各种问题,头发那是一把一把的掉。幸运的是,我找到了这篇文章《Checksum-or-fxxk-up》,特意转来给大家分享。
golang uretprobe的崩溃与模拟实现
云原生架构下,服务的可观测性几乎是标配。K8S生态中,大量微服务都是用Golang写的,在观测Golang的函数返回值时,大概率会发生进程崩溃的情况。也就是说Go uprobe观测一切正常,但Go uretprobe观测,几乎都触发崩溃,今天,笔者来带大家了解崩溃原因,一起探讨解决方案。
如何给eBPF程序写单元测试
eBPF程序还很年轻,周边质量建设体系还刚起步,常用于Linux内核上的监控跟踪,本身比较底层,测试成本很高。对于常写eBPF的同学,特别头疼的是快速迭代的项目,如何保证功能正常。如何给eBPF程序写单元测试呢?