Formal Semantics Extraction from MIPS Instruction Manual

Quang Thinh Trac,Mizuhito Ogawa
DOI: https://doi.org/10.1007/978-3-030-46902-3_9
2020-01-01
Abstract:AbstractThis study proposes a semi-automatic extraction of the formal semantics of MIPS architecture from the pseudocode description in MIPS instruction manual. Among 127 collected instructions, we focus on the 63 instructions of the CPU category. After manually preparing 21 primitive functions in the pseudocode description, their semantics are successfully generated as Java methods, which are unified to a dynamic symbolic execution tool SyMIPS. We perform an empirical study on 3219 MIPS32 IoT malware collected from ViruSign and observe that SyMIPS successfully traces 2412 samples, in which SyMIPS finds the dead conditional branch, e.g., in DDOS-Y. The rest is interrupted by either timeout, stack overflow, or exceptions, which current SyMIPS does not cover.
What problem does this paper attempt to address?