approaches for designing flexible mandatory system security policies

23
Approaches for Designing Flexible Mandatory System Security Policies Trent Jaeger IBM Research July 8, 2004

Upload: alban

Post on 09-Feb-2016

27 views

Category:

Documents


0 download

DESCRIPTION

Approaches for Designing Flexible Mandatory System Security Policies. Trent Jaeger IBM Research July 8, 2004. Linux 2.6 Has LSM and SELinux. Linux Security Modules Framework Reference monitor interface w/i kernel No problems with redundant parsing or races - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Approaches for Designing Flexible Mandatory System Security Policies

Approaches for Designing Flexible Mandatory System Security Policies

Trent JaegerIBM ResearchJuly 8, 2004

Page 2: Approaches for Designing Flexible Mandatory System Security Policies

Linux 2.6 Has LSM and SELinux

Linux Security Modules Framework– Reference monitor interface w/i kernel

No problems with redundant parsing or races– Enforce mandatory access control (MAC)– Restricts discretionary permissions

Noteworthy LSM Features– Comprehensive MAC enforcement – 200+ hooks– Control access to 29 kernel data types

SELinux module– Supports comprehensive MAC– Enhanced Type Enforcement policy: roles, subject types, transitions, etc.– Large “example” policy (25,000+ permission assignments)– Requires customization to security target

Page 3: Approaches for Designing Flexible Mandatory System Security Policies

Integrity

Subject Perm

SubjectPerm

High SubjectObject Read

Low Subject

Object Write

Low Subject Can Modify

Input To High

Page 4: Approaches for Designing Flexible Mandatory System Security Policies

SELinux & Integrity

Subject Type Subject

Attr AttrPerm Perm

Subject Type

Subject Attr

AttrPerm

Perm

sysadm_t userdomain ttyfilerw user_tty_device_t

rw

user_t userdomainttyfile

rw

user_tty_device_trw

Users can modify input to sysadm_t!!

Page 5: Approaches for Designing Flexible Mandatory System Security Policies

SELinux Integrity Problem

file_typeread

sshd_tmpread

lastlogwrite

sysadm

sshd

logrotatelogfileread

setfilesuser_ssh

rw

lastlogread

sshd_tmprw

user_sshrw user

httpdadmin

xdm

HighSubject

Type

AttrPerm Perm Perm Low

SubjectType

Conflict

Page 6: Approaches for Designing Flexible Mandatory System Security Policies

Integrity Models

Biba Integrity– No high integrity subject may depend on low integrity data/code– Implication: No information flow from low integrity to high

LOMAC– The integrity level of a subject is equal to lowest integrity input– Implication: same as Biba

Caernarvon– The integrity level of a subject or object is specified by a range– Implication: Subjects may depend on/modify a range of integrity

levels Clark-Wilson

– Only high integrity Transformation Procedures modify high integrity data

– Implication: Can read low integrity data if they can upgrade or discard only

Page 7: Approaches for Designing Flexible Mandatory System Security Policies

Our Integrity Goal

Use flexible policy expression– SELinux’s extended Type Enforcement policy– Defines all relevant policy decisions

Find integrity problems– Information flows that satisfy Biba are permitted– “Resolve” others – remove or manage (Clark-Wilson)

Compute information to assist in resolution– Find problems: Minimal cover set– Identify solutions: Resolutions– Determine solutions: Impact

Page 8: Approaches for Designing Flexible Mandatory System Security Policies

Minimal Cover Set for Integrity Violations

Subject Type Subject

Attr AttrPerm Perm

Subject Type

Perm

Subject-PermissionAssignment

sysadm_t userdomain ttyfilerw user_tty_device_t

rw

Page 9: Approaches for Designing Flexible Mandatory System Security Policies

Minimal Cover Set

file_typeread

sshd_tmpread

lastlogwrite

sysadm

sshd

logrotatelogfileread

setfilesuser_ssh

rw

lastlogread

sshd_tmprw

user_sshrw user

httpdadmin

xdm

HighSubject

Type

AttrPerm Perm Perm Low

SubjectType

ConflictS-P Assign S-P Assign

Page 10: Approaches for Designing Flexible Mandatory System Security Policies

Integrity Resolutions

Remove Subject Type or Object Type Reclassify Subject Type of Object Type Change Subject Type-Permission assignment Clark-Wilson reads

– Allow reading of low integrity data that meet Clark-Wilson No dependency read (move file) Deny Object Access

– Track low integrity writes per object LOMAC Subject Type (sysadm)

– Reduce integrity level of subject when reading low integrity data

Page 11: Approaches for Designing Flexible Mandatory System Security Policies

Example Resolutions

file_typeread

sshd_tmpread

lastlogwrite

sysadm

sshd

logrotatelogfileread

setfilesuser_ssh

rw

lastlogread

sshd_tmprw

user_sshrw user

httpdadmin

xdm

HighSubject

Type

AttrPerm Perm Perm

ConflictS-P Assign S-P Assign

Exclude Subject TypeXLow

SubjectType

XNo Dep ReadExclude Object Type

Deny Access

X

Page 12: Approaches for Designing Flexible Mandatory System Security Policies

