首页> 外文会议>IEEE/ACM International Conference on Software Engineering >Extracting Taint Specifications for JavaScript Libraries
【24h】

Extracting Taint Specifications for JavaScript Libraries

机译:提取JavaScript库的Taint规范

获取原文

摘要

Modern JavaScript applications extensively depend on third-party libraries. Especially for the Node.js platform, vulnerabilities can have severe consequences to the security of applications, resulting in, e.g., cross-site scripting and command injection attacks. Existing static analysis tools that have been developed to automatically detect such issues are either too coarse-grained, looking only at package dependency structure while ignoring dataflow, or rely on manually written taint specifications for the most popular libraries to ensure analysis scalability. In this work, we propose a technique for automatically extracting taint specifications for JavaScript libraries, based on a dynamic analysis that leverages the existing test suites of the libraries and their available clients in the npm repository. Due to the dynamic nature of JavaScript, mapping observations from dynamic analysis to taint specifications that fit into a static analysis is non-trivial. Our main insight is that this challenge can be addressed by a combination of an access path mechanism that identifies entry and exit points, and the use of membranes around the libraries of interest. We show that our approach is effective at inferring useful taint specifications at scale. Our prototype tool automatically extracts 146 additional taint sinks and 7 840 propagation summaries spanning 1 393 npm modules. By integrating the extracted specifications into a commercial, state-of-the-art static analysis, 136 new alerts are produced, many of which correspond to likely security vulnerabilities. Moreover, many important specifications that were originally manually written are among the ones that our tool can now extract automatically.
机译:现代JavaScript应用程序广泛依赖于第三方库。特别是对于Node.js平台,漏洞可能对应用程序的安全性具有严重的后果,从而导致,例如,跨站点脚本和命令注入攻击。已经开发出自动检测此类问题的现有静态分析工具是过于粗糙的,只关注包依赖结构,同时忽略DataFlow,或者依赖于最流行的库的手动编写的Taint规范,以确保分析可扩展性。在这项工作中,我们提出了一种基于动态分析的动态分析来自动提取JavaScript库的Tair规范的技术,该动态分析利用了NPM存储库中的图书馆的现有测试套件及其可用客户端。由于JavaScript的动态性质,从动态分析到拟合静态分析的染色规范的映射观测是非微不足道的。我们的主要识别是,这种挑战可以通过识别进入和退出点的访问路径机制的组合来解决,以及在感兴趣的图书馆周围使用膜。我们表明我们的方法在推断使用规模的有效污染规范是有效的。我们的原型工具会自动提取146个额外的Taint汇总和7 840传播摘要,跨越1 393 NPM模块。通过将提取的规范集成到商业,最先进的静态分析中,产生了136个新警报,其中许多对应于可能的安全漏洞。此外,最初手动编写的许多重要规范是我们的工具现在可以自动提取的规范。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号