|
ABSTRACT
Correct enforcement of authorization policies is a difficult task, especially for multi-threaded software. Even in carefully-reviewed code, unauthorized access may be possible in subtle corner cases. We introduce Transactional Memory Introspection (TMI), a novel reference monitor architecture that builds on Software Transactional Memory--a new, attractive alternative for writing correct, multi-threaded software. TMI facilitates correct security enforcement by simplifying how the reference monitor integrates with software functionality. TMI can ensure complete mediation of security-relevant operations, eliminate race conditions related to security checks, and simplify handling of authorization failures. We present the design and implementation of a TMI-based reference monitor and experiment with its use in enforcing authorization policies on four significant servers. Our experiments confirm the benefits of the TMI architecture and show that it imposes an acceptable runtime overhead.
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
|
Martín Abadi , Andrew Birrell , Tim Harris , Michael Isard, Semantics of transactional memory and automatic mutual exclusion, Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, January 07-12, 2008, San Francisco, California, USA
|
| |
2
|
M. Abadi and C. Fournet. Access control based on execution history. In NDSS, 2003.
|
 |
3
|
Ali-Reza Adl-Tabatabai , Brian T. Lewis , Vijay Menon , Brian R. Murphy , Bratin Saha , Tatiana Shpeisman, Compiler and runtime support for efficient software transactional memory, Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation, June 11-14, 2006, Ottawa, Ontario, Canada
|
| |
4
|
The home of AspectC. http://www.aspectc.org.
|
| |
5
|
AspectJ project. http://www.eclipse.org/aspectj.
|
| |
6
|
|
| |
7
|
A. Birgisson and Ú. Erlingsson. An implementation and semantics for transactional memory introspection in Haskell. Technical Report RUTR-CS08007, Reykjav'ik University, Aug 2008.
|
| |
8
|
M. Bishop and M. Digler. Checking for race conditions in file accesses. Computer Systems, 9(2):131--152, Spring 1996.
|
| |
9
|
George Candea , Shinichi Kawamoto , Yuichi Fujiki , Greg Friedman , Armando Fox, Microreboot — A technique for cheap recovery, Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation, p.3-3, December 06-08, 2004, San Francisco, CA
|
| |
10
|
T. Cargill. Exception handling: A false sense of security. C Report, 6(9), Nov 1994.
|
| |
11
|
|
| |
12
|
F. Christian. Exception handling. Technical Report RJ5724, IBM Research, 1987.
|
| |
13
|
J. Chung, M. Dalton, H. Kannan, and C. Kozyrakis. Thread-safe dynamic binary translaction using transactional memory. In IEEE HPCA, Feb 2008.
|
| |
14
|
D. D. Clark and D. R. Wilson. A comparison of commercial and military computer security policies. In IEEE S&P, May 1987.
|
| |
15
|
F. Cristian. Exception handling and tolerance of software faults. In Software Fault Tolerance. Wiley, 1995.
|
 |
16
|
George W. Dunlap , Samuel T. King , Sukru Cinar , Murtaza A. Basrai , Peter M. Chen, ReVirt: enabling intrusion analysis through virtual-machine logging and replay, Proceedings of the 5th symposium on Operating systems design and implementation Due to copyright restrictions we are not able to make the PDFs for this conference available for downloading, December 09-11, 2002, Boston, Massachusetts
[doi> 10.1145/1060289.1060309]
|
 |
17
|
|
 |
18
|
Chi Cao Minh , Martin Trautmann , JaeWoong Chung , Austen McDonald , Nathan Bronson , Jared Casper , Christos Kozyrakis , Kunle Olukotun, An effective hybrid transactional memory system with strong isolation guarantees, Proceedings of the 34th annual international symposium on Computer architecture, June 09-13, 2007, San Diego, California, USA
|
| |
19
|
K. E. Moore et al. Log™: Log-based transactional memory. In IEEE HPCA, Feb 2006.
|
 |
20
|
Lance Hammond , Vicky Wong , Mike Chen , Brian D. Carlstrom , John D. Davis , Ben Hertzberg , Manohar K. Prabhu , Honggo Wijaya , Christos Kozyrakis , Kunle Olukotun, Transactional Memory Coherence and Consistency, Proceedings of the 31st annual international symposium on Computer architecture, p.102, June 19-23, 2004, München, Germany
|
 |
21
|
Michelle J. Moravan , Jayaram Bobba , Kevin E. Moore , Luke Yen , Mark D. Hill , Ben Liblit , Michael M. Swift , David A. Wood, Supporting nested transactional memory in logTM, Proceedings of the 12th international conference on Architectural support for programming languages and operating systems, October 21-25, 2006, San Jose, California, USA
|
 |
