Better abstractions for secure server-side scripting
- 21 April 2008
- proceedings article
- Published by Association for Computing Machinery (ACM)
- p. 507-516
- https://doi.org/10.1145/1367497.1367566
Abstract
It is notoriously difficult to program a solid web application. Be- sides addressing web interactions, state maintenance, and whim- sical user navigation behaviors, programmers must also avoid a minefield of security vulnerabilities. The problem is twofold. First, we lack a clear understanding of the new computation model un- derlying web applications. Second, we lack proper abstractions for hiding common and subtle coding details that are orthogonal to the business functionalities of specific web applications. This paper addresses both issues. First, we present a language BASS for declarative server-side scripting. BASS allows program- mers to work in an ideal world, using new abstractions to tackle common but problematic aspects of web programming. The meta properties of BASS provide useful security guarantees. Second, we present a language MOSS reflecting realistic web programming concepts and scenarios, thus articulating the computation model behind web programming. Finally, we present a translation from BASS to MOSS, demonstrating how the ideal programming model and security guarantees of BASS can be implemented in practice.Keywords
This publication has 13 references indexed in Scilit:
- Using web application construction frameworks to protect against code injection attacksPublished by Association for Computing Machinery (ACM) ,2007
- Sound and precise analysis of web applications for injection vulnerabilitiesPublished by Association for Computing Machinery (ACM) ,2007
- The essence of command injection attacks in web applicationsPublished by Association for Computing Machinery (ACM) ,2006
- An embedded domain-specific language for type-safe server-side web scriptingACM Transactions on Internet Technology, 2005
- Towards Type Inference for JavaScriptPublished by Springer Nature ,2005
- Towards a Type System for Analyzing JavaScript ProgramsPublished by Springer Nature ,2005
- Extending Java for high-level Web service constructionACM Transactions on Programming Languages and Systems, 2003
- The projectACM Transactions on Internet Technology, 2002
- Mawl: a domain-specific language for form-based servicesIEEE Transactions on Software Engineering, 1999
- Web programming in Scheme with LAMLJournal of Functional Programming, 1999