计算机应用 ›› 2014, Vol. 34 ›› Issue (7): 1929-1935.DOI: 10.11772/j.issn.1001-9081.2014.07.1929

• 计算机安全 • 上一篇    下一篇

基于密码库函数的程序加解密过程分析

张彦文1,尹青2,李政廉2,舒辉1,3,常瑞2   

  1. 1. 信息工程大学,郑州 450000
    2. 数学工程与先进计算机国家重点实验室,郑州 450000
    3. 数学工程与先进计算国家重点实验室,郑州 450001
  • 收稿日期:2014-01-03 修回日期:2014-02-21 出版日期:2014-07-01 发布日期:2014-08-01
  • 通讯作者: 张彦文
  • 作者简介:张彦文(1987-),男,湖南娄底人,硕士研究生,主要研究方向:逆向工程;尹青(1968-),女,江苏徐州人,教授,博士,主要研究方向:网络与信息安全;舒辉(1974-),男,江苏盐城人,副教授,博士,主要研究方向:网络与信息安全;李政廉(1987-),男,北京人,硕士研究生,主要研究方向:网络与信息安全;常瑞 (1981-),女,河南郑州人,讲师,博士研究生,主要研究方向:逆向工程、嵌入式安全。

Cryptographic procedure analysis based on cryptographic library function

ZHANG Yanwen1,YIN Qing2,LI Zhenglian2,SHU Hui3,4,CHANG Rui2   

  1. 1. State Key Laboratory of Mathematical Engineering and Advanced Computing, Information Engineering University,Zhengzhou Henan 450001, China
    2. State Key Laboratory of Mathematical Engineering and Advanced Computing, Zhengzhou Henan 450000, China
    3. State Key Laboratory of Mathematical Engineering and Advanced Computing, Zhengzhou Henan 450001, China
    4. Information Engineering University, Zhengzhou Henan 450000, China;
  • Received:2014-01-03 Revised:2014-02-21 Online:2014-07-01 Published:2014-08-01
  • Contact: ZHANG Yanwen

摘要:

针对常见密码算法种类多及实现方式不同,采用现有特征扫描和动态调试的方法分析程序中的加解密过程非常困难的问题。提出一种基于库函数原型分析和库函数调用链构造的加解密过程分析方法,库函数原型分析是分析常见密码库函数所包含的密码算法知识和库框架知识,并记录形成知识库,库函数调用链是根据密码库函数调用时参数值的相等关系构建的库函数调用的先后关系链,最后根据知识库在链上提取展示密码库及密码算法相关知识。该方法对运用到常见库的程序中的算法的识别精确度达到近100%,能详细分析算法调用时的数据、密钥、模式,并有助于对多个算法的协同处理关系作分析。该方法有助于辅助分析木马、蠕虫之类恶意程序,也可用于检测程序对库密码算法的运用是否正确。

Abstract:

Since it's hard to analyze the cryptographic procedure using method of property scan or debugging for the variety and different implementation of cryptographic algorithms, a method was proposed based on library function prototype analysis and their calling-graph building. Library functions prototype analysis is analyzing cryptographic algorithm knowledge and library frame knowledge to form a knowledge base. Calling-graph building is building a calling-graph that reflects the function calling order according to parameter value of the functions. Finally cryptographic algorithm knowledge and library frame knowledge on the calling-graph were extracted. The method discriminated common cryptographic algorithm almost 100%, and it could not only recover cryptographic data, key and cryptographic mode, but also help to analyze the relationship between more than two cryptographic algorithms dealing with the same data. The method could be used to analyze Trojan, worm and test whether the library is used correctly.

中图分类号: