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,一种使用动态卷积神经网络(DCNN)的深度学习框架,通过分析动态控制流追踪来分类已编译二进制文件中的密码原_primitive。该模型在使用OpenSSL原_primitive并结合多变量混淆技术生成的合成二进制文件上进行训练,仅需极少的超参数调优,即可实现91%的准确率,成功识别AES、RC4、Blowfish、MD5和RSA等变体。

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.

研究动机与目标

  • 通过实现对恶意二进制文件中密码原_primitive的自动化检测,应对日益增长的加密勒索软件威胁。
  • 通过深度学习检测已编译可执行文件中混淆的密码行为,克服静态分析与动态分析的局限性。
  • 开发一种可扩展的自动化系统,能够对标准及自定义密码原_primitive实现进行分类,而无需人工逆向工程。
  • 通过端到端学习动态追踪数据,替代人工特征工程,从而最小化人为错误并缩短分析时间。
  • 通过在程序化生成的多样化二进制变体上进行训练,实现在未知密码函数上的快速分类。

提出的方法

  • 使用动态卷积神经网络(DCNN)处理从动态二进制追踪中提取的可变长度控制流诊断数据。
  • 利用CryptoKnight库生成合成密码二进制文件,该库将核心OpenSSL原_primitive(AES、RC4、Blowfish、MD5、RSA)与多变量混淆技术组合。
  • 通过程序化生成技术创建大规模、可扩展的带标签二进制样本数据集,涵盖多样化的混淆模式,用于训练DCNN。
  • 将控制流追踪表示为嵌入操作的序列数据,使DCNN能够在存在混淆的情况下学习时间不变的模式。
  • 在预组合的函数序列上以监督方式训练模型,重点区分密码行为与非密码计算。
  • 使用损失函数优化模型,以最小化分类误差,同时保持在各种混淆变体上的泛化能力。

实验结果

研究问题

  • RQ1深度学习模型能否利用动态控制流追踪准确分类已编译二进制文件中的密码原_primitive?
  • RQ2程序化生成的合成数据集在训练模型以泛化至多样化混淆技术方面效果如何?
  • RQ3DCNN在已编译可执行文件中存在控制流与数据流混淆的情况下,检测密码行为的能力达到何种程度?
  • RQ4该模型在标准与自定义密码原_primitive实现(包括原生编写版本)上的表现如何?
  • RQ5该框架是否能在极少超参数调优和低分析开销下检测密码函数?

主要发现

  • DCNN模型在包括AES、RC4、Blowfish、MD5和RSA在内的多样化密码原_primitive上实现了91%的分类准确率。
  • 该模型成功检测出所有RC4与Blowfish实现,包括外部引入和原生编写版本。
  • 每二进制文件的分析时间最多仅需一分钟,显著快于人工逆向工程,且比以往的动态插桩方法更高效。
  • 即使不依赖基于熵的特征,模型仍保持高准确率,排除熵特征后准确率仍达83.3%。
  • 合成数据生成管道实现了对混淆变体的稳健泛化,未出现过拟合现象,展现出良好的可扩展性与模型稳定性。
  • 在自动化程度与减少人工干预方面,该框架优于以往方法,尤其在处理混淆及自定义密码原_primitive实现方面表现突出。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。