Leviathan Security's team writes technical security research on binaries, VPNs, Tor, Android permissions and weaknesses in random number generators.
HN commenters cite it as a source on the modified-binaries Tor attack and the Go lagged Fibonacci generator analysis.
Do any Linux/glibc or Linux/musl systems support static PIE binaries, yet? Without static PIE support you don't benefit from ASLR (at least not fully). This 2018 article seems like a good breakdown of the issues: https://www.leviathansecurity.com/blog/aslr-protection-for-statically-linked-executables
OpenBSD has supported static PIE since 2015; not just supported, but all system static binaries (e.g. /bin and /sbin) are built as static PIEs, and I believe PIE is the default behavior when using `cc -static`. The reasons for the switch and the required toolchain changes are summarized in this presentation: https://www.openbsd.org/papers/asiabsdcon2015-pie-slides.pdf
Also, simply checking the "static PIE" box isn't the end of the story. There are different ways to accomplish it, and some are better than others in terms of ASLR, W^X, and other exploit mitigations. It's been a couple of years since I last looked into and had a hold on all the issues simultaneously[1], but the basic takeaway is that dynamic linking in system toolchains and system runtimes is far more mature than static linking.
[1] static PIE issues are a nexus of exploit mitigation techniques, so if you want to deep dive into exploit mitigation or even just linking issues then chasing the static PIE rabbit is a good approach.
> already been feeling the heat
I think you're misdiagnosing where Tor is "feeling the heat" from. From an engineering perspective, it's been oversold as solving problems it can never hope to.
People who route their traffic through Tor are nearly guaranteed to get malware back [1]. Hidden Services are a hack that don't adequately protect your privacy [2]. And several who have staked their livelihood on being anonymous with Tor have been easily identified by law enforcement [3].
Tor is not a "cause" worth the this level of continued support. It is a research project, for a tightly scoped set of a research problems. In practice, it has several unintended and dangerous caveats that few are aware of. No amount of litigation is going to change those problems.
[1] http://www.leviathansecurity.com/blog/the-case-of-the-modified-binaries/
[2] http://www.ieee-security.org/TC/SP2013/papers/4977a080.pdf
[3] https://blog.torproject.org/blog/tor-security-advisory-relay-early-traffic-confirmation-attack
That publication doesn't seem to mention the "lagged" part, or maybe I missed it. I am aware of https://www.leviathansecurity.com/blog/attacking-gos-lagged-fibonacci-generator which also refers to it as a lagged Fibonacci generator.
Rob Pike and I exchanged mail with Don Mitchell (who wrote the original C version of the Go 1 generator) a few months back to see how he would describe the algorithm, and he said "As I recall Jim and I implemented Marsaglia's LFSR-like generator."
I think both descriptions (lagged Fibonacci and LFSR-like) are accurate in different ways, so either would be fine, but for the post I decided to use the original author's description.
Producing static PIE binaries is a bigger challenge still.
$ go build -ldflags '-linkmode external -s -w -extldflags "--static-pie"' -buildmode=pie -tags 'osusergo,netgo,static_build' main.go For anyone curious to delve into what is this and why: https://www.leviathansecurity.com/blog/aslr-protection-for-statically-linked-executables
Adler32 is very broken, but it doesnt really matter as you can use other checksums on top. http://www.leviathansecurity.com/blog/archives/16-Analysis-of-Adler32.html
Browsers should just stop supporting deflate, dont say they can in the request, and servers should drop it too. Ideally gzip support should be required not negotiable.
Could it be a man in the middle that tries to install updates that aren't signed by Microsoft? It reminds me of this: http://www.leviathansecurity.com/blog/the-case-of-the-modified-binaries/ .