• DocumentCode
    3147345
  • Title

    Verifying Web applications using bounded model checking

  • Author

    Huang, Yao-Wen ; Yu, Fang ; Hang, Christian ; Tsai, Chung-Hung ; Lee, D.T. ; Kuo, Sy-Yen

  • Author_Institution
    Dept. of Electr. Eng., National Taiwan Univ., Taipei, Taiwan
  • fYear
    2004
  • fDate
    28 June-1 July 2004
  • Firstpage
    199
  • Lastpage
    208
  • Abstract
    The authors describe the use of bounded model checking (BMC) for verifying Web application code. Vulnerable sections of code are patched automatically with runtime guards, allowing both verification and assurance to occur without user intervention. Model checking techniques are relatively complex compared to the typestate-based polynomial-time algorithm (TS) we adopted in an earlier paper, but they offer three benefits - they provide counterexamples, more precise models, and sound and complete verification. Compared to conventional model checking techniques, BMC offers a more practical approach to verifying programs containing large numbers of variables, but requires fixed program diameters to be complete. Formalizing Web application vulnerabilities as a secure information flow problem with fixed diameter allows for BMC application without drawback. Using BMC-produced counterexamples, errors that result from propagations of the same initial error can be reported as a single group rather than individually. This offers two distinct benefits. First, together with the counterexamples themselves, they allow for more descriptive and precise error reports. Second, it allows for automated patching at locations where errors are initially introduced rather than at locations where the propagated errors cause problems. Results from a TS-BMC comparison test using 230 open-source Web applications showed a 41.0% decrease in runtime instrumentations when BMC was used. In the 38 vulnerable projects identified by TS, BMC classified the TS-reported 980 individual errors into 578 groups, with each group requiring a minimal set of patches for repair.
  • Keywords
    Internet; computational complexity; formal verification; Web applications; bounded model checking; code verification; polynomial-time algorithm; typestate-based algorithm; Application software; Formal verification; Information science; Instruments; Polynomials; Protection; Runtime; Security; Testing; Web sites;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Dependable Systems and Networks, 2004 International Conference on
  • Print_ISBN
    0-7695-2052-9
  • Type

    conf

  • DOI
    10.1109/DSN.2004.1311890
  • Filename
    1311890