Cross-tier, label-based security enforcement for web applications
Title | Cross-tier, label-based security enforcement for web applications |
Publication Type | Conference Papers |
Year of Publication | 2009 |
Authors | Corcoran BJ, Swamy N, Hicks MW |
Conference Name | Proceedings of the 35th SIGMOD international conference on Management of data |
Date Published | 2009/// |
Publisher | ACM |
Conference Location | New York, NY, USA |
ISBN Number | 978-1-60558-551-2 |
Keywords | compilers, database programming, security enforcement, type systems, web applications |
Abstract | This paper presents SELinks, a programming language focused on building secure multi-tier web applications. SELinks provides a uniform programming model, in the style of LINQ and Ruby on Rails, with language syntax for accessing objects residing either in the database or at the server. Object-level security policies are expressed as fully-customizable, first-class labels which may themselves be subject to security policies. Access to labeled data is mediated via trusted, user-provided policy enforcement functions. SELinks has two novel features that ensure security policies are enforced correctly and efficiently. First, SELinks implements a type system called Fable that allows a protected object's type to refer to its protecting label. The type system can check that labeled data is never accessed directly by the program without first consulting the appropriate policy enforcement function. Second, SELinks compiles policy enforcement code to database-resident user-defined functions that can be called directly during query processing. Database-side checking avoids transferring data to the server needlessly, while still allowing policies to be expressed in a customizable and portable manner. Our experience with two sizable web applications, a modelhealth-care database and a secure wiki with fine-grained security policies, indicates that cross-tier policy enforcement in SELinks is flexible, relatively easy to use, and, when compared to a single-tier approach, improves throughput by nearly an order of magnitude. SELinks is freely available. |
URL | http://doi.acm.org/10.1145/1559845.1559875 |
DOI | 10.1145/1559845.1559875 |