Automated identification of cryptographic primitives in binary programs

  • Authors:
  • Felix Gröbert;Carsten Willems;Thorsten Holz

  • Affiliations:
  • Horst Görtz Institute for IT-Security, Ruhr-University, Bochum, Germany;Laboratory for Dependable Distributed Systems, University of Mannheim, Mannheim, Germany;Horst Görtz Institute for IT-Security, Ruhr-University, Bochum, Germany

  • Venue:
  • RAID'11 Proceedings of the 14th international conference on Recent Advances in Intrusion Detection
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Identifying that a given binary program implements a specific cryptographic algorithm and finding out more information about the cryptographic code is an important problem. Proprietary programs and especially malicious software (so called malware) often use cryptography and we want to learn more about the context, e.g., which algorithms and keys are used by the program. This helps an analyst to quickly understand what a given binary program does and eases analysis. In this paper, we present several methods to identify cryptographic primitives (e.g., entire algorithms or only keys) within a given binary program in an automated way. We perform fine-grained dynamic binary analysis and use the collected information as input for several heuristics that characterize specific, unique aspects of cryptographic code. Our evaluation shows that these methods improve the state-of-the-art approaches in this area and that we can successfully extract cryptographic keys from a given malware binary.