Lecture #1 Course overview Basics of security Access control - - PowerPoint PPT Presentation

lecture 1
SMART_READER_LITE
LIVE PREVIEW

Lecture #1 Course overview Basics of security Access control - - PowerPoint PPT Presentation

Lecture #1 Course overview Basics of security Access control matrix Primitive operations and commands Miscellaneous points January 12, 2009 ECS 235B Winter Quarter 2009 Slide #1-1 Matt Bishop, UC Davis Course Overview:


slide-1
SLIDE 1

January 12, 2009 ECS 235B Winter Quarter 2009 Matt Bishop, UC Davis Slide #1-1

Lecture #1

  • Course overview
  • Basics of security
  • Access control matrix
  • Primitive operations and commands
  • Miscellaneous points
slide-2
SLIDE 2

Course Overview: Administration

  • Web sites

– Main site

  • http://smartsite.ucdavis.edu

– Secondary Site:

  • http://nob.cs.ucdavis.edu/classes/ecs235b-2009-01
  • Being recorded for Livermore students
  • If you (or I ) miss a class, you can view it

– But please try to come!

January 12, 2009 ECS 235B Winter Quarter 2009 Matt Bishop, UC Davis Slide #1-2

slide-3
SLIDE 3

Course Overview: Questions

  • What can security decide, and what can it

not decide?

  • Policy models: what can systems and people

do, and what can they not do?

  • Information flow: how can information

move around a system?

January 12, 2009 ECS 235B Winter Quarter 2009 Matt Bishop, UC Davis Slide #1-3

slide-4
SLIDE 4

Functionality

  • Confidentiality

– Keeping data and resources hidden

  • Integrity

– Data integrity (integrity) – Origin integrity (authentication)

  • Availability

– Enabling access to data and resources

January 12, 2009 ECS 235B Winter Quarter 2009 Matt Bishop, UC Davis Slide #1-4

slide-5
SLIDE 5

Assurance

  • Specification

– Requirements analysis

  • Design

– How system will meet specification

  • Implementation

– Program/systems that carry out design

  • Operation and maintenance

– How to update, modify, use program/system

January 12, 2009 ECS 235B Winter Quarter 2009 Matt Bishop, UC Davis Slide #1-5

slide-6
SLIDE 6

Trust and Assumptions

  • Underlie all aspects of security
  • Policies: what is, is not allowed

– Unambiguously partition system states – Correctly capture security requirements

  • Mechanisms: what enforce policies

– Assumed to enforce policy – Support mechanisms work correctly

January 12, 2009 ECS 235B Winter Quarter 2009 Matt Bishop, UC Davis Slide #1-6

slide-7
SLIDE 7

People and Organizations

  • Organizational Problems

– Power and responsibility – Financial benefits

  • People problems

– Outsiders and insiders – Social engineering

January 12, 2009 ECS 235B Winter Quarter 2009 Matt Bishop, UC Davis Slide #1-7

slide-8
SLIDE 8

Models

  • Abstract irrelevant details of entity or

process being modeled

– Allows you to focus on aspects that are of interest – If done correctly, results from analyzing the model apply to entity or process

  • Assumption: nothing you omit affects the

application of the results

January 12, 2009 ECS 235B Winter Quarter 2009 Matt Bishop, UC Davis Slide #1-8

slide-9
SLIDE 9

January 12, 2009 ECS 235B Winter Quarter 2009 Matt Bishop, UC Davis Slide #1-9

Why Access Control Matrix?

  • Protection state of system

– Describes current settings, values of system relevant to protection

  • Access control matrix

– Describes protection state precisely – Matrix describing rights of subjects – State transitions change elements of matrix

slide-10
SLIDE 10

January 12, 2009 ECS 235B Winter Quarter 2009 Matt Bishop, UC Davis Slide #1-10

Description

  • bjects (entities)

