Skip to main content
QUICK REVIEW

[論文レビュー] Deep Learning Based Cryptographic Primitive Classification

Gregory D. Hill, Xavier Bellekens|arXiv (Cornell University)|Sep 25, 2017
Advanced Malware Detection Techniques参考文献 14被引用数 11
ひとこと要約

本論文では、動的制御フローレコードを分析することでコンパイル済みバイナリ内の暗号化プリミティブを分類するための深層学習フレームワーク、CryptoKnightを提案する。合成バイナリを用いてOpenSSLプリミティブに多変量のオブスクリュエーションを施した状態で学習させたモデルは、最小限のハイパーパrameterチューニングでAES、RC4、Blowfish、MD5、RSAのバリアントを91%の正確さで識別できた。

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 DCNN, is fittingly configured to learn from variable-length control flow diagnostics output from a dynamic trace. To rival the size and variability of contemporary data compendiums, hence feeding the model cognition, a methodology for the procedural generation of synthetic cryptographic binaries is defined, utilising 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 synthesis combinable variants which are automatically fed in its core model. Converging at 91% accuracy, CryptoKnight is successfully able to classify the sample algorithms with minimal loss.

研究の動機と目的

  • マルウェアの脅威が増大する中、悪意あるバイナリ内の暗号化プリミティブを自動検出することにより、暗号化ランサムウェアの脅威に対処する。
  • 静的・動的解析の限界を克服し、コンパイル済み実行可能ファイルにおけるオブスクリュエートされた暗号化動作を深層学習で検出する。
  • 手作業でのリバース・エンジニアリングを必要とせず、標準的およびカスタム暗号実装の両方をスケーラブルに自動分類できるシステムを構築する。
  • 動的トレースからのエンドツーエンド学習に特徴量設計を置き換えることで、人的ミスを低減し、分析時間を短縮する。
  • 手順的生成された多様なバイナリバージョンで学習することで、未知の暗号関数を迅速に分類可能にする。

提案手法

  • 動的バイナリトレーシングから抽出した可変長の制御フローダイアグノスティクスを処理するため、動的畳み込みニューラルネットワーク(DCNN)を採用する。
  • CryptoKnightライブラリを用いて、コアOpenSSLプリミティブ(AES、RC4、Blowfish、MD5、RSA)と多変量のオブスクリュエーション技術を合成して合成暗号バイナリを生成する。
  • 手順的生成により、多様なオブスクリュエーションパターンを持つラベル付きバイナリサンプルの大量でスケーラブルなデータセットを構築し、DCNNの学習に用いる。
  • 制御フローレコードを埋め込み演算を有する順序データとして表現することで、オブスクリュエーションにもかかわらず時間不変パターンを学習可能にする。
  • 事前に結合された関数シーケンス上で教師あり学習を実施し、暗号化動作と非暗号化計算を区別することに焦点を当てる。
  • 分類誤差を最小化するとともに、オブスクリュエートされたバージョン間での一般化を維持するように、損失関数を最適化する。

実験結果

リサーチクエスチョン

  • RQ1動的制御フローレコードを用いた深層学習モデルは、コンパイル済みバイナリ内の暗号化プリミティブを正確に分類できるか?
  • RQ2手順的生成された合成データセットは、多様なオブスクリュエーション技術に一般化するモデルの学習にどの程度効果的か?
  • RQ3コンパイル済み実行可能ファイルにおける制御フローやデータフローのオブスクリュエーションに対しても、DCNNは暗号化動作をどの程度検出できるか?
  • RQ4標準的およびカスタム暗号実装(ネイティブに書かれたバージョンを含む)の両方に対して、モデルの性能はいかがいか?
  • RQ5最小限のハイパーパrameterチューニングと低コストの分析オーバーヘッドで、フレームワークは暗号関数を検出できるか?

主な発見

  • DCNNモデルは、AES、RC4、Blowfish、MD5、RSAを含む多様な暗号化プリミティブに対して91%の分類正確さを達成した。
  • 外部ソース由来およびネイティブに実装されたバージョンを含め、RC4およびBlowfishのすべての実装を正常に検出した。
  • 1バイナリあたりの分析時間は最長1分であり、手作業でのリバース・エンジニアリングや従来の動的インストルメンテーション手法よりも著しく高速で、効率的であった。
  • エントロピーに基づく特徴量を排除しても、83.3%の正確さを示したため、エントロピー依存性が低いことが確認された。
  • 合成データ生成パイプラインにより、過学習を避けながらも、オブスクリュエートされたバージョンに強く一般化することができ、スケーラビリティとモデルの安定性が実証された。
  • 特にオブスクリュエート済みおよびカスタム暗号実装の処理において、人的介入を最小限に抑え、自動化度を高めた点で、先行手法を上回った。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。