作者投稿和查稿 主编审稿 专家审稿 编委审稿 远程编辑

计算机工程 ›› 2012, Vol. 38 ›› Issue (23): 28-32.

• 专栏 • 上一篇    下一篇

污点分析中的隐式污染检测方法

刘 杰1,张普含2,尹中旭1,宋晓龙3   

  1. (1. 国家数字交换系统工程技术研究中心,郑州 450002;2. 中国信息安全测评中心,北京 100085; 3. 北京华夏信安科技有限公司,北京 100086)
  • 收稿日期:2012-03-28 出版日期:2012-12-05 发布日期:2012-12-03
  • 作者简介:刘 杰(1983-),男,博士研究生,主研方向:软件安全分析;张普含,副研究员;尹中旭,讲师;宋晓龙,副研究员
  • 基金资助:

    国家“863”计划基金资助项目(2008AA01Z420)

Implicit Tainting Detection Method in Taint Analysis

LIU Jie 1, ZHANG Pu-han 2, YIN Zhong-xu 1, SONG Xiao-long 3   

  1. (1. National Digital Switching System Engineering & Technological R&D Center, Zhengzhou 450002, China; 2. China Information Technology Security Evaluation Center, Beijing 100085, China; 3. Beijing Huaxia Xin’an Technology Co., Ltd., Beijing 100086, China)
  • Received:2012-03-28 Online:2012-12-05 Published:2012-12-03

摘要:

隐式流对于污点分析方法的准确性有重要影响。为此,提出一种基于程序单静态赋值形式的隐式流检测方法。通过生成控制流图的必经节点树检测控制依赖关系,计算必经边界发现程序汇合点,引入虚拟取值函数获得汇合点变量的多个赋值,从而判别变量取值分歧并标记污点属性。与人工审计结果的对比证明,该方法能够诊断2个污点分析工具的污染缺失和污染过度问题,有效降低隐式流分析的误报率和漏报率。

关键词: 污点分析, 隐式流, 显式流, 控制依赖, 单静态赋值, 必经边界

Abstract:

Implicit flow has a major impact on the accuracy of the taint analysis. In this paper, a method for implicit flow detection is proposed, which is based on the Static Single Assignment(SSA) form of program, including detecting control dependencies relationship by generating dominate tree on control flow graph, finding re-convergence point by computing dominance frontier, acquiring values by inserting virtual function at re-convergence point in SSA, and marking the correct taint type of variables. Compared with the manual auditing results, test results show that this method can diagnose the undertainting and overtainting problem of two analysis tools, and reduce false-positive and false-negative rate of implicit flow effectively.

Key words: taint analysis, implicit flow, explicit flow, control dependence, Static Single Assignment(SSA), dominance frontier

中图分类号: