A Symbolic Execution Framework for Java']JavaScript

被引:197
|
作者
Saxena, Prateek [1 ]
Akhawe, Devdatta [1 ]
Hanna, Steve [1 ]
Mao, Feng [1 ]
McCamant, Stephen [1 ]
Song, Dawn [1 ]
机构
[1] Univ Calif Berkeley, Dept EECS, Div Comp Sci, Berkeley, CA 94720 USA
关键词
web security; symbolic execution; string decision procedures;
D O I
10.1109/SP.2010.38
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
As AJAX applications gain popularity, client-side JavaScript code is becoming increasingly complex. However, few automated vulnerability analysis tools for JavaScript exist. In this paper, we describe the first system for exploring the execution space of JavaScript code using symbolic execution. To handle JavaScript code's complex use of string operations, we design a new language of string constraints and implement a solver for it. We build an automatic end-to-end tool, Kudzu, and apply it to the problem of finding client-side code injection vulnerabilities. In experiments on 18 live web applications, Kudzu automatically discovers 2 previously unknown vulnerabilities and 9 more that were previously found only with a manually-constructed test suite.
引用
收藏
页码:513 / 528
页数:16
相关论文
共 50 条
  • [41] A Framework for Automated Testing of Java']JavaScript Web Applications
    Artzi, Shay
    Dolby, Julian
    Jensen, Simon Holm
    Moller, Anders
    Tip, Frank
    2011 33RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2011, : 571 - 580
  • [42] JS']JSCloud: Toward Remote Execution of Java']JavaScript Code on Handheld Devices
    Li, Winson Y. S.
    Wu, Shangru
    Chan, W. K.
    Tse, T. H.
    2012 12TH INTERNATIONAL CONFERENCE ON QUALITY SOFTWARE (QSIC), 2012, : 240 - 245
  • [43] SableVM: A research framework for the efficient execution of Java']Java bytecode
    Gagnon, EM
    Hendren, LJ
    USENIX ASSOCIATION PROCEEDINGS JAVA(TM) VIRTUAL MACHINE RESEARCH AND TECHNOLOGY SYMPOSIUM, 2001, : 27 - 39
  • [44] Path Directed Symbolic Execution in the K Framework
    Asavoae, Irina Mariuca
    Asavoae, Mihail
    Lucanu, Dorel
    12TH INTERNATIONAL SYMPOSIUM ON SYMBOLIC AND NUMERIC ALGORITHMS FOR SCIENTIFIC COMPUTING (SYNASC 2010), 2011, : 133 - 141
  • [45] A generic framework for symbolic execution: A coinductive approach
    Lucanu, Dorel
    Rusu, Vlad
    Arusoaie, Andrei
    JOURNAL OF SYMBOLIC COMPUTATION, 2017, 80 : 125 - 163
  • [46] Jivin' with (Java']Java and) Java']JavaScript
    Beck, CO
    45TH ANNUAL CONFERENCE ON IMAGINATION, INNOVATION AND COMMUNICATION, 1998, : 331 - 333
  • [47] Cyberaide Java']JavaScript: A Java']JavaScript Commodity Grid Kit
    von Laszewski, Gregor
    Wang, Fugang
    Younge, Andrew
    He, Xi
    Guo, Zhenhua
    Pierce, Marlon
    GCE: 2008 GRID COMPUTING ENVIRONMENTS WORKSHOP, 2008, : 89 - +
  • [48] YapuresPlus: An Optimized Efficient Framework to Guarantee Safety of Java']JavaScript
    Liu, Xiao
    Woo, Gyun
    PROCEEDINGS OF 2019 4TH INTERNATIONAL CONFERENCE ON INTELLIGENT INFORMATION TECHNOLOGY (ICIIT 2019), 2019, : 62 - 66
  • [49] JS']JSOPT: A Framework for Optimization of Java']JavaScript on Web Browsers
    Waqas, Muhammad
    Khan, Minhaj Ahmad
    MEHRAN UNIVERSITY RESEARCH JOURNAL OF ENGINEERING AND TECHNOLOGY, 2018, 37 (01) : 95 - 104
  • [50] Gray Computing: A Framework for Computing with Background Java']JavaScript Tasks
    Pan, Yao
    White, Jules
    Sun, Yu
    Gray, Jeff
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2019, 45 (02) : 171 - 193