Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th,...

46
Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010
  • date post

    20-Dec-2015
  • Category

    Documents

  • view

    218
  • download

    3

Transcript of Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th,...

Page 1: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

TrustCS 239

Advanced Topics in Computer SecurityBernie Perez

Vahab Pournaghshband

November 9th, 2010

Page 2: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

Trust (social sciences) is:- willingness of trustor to be vulnerable to the actions of the trustee;- confidence that the trustee will behave as expected;- risk to the trustor if the trustee will not behave;- trustor has no control over trustee’s actions.

Page 3: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

What is trust in computer terms?

Page 4: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

• Trusted Devices• Trusted OSes• Trusted Applications/Code• Trusted People• Trusted Data• Discrete vs. Continuous• Static vs. Dynamic• Policy-based vs. Reputation-based

Page 5: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

• Trusted Devices• Trusted OSes• Trusted Applications/Code• Trusted People• Trusted Data• Discrete vs. Continuous• Static vs. Dynamic• Policy-based vs. Reputation-based

All covered in the 40-page paper we posted

… sorry

Page 6: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

The Ken Thompson Hack

Page 7: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

Unix OS Code Snippet

bool login(un,pw) {

// KT Hack Step 1if (un == "KThompson")    return True;

if (lookupPW(un)==pw)    return True;else    return False;}

Page 8: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

Unix OS Code Snippet

bool login(un,pw) {

// KT Hack Step 1if (un == "KThompson")    return True;

if (lookupPW(un)==pw)    return True;else    return False;}

Easy to spot

Page 9: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

Ah Ha!

UNIX is complied with a C compiler

I'll put the hack into the compiler

Page 10: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

C Compiler Code Snippet

