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
Link To Document :
بازگشت