Recovering high-level conditions from binary programs - Département d'informatique Accéder directement au contenu
Communication Dans Un Congrès Année : 2016

Recovering high-level conditions from binary programs

Résumé

The need to get confidence in binary programs without access to their source code has pushed efforts forward to directly analyze executable programs. However, low-level programs lack high-level structures (such as types, control-flow graph, etc.), preventing the straightforward application of source-code analysis techniques. Especially, conditional jumps rely on low-level flag predicates, whereas they often encode high-level “natural” conditions on program variables. Most static analyzers are unable to infer any interesting information from these low-level conditions, leading to serious precision loss compared with source-level analysis. In this paper, we propose template-based recovery, an automatic approach for retrieving high-level predicates from their low-level flag versions. Especially, the technique is sound, efficient, platform-independent and it achieves very high ratio of recovery. This method allows more precise analyses and helps to understand machine encoding of conditionals rather than relying on error-prone human interpretation or (syntactic) pattern-based reasoning.
Fichier non déposé

Dates et versions

cea-01834972 , version 1 (11-07-2018)

Identifiants

Citer

A. Djoudi, S. Bardin, É. Goubault. Recovering high-level conditions from binary programs. FM 2016: Formal Methods. FM 2016. Lecture Notes in Computer Science, Nov 2016, Limassol, Cyprus. pp.235-253, ⟨10.1007/978-3-319-48989-6_15⟩. ⟨cea-01834972⟩
64 Consultations
0 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More