ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

论文阅读 污点分析技术的原理和实践应用 | 污点分析综述

2022-03-04 10:35:00  阅读:269  来源: 互联网

标签:分析 综述 标记 传播 无害 污点 数据


1. 污点分析的基本原理

 

污点分析可以抽象成一个三元组<sources, sinks, sanitizers>的形式。sources:污点源,代表直接引入不受信任的数据或者机密数据到系统中。sink:污点汇聚点,代表直接产生安全敏感操作或者泄露隐私数据到外界。sanitizer:无害处理,代表通过数据加密或者移除危害操作等手段使数据传播不再对软件系统的信息安全产生危害。

污点分析就是分析程序中由污点源引入的数据是否能够不经无害处理,而直接传播到污点汇聚点.如果不能,说明系统是信息流安全的;否则,说明系统产生了隐私数据泄露或危险数据操作等安全问题。

污点分析的处理过程可以分成 3 个阶段: (1) 识别污点源和汇聚点; (2) 污点传播分析; (3) 无害处理.

 

           识别污点源和汇聚点:(1)使用启发式的策略进行标记,例如把来自程序外部输入的数据统称为“污点”数据,保守地认为这些数据有可能包含恶意的攻击数据(2)根据具体应用程序调用的 API 或者重要的数据类型,手工标记源和汇聚点(3)使用统计或机器学习技术自动地识别和标记污点源及汇聚点

           污点传播分析:显示流分析:分析污点标记如何随程序中变量之间的数据依赖关系传播。即数据流传播。隐式流分析:分析污点标记如何随程序中变量之间的控制依赖关系传播,也就是分析污点标记如何从条件指令传播到其所控制的语句。即控制流传播。

 

无害处理:污点数据经过该模块的处理后,数据本身不再携带敏感信息或者针对该数据的操作不会再对系统产生危害。 正确地使用无害处理可以降低系统中污点标记的数量,提高污点分析的效率,并且避免由于污点扩散导致的分析结果不精确的问题。例如,加密库函数应该被识别成无害处理模块。

2. 污点传播分析的关键技术

2.1 显示流分析

           静态分析技术: 分析对象一般是源码或者中间表示。 首先根据函数调用关系构建调用图(call graph);然后在函数内部或者函数间根据不同的程序特性进行具体的数据流传播分析。常见的污点传播方式包括:直接赋值传播、通过函数调(过程)用传播以及通过别名(指针)传播。

动态分析技术:首先需要为污点数据扩展一个污点标记(tainted tag)的标签并将其存储在存储单元(内存、寄存器、缓存等)中,然后根据指令类型和指令操作数设计相应的传播逻辑传播污点标记。动态污点传播分析按照实现层次被分为基于硬件、基于软件以及混合型的污点传播分析3类.

2.2 隐式流分析

           静态隐式流分析:路径敏感的数据流分析往往会产生路径爆炸问题。为了降低开销,一种简单的静态传播(标记)分支语句的污点标记方法是将控制依赖于它的语句全部进行污点标记,但该方法会导致过污染。

动态隐式流分析:首要问题是如何确定污点控制条件下需要标记的语句的范围;第2个问题是由于部分泄漏(partially leaked)导致的漏报;第3个问题是如何选择合适的污点标记分支进行污点传播。

2.3

目前通用污点传播分析技术面临的主要问题和代表性技术:

 

3 实际应用

如分析Android的隐私泄露问题。

 

 

4  参考资料:

王蕾, 李丰, 李炼,等. 污点分析技术的原理和实践应用[J]. 软件学报, 2017, 28(004):860-882.

CMU污点分析课程PDF,Taint Analysis

南京大学软件分析 视频课件

北京大学软件分析 课件

 

博客:

简述污点分析

简单理解污点分析技术

污点分析

污点分析技术的原理和实践应用

标签:分析,综述,标记,传播,无害,污点,数据
来源: https://www.cnblogs.com/lqerio/p/15963188.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有