Security Principles CS 161: Computer Security Prof. Vern Paxson TAs: - - PowerPoint PPT Presentation

security principles
SMART_READER_LITE
LIVE PREVIEW

Security Principles CS 161: Computer Security Prof. Vern Paxson TAs: - - PowerPoint PPT Presentation

Security Principles CS 161: Computer Security Prof. Vern Paxson TAs: Paul Bramsen, Apoorva Dornadula, David Fifield, Mia Gil Epner, David Hahn, Warren He, Grant Ho, Frank Li, Nathan Malkin, Mitar Milutinovic, Rishabh Poddar, Rebecca Portnoff,


slide-1
SLIDE 1

Security Principles

CS 161: Computer Security

  • Prof. Vern Paxson

TAs: Paul Bramsen, Apoorva Dornadula, David Fifield, Mia Gil Epner, David Hahn, Warren He, Grant Ho, Frank Li, Nathan Malkin, Mitar Milutinovic, Rishabh Poddar, Rebecca Portnoff, Nate Wang

http://inst.eecs.berkeley.edu/~cs161/

January 19, 2017

slide-2
SLIDE 2

TL-15

slide-3
SLIDE 3

TL-30

slide-4
SLIDE 4

TRTL-30

slide-5
SLIDE 5

TXTL-60

slide-6
SLIDE 6

“Security is economics.”

slide-7
SLIDE 7
slide-8
SLIDE 8
slide-9
SLIDE 9
slide-10
SLIDE 10
slide-11
SLIDE 11

What is this program able to do? Can it leak your files elsewhere? Can it delete all of your files? Can it send spam? Can it add a new executable to your search path?

  • YES. Why?
slide-12
SLIDE 12

What does this program need to be able to do? Maybe: access screen manage a directory of downloaded files access config & documentaIon files

  • pen connecIons for a given set of protocols

receive connecIons as a server

slide-13
SLIDE 13

“Least privilege.”

slide-14
SLIDE 14

Check for Understanding

  • We’ve seen that laptop/desktop platforms grant

applications a lot of privileges

  • Quiz: Name a platform that does a better job of

least privilege

slide-15
SLIDE 15
slide-16
SLIDE 16

Thinking About Least Privilege

  • When assessing the security of a system’s design,

identify the Trusted Computing Base (TCB).

– What components does security rely upon?

  • Security requires that the TCB:

– Is correct – Is complete (can’t be bypassed) – Is itself secure (can’t be tampered with)

  • Best way to be assured of correctness and its security?

– KISS = Keep It Simple, Stupid! – Generally, Simple = Small

  • One powerful design approach: privilege separation

– Isolate privileged operations to as small a component as possible

slide-17
SLIDE 17

Web browser

Sandbox

Rendering Engine

IPC

Browser ¡Kernel

Rendered ¡Bitmap HTML, ¡JS, ¡... Sandbox

Rendering Engine

IPC

Browser ¡Kernel

Rendered ¡Bitmap HTML, ¡JS, ¡...

Web Browser Web Site

Browser Kernel Rendering Engine

User Files

“Drive-by malware”: malicious web page exploits browser bug to infect local files

Trusted Computing Base

slide-18
SLIDE 18

Sandbox

Rendering Engine

IPC

Browser ¡Kernel

Rendered ¡Bitmap HTML, ¡JS, ¡...

Goal: prevent “drive-by malware”, where a malicious web page exploits a browser bug to infect local files

TCB (for this property)

The Chrome browser

slide-19
SLIDE 19

The Chrome browser

Sandbox

Rendering Engine

IPC

Browser ¡Kernel

Rendered ¡Bitmap HTML, ¡JS, ¡...

1M+ lines of code 70% of vulnerabilities are in the rendering engine.

slide-20
SLIDE 20
slide-21
SLIDE 21

“Ensure complete mediation.”

For every requested action, check authenticity, integrity, authorization

slide-22
SLIDE 22

Ensuring Complete Mediation

  • To secure access to some capability/resource,

construct a reference monitor

  • Single point through which all access must occur

– E.g.: a network firewall

  • Desired properties:

