Top Banner
Faculty of Computer Science Institute for System Architecture, Operating Systems Group Security - Introduction Dresden, 2009-12-15 Benjamin Engel
31

Security - Introductionos.inf.tu-dresden.de/Studium/KMB/WS2009/10-Security_Intro.pdf · Faculty of Computer Science Institute for System Architecture, Operating Systems Group Security

Jul 30, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Security - Introductionos.inf.tu-dresden.de/Studium/KMB/WS2009/10-Security_Intro.pdf · Faculty of Computer Science Institute for System Architecture, Operating Systems Group Security

Faculty of Computer Science Institute for System Architecture, Operating Systems Group

Security - Introduction

Dresden, 2009-12-15

Benjamin Engel

Page 2: Security - Introductionos.inf.tu-dresden.de/Studium/KMB/WS2009/10-Security_Intro.pdf · Faculty of Computer Science Institute for System Architecture, Operating Systems Group Security

Security Slide 2 / 312009-12-15

Overview

• Confidentiality, integrity and availability

• Security policies and mechanisms

• Cryptography: ciphers and keys

• Access / information flow control

• Formal methods: verification and evaluation

• Identity and authentication

• Resource accounting

• Trust / assurance

• Auditing and intrusion detection

Page 3: Security - Introductionos.inf.tu-dresden.de/Studium/KMB/WS2009/10-Security_Intro.pdf · Faculty of Computer Science Institute for System Architecture, Operating Systems Group Security

Security Slide 3 / 312009-12-15

Outline for today

Security Models

Access Control

Capabilities

Naming

Page 4: Security - Introductionos.inf.tu-dresden.de/Studium/KMB/WS2009/10-Security_Intro.pdf · Faculty of Computer Science Institute for System Architecture, Operating Systems Group Security

Security Slide 4 / 312009-12-15

Confidentiality, Integrity, Availability

Confidentiality: Data is only accessible to those with appropriate rights; no statement about integrity

Integrity: Data is either unmodified (authentic) or tampering is provable; no statement about confidentiality

Availability: Timely access to resources is guaranteed

Page 5: Security - Introductionos.inf.tu-dresden.de/Studium/KMB/WS2009/10-Security_Intro.pdf · Faculty of Computer Science Institute for System Architecture, Operating Systems Group Security

Security Slide 5 / 312009-12-15

Secure Systems

Secure System*: A secure system is a system that starts in an authorized state and cannot enter an unauthorized state.

Security Policy*: A security policy is a statement that partitions the states of the system into a set of authorized, or secure, states and a set of unauthorized, or nonsecure, states.

* Matt Bishop: Computer Security – Art and Science

Page 6: Security - Introductionos.inf.tu-dresden.de/Studium/KMB/WS2009/10-Security_Intro.pdf · Faculty of Computer Science Institute for System Architecture, Operating Systems Group Security

Security Slide 6 / 312009-12-15

Security Policies vs. Mechanisms

Security Policy:– A security policy is a statement of what is,

and what is not allowed.– e.g.: SELinux policy, /etc/passwd

Security Mechanism:– A security mechanism is a method, tool, or

procedure for enforcing a security policy– e.g.: Capabilities, ACLs, MMU ...

Page 7: Security - Introductionos.inf.tu-dresden.de/Studium/KMB/WS2009/10-Security_Intro.pdf · Faculty of Computer Science Institute for System Architecture, Operating Systems Group Security

Security Slide 7 / 312009-12-15

Cryptography: Ciphers and Keys

Symmetric or asymmetric:– Symmetric: both peers share the same key,

fast and efficient, used for bulk data– Asymmetric: key pair (public and private key),

public key is not confidential, used for encryption/verification only. Private one is used for decryption/signing

Confidentiality or Integrity:– what to protect – message content or

authenticity

DES, AES, RSA, GMR, MD5, SHA-1,2,3, ...

Page 8: Security - Introductionos.inf.tu-dresden.de/Studium/KMB/WS2009/10-Security_Intro.pdf · Faculty of Computer Science Institute for System Architecture, Operating Systems Group Security

Security Slide 8 / 312009-12-15

Principle of least privilege

“Every program and every user of the systemshould operate using the least set of

privileges necessary to complete the job.”(Saltzer and Schroeder, 1974)

Page 9: Security - Introductionos.inf.tu-dresden.de/Studium/KMB/WS2009/10-Security_Intro.pdf · Faculty of Computer Science Institute for System Architecture, Operating Systems Group Security

Security Slide 9 / 312009-12-15

Bell – La Padula model

• Developed in the 1970s, demand for access control mechanisms solving problems of security in computer systems

• Main focus on Confidentiality

• State transition system: Define a set of secure states, transition function ensures to stay in this set (enter no insecure state)

Page 10: Security - Introductionos.inf.tu-dresden.de/Studium/KMB/WS2009/10-Security_Intro.pdf · Faculty of Computer Science Institute for System Architecture, Operating Systems Group Security

Security Slide 10 / 312009-12-15

Elements of the model

{S1, S2, ... Sn}

{O1, O2, ... Om}

{C1, C2, ... Cq}

{C1 > C2 > ... >Cq }

{S1, S2, ... Sn}

S

O

C

K

Subjects; processes in execution

Classifications; clearance level of a subject, classification of an object

Objects; data, files, programs, subjects

Needs-to-know categories; project number, access privileges

Set Elements Semantics

Page 11: Security - Introductionos.inf.tu-dresden.de/Studium/KMB/WS2009/10-Security_Intro.pdf · Faculty of Computer Science Institute for System Architecture, Operating Systems Group Security

Security Slide 11 / 312009-12-15

Classification and Categories

Unclassified

Confidential

Secret

Top Secret {National, Foreign}

{}

{National} {Foreign}

Classification C Categories K

Subjects and objects have a security label (C,K) consisting of a security level C and a category set K, both are orthogonal to each other

dominates relation: C1 ≥ C2 && K1 ⊇ K2

Page 12: Security - Introductionos.inf.tu-dresden.de/Studium/KMB/WS2009/10-Security_Intro.pdf · Faculty of Computer Science Institute for System Architecture, Operating Systems Group Security

Security Slide 12 / 312009-12-15

Bell – La Padula transition rules

• Example: Label L1 (Top Secret, {National}) dominates Label L2 (Unclassified,{})

• Simple Security Condition: S can read O if S dominates O (no reads up)

• *-Property: S can write to O if O dominates S (no writes down)

• Declassification through trusted subjects

No reads up – no writes down

Page 13: Security - Introductionos.inf.tu-dresden.de/Studium/KMB/WS2009/10-Security_Intro.pdf · Faculty of Computer Science Institute for System Architecture, Operating Systems Group Security

Security Slide 13 / 312009-12-15

Bell – La Padula summary

• Information flow policy, that preserves confidentiality

• Very simple model, proof of model's security properties is trivial, practical proof is hard

• No integrity concerns in the model (use Biba)

• Shortcomings:– Too simple, many scenarios cannot be

expressed by this model (e.g. device drivers has to be used by all security levels)

– Purely confidentiality centric– Central, system wide, policy (global labels)

Page 14: Security - Introductionos.inf.tu-dresden.de/Studium/KMB/WS2009/10-Security_Intro.pdf · Faculty of Computer Science Institute for System Architecture, Operating Systems Group Security

Security Slide 14 / 312009-12-15

Biba model

• Developed in the 1970s (after BLP)

• In contrast to the Bell – La Padula model, it focuses on data integrity

• Many similarities to Bell – La Padula:– Facilitates also a state transition system– Objects are ordered by integrity levels– Rules are inverse to BLP (no reads from lower

integrity levels, no writes to higher ones)

No reads down – no writes up

Page 15: Security - Introductionos.inf.tu-dresden.de/Studium/KMB/WS2009/10-Security_Intro.pdf · Faculty of Computer Science Institute for System Architecture, Operating Systems Group Security

Security Slide 15 / 312009-12-15

Access Control

• Information flow describes how data spreads through the system

• Information flow control states which flows are allowed (policy) and restricts distribution of data accordingly (mechanism)

• In contrast access control states who can access what using which operation

• Prominent example : Access Control Matrix

Page 16: Security - Introductionos.inf.tu-dresden.de/Studium/KMB/WS2009/10-Security_Intro.pdf · Faculty of Computer Science Institute for System Architecture, Operating Systems Group Security

Security Slide 16 / 312009-12-15

DAC, RBAC, MAC

• Discretionary access control– privileged instance (e.g. owner) related to an

object decides who is allowed to access it, permissions might be passed to other subjects

• Role-based access control– Operations are permitted based on roles, not

directly on subjects– Powerful enough to simulate DAC and MAC

• Mandatory access control– system rules, that cannot be altered by an

individual user (SELinux, AppArmor)

Page 17: Security - Introductionos.inf.tu-dresden.de/Studium/KMB/WS2009/10-Security_Intro.pdf · Faculty of Computer Science Institute for System Architecture, Operating Systems Group Security

Security Slide 17 / 312009-12-15

Access Control Matrix: ACL vs. Caps

S1

S2

S3

...

Sm

O1 O2 O3 ... On

r,w r

x w

w,x m

a c,d

Caps

ACL

read, write, execute, append, create, delete, map, ...

Page 18: Security - Introductionos.inf.tu-dresden.de/Studium/KMB/WS2009/10-Security_Intro.pdf · Faculty of Computer Science Institute for System Architecture, Operating Systems Group Security

Security Slide 18 / 312009-12-15

Access Control List

• Tied to the objects (classic example: file access rights in Unix/Windows)

• For each object (or group of objects): which subjects are allowed to perform which operation

• Changing of permissions easy: right at the object

Page 19: Security - Introductionos.inf.tu-dresden.de/Studium/KMB/WS2009/10-Security_Intro.pdf · Faculty of Computer Science Institute for System Architecture, Operating Systems Group Security

Security Slide 19 / 312009-12-15

Capabilities

• Bound to the subject (compare ticket system)

• States which permissions a subject has on specific objects

• Group relations a hard to express (indirection)

• Changing (revoking) permissions is difficult ... “Whom I gave access rights to foobar?”– Tracking of granted permissions– How to invalidate a ticket

Page 20: Security - Introductionos.inf.tu-dresden.de/Studium/KMB/WS2009/10-Security_Intro.pdf · Faculty of Computer Science Institute for System Architecture, Operating Systems Group Security

Security Slide 20 / 312009-12-15

Combine name and access

• Capabilities– Designate a specific object (e.g.: kernel object)

and give certain access rights to that object– Possession of a capability is sufficient to access

the concerning object– Can be implemented by using hardware

support, memory protection mechanisms or cryptography

Page 21: Security - Introductionos.inf.tu-dresden.de/Studium/KMB/WS2009/10-Security_Intro.pdf · Faculty of Computer Science Institute for System Architecture, Operating Systems Group Security

Security Slide 21 / 312009-12-15

Capability systems

• KeyKOS: Persistence, one run 17 years • EROS: Extremely Reliable OS• Cyotos: Towards formally verification• Amoeba: Transparent distributed system• SeL4: First formally verified Microkernel• Fiasco.OC: Successor to Fiasco• NOVA: Microhypervisor

Page 22: Security - Introductionos.inf.tu-dresden.de/Studium/KMB/WS2009/10-Security_Intro.pdf · Faculty of Computer Science Institute for System Architecture, Operating Systems Group Security

Security Slide 22 / 312009-12-15

Capabilities: Kernel vs. User

• Kernel– Protected by kernel– User gets only a handle– Compare to File Descriptor in Unix– Easier to revoke

• User– protect against tampering (Amoeba: a cap is a

128 bit value, protected by cryptography)– Persistency: user responsibility, for the kernel

it's just a value

Page 23: Security - Introductionos.inf.tu-dresden.de/Studium/KMB/WS2009/10-Security_Intro.pdf · Faculty of Computer Science Institute for System Architecture, Operating Systems Group Security

