Group of Software Security In Progress

GoSSIP @ LoCCS.Shanghai Jiao Tong University

安全论文每日读 2015.02.08

继续二进制代码中密码学算法识别主题的论文推荐,今天要推荐的论文 来自2012年Malware会议上发表的论文CIS: The Crypto Intelligence System for Automatic Detection and Localization of Cryptographic Functions in Current Malware,论文可在 http://net.cs.uni-bonn.de/fileadmin/user_upload/wichmann/Crypto_Intelligence_System.pdf 下载,作者来自于德国亚琛工业大学、德国Fraunhofer研究中心和Norman Anti-virus公司。

这篇论文的主旨是设计了一个称之为Crypto Intelligence System(CIS)的系统,来完成所谓的flexible and generic crypto detection. 作者指出,要完成密码算法识别的任务,不存在非常简单而可以通杀的技术,实际上这个识别问题可以归结到Rice’s Theorem (这个reduction并没有在文章中详述),因而文章的核心思想是尽可能多的去找heuristics来帮助识别。故而论文的第四章总结了一系列的heuristics,包括:

  • Caballero: 这是基于Juan Cabellero 2009年的论文Dispatcher: Enabling Active Botnet Infltration using Automatic Protocol Reverse-Engineering(该工作是其在Berkeley Dawn Song组工作期间发表)中提出来的静态搜索函数中arithmetic和bitwise汇编指令所占比例的启发式特征,然而这种方法可能因为代码实现导致不同的成功率,例如本文和2009年论文的测试结果就在threshold取值上存在出入;
  • Adjusted Caballero:作者在原始的Caballero特征上进行了调整,提出了只考虑shift移位操作, bitwise AND、OR 和 XOR 这几种运算的启发式特征;
  • Asymmetric Caballero: 上述两种特征在分析对称加密算法时可能效果比较好,但在分析非对称加密算法(主要涉及到大数模幂运算)的时候,效果并不是十分理想,因此作者又提出一种关心mul, div, add这三种汇编指令运算的分析特征;
  • Abolute Entropy:考虑运行时数据的熵是检测加密和压缩算法的很好的启发式特征,这个特征在之前我们介绍的Noé Lutz的论文中提及,本文作者也采纳了Noé Lutz提出的scaled entropy的概念;
  • Entropy Difference:更进一步,本文作者考虑了以一个函数的输入输出熵的变化作为加密解密的特殊标记的识别特征,事实上2013年Ruoyu Wang等的论文Steal This Movie – Automatically Bypassing DRM Protection in Streaming Media Services的核心就是利用该特征来做密码算法识别。
  • Constant search:常量搜索是经典的密码算法识别方法,通常用于识别MD5和SHA1这两大有明显特征的算法,一些插件如Kanal等都是基于这种特征,但是这种特征的漏报率是相当高的;
  • Taint-graph:在香农经典的关于通讯安全的论文里面,提及了密码算法应该具备confusion和diffusion这两大特性,作者考虑到这一特性,利用information flow analysis技术来分析算法输入对输出的data-flow影响,可惜的是本文没有详细的讨论这个问题,然而后续的论文CipherXRay(我们会在接下来的论文介绍里面推荐这篇论文)充分利用了这个特性来设计了一个非常具有说服力的密码算法识别系统;
  • Crypto API:最后,作者提出还是有很多程序并不一定自己实现算法的,因此我们还是需要考虑Crypto API,实际上后续在Android平台上分析crypto misuse的论文都是关注库函数的调用安全问题。

作者在评估部分给出了很多分析,这里就不一一介绍了,总体来说这篇文章的思路非常好,可以说是综合了crypto identification领域几乎所有的优秀思想来设计出一个非常全面的Heuristic based detection system,非常值得仔细阅读。