AUGUR: Dynamic Taint Analysis for Asynchronous Java']JavaScript

被引:1
|
作者
Aldrich, Mark W. [1 ]
Turcotte, Alexi [2 ]
Blanco, Matthew [2 ]
Tip, Frank [2 ]
机构
[1] Tufts Univ, Medford, MA 02155 USA
[2] Northeastern Univ, Boston, MA 02115 USA
基金
美国国家科学基金会;
关键词
dynamic program analysis; taint analysis; information flow analysis; security vulnerabilities; !text type='Java']Java[!/text]Script;
D O I
10.1145/3551349.3559522
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Dynamic taint analysis (DTA) is a popular approach to help protect JavaScript applications against injection vulnerabilities. In 2016, the ECMAScript 7 JavaScript language standard introduced many language features that most existing DTA tools for JavaScript do not support, e.g., the async/await keywords for asynchronous programming. We present Augur, a high-performance dynamic taint analysis for ES7 JavaScript that leverages VM-supported instrumentation. Integrating directly with a public, stable instrumentation API gives Augur the ability to run with high performance inside the VM and remain resilient to language revisions. We extend the abstract-machine approach to DTA to handle asynchronous function calls. In addition to providing the classic DTA use case of injection vulnerability detection, Augur is highly configurable to support any type of taint analysis, making it useful outside of the security domain. We evaluated Augur on a set of 20 benchmarks, and observed a median runtime overhead of only 1.77x, a median performance improvement of 298% compared to the previous state-of-the-art.
引用
收藏
页数:4
相关论文
共 50 条
  • [21] The Unexpected Dangers of Dynamic Java']JavaScript
    Lekies, Sebastian
    Stock, Ben
    Wentzel, Martin
    Johns, Martin
    [J]. PROCEEDINGS OF THE 24TH USENIX SECURITY SYMPOSIUM, 2015, : 723 - 735
  • [22] Asynchronous Distributed Genetic Algorithms with Java']Javascript and JSON']JSON
    Julian Merelo-Guervos, Juan
    Castillo, Pedro A.
    Laredo, J. L. J.
    Mora Garcia, A.
    Prieto, A.
    [J]. 2008 IEEE CONGRESS ON EVOLUTIONARY COMPUTATION, VOLS 1-8, 2008, : 1372 - 1379
  • [23] Nessie: Automatically Testing Java']JavaScript APIs with Asynchronous Callbacks
    Arteca, Ellen
    Harner, Sebastian
    Pradel, Michael
    Tip, Frank
    [J]. 2022 ACM/IEEE 44TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2022), 2022, : 1494 - 1505
  • [24] Automatic Migration from Synchronous to Asynchronous Java']JavaScript APIs
    Gokhale, Satyajit
    Turcotte, Alexi
    Tip, Frank
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2021, 5 (OOPSLA):
  • [25] Understanding Asynchronous Interactions in Full-Stack Java']JavaScript
    Alimadadi, Saba
    Mesbah, Ali
    Pattabiraman, Karthik
    [J]. 2016 IEEE/ACM 38TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2016, : 1169 - 1180
  • [26] Type Analysis for Java']JavaScript
    Jensen, Simon Holm
    Moller, Anders
    Thiemann, Peter
    [J]. STATIC ANALYSIS, 2009, 5673 : 238 - +
  • [27] Finding Security Vulnerabilities in Java']Java Web Applications with Test Generation and Dynamic Taint Analysis
    Huang, Yu-Yu
    Chen, Kung
    Chiang, Shang-Lung
    [J]. PROCEEDINGS OF THE 2011 2ND INTERNATIONAL CONGRESS ON COMPUTER APPLICATIONS AND COMPUTATIONAL SCIENCE, VOL 2, 2012, 145 : 133 - 138
  • [28] JS']JSXGraph - Dynamic Mathematics with Java']JavaScript
    Gerhaeuser, Michael
    Valentin, Bianca
    Wassermann, Alfred
    [J]. INTERNATIONAL JOURNAL FOR TECHNOLOGY IN MATHEMATICS EDUCATION, 2010, 17 (04): : 211 - 215
  • [29] Dynamic code compression for Java']JavaScript engine
    Park, Hyukwoo
    Kim, Seonghyun
    Bae, Boram
    [J]. SOFTWARE-PRACTICE & EXPERIENCE, 2023, 53 (05): : 1196 - 1217
  • [30] DrAsync: Identifying and Visualizing Anti-Patterns in Asynchronous Java']JavaScript
    Turcotte, Alexi
    Shah, Michael D.
    Aldrich, Mark W.
    Tip, Frank
    [J]. 2022 ACM/IEEE 44TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2022), 2022, : 774 - 785