Brandon Falk
gamozolabs.github.io · Personal blog · on HN since 2018
Brandon Falk writes technical posts on fuzzing, emulation, CPU microarchitecture research, and low-level systems.
What HN saysHN links his vectorized emulation post as an impressive fuzzing technique, and compares it to Microsoft's similar internal tool.
26HN people shared it
11linked it in comments
23stories submitted
899story points
1 year agolast shared
2018people per year2026
Most-shared posts
- 1Vectorized Emulation: fuzzing at 2 trillion instructions per second9 people · 184 points · first shared 2018 · 40 comments on HN
- 2Sushi Roll: A CPU research kernel with minimal noise for microarch introspection8 people · 83 points · first shared 2019 · 13 comments on HN
- 3FuzzOS – an operating system which is designed specifically for fuzzing4 people · 127 points · first shared 2020 · 21 comments on HN
- 4Rust on MIPS64 Windows NT 4.02 people · 217 points · first shared 2021 · 26 comments on HN
- 5Scaling AFL to a 256 thread machine2 people · 40 points · first shared 2018 · 4 comments on HN
- 6Finding 0day with the World's Worst Android Kernel Fuzzer2 people · 6 points · first shared 2018 · discussion on HN
- 7CPU Introspection: Intel Load Port Snooping1 people · 180 points · first shared 2019 · 19 comments on HN
- 8Sushi Roll: A CPU kernel for cycle-by-cycle micro-architectural introspection1 people · 53 points · first shared 2019 · 1 comments on HN
- 9Miniblog: How conditional branches work in Vectorized Emulation1 people · 4 points · first shared 2019 · discussion on HN
- 10Fuzz Week 2020 – Come Learn the Basics to Advanced of Fuzzing1 people · 2 points · first shared 2020 · discussion on HN
- 11Vectorized Emulation: Hardware accelerated taint tracking at 2T ins/SEC1 people · 1 points · first shared 2022 · discussion on HN
- 12Some Thoughts on Fuzzing1 people · 1 points · first shared 2020 · discussion on HN
- 13Vectorized Emulation: MMU Design1 people · 1 points · first shared 2018 · discussion on HN
- 14Afl 256thread.png1 people · first shared 2020
What HN people wrote when they linked it
gamozolabs · 2019-12-30
Sorry about that. This blog kinda just hopped into the meat of it as I was trying to keep it short. It's largely a followup to a previous blog of mine https://gamozolabs.github.io/metrology/2019/08/19/sushi_roll.html where I go into the details and descriptions.
touisteur · 2019-11-30
Makes me think of the amazing https://gamozolabs.github.io/fuzzing/2018/10/14/vectorized_emulation.h…
cb321 · 2025-06-27
All true. No real disagreement and I'm often saying "it all depends.." myself. :-) In this case, there is also some vagueness around "random" (predictable to what subsystem when).
I still suspect @kortilla is one of today's lucky 10,000 (https://xkcd.com/1053/) or just read/replied too quickly. :-)
There is a lot written that indicates that the complexity of modern CPUs is ill-disseminated. But there is also wonderful stuff like https://gamozolabs.github.io/metrology/2019/08/19/sushi_roll.html { To add a couple links to underwrite my reply in full agreeance. :-) }
fatcunt · 2024-08-18
Microsoft has, or had, a similar technology they use internally, called TKO: https://www.microsoft.com/security/blog/2020/05/04/mitigating-vulnerab…
It's written in Rust and is based around a version of Bochs modified for deterministic execution. It's got time-travel debugging (with WinDbg), which works by replaying forward from the nearest snapshot to the point at which the user is asking to move backwards to.
The primary author of this software wanted to open source it, but the higher-ups at MSFT refused. He's been working on similar projects in a personal capacity though, e.g. https://gamozolabs.github.io/fuzzing/2020/12/06/fuzzos.html
vient · 2023-10-15
Seems to be the same concept as in https://gamozolabs.github.io/fuzzing/2018/10/14/vectorized_emulation.h… cool!
Karliss · 2020-10-22
A few years ago there were some articles on doing vectorized emulation using avx512. Not exactly as much parallelism as GPU but still a step in similar direction.
https://gamozolabs.github.io/fuzzing/2018/10/14/vectorized_emulation.h…
floatboth · 2020-10-09
Nah, to be fair, the most compelling application is: https://gamozolabs.github.io/fuzzing/2018/10/14/vectorized_emulation.h…
dragontamer · 2020-07-10
Someone wrote a SIMD-fuzzer across AVX512.
Its quite possible that someone figures out an x86 emulator on GPUs that fuzzes register values, similar to AVX512 fuzzing. https://gamozolabs.github.io/fuzzing/2018/10/14/vectorized_emulation.h…
------
Fuzzing is unique in that 99% of code probably traverses the same set of if-statements or branches. Whenever code significantly diverges (usually defined by Fuzzers as a significantly different instruction-pointer path of some kind), you've successfully fuzzed a new result.
Fuzzers... strangely enough... are programs I'd expect to run pretty well on GPUs or SIMD. If enough R&D research effort were put into it.
blattimwind · 2020-02-07
Even then -- https://gamozolabs.github.io/assets/afl_256thread.png
Note that this CPU has 128 threads, so half of that picture. For my usual terminal size I might get 0-2 processes listed below that...
nkurz · 2019-08-21
Coincidentally, this recent HN post also contains a fine introduction to processor internals of this sort: https://gamozolabs.github.io/metrology/2019/08/19/sushi_roll.html. I know you (BeeOnRope) don't need the introductory parts, but you might appreciate the meat of his post.