– Un-bypassable (“complete mediation”) – Tamper-proof (is itself secure) – Verifiable (correct) – (Note, just restatements of what we want for TCBs)

  • One subtle form of reference monitor flaw

concerns race conditions …

slide-23
SLIDE 23

procedure withdrawal(w) // contact central server to get balance

  • 1. let b := balance
  • 2. if b < w, abort

// contact server to set balance

  • 3. set balance := b - w
  • 4. dispense $w to user

TOCTTOU Vulnerability

TOCTTOU = Time of Check To Time of Use

Suppose that here an attacker arranges to suspend first call, and calls withdrawal again concurrently

slide-24
SLIDE 24

public void buyItem(Account buyer, Item item) { if (item.cost > buyer.balance) return; /* they can’t afford it */ buyer.possessions.put(item); /* provide item */ buyer.possessionsUpdated(); /* freshen screen */ buyer.balance -= item.cost; /* deduct cost */ buyer.balanceUpdated(); /* freshen screen */ } What if an uncaught exception happens here?

slide-25
SLIDE 25
slide-26
SLIDE 26
slide-27
SLIDE 27
slide-28
SLIDE 28

“Separation of responsibility.”

slide-29
SLIDE 29

Independent audit

slide-30
SLIDE 30

Summary: Notions Regarding Managing Privilege

  • Least privilege

– The notion of avoiding having unnecessary privileges

  • Privilege separation

– A way to achieve least privilege by isolating access to privileges to a small Trusted Computing Base (TCB)

  • Separation of responsibility

– If you need to have a privilege, consider requiring multiple parties to work together (collude) to exercise it

slide-31
SLIDE 31
slide-32
SLIDE 32

“Defense in depth.”

slide-33
SLIDE 33
slide-34
SLIDE 34

“Company policy: passwords must be at least 10 characters long, contain at least 2 digits, 1 uppercase character, 1 lowercase character, and 1 special character.”

slide-35
SLIDE 35
slide-36
SLIDE 36

“Psychological acceptability.”

slide-37
SLIDE 37
slide-38
SLIDE 38
slide-39
SLIDE 39
slide-40
SLIDE 40
slide-41
SLIDE 41

What a piece of work is a man! how Noble in Reason! how infinite in faculty! in form and moving how express and admirable! in Action, how like an Angel! in apprehension, how like a God!

  • - Hamlet Act II, Scene II

“Humans are incapable of securely storing high-quality cryptographic keys, and they have unacceptable speed and accuracy when performing cryptographic operations. (They are also large, expensive to maintain, difficult to manage, and they pollute the environment. It is astonishing that these devices continue to be manufactured and deployed. But they are sufficiently pervasive that we must design our protocols around their limitations.)”

  • - Network Security: Private Communication in a Public World,

Charlie Kaufman, Radia Perlman, & Mike Speciner, 1995

slide-42
SLIDE 42

“Consider human factors.”

slide-43
SLIDE 43
slide-44
SLIDE 44

Summary: Dealing with Users

  • Psychological acceptability

– Will users abide a security mechanism, or decide to subvert it?

  • Consider human factors

– Does a security mechanism assume something about human behavior when interacting with the system that might not hold, even in the absence of conscious decisions by the users to subvert

slide-45
SLIDE 45
slide-46
SLIDE 46
slide-47
SLIDE 47
slide-48
SLIDE 48
slide-49
SLIDE 49

“Only as secure as the weakest link.”

slide-50
SLIDE 50
slide-51
SLIDE 51
slide-52
SLIDE 52
slide-53
SLIDE 53
slide-54
SLIDE 54
slide-55
SLIDE 55
slide-56
SLIDE 56

“Don’t rely on security through

  • bscurity.”
slide-57
SLIDE 57
slide-58
SLIDE 58
slide-59
SLIDE 59
slide-60
SLIDE 60
slide-61
SLIDE 61
slide-62
SLIDE 62
slide-63
SLIDE 63

“Trusted path.”

User needs to know they’re talking w/ legit system. System needs to know it’s talking w/ legit user. These channels should be unspoofable & private.