Linux Kernel Configuration Reconstruction

Devices in the embedded world often run Linux, but due to their embedded nature they are often viewed as set and forget devices. Looking at the problem logically it is not hard to see that this cannot be further from the truth. These devices run highly specific software, that cannot be tested in a virtual machine sandbox. To have a chance to test the software, we need to be able to replicate the original kernel with one that supports virtualization. This requires reverse engineering the original kernel’s configuration. As of now it is done manually, but my task was to create tools aiding this process. I created a tool that searches strings in the kernel’s source code and binaries to find the configuration options that were used to build the kernel. During the development of the tool I had to deal with a lot of challenges, but I was able to overcome many of them. Sadly the tools were not able to produce workable results.

Pálvölgyi Domonkos

2023-01-14

Támogató: CUJO AI