10
Security-Enhanced Linux & Linux Security Module The George Washington University CS297 Programming Language & Security YU-HAO HU

Security-Enhanced Linux & Linux Security Module The George Washington University CS297 Programming Language & Security YU-HAO HU

Embed Size (px)

Citation preview

Page 1: Security-Enhanced Linux & Linux Security Module The George Washington University CS297 Programming Language & Security YU-HAO HU

Security-Enhanced Linux

&Linux Security Module

The George Washington UniversityCS297 Programming Language & SecurityYU-HAO HU

Page 2: Security-Enhanced Linux & Linux Security Module The George Washington University CS297 Programming Language & Security YU-HAO HU

Introduction: Why SELinux ?

Discretionary Access Control (DAC) has not enough choices for controlling object.

Mandatory Access Control (MAC) allows you to define permissions for how all processes (called subjects) interact with other parts of the system such as files, devices, sockets, ports, and other processes (called objects in SELinux).

Page 3: Security-Enhanced Linux & Linux Security Module The George Washington University CS297 Programming Language & Security YU-HAO HU

Linux Security Module: Overview SELinux motivated the creation of LSM. Separate kernel from security features in

order to minimize the impact to kernel. LSM doesn’t provide any security rather it

add security fields to kernel and provide interface to manage these fields for maintaining security attributes..

Page 4: Security-Enhanced Linux & Linux Security Module The George Washington University CS297 Programming Language & Security YU-HAO HU

Linux Security Module: Hooks Hooks are a set of functions to control operati

ons on kernel objects and security fields in kernel data structures.

Management Hooks:used to manage security fields.Ex. file_alloc_security

Control Hooks:used to perform access controlsEx. selinux_inode_permission

Page 5: Security-Enhanced Linux & Linux Security Module The George Washington University CS297 Programming Language & Security YU-HAO HU

LSM Hook Architecture

Page 6: Security-Enhanced Linux & Linux Security Module The George Washington University CS297 Programming Language & Security YU-HAO HU

SELinux Overview

Implement Flask architecture. SELinux is implemented in the Linux kernel

using the LSM (Linux Security Modules) framework.

To support fine-grained access control, SELinux implements two technologies: Type Enforcement (TE) and Role-based Access Control (RBAC).

Page 7: Security-Enhanced Linux & Linux Security Module The George Washington University CS297 Programming Language & Security YU-HAO HU

Flask Architecture: WHO is doing WHAT

Page 8: Security-Enhanced Linux & Linux Security Module The George Washington University CS297 Programming Language & Security YU-HAO HU

Type Enforcement & Domain Transition Domain

Domain defines what process can do. Type

A type is assigned to an object and determines who gets to access that object.

Domain Transitionwhen a process invoke another process

Type Enforcementwhen a object is accessed

Page 9: Security-Enhanced Linux & Linux Security Module The George Washington University CS297 Programming Language & Security YU-HAO HU

Role-Based Access Control

Associate the role with domains that a user role can access.

If a role is not authorized to enter a domain, then it will be denied.

Page 10: Security-Enhanced Linux & Linux Security Module The George Washington University CS297 Programming Language & Security YU-HAO HU

References

Linux Security Module Framework. 2002 Ottawa Linux Symposium, Ottawa, Canada, June 2002.

Linux Security Modules: General Security Support for the Linux Kernel.

11th USENIX Security Symposium, San Francisco, CA, August 2002.

Red Hat SELinux Guide Configuring the SELinux PolicyStephen Smalley (NAI Labs)

Implementing SELinux as a Linux Security ModuleStephen Smalley, Chris Vance, and Wayne Salamon (NAI Labs)

Getting Started with SE Linux HOWTO: the new SE Linux Faye Coker

Writing SE Linux Policy HOWTO Faye Coker