22
|
Peter Damron , Alexandra Fedorova , Yossi Lev , Victor Luchangco , Mark Moir , Daniel Nussbaum, Hybrid transactional memory, Proceedings of the 12th international conference on Architectural support for programming languages and operating systems, October 21-25, 2006, San Jose, California, USA
|
| |
23
|
Extensible access control markup language. http://xml.coverpages.org/xacml.html.
|
| |
24
|
|
| |
25
|
B. Fletcher. Case study: Open source and commercial applications in a Java-based SELinux cross-domain solution. In Annual SELinux Symp., Mar 2006.
|
| |
26
|
FreeCS--the free chatserver. http://freecs.sourceforge.net.
|
| |
27
|
|
| |
28
|
|
| |
29
|
T. Garfinkel and M. Rosenblum. A virtual machine introspection based architecture for intrusion detection. In NDSS, Feb 2003.
|
| |
30
|
|
| |
31
|
|
 |
32
|
|
 |
33
|
Tim Harris , Simon Marlow , Simon Peyton-Jones , Maurice Herlihy, Composable memory transactions, Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming, June 15-17, 2005, Chicago, IL, USA
[doi> 10.1145/1065944.1065952]
|
 |
34
|
Maurice Herlihy , Victor Luchangco , Mark Moir, A flexible framework for implementing software transactional memory, Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, October 22-26, 2006, Portland, Oregon, USA
|
 |
35
|
Maurice Herlihy , Victor Luchangco , Mark Moir , William N. Scherer, III, Software transactional memory for dynamic-sized data structures, Proceedings of the twenty-second annual symposium on Principles of distributed computing, p.92-101, July 13-16, 2003, Boston, Massachusetts
[doi> 10.1145/872035.872048]
|
| |
36
|
M. Hocking, K. Macmillan, and D. Shankar. Case study: Enhancing IBM Websphere with SELinux. In Annual SELinux Symp., Mar 2006.
|
 |
37
|
|
| |
38
|
Jakarta Apache Commons. http://commons.apache.org/transaction.
|
| |
39
|
JCraft. WeirdX--pure Java window system server under GPL. http://www.jcraft.com/weirdx.
|
| |
40
|
D. Kilpatrick, W. Salamon, and C. Vance. Securing the X Window system with SELinux. Technical Report 03-006, NAI Labs, Mar 2003.
|
 |
41
|
|
| |
42
|
|
| |
43
|
Michael E. Locasto , Angelos Stavrou , Gabriela F. Cretu , Angelos D. Keromytis, From STEM to SEAD: speculative execution for automated defense, 2007 USENIX Annual Technical Conference on Proceedings of the USENIX Annual Technical Conference, p.1-14, June 17-22, 2007, Santa Clara, CA
|
| |
44
|
M.D. Matthews. Distributed transactions with MYSQL XA, 2005.
|
| |
45
|
Microsoft. Transactional NTFS in Windows Vista. http://msdn2.microsoft.com/en--us/library/aa363764.aspx.
|
 |
46
|
Edmund B. Nightingale , Daniel Peek , Peter M. Chen , Jason Flinn, Parallelizing security checks on commodity hardware, Proceedings of the 13th international conference on Architectural support for programming languages and operating systems, March 01-05, 2008, Seattle, WA, USA
|
| |
47
|
S. Peyton-Jones and T. Harris. Transactional memory with data invariants. In ACM SIGPLAN TRANSACT, 2006.
|
 |
48
|
Christopher J. Rossbach , Owen S. Hofmann , Donald E. Porter , Hany E. Ramadan , Bhandari Aditya , Emmett Witchel, TxLinux: using and managing hardware transactional memory in an operating system, Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles, October 14-17, 2007, Stevenson, Washington, USA
|
| |
49
|
|
 |
50
|
|
 |
51
|
Margo I. Seltzer , Yasuhiro Endo , Christopher Small , Keith A. Smith, Dealing with disaster: surviving misbehaved kernel extensions, Proceedings of the second USENIX symposium on Operating systems design and implementation, p.213-227, October 29-November 01, 1996, Seattle, Washington, United States
|
 |
52
|
|
 |
53
|
Tatiana Shpeisman , Vijay Menon , Ali-Reza Adl-Tabatabai , Steven Balensiefer , Dan Grossman , Richard L. Hudson , Katherine F. Moore , Bratin Saha, Enforcing isolation and ordering in STM, Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation, June 10-13, 2007, San Diego, California, USA
|
| |
54
|
|
| |
55
|
Tar for Java: The com.ice.tar package. http://trustice.com/java/tar/.
|
| |
56
|
E. Walsh. Integrating X.Org with security-enhanced Linux. In Annual SELinux Symp., Mar 2007.
|
 |
57
|
|
| |
58
|
|
| |
59
|
x11perf: The X11 server performance test program suite.
|
| |
60
|
The X11 Server, version X11R6.8 (X.Org Foundation).
|
| |
61
|
A. Yumerefendi, B. Mickle, and L. Cox. TightLip: Keeping applications from spilling the beans. In USENIX NSDI, April 2007.
|
| |
62
|
|
|