Top Banner
Daniel Halperin Tadayoshi Kohno CSE 484 / CSE M 584 (Autumn 2011) Software Security (Day 3) & Introduction to Cryptography Thanks to Dan Boneh, Dieter Gollmann, John Manferdelli, John Mitchell, Vitaly Shmatikov, Bennet Yee, and many others for sample slides and materials ... Monday, October 10, 11
19

Software Security (Day 3) & Introduction to Cryptography · Software Security (Day 3) & Introduction to Cryptography Thanks to Dan Boneh, Dieter Gollmann, John Manferdelli, John Mitchell,

Jun 01, 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: Software Security (Day 3) & Introduction to Cryptography · Software Security (Day 3) & Introduction to Cryptography Thanks to Dan Boneh, Dieter Gollmann, John Manferdelli, John Mitchell,

Daniel HalperinTadayoshi Kohno

CSE 484 / CSE M 584 (Autumn 2011)

Software Security (Day 3) &Introduction to Cryptography

Thanks to Dan Boneh, Dieter Gollmann, John Manferdelli, John Mitchell,Vitaly Shmatikov, Bennet Yee, and many others for sample slides and materials ...

Monday, October 10, 11

Page 2: Software Security (Day 3) & Introduction to Cryptography · Software Security (Day 3) & Introduction to Cryptography Thanks to Dan Boneh, Dieter Gollmann, John Manferdelli, John Mitchell,

Updates Oct. 10th• Coffee/tea signup sheet posted (optional)

• First is tomorrow @2 pm. Meet in CSE Atrium

• Security reviews & Current events

• Instructions on Catalyst; one each due 11/4 and 12/2

• Reading: over the next few days, Crypto chapters (Ch. 12--15, ~50 pages) in Daswani et al.

• Chapter 12 by Wednesday

Monday, October 10, 11

Page 3: Software Security (Day 3) & Introduction to Cryptography · Software Security (Day 3) & Introduction to Cryptography Thanks to Dan Boneh, Dieter Gollmann, John Manferdelli, John Mitchell,

Today

• Principles for Software Design

• Introduction to Cryptography

Monday, October 10, 11

Page 4: Software Security (Day 3) & Introduction to Cryptography · Software Security (Day 3) & Introduction to Cryptography Thanks to Dan Boneh, Dieter Gollmann, John Manferdelli, John Mitchell,

Fuzz Testing

Generate “random” inputs to program• Sometimes conforming to input structures (file

formats, etc) See if program crashes

• If crashes, found a bug• Bug may be exploitable

Surprisingly effective

Now standard part of development lifecycle

Monday, October 10, 11

Page 5: Software Security (Day 3) & Introduction to Cryptography · Software Security (Day 3) & Introduction to Cryptography Thanks to Dan Boneh, Dieter Gollmann, John Manferdelli, John Mitchell,

Genetic Diversity

Monday, October 10, 11

Page 6: Software Security (Day 3) & Introduction to Cryptography · Software Security (Day 3) & Introduction to Cryptography Thanks to Dan Boneh, Dieter Gollmann, John Manferdelli, John Mitchell,

Genetic Diversity

Problems with Monoculture

Monday, October 10, 11

Page 7: Software Security (Day 3) & Introduction to Cryptography · Software Security (Day 3) & Introduction to Cryptography Thanks to Dan Boneh, Dieter Gollmann, John Manferdelli, John Mitchell,

Genetic Diversity

Problems with Monoculture

Monday, October 10, 11

Page 8: Software Security (Day 3) & Introduction to Cryptography · Software Security (Day 3) & Introduction to Cryptography Thanks to Dan Boneh, Dieter Gollmann, John Manferdelli, John Mitchell,

Genetic Diversity

Problems with Monoculture

Steps toward diversity• Automatic diversification of compiled code• Address Space Randomization

Monday, October 10, 11

Page 9: Software Security (Day 3) & Introduction to Cryptography · Software Security (Day 3) & Introduction to Cryptography Thanks to Dan Boneh, Dieter Gollmann, John Manferdelli, John Mitchell,

Genetic Diversity

Problems with Monoculture

Steps toward diversity• Automatic diversification of compiled code• Address Space Randomization

Example in Tor:• users get lists of relays from “directory authorities”• require signatures from 4/7 authorities to accept• variety of OS’es, crypto libs, etc.• Works: only 3 servers compromised by Debian SSL bug

Monday, October 10, 11

Page 11: Software Security (Day 3) & Introduction to Cryptography · Software Security (Day 3) & Introduction to Cryptography Thanks to Dan Boneh, Dieter Gollmann, John Manferdelli, John Mitchell,

Principles

Check inputs

Monday, October 10, 11

Page 12: Software Security (Day 3) & Introduction to Cryptography · Software Security (Day 3) & Introduction to Cryptography Thanks to Dan Boneh, Dieter Gollmann, John Manferdelli, John Mitchell,

Principles

Least privilege

Monday, October 10, 11

Page 13: Software Security (Day 3) & Introduction to Cryptography · Software Security (Day 3) & Introduction to Cryptography Thanks to Dan Boneh, Dieter Gollmann, John Manferdelli, John Mitchell,

Principles

Check all return values

Monday, October 10, 11

Page 14: Software Security (Day 3) & Introduction to Cryptography · Software Security (Day 3) & Introduction to Cryptography Thanks to Dan Boneh, Dieter Gollmann, John Manferdelli, John Mitchell,

Principles

Securely clear memory (passwords, keys, etc)

Monday, October 10, 11

Page 15: Software Security (Day 3) & Introduction to Cryptography · Software Security (Day 3) & Introduction to Cryptography Thanks to Dan Boneh, Dieter Gollmann, John Manferdelli, John Mitchell,

Principles

Failsafe defaults

Monday, October 10, 11

Page 16: Software Security (Day 3) & Introduction to Cryptography · Software Security (Day 3) & Introduction to Cryptography Thanks to Dan Boneh, Dieter Gollmann, John Manferdelli, John Mitchell,

Principles

Defense in Depth

Also• Prevent• Detect• Deter

Monday, October 10, 11

Page 17: Software Security (Day 3) & Introduction to Cryptography · Software Security (Day 3) & Introduction to Cryptography Thanks to Dan Boneh, Dieter Gollmann, John Manferdelli, John Mitchell,

Monday, October 10, 11

Page 18: Software Security (Day 3) & Introduction to Cryptography · Software Security (Day 3) & Introduction to Cryptography Thanks to Dan Boneh, Dieter Gollmann, John Manferdelli, John Mitchell,

Principles

Reduce size of TCB

Simplicity

Modularity

Monday, October 10, 11

Page 19: Software Security (Day 3) & Introduction to Cryptography · Software Security (Day 3) & Introduction to Cryptography Thanks to Dan Boneh, Dieter Gollmann, John Manferdelli, John Mitchell,

Vulnerability Analysis and Disclosure

What do you do if you’ve found a security problem in a real system?

Say• A commercial website? • UW grade database?• iPhone?• Boeing 787?

Monday, October 10, 11