Seidl, Helmut (Prof. Dr.); Miné, Antoine (Prof. Dr.)
Language:
en
Subject group:
DAT Datenverarbeitung, Informatik
TUM classification:
DAT 500d
Abstract:
We address two main challenges of binary program analysis. First, writing an analysis for a specific CPU is not portable. Instead, the binary has to be translated into an IR. We present a DSL that offers built-in syntax for decoders and show how we compile it into naturally-looking C code. Secondly, a binary analysis needs to be scalable which can be achieved through modularity. However, modularity may lead to a precision loss. As a remedy, we present an algorithm that tabulates functions for certain properties of calling contexts on-demand.
«
We address two main challenges of binary program analysis. First, writing an analysis for a specific CPU is not portable. Instead, the binary has to be translated into an IR. We present a DSL that offers built-in syntax for decoders and show how we compile it into naturally-looking C code. Secondly, a binary analysis needs to be scalable which can be achieved through modularity. However, modularity may lead to a precision loss. As a remedy, we present an algorithm that tabulates functions for ce...
»
Translated abstract:
Wir befassen uns mit zwei zentralen Herausforderungen von Binäranalyse. Erstens ist es nicht portabel, eine Analyse für eine bestimmte CPU zu entwickeln. Stattdessen muss das Programm in eine IR übersetzt werden. Wir bieten eine DSL dar, die eingebaute Syntax für Dekodierer mitbringt und zeigen, wie wir sie in natürlich aussehenden C-Code übersetzen. Zweitens muss eine Binäranalyse skalierbar sein, was durch Modularität möglich ist. Allerdings kann Modularität zu Präzisionsverlust führen. Als Abhilfe präsentieren wir ein Verfahren, das Funktionen für bestimmte Eigenschaften der Aufrufkontexte bedarfsorientiert tabelliert.
«
Wir befassen uns mit zwei zentralen Herausforderungen von Binäranalyse. Erstens ist es nicht portabel, eine Analyse für eine bestimmte CPU zu entwickeln. Stattdessen muss das Programm in eine IR übersetzt werden. Wir bieten eine DSL dar, die eingebaute Syntax für Dekodierer mitbringt und zeigen, wie wir sie in natürlich aussehenden C-Code übersetzen. Zweitens muss eine Binäranalyse skalierbar sein, was durch Modularität möglich ist. Allerdings kann Modularität zu Präzisionsverlust führen. Als Ab...
»