Wire - a formal intermediate language for binary analysis


Autoria(s): Cesare, Silvio; Xiang, Yang
Contribuinte(s)

Min, Geyong

Wu, Yulei

Lei, Liu (Chris)

Jin, Xiaolong

Jarvis, Stephen

Al-Dubai, Ahmed Y.

Data(s)

01/01/2012

Resumo

Wire is a intermediate language to enable static program analysis on low level objects such as native executables. It has practical benefit in analysing the structure and semantics of malware, or for identifying software defects in closed source software. In this paper we describe how an executable program is disassembled and translated to the Wire intermediate language. We define the formal syntax and operational semantics of Wire and discuss our justifications for its language features. We use Wire in our previous work Malwise, a malware variant detection system. We also examine applications for when a formally defined intermediate language is given. Our results include showing the semantic equivalence between obfuscated and non obfuscated code samples. These examples stem from the obfuscations commonly used by malware.<br />

Identificador

http://hdl.handle.net/10536/DRO/DU:30049570

Idioma(s)

eng

Publicador

IEEE

Relação

http://dro.deakin.edu.au/eserv/DU:30049570/cesare-wireaformal-2012.pdf

http://dro.deakin.edu.au/eserv/DU:30049570/evid-trustcomconfpeerrvwgnrl-2012.pdf

http://hdl.handle.net/10.1109/TrustCom.2012.301

Direitos

2012, IEEE

Palavras-Chave #binary analysis #intermediate language #semantics
Tipo

Conference Paper