Security Slide 23 / 312009-12-15

Capabilities Usage

• Server offers its service by– creating a portal– thereby get a new capability from the kernel– distribute the portal to its clients

• Clients get a capability to this portal and send messages to the server

Server

7

Client 1 Client 24223

Page 24: Security - Introductionos.inf.tu-dresden.de/Studium/KMB/WS2009/10-Security_Intro.pdf · Faculty of Computer Science Institute for System Architecture, Operating Systems Group Security

Security Slide 24 / 312009-12-15

Server

Capabilities implementation

Text

Data

Stack

OS

7

• Within the address space of a task, accessible by the OS only, is a capability space

• Double indirection: user gets an index (7) into an array of pointer to kernel objects

• When creating new kernel objects, new capability is created, user needs to provide in which slot the handle should be put

• Backed by kernel memory

Page 25: Security - Introductionos.inf.tu-dresden.de/Studium/KMB/WS2009/10-Security_Intro.pdf · Faculty of Computer Science Institute for System Architecture, Operating Systems Group Security

Security Slide 25 / 312009-12-15

Application

OS protected

KernelThread Address spacePortalSemaphore

Capability space0 1 2 4 7

• Application has references to kernel objects• Referred via index into cap space• Caps might be transferred to other tasks

Capability space

Page 26: Security - Introductionos.inf.tu-dresden.de/Studium/KMB/WS2009/10-Security_Intro.pdf · Faculty of Computer Science Institute for System Architecture, Operating Systems Group Security

Security Slide 26 / 312009-12-15

From Capabilities to Naming

• A capability describes what operations I can perform on an object (the rights I have)...➢ Where to get the cap from?➢ Delegation of capabilities?➢ How to name objects?➢ How does service discovery works?

Page 27: Security - Introductionos.inf.tu-dresden.de/Studium/KMB/WS2009/10-Security_Intro.pdf · Faculty of Computer Science Institute for System Architecture, Operating Systems Group Security

Security Slide 27 / 312009-12-15

• Naming issues are highly coupled with security

• Symbolic name resolution is highly policy dependent (files, objects, uri ...)

• References and access control belong together

• Names are resources, that have to be controlled

Naming

Page 28: Security - Introductionos.inf.tu-dresden.de/Studium/KMB/WS2009/10-Security_Intro.pdf · Faculty of Computer Science Institute for System Architecture, Operating Systems Group Security

Security Slide 28 / 312009-12-15

Local vs. global name spaces

• Global name spaces– All instances share the same view– Classical in monolithic systems– Easy to configure– Recap: BLP security levels → global

• Local name spaces– Instances have a private name space– Forwards principle of least privilege– Common examples: BSD jails or chroot

Page 29: Security - Introductionos.inf.tu-dresden.de/Studium/KMB/WS2009/10-Security_Intro.pdf · Faculty of Computer Science Institute for System Architecture, Operating Systems Group Security

Security Slide 29 / 312009-12-15

Problems with global names

• Communication:• Example: L4 thread ids were globally visible• Everyone can send IPC to everyone

– Clans and chiefs– Reference monitor– Ports, endpoints, gates, portals, ...– Language based approaches (Sing#)

• Denial of Service attacks are possible• No full isolation

• Simple solution: using local names

Page 30: Security - Introductionos.inf.tu-dresden.de/Studium/KMB/WS2009/10-Security_Intro.pdf · Faculty of Computer Science Institute for System Architecture, Operating Systems Group Security

Security Slide 30 / 312009-12-15

Name spaces

• Task local name space• Populated by task's creator• Mapping from name to capability• Query:

– Name server– Parent → hierarchical name resolution

(compare with DNS)

Page 31: Security - Introductionos.inf.tu-dresden.de/Studium/KMB/WS2009/10-Security_Intro.pdf · Faculty of Computer Science Institute for System Architecture, Operating Systems Group Security

Security Slide 31 / 312009-12-15

• Review– Security models (Bell – La Padula, Biba)– Access Control Matrix– Capabilities– Naming

• Next lecture– Software verification– Information Flow

Review & outlook