Security analysis often requires understanding both the control and data-flow structure of a binary. We introduce a new program representation, a hybrid information- and control-flow graph (HI-CFG), and give algorithms to infer it from an instruction-level trace. As an application, we consider the task of generalizing an attack against a program whose inputs undergo complex transformations before reaching a vulnerability. We apply the HI-CFG to find the parts of the program that implement each transformation, and then generate new attack inputs under a user-specified combination of transformations. Structural knowledge allows our approach to scale to applications that are infeasible with monolithic symbolic execution. Such attack polymorphism shows the insufficiency of any filter that does not support all the same transformations as the vulnerable application. In case studies, we show this attack capability against a PDF viewer and a word processor. © 2013 Springer-Verlag.
CITATION STYLE
Caselden, D., Bazhanyuk, A., Payer, M., McCamant, S., & Song, D. (2013). HI-CFG: Construction by binary analysis and application to attack polymorphism. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 8134 LNCS, pp. 164–181). https://doi.org/10.1007/978-3-642-40203-6_10
Mendeley helps you to discover research relevant for your work.