Taint Analysis
定义 Definition
Taint analysis(污点分析/污染分析)是一种用于跟踪“不可信数据”(如用户输入、网络数据、外部文件)在程序中如何流动与传播的分析方法,用来判断这些数据是否会到达敏感位置并造成风险(例如 SQL 注入、命令注入、XSS),以及是否在途中经过了正确的清理/校验(sanitization)。在安全领域和程序分析领域非常常见。
发音 Pronunciation (IPA)
/teɪnt əˈnæləsɪs/
例句 Examples
User input is marked as tainted during taint analysis.
在污点分析中,用户输入会被标记为“被污染”的数据。
The security team used taint analysis to trace how a URL parameter reached a database query without proper sanitization.
安全团队使用污点分析来追踪某个 URL 参数如何在未正确清理的情况下进入数据库查询语句。
词源 Etymology
taint 原意为“弄脏、玷污”,来自中古英语 teinten(与“染色/污染”的含义相关);在计算机安全语境中借用为“被不可信来源污染的数据”。analysis 来自希腊语 analyein,意为“分解、解析”。合在一起,taint analysis 就是“对被污染(不可信)数据的传播路径进行解析与追踪”。
相关词 Related Words
文学与著作中的用例 Literary Works
- TaintDroid: An Information-Flow Tracking System for Realtime Privacy Monitoring on Smartphones(Enck 等,2010)——经典移动端动态污点跟踪工作
- FlowDroid: Precise Context, Flow, Field, Object-sensitive and Lifecycle-aware Taint Analysis for Android Apps(Arzt 等,2014)——Android 静态污点分析代表性论文
- The Art of Software Security Assessment: Identifying and Preventing Software Vulnerabilities(Dowd, McDonald, Schuh)——讨论多种漏洞分析方法,常涉及不可信数据流的追踪思想
- Secure Programming with Static Analysis(Chess, West)——静态分析实践中常涵盖污点/数据流相关概念