Posts Downloads Tags About RSS feed of posts

Solar Fuzzing

One of my occasional hobbies is looking for interesting bugs from programs, such as browsers. I don't have spare time for it myself, though, so this has to be a mostly automated process. In practice it involves running my mostly open source fuzzing tools on one or more computers. When some result is flagged as interesting and new, I have a quick look if it looks at all dangerous.

This process, and other long running computations, would ideally run constantly. There are a few issues with this, though. A computer running constantly at full blast takes quite a bit of electricity. It's not as bad as bitcoin mining, since the energy is used to solve an actually useful problem, but it's still a problem which in an ideal world we could avoid. A machine built out of consumer hardware also tends to be quite loud in such use.

A while back I nevertheless ended up building a computer for this kind of use. Instead of a regular power supply, it uses a PSU which can take DC power directly from our solar panel setup. This improves efficiency, and makes the results mostly carbon neutral. Safety is improved by using a metal case, which also acts as a large passive heat sink. The machine is thus completely silent.

The build was a success, and the machine also promptly found CVE-2021-30627.

Here are a few notes, which might be useful for others planning a similar build.

Processor: The machine mostly runs without a monitor, runs lots of threads, and should have enough GPU power for occasional neural network training. Out of the options with a tolerable TDP, AMD Ryzen 5700G seemed like the best option.

Case: Streacom FC8 is designed for 65W TDP, which is just what we need for a 5700G. It also has room for a small graphics card, should one be necessary e.g. to work with CUDA.

PSU: This was the trickiest part. There are various small passive power supplies available, but they usually need a regulated 12V power supply. Our setup has a variable 12.8V - 14.4V available from a supercapacitor, which is used as a buffer for solar power. Luckily, picoPSU-120-WI-25, can take a range of 12-25V. I was a bit worried whether it would work with a motherboard having a 8- and 24-pin connectors, but turns out all you need is a Molex to 4-pin ATX adapter (which was NOT included with the PSU) to make it work. and

Any mini ITX AM4 motherboard, SSD and decent RAM should then be sufficient. Fuzzing mostly takes CPU time. You may not even need a fast SSD, because you probably want to use a temporary file system in RAM anyway to avoid wearing out your SSD.

Posted: 9.10.2021 by aoh

#post #fuzzing #solar