Smack (software)

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
Smack
File:Smack-tux.svg
Original author(s) Casey Schaufler
Initial release April 17, 2008 (2008-April-17)
Operating system Linux
Type Computer security, Linux Security Modules (LSM)
License GPL2
Website schaufler-ca.com

Smack (full name: Simplified Mandatory Access Control Kernel) is a Linux kernel security module that protects data and process interaction from malicious manipulation using a set of custom mandatory access control (MAC) rules, with simplicity as its main design goal.[1] It has been officially merged since the Linux 2.6.25 release,[2] and was the main access control mechanism for the MeeGo mobile Operating System.[3][4] It is also used to sandbox HTML5 web applications in the Tizen architecture,[5] in the commercial Wind River Linux solutions for embedded device development,[6][7] and in Philips Digital TV products.[8]

Design

Smack consists of three components:

  • A kernel module that is implemented as a Linux Security Module. It works best with file systems that support extended attributes.
  • A startup script that ensures that device files have the correct Smack attributes and loads the Smack configuration.
  • A set of patches to the GNU Core Utilities package to make it aware of Smack extended file attributes. A set of similar patches to Busybox were also created. SMACK does not require user-space support.[9]

Criticism

Smack has been criticized for being written as a new LSM module instead of an SELinux security policy which can provide equivalent functionality. Such SELinux policies have been proposed, but none had been demonstrated. Smack's author replied that it would not be practical due to SELinux's complicated configuration syntax and the philosophical difference between Smack and SELinux designs.[10]

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.

Further reading

  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found. Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.