CryptoKnight: generating and modelling compiled cryptographic primitives

Gregory Hill, Xavier Bellekens*

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

8 Citations (Scopus)
16 Downloads (Pure)

Abstract

Cryptovirological augmentations present an immediate, incomparable threat. Over the last decade, the substantial proliferation of crypto-ransomware has had widespread consequences for consumers and organisations alike. Established preventive measures perform well, however, the problem has not ceased. Reverse engineering potentially malicious software is a cumbersome task due to platform eccentricities and obfuscated transmutation mechanisms, hence requiring smarter, more efficient detection strategies. The following manuscript presents a novel approach for the classification of cryptographic primitives in compiled binary executables using deep learning. The model blueprint, a Dynamic Convolutional Neural Network (DCNN), is fittingly configured to learn from variable-length control flow diagnostics output from a dynamic trace. To rival the size and variability of equivalent datasets, and to adequately train our model without risking adverse exposure, a methodology for the procedural generation of synthetic cryptographic binaries is defined, using core primitives from OpenSSL with multivariate obfuscation, to draw a vastly scalable distribution. The library, CryptoKnight, rendered an algorithmic pool of AES, RC4, Blowfish, MD5 and RSA to synthesise combinable variants which automatically fed into its core model. Converging at 96% accuracy, CryptoKnight was successfully able to classify the sample pool with minimal loss and correctly identified the algorithm in a real-world crypto-ransomware application.

Original languageEnglish
Article number231
Number of pages15
JournalInformation
Volume9
Issue number9
DOIs
Publication statusPublished - 10 Sept 2018

Keywords

  • cryptography
  • deep learning
  • reverse engineering

Fingerprint

Dive into the research topics of 'CryptoKnight: generating and modelling compiled cryptographic primitives'. Together they form a unique fingerprint.

Cite this