ACM Home Page
Please provide us with feedback. Feedback
Building secure web applications with automatic partitioning
Full text Digital EditionDigital Edition HtmlHtml (59 KB),  PdfPdf (950 KB)
Source
Communications of the ACM archive
Volume 52 ,  Issue 2  (February 2009) table of contents
Inspiring Women in Computing
SECTION: Research highlights table of contents
Pages 79-87  
Year of Publication: 2009
ISSN:0001-0782
Authors
Stephen Chong  Cornell University
Jed Liu  Cornell University
Andrew C. Myers  Cornell University
Xin Qi  Cornell University
K. Vikram  Cornell University
Lantian Zheng  Cornell University
Xin Zheng  Cornell University
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 54,   Downloads (12 Months): 576,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1461928.1461949
What is a DOI?

ABSTRACT

Swift is a new, principled approach to building Web applications that are secure by construction. Modern Web applications typically implement some functionality as client-side JavaScript code, for improved interactivity. Moving code and data to the client can create security vulnerabilities, but currently there are no good methods for deciding when it is secure to do so.

Swift automatically partitions application code while providing assurance that the resulting placement is secure and efficient. Application code is written as Java-like code annotated with information flow policies that specify the confidentiality and integrity of Web application information. The compiler uses these policies to automatically partition the program into JavaScript code running in the client browser and Java code running on the server. To improve interactive performance, code and data are placed on the client. However, security-critical code and data are always placed on the server. The compiler may also automatically replicate code across the client and server, to obtain both security and performance.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
3
 
4
 
5
Cooper, E., Lindley, S., Wadler, P., Yallop, J. Links: Web programming without tiers. In Proceedings of the 5th International Symposium on Formal Methods for Components and Objects (November 2006).
 
6
 
7
Fournet, C., Rezk, T. Cryptographically sound implementations for typed information-flow security. In IEEE Symposium on Computer Security Foundations (June 2008), 323--335.
 
8
Google Web Toolkit. http://code.google.com/webtoolkit/.
9
10
 
11
 
12
13
14
 
15
Myers, A.C., Zheng, L., Zdancewic, S., Chong, S., Nystrom, N. Jif 3.0: Java information flow. Software release. http://www.cs.cornell.edu/jif, July 2006.
 
16
Nguyen-Tuong, A., Guarneri, S., Greene, D., Evans, D. Automatically hardening web applications using precise tainting. In Proceedings of the 20th International Information Security Conference (May 2005), 372--382.
 
17
Nystrom, N., Clarkson, M. R., Myers, A.C. Polyglot: An extensible compiler framework for Java. In Proceedings of the 12th International Compiler Construction Conference (CC'03) (April 2003), LNCS 2622, 138--152.
 
18
PHP: hypertext processor, http://www.php.net.
19
 
20
Symantec Internet security threat report, volume X. Symantec Corporation, September 2006.
 
21
 
22
 
23
24
25
 
26

Collaborative Colleagues:
Stephen Chong: colleagues
Jed Liu: colleagues
Andrew C. Myers: colleagues
Xin Qi: colleagues
K. Vikram: colleagues
Lantian Zheng: colleagues
Xin Zheng: colleagues