Resolution Independence

file_typeread

sshd_tmpread

lastlogwrite

sysadm

sshd

logrotatelogfileread

setfilesuser_ssh

rw

lastlogread

sshd_tmprw

user_sshrw user

httpdadmin

xdm

HighSubject

Type

AttrPerm Perm Perm

ConflictS-P Assign S-P Assign

LowSubject

Type

X

Page 13: Approaches for Designing Flexible Mandatory System Security Policies

Resolution Impact

Basic resolution impact – Number of conflicts that result from a flow

assignment or node Real resolution impact

– Number of conflicts that are eliminated by removal of an assignment or node

Changes on Extremes Have Bigger Impact– Subject Type, Object Type changes– Permission assignment is generally low impact

Page 14: Approaches for Designing Flexible Mandatory System Security Policies

Policy Design Tool: Gokyo

Load entire SELinux example policy Find Biba conflicts in SELinux policy Display conflicts in terms of minimal cover set Compute basic impacts for nodes and assignments Enable expression of resolutions and re-evaluation Resulting policies provide Clark-Wilson integrity

– Assuming high integrity applications meet assurance requirements

– Assuming sanitization either discards or upgrades low integrity data

Does not fix SELinux module to enforce resolutions

Page 15: Approaches for Designing Flexible Mandatory System Security Policies

Gokyo Resolution

file_typeread

sshd_tmpread

lastlogwrite

sysadm

sshd

logrotatelogfileread

setfilesuser_ssh

rw

lastlogread

sshd_tmprw

user_sshrw user

httpdadmin

xdm

HighSubject

Type

AttrPerm Perm Perm

ConflictS-P Assign S-P Assign

LowSubject

Type

XXX

XX

Page 16: Approaches for Designing Flexible Mandatory System Security Policies

Policy Design Results

1 Biba constraint (no flow from low to high) 36 TCB subject types (high integrity subjects) 83 excluded subject types (low integrity)

– All other subject types are assumed low 4 object type excludes 1 LOMAC – sysadm 18 denials 83 sanitizations for 24 subject types

Page 17: Approaches for Designing Flexible Mandatory System Security Policies

Other SELinux Policy Analysis Tools

Tresys– Apol - analyze an SE Linux policy (GUI). – SeAudit - analyze audit messages from SELinux (GUI). – SeCmds - analyze an SELinux policy and search/replace file

contexts. – SeUser - GUI and command-line "user manager" for SELinux. – SePCuT - customize an SE Linux policy (GUI).

MITRE– SLAT – Information flow policy expression

Hitachi– SELinux/Aid inspect, edit SELinux security policies and inspect log

messages

Page 18: Approaches for Designing Flexible Mandatory System Security Policies

Summary

Comprehensive security is complex– Security requirements should be simple – Clark-Wilson integrity with assumptions is achievable

Resolution requires tools to support decision-making Modeling concepts enable focus:

– Minimal cover set– Resolution options– Resolution impact

And guide resolution process SELinux policy model requires adjustments to

achieve resolution

Page 19: Approaches for Designing Flexible Mandatory System Security Policies

Summary (con’t)

Research Results– ACM TISSEC journal – Access Control Spaces– USENIX Security Conference – Configure TCB policy– ACM SACMAT – Underlying graph properties for resolution

Working Tool– Gokyo analysis infrastructure– Lacks GUI

Analysis Tools for Security– www.research.ibm.com/vali

Contact for more info– [email protected]

Page 20: Approaches for Designing Flexible Mandatory System Security Policies

Resolution Issues

Low integrity side vs. High integrity side– Which is easier to address?

Big impact vs. Ease of understanding– Small, independent cases are easy– Small, cases with some overlap are not so hard– Extensive cases with overlap are difficult– Some assignments result in extensive overlap

How to apply graph theory?– Node weights based on basic or real impact?– Minimum cut across graph

Cost of making a change is the cost of the cut

Page 21: Approaches for Designing Flexible Mandatory System Security Policies

Current Approach

Identify the minimal cover set for constraint conflicts– Subject-permission assignments

Compute the basic impact value of each cover assignment – Number of conflicts reachable

Compute number of subjects/objects impacted by cover assignment

– Examine remove/reclassification or LOMAC semantics

Compute individual node and assignment impacts on demand

Apply permission resolutions– Sanitize or deny

Page 22: Approaches for Designing Flexible Mandatory System Security Policies

LSM

System Interface

Entry Points

ModuleAccessHook

AccessHook

AccessHook

Security-sensitiveOperation

Security-sensitiveOperation

Security-sensitiveOperation

Authorize Request?

Yes/No

Page 23: Approaches for Designing Flexible Mandatory System Security Policies

Achieving Security Goals

Large Number of Security Decisions– Comprehensive vs limited security– 150+ decisions points defined by LSM

Defining the Security Goal– Least Privilege – Confidentiality– Integrity

Security Goal Specification– Simply-stated goals are often too restrictive (e.g., no low integrity data

dependencies)– Flexible languages enable complex goals, but too complex (e.g., access

matrix) Our Solution Aims:

– Comprehensive– Integrity– Use simple model as target, but enable flexible fine tuning