pr0v3rbs / FirmAE

Towards Large-Scale Emulation of IoT Firmware for Dynamic Analysis
MIT License
642 stars 119 forks source link

How to find the failed reason to improve the success rate of simulation #13

Closed dalision closed 2 years ago

dalision commented 3 years ago

Thank you for your work, it is exciting to use it. For different firmwares, the reasons for simulation fail processes are different. As your paper mentioned that Boost,Network,NVRAM,watchdog,symlink factosr have been considered to solve the problem. I wonder how to find the fail reason for a new firmware because there still many firmwares couldn't be simulation successfully. By debugging or something else? Looking forward to your reply!

0xdkay commented 3 years ago

Thanks for your interest!

We manually analyzed the failure cases. It may take some time for the analysis for the first time; however, once you analyzed, the analysis knowledge can be applicable to other device versions/families. As shown in our paper, a large portion of failure cases can be similarly handled although many devices are built from diverse vendors.

The key point is that we need to share the analysis experience and extend the knowledge base to build a more scalable system.