Group of Software Security In Progress

GoSSIP @ LoCCS.Shanghai Jiao Tong University

安全论文每日读 2015.02.06

今天要介绍的论文是Towards Revealing Attackers’ Intent by Automatically Decrypting Network Traffic. 这篇论文开创了通过动态分析识别二进制程序中密码学算法的系统研究,论文可在 ftp://ftp.tik.ee.ethz.ch/pub/students/2008-FS/MA-2008-08.pdf 下载,论文作者Noé Lutz来自苏黎世理工(ETH Zurich)。

论文从题目来看似乎是集中于解密网络流量,然而这就引发了一个问题,如何利用可调试分析的二进制代码来协助解密网络流量(如果单纯对数据进行解密往往是不现实的),继而引发了自动化追查二进制代码中密码学函数的研究。作者提出了三项指标来检测密码学算法:

  1. presence of loops,
  2. a high ratio of bitwise arithmetic instructions
  3. entropy change in the data manipulated by the code.

通过将这些指标和一些经典的程序分析技术相结合,就能够帮助探测典型的密码算法如AES、DES、Blowfish等等。

作者使用了Valgrind动态二进制instrumentation框架来开发分析工具,对libgcrypt、openssl、GnuPG进行了评估分析,并对恶意软件Kraken进行了case study(在Linux平台上用wine+valgrind),实验结果表明对加密算法的识别能力大大超过了以往基于constant signature的识别方法。