SPI NOR flash is a very common IC used as a boot medium for both BMC and Host firwmare. Data can be read bytewise and pretty fast. Writes on the other hand are much slower. NORbert is an open source RTL project with open source tooling that emulates this kind of IC.
The content of the talk will be about why you'd want to emulate a SPI NOR flash and why you need to use an FPGA for this. I want to touch on what similar tools were previously available (dediprog EM100 & Trammel's spispy) and how NORbert improves upon them. IThe talk will showcase NORbert's functionality like logging and automated TOCTOU (time of check, time of use) vulnerability exploits. Lastly I will talk about the co-designed rust tooling which works also on the web.
Link to NORbert: https://github.com/ArthurHeymans/NORbert
I'm Arthur Heymans. I've always been quite interested in how computers work, however, this interest only fully developed much later. While studying physics and philosophy at the university, I became very interested in the concept of free software via the "about GNU" page in my editor of choice, Emacs. The GNU/Linux OS is very usable as free software these days, however, firmware and some low-level drivers tend to present a different, much more closed story. This led me to discover coreboot, which is a project that offers an alternative to closed-source firmware/BIOS. Fast forward a few years and I'm a regular contributor to coreboot and have learned a great deal from incredible people who were willing to invest time in reviewing my patches. I secured a job at 9elements, which professionally involved me in multiple open-source firmware projects.
These days I'm expanding my horizon with firmware related web applications, rust firmware and FPGA programming.