2024-07-03, 14:35–15:10 (Europe/Paris), Amphitheater
BEAM (Bogdan/Björn's Erlang Abstract Machine) is a virtual machine designed by Ericsson used to run Erlang applications. We ran into such an application during an assignment and had to disassemble it as well as many libraries, and discovered that the existing tools do not produce a correct and complete disassembly. A lot of valuable information is lost in the process (cross-references and some type information) that makes the analysis of the disassembled code a nightmare (and the VM architecture makes it worse).
In this talk, we will quickly introduce the BEAM VM and its internals, expose the reasons that led us to develop a tiny disassembler and discuss the difficulties caused by the virtual machine architecture. We will demonstrate how our disassembler may help with batch-processing and cross-modules analysis, and how the produced disassembly makes a difference compared to the other tools. The source code of this disassembler will be made available soon before the talk.
Damien Cauquil works as Security Engineer at Quarkslab, with a focus on embedded and wireless security and hardware/software reverse-engineering.