skip to main content
10.1145/1102120.1102164acmconferencesArticle/Chapter ViewAbstractPublication PagesccsConference Proceedingsconference-collections
Article

Automatic placement of authorization hooks in the linux security modules framework

Published: 07 November 2005 Publication History

Abstract

We present a technique for automatic placement of authorization hooks, and apply it to the Linux security modules (LSM) framework. LSM is a generic framework which allows diverse authorization policies to be enforced by the Linux kernel. It consists of a kernel module which encapsulates an authorization policy, and hooks into the kernel module placed at appropriate locations in the Linux kernel. The kernel enforces the authorization policy using hook calls. In current practice, hooks are placed manually in the kernel. This approach is tedious, and as prior work has shown, is prone to security holes.Our technique uses static analysis of the Linux kernel and the kernel module to automate hook placement. Given a non-hook-placed version of the Linux kernel, and a kernel module that implements an authorization policy, our technique infers the set of operations authorized by each hook, and the set of operations performed by each function in the kernel. It uses this information to infer the set of hooks that must guard each kernel function. We describe the design and implementation of a prototype tool called TAHOE (Tool for Authorization Hook Placement) that uses this technique. We demonstrate the effectiveness of TAHOE by using it with the LSM implementation of security-enhanced Linux (selinux). While our exposition in this paper focuses on hook placement for LSM, our technique can be used to place hooks in other LSM-like architectures as well.

References

[1]
J. P. Anderson. Computer security technology planning study, volume II. Technical Report ESD-TR-73-51, Deputy for Command and Management Systems, HQ Electronics Systems Division (AFSC), L. G. Hanscom Field, Bedford, MA, October 1972.
[2]
L. Badger, D. Sterne, D. Sherman, K. Walker, and S. Haghighat. A domain and type enforcement UNIX prototype. In 5th USENIX UNIX Security, June 1995.
[3]
H. Chen. Lightweight Model Checking for Improving Software Security. PhD thesis, University of California, Berkeley, Fall 2004.
[4]
D. Engler, B. Chelf, A. Chou, and S. Hallem. Checking system rules using system-specific programmer-written compiler extensions. In 4th ACM/USENIX OSDI, December 2000.
[5]
J. S. Foster, M. Fahndrich, and A. Aiken. A theory of type qualifiers. In ACM SIGPLAN PLDI, May 1999.
[6]
M. R. Garey and D. S. Johnson. Computers and Intractability. Freeman, New York, NY, 1979.
[7]
L. Gong and G. Ellison. Inside JavaTM 2 Platform Security: Architecture, API Design, and Implementation. Pearson Education, 2003.
[8]
J. D. Guttman, A. L. Herzog, J. D. Ramsdell, and C. W. Skorupka. Verifying information flow goals in security-enhanced Linux. JCS, 13(1):115--134, 2005.
[9]
Example idioms. www.cs.wisc.edu/~vg/papers/ccs2005a/idioms.html.
[10]
T. Jaeger, A. Edwards, and X. Zhang. Consistency analysis of authorization hook placement in the Linux security modules framework. ACM TISSEC, 7(2):175--205, May 2004.
[11]
T. Jaeger, R. Sailer, and X. Zhang. Analyzing integrity protection in the SELinux example policy. In 12th USENIX Security, August 2003.
[12]
D. Kilpatrick, W. Salamon, and C. Vance. Securing the X Window system with SELinux. Technical Report 03-006, NAI Labs, March 2003.
[13]
L. Koved, M. Pistoia, and A. Kershenbaum. Access rights analysis for Java. In ACM SIGPLAN OOPSLA, November 2002.
[14]
X. Leroy, D. Doligez, J. Garrigue, D. Rémy, and J. Vouillon. The Objective Caml system (release 3.08). Technical report, INRIA Rocquencourt, July 2004.
[15]
P. Loscocco and S. Smalley. Integrating flexible support for security policies into the Linux operating system. In USENIX Annual Technical, June 2001.
[16]
J. McLean. The specification and modeling of computer security. IEEE Computer, 23(1):9--16, 1990.
[17]
S. S. Muchnick. Advanced Compiler Design and Implementation. Morgan Kaufmann, 1997.
[18]
G. C. Necula, S. McPeak, S. P. Rahul, and W. Weimer. CIL: Intermediate language and tools for analysis and transformation of C programs. In 11th Intl. Conf. on Compiler Construction, April 2002.
[19]
M. Sharir and A. Pnueli. Two approaches to interprocedural dataflow analysis. In S. Muchnick and N. Jones, editors, Program Flow Analysis: Theory and Applications, pages 189--233. Prentice Hall, 1981.
[20]
Simplify. http://research.compaq.com/SRC/esc/Simplify.html.
[21]
Tresys Technology. Security-enhanced Linux policy management framework. http://sepolicy-server.sourceforge.net.
[22]
C. Wright, C. Cowan, S. Smalley, J. Morris, and G. Kroah-Hartman. Linux security modules: General security support for the Linux kernel. In 11th USENIX Security, August 2002.
[23]
X. Zhang, A. Edwards, and T. Jaeger. Using CQUAL for static analysis of authorization hook placement. In 11th USENIX Security, August 2002.

Cited By

View all

Index Terms

  1. Automatic placement of authorization hooks in the linux security modules framework

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      CCS '05: Proceedings of the 12th ACM conference on Computer and communications security
      November 2005
      422 pages
      ISBN:1595932267
      DOI:10.1145/1102120
      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Sponsors

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 07 November 2005

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. LSM
      2. SELinux
      3. hook placement
      4. static analysis

      Qualifiers

      • Article

      Conference

      CCS05
      Sponsor:

      Acceptance Rates

      Overall Acceptance Rate 1,261 of 6,999 submissions, 18%

      Upcoming Conference

      CCS '25

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)11
      • Downloads (Last 6 weeks)1
      Reflects downloads up to 26 Jan 2025

      Other Metrics

      Citations

      Cited By

      View all

      View Options

      Login options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Figures

      Tables

      Media

      Share

      Share

      Share this Publication link

      Share on social media