Web SQLIA漏洞的静态污点分析和动态验证研究与实现.pdfVIP

  • 39
  • 0
  • 约9.51万字
  • 约 69页
  • 2020-08-22 发布于江苏
  • 举报

Web SQLIA漏洞的静态污点分析和动态验证研究与实现.pdf

摘 要 污点分析,作为一种信息流分析的实现形式,建立来自不可信方法和参数的 值是否可以流动进入安全敏感操作的分析模型,以此来找到Web 应用中潜在的 安全漏洞。污点分析分为静态污点分析和动态污点分析,可以发现很多Web 应 用程序中的常见漏洞,比如:SQL 注入、XSS攻击,因而受到研究界和业界的 广泛关注。 结合静态分析与动态验证,本文提出了一种基于中间代码级的SQLIA 漏洞 Web Java Jsp 的检测和验证的解决方案。首先将 应用程序的 和 源代码转换成统 一的中间代码形式-Jimple,接着通过全局静态分析获取程序的Source集合和Sink 集合,然后将Source 分为原生和非原生两类,并将非原生Source 映射至对应的 原生Source,保证了Source 的可靠性。接着结合同方法、Request、Session 和方 Source Sink 法调用信息,初步判定 和 之间的潜在执行路径,有效地排除了不可 能的执行路径,很好地避免了路径爆炸问题。然后对相应的Source、Sink 之间的 路径集合进行活跃变量分析,通过活跃变量的污点传播来确定对应路径。同时, 完成了静态污点分析的自动化分析工具TASAT。最后基于动态插桩和动态污点 传播来完成路径的验证,完成静态分析与动态验证相结合的污点分析方法。针对 开源Web 项目的测试结果表明了该方法的有效性。 关键词:静态污点分析;污点传播;活跃变量分析;插桩;动态验证 I Abstract Taint analysis, as an implementation form of information flow analysis, establishes an analysis model of whether values from untrusted methods and parameters can flow into security-sensitive operations to find potential security vulnerabilities in Web applications.Taint analysis is divided into static taint analysis and dynamic taint analysis.Taint analysis, which can find common vulnerabilities in many Web applications, such as SQL injection and XSS attacks, has attracted extensiveattention fromtheresearch community andtheindustry. Combined with static analysis and dynamic verification, a solution to SQLIA vulnerability detection and verification based on intermediate code level is proposed in this paper. This paper first converts the Java and Jsp source code of Web application into a unified intermediate code form-Jimple, then obtains the Source set and Sink set of the program through global static analysis, then divides Source into native and non-native categories, and maps the non-native Source to the corresponding native Source, to ensure t

文档评论(0)

1亿VIP精品文档

相关文档