stateful access control using lsm
play

Stateful access control using LSM CS547 Thomas Uphill Stateful - PowerPoint PPT Presentation

Stateful access control using LSM CS547 Thomas Uphill Stateful access cont rol using LSM 11 December 2007 1 Why? Maintaining state allows for decisions to be made based on runtime conditions. State based policy can be more concise


  1. Stateful access control using LSM CS547 Thomas Uphill Stateful access cont rol using LSM 11 December 2007 1

  2. Why? ● Maintaining state allows for decisions to be made based on runtime conditions. ● State based policy can be more concise ● State based policy can achieve different results than stateless. Stateful access cont rol using LSM 11 December 2007 2

  3. Background UNIX Files Permissions LSM Stateful access cont rol using LSM 11 December 2007 3

  4. UNIX ● everything is a file (keyboards, screens, printers, hardware, kernel internal structures) ● kernel is the master process process id (pid) = 0 * ● pid is unique processes have children and parents ● init is pid 1 ● /proc filesystem contains process information * (some kernel processes appear in as low process numbers, e.g. [migration/0]) Stateful access cont rol using LSM 11 December 2007 4

  5. UNIX ● kernel space vs user space applications kernel CPU memory hardware Stateful access cont rol using LSM 11 December 2007 5

  6. Files ● Files are inodes + blocks ● inodes are information nodes ● blocks contain data on disk block block owner group block block permissions extended attributes block Stateful access cont rol using LSM 11 December 2007 6

  7. Permissions ● Classis UNIX permissions: user group other read write execute ● POSIX Access Control Lists (ACLs): list of access control entries (ACEs) requires special storage in inodes - extended attributes on filesystem - access control structure in kernel Stateful access cont rol using LSM 11 December 2007 7

  8. LSM ● Linux security module framework GNU General Public License ● Crispin Cowan 2001 ● hooks return 0 to allow return non-zero to deny ● security fields structs modified Stateful access cont rol using LSM 11 December 2007 8

  9. application kernel open lookup inode LSM module DAC LSM hook inode Stateful access cont rol using LSM 11 December 2007 9

  10. struct inode { uid_t i_uid; gid_t i_gid; struct inode_security_struct { ... struct inode *inode; void *i_security; struct list_head list; ... u32 sid; } u32 tsid; u32 fsid; } struct task_security_struct { struct task_struct { struct task_struct *task; pid_t pid; u32 sid; struct task_struct *parent; u32 tsid; ... u32 fsid; void *security; int exec; ... int read; } int write; int del; } Stateful access cont rol using LSM 11 December 2007 10

  11. Implementation ● subset of lsm hooks used inode, bprm and task ● inode security cache kmem_cache_alloc/kmem_cache_create/kmem_cache_free ● sid /* unique identifier for runtime */ ● tsid /* unique identifier for task */ ● fsid /* unique identifier for file */ ● counters read/write/del/exec Stateful access cont rol using LSM 11 December 2007 11

  12. Law Language user username operation { action/sid comp action/sid} group groupname operation { action/sid comp action/sid} Examples: user thomas exec { exec > 20 } user apache exec { tsid != tsid } Stateful access cont rol using LSM 11 December 2007 12

  13. init_module /proc/lsmlgi lawloader register_security create procfile LAW cache_alloc check_law user process inode_alloc_security task_alloc_security inode task Stateful access cont rol using LSM 11 December 2007 13

  14. Demonstration visitor.law Stateful access cont rol using LSM 11 December 2007 14

  15. Demonstration apache.law Stateful access cont rol using LSM 11 December 2007 15

  16. Demonstration budget.law Stateful access cont rol using LSM 11 December 2007 16

  17. Sources/References Wikipedia on LSM http://en.wikipedia.org/wiki/Linux_Security_Modules LSM Source Code: http://lsm.bkbits.net UseNIX Security’02 Abstract: http://www.usenix.org/event/sec02/wright.html NSA’s SELinux http://www.nsa.gov/selinux/ Stateful access cont rol using LSM 11 December 2007 17

  18. Questions/Comments? http://ramblings.narrabilis.com/wp/linux/stateful-access-control-using-lsm/ Stateful access cont rol using LSM 11 December 2007 18

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend