Skip to main content
QUICK REVIEW

[论文解读] Automatic Web Security Unit Testing: XSS Vulnerability Detection

Mahmoud Mohammadi, Bill Chu|arXiv (Cornell University)|Apr 2, 2018
Web Application Security VulnerabilitiesComputer Science参考文献 11被引用 17
一句话总结

本文提出一种自动化方法,通过分析Web应用程序中的编码函数并生成恶意有效载荷来检测跨站脚本(XSS)漏洞。该方法可检测静态分析工具遗漏的0-day XSS缺陷,并通过动态单元测试输入净化例程,高效覆盖一类常见的XSS漏洞。

ABSTRACT

Integrating security testing into the workflow of software developers not only can save resources for separate security testing but also reduce the cost of fixing security vulnerabilities by detecting them early in the development cycle. We present an automatic testing approach to detect a common type of Cross Site Scripting (XSS) vulnerability caused by improper encoding of untrusted data. We automatically extract encoding functions used in a web application to sanitize untrusted inputs and then evaluate their effectiveness by automatically generating XSS attack strings. Our evaluations show that this technique can detect 0-day XSS vulnerabilities that cannot be found by static analysis tools. We will also show that our approach can efficiently cover a common type of XSS vulnerability. This approach can be generalized to test for input validation against other types injections such as command line injection.

研究动机与目标

  • 将安全测试集成到软件开发生命周期中,以降低开发成本并改善漏洞检测时机。
  • 解决由于Web应用程序中输入编码不当而引发的0-day XSS漏洞检测挑战。
  • 开发一种自动化方法,评估用于净化不受信任输入的编码函数的有效性。
  • 实现对XSS防护输入净化逻辑的高效、有针对性的单元测试。
  • 将该方法推广至检测其他注入类漏洞,如命令注入。

提出的方法

  • 自动提取Web应用程序中用于净化不受信任输入的编码函数。
  • 基于输入处理的结构和上下文,生成恶意XSS攻击字符串。
  • 通过检查生成的有效载荷是否能够绕过净化机制,评估编码函数的有效性。
  • 将测试过程集成到单元测试工作流中,实现自动化、可重复的安全验证。
  • 使用动态分析评估编码函数在构造输入下的实际行为。
  • 通过调整有效载荷生成方式,将该技术推广至其他注入类漏洞。

实验结果

研究问题

  • RQ1自动化单元测试能否检测到静态分析工具遗漏的0-day XSS漏洞?
  • RQ2该方法在识别用于防止XSS的输入编码函数中的弱点方面效果如何?
  • RQ3该方法在多大程度上可实现对常见XSS漏洞模式的高代码覆盖率?
  • RQ4该技术能否扩展至检测XSS以外的其他注入类漏洞?
  • RQ5该方法在现有软件开发生命周期工作流中集成的效率如何?

主要发现

  • 所提出的方法成功检测到静态分析工具未能发现的0-day XSS漏洞。
  • 通过针对性地对编码函数进行单元测试,该方法实现了对一类常见XSS漏洞的高覆盖率。
  • 自动化生成攻击字符串有效暴露了输入净化逻辑中的缺陷。
  • 该技术在早期开发阶段成功识别出真实世界中的XSS缺陷,证明了其可行性。
  • 通过调整有效载荷构造方式,该方法可推广至其他注入类漏洞(如命令行注入),证明其具备通用性。
  • 将安全测试集成到单元测试工作流中,显著降低了漏洞在部署后修复的成本与工作量。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。