subjects s1 s2 … sn

  • 1 … om s1 … sn
  • Subjects S = { s1,…,sn }
  • Objects O = { o1,…,om }
  • Rights R = { r1,…,rk }
  • Entries A[si, oj] ⊆ R
  • A[si, oj] = { rx, …, ry }

means subject si has rights rx, …, ry over object oj

slide-11
SLIDE 11

January 12, 2009 ECS 235B Winter Quarter 2009 Matt Bishop, UC Davis Slide #1-11

Example 1

  • Processes p, q
  • Files f, g
  • Rights r, w, x, a, o

f g p q p rwo r rwxo w q a ro r rwxo

slide-12
SLIDE 12

January 12, 2009 ECS 235B Winter Quarter 2009 Matt Bishop, UC Davis Slide #1-12

Example 2

  • Procedures inc_ctr, dec_ctr, manage
  • Variable counter
  • Rights +, –, call

counter inc_ctr dec_ctr manage inc_ctr + dec_ctr – manage call call call

slide-13
SLIDE 13

January 12, 2009 ECS 235B Winter Quarter 2009 Matt Bishop, UC Davis Slide #1-13

Boolean Expression Evaluation

  • ACM controls access to database fields

– Subjects have attributes – Verbs define type of access – Rules associated with objects, verb pair

  • Subject attempts to access object

– Rule for object, verb evaluated – Result controls granting, denying access

slide-14
SLIDE 14

January 12, 2009 ECS 235B Winter Quarter 2009 Matt Bishop, UC Davis Slide #1-14

Example

  • Subject annie

– Attributes role (artist), groups (creative)

  • Verb paint

– Default 0 (deny unless explicitly granted)

  • Object picture

– Rule: paint: ‘artist’ in subject.role and ‘creative’ in subject.groups and time.hour ≥ 0 and time.hour < 5

slide-15
SLIDE 15

January 12, 2009 ECS 235B Winter Quarter 2009 Matt Bishop, UC Davis Slide #1-15

ACM at 3AM and 10AM

… picture … … annie … paint At 3AM, time condition met; ACM is: … picture … … annie … At 10AM, time condition not met; ACM is:

slide-16
SLIDE 16

January 12, 2009 ECS 235B Winter Quarter 2009 Matt Bishop, UC Davis Slide #1-16

History

Database: name position age salary Alice teacher 45 $40,000 Bob aide 20 $20,000 Cathy principal 37 $60,000 Dilbert teacher 50 $50,000 Eve teacher 33 $50,000 Queries:

  • 1. sum(salary, “position = teacher”) = 140,000
  • 2. sum(salary, “age > 40 & position = teacher”)

should not be answered (deduce Eve’s salary)

slide-17
SLIDE 17

January 12, 2009 ECS 235B Winter Quarter 2009 Matt Bishop, UC Davis Slide #1-17

ACM of Database Queries

Oi = { objects referenced in query i } f(oi) = { read } for oi ∈ Oi, if ∀k, |Ok–∪j = 1,…,i; j≠k Oj| > 1 f(oi) = ∅ for oi ∈ Oi, otherwise 1. O1 = { Alice, Dilbert, Eve } and no previous query set, so: A[asker, Alice] = f(Alice) = { read } A[asker, Dilbert] = f(Dilbert) = { read } A[asker, Eve] = f(Eve) = { read } and query can be answered

slide-18
SLIDE 18

January 12, 2009 ECS 235B Winter Quarter 2009 Matt Bishop, UC Davis Slide #1-18

But Query 2

From last slide:

f(oi) = { read } for oi ∈ Oi, if ∀k, |Ok–∪j = 1,…,i; j≠k Oj| > 1 f(oi) = ∅ for oi ∈ Oi, otherwise

2. O2 = { Alice, Dilbert } but | O1 ‒ O2 | = 1 so A[asker, Alice] = f(Alice) = ∅ A[asker, Dilbert] = f(Dilbert) = ∅ and query cannot be answered