void compile(code) {

// KT Hack Step 2if (isUNIXLoginCode(code))    generateLoginBackdoor(code);else    compileNormally(code);}

Good Hack!

Page 11: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

C Compiler Code Snippet

void compile(code) {

// KT Hack Step 2if (isUNIXLoginCode(code))    generateLoginBackdoor(code);else    compileNormally(code);}

Easy to spotBut same problem

Page 12: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

Good to GREAT!

Page 13: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

"Chicken and Egg" Problems

The C compiler is written in C

Page 14: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

C Compiler Code Snippet

void compile(code) {

// KT Hack Step 3if (isUNIXLoginCode(code))    generateLoginBackdoor(code);elseif (isCompilerCode(code))    generateCompilerBackdoor(code);else    compileNormally(code);}

Page 15: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

C Compiler Code Snippet

void compile(code) {

// KT Hack Step 3if (isUNIXLoginCode(code))    generateLoginBackdoor(code);elseif (isCompilerCode(code))    generateCompilerBackdoor(code);else    compileNormally(code);}

C Compilerw/ Hacked Binary

Page 16: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

C Compiler Code Snippet

void compile(code) {    // Move along,    // nothing to see here.    compileNormally(code);}

Page 17: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

C Compiler Code

void compile(code) {    // Move along,    // nothing to see here.    compileNormally(code);}

C Compilerw/ Hacked Binary

Unix OS Code

bool login(un,pw) {

if (lookupPW(un)==pw)    return True;else    return False;}

Page 18: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

C Compiler Code

void compile(code) {    // Move along,    // nothing to see here.    compileNormally(code);}

C Compilerw/ Hacked Binary

C Compiler Binary

void compile(code) {

// KT Hack Step 3if (isUNIXLoginCode(code))    generateLoginBackdoor(code);elseif (isCompilerCode(code))    generateCompilerBackdoor(code);else    compileNormally(code);}

Unix OS Binary

bool login(un,pw) {

// KT Hack Step 1if (un == "KThompson")    return True;

if (lookupPW(un)==pw)    return True;else    return False;}

Unix OS Code

bool login(un,pw) {

if (lookupPW(un)==pw)    return True;else    return False;}

Page 19: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

Moral:

"You can't trust code that you did not totally create yourself"

Page 20: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

Moral:

"You can't trust code that you did not totally create yourself"

Any program-handling program:• Assemblers• Loaders• Hardware Controllers

Page 21: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

Completely malicious violation of people's trust

G-Archiver

Page 22: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

What can we do to Trust code?

Page 23: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

Trust Models

Trust based on different types of rationales

Liability

Reputation

Strong Interest

Weak Interest

Proven In Use

Directive

Idealism

Blind

Page 24: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

Producer

Producer

Producer

Producer

Acquirer

Acquirer

Acquirer

Trust along the supply chain

Directive

Reputation Liability

Proven In Use

Page 25: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

Tamper-Proof Delivery Source authenticity - Came from the correct supplier

Integrity - Artifact unchanged from supplier

Page 26: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

Certificates?

Page 27: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

XBox.com Login XBox Certificate

Page 28: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

XBox.com Login XBox Certificate

Technically complex for end-users

Page 29: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

Managing multiple certificates, keys, certificate expirations, and their revocation lists

Technically complex for end-users

Page 30: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

How do you get the certificates?

Page 31: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

Trust Management and PKI

Page 32: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

• was first coined by Blaze et. al 1996• a coherent framework for the study of

– Security policies– Security credentials – Trust relationships

Trust Management

Page 33: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

Trust Management

Policy-Based Trust

Systems

Reputation-Based Trust

Systems

Page 34: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

Trust Management

• Example: PolicyMaker • Peers use credential verification to establish a trust relationship• Unilateral, only the resource-owner request to establish trust

Policy-Based Trust

Systems

Reputation-Based Trust

Systems

Page 35: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

Trust Management

Policy-Based Trust

Systems

Reputation-Based Trust

Systems

• Example: P2PRep, …• Based on measuring Reputation• Evaluate the trust in the peer and the trust in the reliability of the resource

Page 36: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

Genealogy of TM ModelsGenealogy of TM ModelsAT&T Labs-Policy Maker (1996)KeyNote(1998)

Abdul-Rahman & Hailes (2000)

Aberer & Despotovic (2001)

EigenTrust (2003)

CONFIDANT (2002)

SECURE (2003)

UCL- hTRUST (2004)McNamara et al. (2006) STRUDEL (2006)MATE (2006)

Donato et al. (2007)

Chun & Bavier(2004)

Bhargav et al.(2007)

Page 37: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

PolicyMakerPolicyMaker

• DB query engine for the application• Advice rather than policy enforcement

yes/no or additional requirements for request to be acceptable

PolicyMakerApplicationINPUT

Local policies, authenticated credentials, action string

OUTPUT

Page 38: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

Source ASSERTS AuthorityStruct WHERE Filter

PolicyMaker: AssertionsPolicyMaker: Assertions

policy ASSERTS pgp:“OxO1234567abcdeafOblc2d3e45fa6b7” WHERE PREDICATE=regexp:”Organization: Bob Labs”;

pgp:”OxOl234567abcdefaOblc2d3e4f5a6b7” ASSERTS pgp:”OxfOOl22O3a4b5l677d8O9Oaabb3cdd9e2f” WHERE PREDICATE=regexp:”From: Alice”;

Page 39: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

key1, key2,..., keyn REQUESTS ActionString

PolicyMaker: RequestsPolicyMaker: Requests

pgp:”OxfOOl22O3a4b5l677d8O9Oaabb3cdd9e2f” REQUESTS

“From: Alice Organization: Bob Labs”;

pgp:”OxfOOl22O3a4b5l677d8O9Oaabb3cdd9e2f” REQUESTS

“From: Alice Organization: Matt Labs”;

pgp:”OxfOOl22O3a4b5l677d8O9Oaabb3cdd9e2f” REQUESTS

“From: John Organization: Bob Labs”;

Page 40: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

PKI Trust ManagementPKI Trust Management Digital Signatures

◌ Private key signs, public key verifies But, are we using the “right” public key?

◌ Key verification problem

Page 41: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

Subordinated HierarchySubordinated Hierarchy

Page 42: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

Cross-Certified MeshCross-Certified Mesh

Page 43: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

HybridHybrid

Page 44: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

Bridge CABridge CA

Page 45: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

Review

• Defined Trust• Example mis-trust in applications• Software Trust Models• Trust Management• PKI Trust Models

Page 46: Trust CS 239 Advanced Topics in Computer Security Bernie Perez Vahab Pournaghshband November 9th, 2010.

Questions?

Discussion…