ACM Home Page
Please provide us with feedback. Feedback
Cross-tier, label-based security enforcement for web applications
Full text PdfPdf (589 KB)
Source
International Conference on Management of Data archive
Proceedings of the 35th SIGMOD international conference on Management of data table of contents
Providence, Rhode Island, USA
SESSION: Research session 7: testing and security table of contents
Pages 269-282  
Year of Publication: 2009
ISBN:978-1-60558-551-2
Authors
Brian J. Corcoran  University of Maryland, College Park, MD, USA
Nikhil Swamy  Microsoft Research, Redmond, WA, USA
Michael Hicks  University of Maryland, College Park, MD, USA
Sponsors
ACM: Association for Computing Machinery
SIGMOD: ACM Special Interest Group on Management of Data
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 41,   Downloads (12 Months): 153,   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/1559845.1559875
What is a DOI?

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.


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
S. Ambler. Agile Database Techniques. John Wiley and Sons, 2006.
 
2
D. An. XTOLS: Cross-tier Oracle label security. Technical Report CS-TR-4934, University of Maryland, College Park, 2009.
 
3
 
4
R. Boland. Network centricity requires more than circuits and wires. SIGNAL, Sept. 2006.
5
 
6
W.-J. Chen, I. Rytir, P. Read, and R. Odeh. DB2 security and compliance solutions for Linux, UNIX, and Windows. http://www.redbooks.ibm.com/redbooks/pdfs/sg247555.pdf, Mar. 2008.
7
 
8
S. Chong, A. C. Myers, N. Nystrom, L. Zheng, and S. Zdancewic. Jif: Java + information ow. Software release, version 3.3. Located at http://www.cs.cornell.edu/jif, 2009.
 
9
 
10
E. Cooper, S. Lindley, P. Wadler, and J. Yallop. Links: Web programming without tiers. In Proc. FMCO, 2006.
 
11
B. Corcoran, N. Swamy, and M. Hicks. Combining provenance and security policies in a web-based document management system. In On-line Proceedings of the Workshop on Principles of Provenance (PrOPr), Nov. 2007.
12
 
13
G. Dubochet. The SLinks Language. Technical report, University of Edinburgh, School of Informatics, 2005.
14
 
15
J. J. Garrett. Ajax: A new approach to web applications. http://www.adaptivepath.com/publications/essays/archives/000385.php, feb 2005.
 
16
Google Web Toolkit. http://code.google.com/webtoolkit/.
 
17
The Hop Programming Language. http://hop.inria.fr/.
 
18
Java EE at a glance. http://java.sun.com/javaee/, 2008.
 
19
The LINQ project. http://msdn.microsoft.com/en-us/netframework/aa904594.aspx, 2008.
20
 
21
22
 
23
Security privileges provided by MySQL. http://dev.mysql.com/doc/refman/5.1/en/privileges-provided.html.
 
24
National Health Service. Spine. http://www.connectingforhealth.nhs.uk/systemsandservices/spine.
 
25
OASIS XACML TC. XACML 2.0 interop scenarios. http://docs.oasis-open.org/xacml/xacml-2. 0-core-interop-draft-12-04.doc.
 
26
Oracle Corporation. Oracle 10g release documentation, 2007. Available at http://www.oracle.com/technology/documentation/database10g.html.
 
27
 
28
PostgreSQL Global Development Group. Postgresql 8.2.1 software release, 2007. Available at http://www.postgresql.org.
 
29
Security privileges provided by PostgreSQL. http://www.postgresql.org/docs/8.2/static/ddl-priv.html.
 
30
Ruby on rails. http://www.rubyonrails.org/, 2008.
 
31
A. Rask, D. Rubin, and B. Neumann. Implementing row- and cell-level security in classified databases using SQL Server 2005. http://www.microsoft.com/technet/prodtechnol/sql/2005/multisec.mspx
 
32
Reuters, October 2006. U.S. Intelligence Unveils Spy Version of Wikipedia.
33
 
34
V. Simonet. FlowCaml in a nutshell. In G. Hutton, editor, APPSEM-II, pages 152--165, Mar. 2003.
 
35
Authorization and permissions in SQL Server. http://msdn2.microsoft.com/en-us/library/bb669084.aspx.
 
36
 
37
 
38
Volta. http://livelabs.com/volta, 2008.
 
39

Collaborative Colleagues:
Brian J. Corcoran: colleagues
Nikhil Swamy: colleagues
Michael Hicks: colleagues