Does this work for Go binaries? My understanding is that Go programs do all the encryption "in the process" so the data is encrypted before eBPF can intercept it. I'd love to be wrong about that!
Most programs do encryption without syscalls! eBPF can intercept userspace execution, which they do as mentioned in the post: > The key idea is to hook into common TLS libraries (like OpenSSL) before encryption and after decryption
Show HN: Using eBPF to see through encryption without a proxy
11–20 of 80 posts
Re: Show HN: Using eBPF to see through encryption without a proxy
#12Does this work for Go binaries? My understanding is that Go programs do all the encryption "in the process" so the data is encrypted before eBPF can intercept it. I'd love to be wrong about that!
We have Go support, but it is not open sourced yet. Go is a bit more complicated but we were able to get it after some cave diving in the ELF formats. To give you a little insight on how this works, because Go is statically linked, we need to pull several different offsets of the functions we are going to hook into. We do this by scanning every version of Go that is released to find offsets in the standard library th…
Re: Show HN: Using eBPF to see through encryption without a proxy
#13Have been following this project for a while, cool stuff! I work a bunch with vpn-like networking on Android phones and it would be cool to have a bit of info on how I might get something like working on phones. I guess its probably not your typical usecase. Currently since the project is a VPN client, I already intercept all of the packets, I have a pcap writer and can write to files or a tcp sockets and connect wir…
I'm curious what your product does I've seen that type of behavior for apps that inject ads and add affiliate marketing links
The wireshark stuff is only for when I'm debugging
Re: Show HN: Using eBPF to see through encryption without a proxy
#14How easy is the set up, does this need to be deeply integrated in each step of the life-cycle?
You can customize config and/or integrate with existing observability pipelines, but initially you just need to turn it on for it to work. No app instrumentation required.
Re: Show HN: Using eBPF to see through encryption without a proxy
#15Earlier quoted context omitted.
Most programs do encryption without syscalls! eBPF can intercept userspace execution, which they do as mentioned in the post: > The key idea is to hook into common TLS libraries (like OpenSSL) before encryption and after decryption
If I want to do something similar, do you know where the relevant parts of the eBPF docs are?
This is the eBPF side: https://github.com/qpoint-io/qtap/blob/main/bpf/tap/openssl....
The Go side which indicates what we are scanning for is here: https://github.com/qpoint-io/qtap/blob/main/pkg/ebpf/tls/ope...
For more docs on the topic: - https://docs.ebpf.io/ is a must read - https://eunomia.dev/en/tutorials/30-sslsniff/ has a tutorial on cracking OpenSSL open and getting the content as well. The tutorials they have are fantastic in general
Re: Show HN: Using eBPF to see through encryption without a proxy
#16Re: Show HN: Using eBPF to see through encryption without a proxy
#17sounds like a security breach. how you ensure this does not become link in some next complex CVE?
Re: Show HN: Using eBPF to see through encryption without a proxy
#18Re: Show HN: Using eBPF to see through encryption without a proxy
#19Isn't there already mechanisms for patching specific SSL libraries to view encrypted requests (e.g. frida)? What is the benefit of using eBPF?