• DocumentCode
    2944463
  • Title

    A Symbolic Execution Framework for JavaScript

  • Author

    Saxena, Prateek ; Akhawe, Devdatta ; Hanna, Steve ; Mao, Feng ; McCamant, Stephen ; Song, Dawn

  • Author_Institution
    EECS Dept., Univ. of California, Berkeley, CA, USA
  • fYear
    2010
  • fDate
    16-19 May 2010
  • Firstpage
    513
  • Lastpage
    528
  • Abstract
    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.
  • Keywords
    Assembly; Computational modeling; Computer architecture; Digital signal processing; Digital signal processing chips; Java; Large scale integration; Logic; Registers; Telecommunication control;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Security and Privacy (SP), 2010 IEEE Symposium on
  • Conference_Location
    Oakland, CA, USA
  • ISSN
    1081-6011
  • Print_ISBN
    978-1-4244-6894-2
  • Electronic_ISBN
    1081-6011
  • Type

    conf

  • DOI
    10.1109/SP.2010.38
  • Filename
    5504700