|
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
|
Stephen Chong , Jed Liu , Andrew C. Myers , Xin Qi , K. Vikram , Lantian Zheng , Xin Zheng, Secure web application via automatic partitioning, Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles, October 14-17, 2007, Stevenson, Washington, USA
|
| |
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
|
Yao-Wen Huang , Fang Yu , Christian Hang , Chung-Hung Tsai , Der-Tsai Lee , Sy-Yen Kuo, Securing web application code by static analysis and runtime protection, Proceedings of the 13th international conference on World Wide Web, May 17-20, 2004, New York, NY, USA
[doi> 10.1145/988672.988679]
|
| |
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
|
Manuel Serrano , Erick Gallesio , Florian Loitsch, Hop: a language for programming the web 2.0, Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications, October 22-26, 2006, Portland, Oregon, USA
[doi> 10.1145/1176617.1176756]
|
| |
20
|
Symantec Internet security threat report, volume X. Symantec Corporation, September 2006.
|
| |
21
|
|
| |
22
|
|
| |
23
|
|
 |
24
|
Fan Yang , Nitin Gupta , Nicholas Gerner , Xin Qi , Alan Demers , Johannes Gehrke , Jayavel Shanmugasundaram, A unified platform for data driven web applications with automatic client-server partitioning, Proceedings of the 16th international conference on World Wide Web, May 08-12, 2007, Banff, Alberta, Canada
[doi> 10.1145/1242572.1242619]
|
 |
25
|
|
| |
26
|
|
|