3 ms·
If you have root access to a host, it's pretty much game over, unless the OS vendor doesn't trust even the owner of the hardware/licensee of the software and ha
by otterley 4y ago
If you have root access to a host, it's pretty much game over, unless the OS vendor doesn't trust even the owner of the hardware/licensee of the software and has taken effective countermeasures against diving deep into the software (Linux, of course, has not). You don't need "eBPF tricks" to observe processes on the host perform traffic decryption. It's just another mechanism for doing so.
I wouldn't characterize it as "defeating TLS encryption" either, because it's not like you're decrypting traffic someplace other than on the host you already have privileged access to (and assuming you already have MITM capability, which is by no means assured).
- antmldr 4y agoBeing at the author's talk earlier today, that wasn't really the spirit that it was given in. The author isn't really talking about "defeating" TLS as a technical control more as he is talking about "defeating" it as an annoyance when reverse engineering. It's meant more as a showcase of how eBPF can be applied to a technical challenge, as opposed to the author claiming they fundamentally broke TLS.
- zokier 4y ago> "defeating TLS encryption" I do point out that is editorializing on submitters part, the actual subtitle is "A security focused introduction to eBPF", which is much more descriptive of the content
- frays 4y agoExactly. As someone fairly new to these concepts, this was a fantastic read. The title just needs to be updated.
- deleted 4y ago[deleted]
- znpy 4y ago> unless the OS vendor doesn't trust even the owner of the hardware/licensee of the software and has taken effective countermeasures against diving deep into the software (Linux, of courage, has not). This is not entirely true. SELinux does allow you to lock down certain actions while leaving root access available. And of course you can configure selinux to prevent root user from disabling selinux. So you might have root access and the game would not be over.
- MrWiffles 4y agoThis makes me wonder: what's the worst of side effects if I were to disable eBPF via, say, modifying the boot arguments for the kernel in something like /etc/default/grub.conf? Please correct me if I'm wrong here (I likely am), but isn't the fundamental design of eBPF engineered to allow injection of code into the kernel pertaining to MORE than just network-level stuff? Sure we see it at the network level primarily right now, but what's stopping that from being used for all kinds of things? Short of very specific server-side applications, I see that as all risk, and little-to-no reward, so I'd like it disabled, especially on my personal workstation. Thing is, I know next to jack $#!t about eBPF, so I'm not sure what'll happen to my network (or other stuff?) if I just throw down and do that. Any thoughts? Feasible? Bad idea(TM)?
- amrb 4y agoSounds like a good weekend project, investigate the effects of disabling ebpf.
- pabs3 4y agoIIRC systemd uses eBPF for some of its sandboxing/security features, so probably some of your services would be more vulnerable to exploits. There are other tools that use eBPF to mitigate specific Linux kernel vulnerabilities, or to do Linux kernel observation/tracing. https://isovalent.com/blog/post/2022-05-16-tetragon/ https://isovalent.com/blog/post/2022-05-16-tetragon/
- crtxcr 4y agoTo clarify: systemd uses seccomp to filter system calls. Seccomp employs the older BPF, but not eBPF. There was some work done to make seccomp use eBPF, but so far nothing is merged. eBPF is used in systemd's firewall code though, which allows filtering the IP addresses a service can contact. If this feature is not needed, eBPF can probably be disabled without impacting the other sandboxing features of systemd.