Building Secure Web Applications with Automatic Partitioning.

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 cur...

Descripción completa

Detalles Bibliográficos
Publicado en:Communications of the ACM Vol. 52; no. 2; pp. 79 - 88
Autores principales: Chong, Stephen, Jed Liu, Myers, Andrew C., Xin Qi, Vikram, K., Lantian Zheng, Xin Zheng
Formato: Artículo
Publicado: Association for Computing Machinery Feb2009
Materias:
Acceso en línea:Ver este registro en EBSCOhost
Descripción
Sumario: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.