Intro to Computer Security Lujo Bauer lbauer@cmu.edu - - PowerPoint PPT Presentation

intro to computer security
SMART_READER_LITE
LIVE PREVIEW

Intro to Computer Security Lujo Bauer lbauer@cmu.edu - - PowerPoint PPT Presentation

Carnegie Mellon Intro to Computer Security Lujo Bauer lbauer@cmu.edu http://www.ece.cmu.edu/~lbauer Fall 2011 Carnegie Mellon Plan for Today What is computer security and why is it important? Types of computer misuse


slide-1
SLIDE 1

Carnegie Mellon

Intro to Computer Security

Lujo Bauer lbauer@cmu.edu http://www.ece.cmu.edu/~lbauer Fall 2011

slide-2
SLIDE 2

Carnegie Mellon

2

 What is computer security …  … and why is it important?  Types of computer misuse  Basic security analysis  A taxonomy of computer security

Plan for Today

slide-3
SLIDE 3

Carnegie Mellon

3

 Protecting computers against misuse and interference  Broadly comprised of three types of properties

 Confidentiality: information is protected from unintended disclosure  Secrecy, privacy  Integrity: system and data are maintained in a correct and consistent

condition

 Availability: systems and data are usable when needed  Also includes timeliness

 These concepts overlap (and clash)  These concepts are (perhaps) not all-inclusive

 Spam?  “Non-business related” surfing?

What Is Computer Security?

slide-4
SLIDE 4

Carnegie Mellon

4

Why Is Computer Security Important?

slide-5
SLIDE 5

Carnegie Mellon

5

There Are Lots of Bugs!

[ http://www.cert.org/stats ]

Vulnerabilities reported to CERT/CC

1000 2000 3000 4000 5000 6000 7000 8000 9000 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007

slide-6
SLIDE 6

Carnegie Mellon

6

 But is it a computer security problem?  Computer security = protecting computers against misuse

and interference

 Bugs can be (and are) purposefully exploited

There Are Lots of Bugs!

slide-7
SLIDE 7

Carnegie Mellon

7

Exploiting Bugs as a Nuisence

 To be annoying

 Newsday technology writer & hacker critic found …  Email box jammed with thousands of messages  Phone reprogrammed to an out of state number where caller’s

heard an obscenity-loaded recorded message [ Time Magazine, December 12, 1994 ]

slide-8
SLIDE 8

Carnegie Mellon

8

Exploiting Bugs for Profit

 Hacker convicted of breaking into a business’ computer

system, stealing confidential information and threatening disclosure if $200,000 not paid

[ U.S. Dept. of Justice Press Release, Jul 2003 ]

 11 people indicted for stealing more than 40 million credit

card and debit card numbers

[ CNN, Aug 2008 ]

slide-9
SLIDE 9

Carnegie Mellon

9

 MyDoom (2004) - $38.5 billon  SoBig (2003) - $37.1 billion  Love Bug (2000) - $15 billion  Code Red (2001) - $2 billion

Costs Can Be Staggering

slide-10
SLIDE 10

Carnegie Mellon

10

Is It Just About Cost?

slide-11
SLIDE 11

Carnegie Mellon

11

Software Bugs in the News

… The internal SRI software exception was caused during execution of a data conversion from 64-bit floating point to 16-bit signed integer value. The floating point number which was converted had a value greater than what could be represented by a 16-bit signed integer. This resulted in an Operand Error. The data conversion instructions (in Ada code) were not protected from causing an Operand Error, although

  • ther conversions of comparable variables in the same place in the code were
  • protected. …

[ ARIANE 5 Flight 501 Failure, Report by the Inquiry Board, Paris, Jul 19 1996 ] Unmanned European rocket explodes on first flight Europe's newest unmanned satellite-launching rocket, the Ariane 5, intentionally was blown up Tuesday just seconds after taking off on its maiden flight. …

[ http://edition.cnn.com/WORLD/9606/04/rocket.explode/ ]

slide-12
SLIDE 12

Carnegie Mellon

12

Software Bugs in the News

The Northeast Blackout of August 2003, the largest in North American history, shut down 62,000 MW of generation capacity, and cost businesses an estimated $13 billion in productivity. … [ IEEE-USA Today’s Engineer, Feb 2005] … A previously-unknown software flaw in a widely-deployed General Electric energy management system contributed to the devastating scope of the August 14th northeastern U.S. blackout … [ Security Focus, Feb 11 2004 ] … “There was a couple of processes that were in contention for a common data structure, and through a software coding error in one of the application processes, they were both able to get write access to a data structure at the same time … And that corruption led to the alarm event application getting into an infinite loop and spinning.” … [ Security Focus, Apr 7 2004 ]

slide-13
SLIDE 13

Carnegie Mellon

13

Software Bugs in the News

E-voting vendor: Programming errors caused dropped votes … E-voting machines from Premier Election Solutions, formerly called Diebold Election Systems, dropped hundreds of votes in 11 Ohio counties during the primary election, as the machine's memory cards uploaded to vote-counting servers. … [ Network World, Aug 22 2008 ]

slide-14
SLIDE 14

Carnegie Mellon

14

Software Bugs in the News

… Software bugs in a Soviet early-warning monitoring system nearly brought on nuclear war in 1983, according to news reports in early 1999. The software was supposed to filter out false missile detections caused by Soviet satellites picking up sunlight reflections off cloud-tops, but failed to do so. Disaster was averted when a Soviet commander, based on a what he said was a ‘…funny feeling in my gut’, decided the apparent missile attack was a false alarm. The filtering software code was

  • rewritten. . …

[ http://rajasriengg.wordpress.com/2008/07/16/recent-major-computer-system- failures-caused-by-software-bugs/ ]

slide-15
SLIDE 15

Carnegie Mellon

15

Software Bugs in the News

 Accidents  Monetary loss  Effect on political process?  Military conflict?

slide-16
SLIDE 16

Carnegie Mellon

16

Types of Computer Misuse (1)

[Neumann and Parker 1989]

 External

 Visual spying

Observing keystrokes or screens

 Misrepresentation

Deceiving operators and users

 Physical scavenging

“Dumpster diving” for printouts

 Hardware misuse

 Logical scavenging

Examining discarded/stolen media

 Eavesdropping

Intercepting electronic or other data

 Interference

Jamming, electronic or otherwise

 Physical attack

Damaging or modifying equipment

 Physical removal

Removing equipment & storage media

slide-17
SLIDE 17

Carnegie Mellon

17

Types of Computer Misuse (2)

[Neumann and Parker 1989]

 Masquerading

 Impersonation

Using false identity external to computer

 Piggybacking

Usurping workstations, communication

 Spoofing

Using playback, creating bogus systems

 Network weaving

Masking physical location or routing

 Pest programs

 Trojan horses

Implanting malicious code

 Logic bombs

Setting time or event bombs

 Malevolent worms

Acquiring distributed resources

 Viruses

Attaching to programs and replicating

 Bypasses

 Trapdoor attacks

Utilizing existing flaws

 Authorization attacks

Password cracking

slide-18
SLIDE 18

Carnegie Mellon

18

Types of Computer Misuse (3)

[Neumann and Parker 1989]

 Active misuse

 Basic

Creating false data, modifying data

 Denials of service

Saturation attacks

 Passive misuse

 Browsing

Making random or selective searches

 Inference, aggregation

Exploiting traffic analysis

 Covert channels

Covert data leakage

 Inactive misuse

Failing to perform expected duties

 Indirect misuse

Breaking crypto keys

slide-19
SLIDE 19

Carnegie Mellon

19

The Internet Worm (Nov 2, 1988)

 Probably the most famous exploit ever unleashed  Program was released that iteratively spread itself across

Berkeley Unix systems, and crippled those it infected

 Exploited three different vulnerabilities

 debug option of sendmail  gets, used in the implementation of finger  Remote logins exploiting .rhost files

 Perpetrator was convicted under the Computer Fraud and

Abuse Act of 1986

 Largely the cause for the creation of the Computer

Emergency Response Team (CERT)

slide-20
SLIDE 20

Carnegie Mellon

20

A Cautionary Tale

 Perpetrator was Robert Morris, a Cornell CS graduate

student at the time

 Morris intended the worm as a “benign” experiment

 The worm’s propagating behavior was intended  The worm’s destructive behavior was not

 Lesson: DO NOT try hacking experimentseven “benign”

  • neson public networks
slide-21
SLIDE 21

Carnegie Mellon

21

 How do you secure X? Is X secure? 1.

What are we protecting?

2.

Who is the adversary?

3.

What are the security requirements?

4.

What security approaches are effective?

Basic Security Analysis

slide-22
SLIDE 22

Carnegie Mellon

22

 Enumerate assets and their value  Understand architecture of system  Useful questions to ask

 What is the operating value, i.e., how much would we lose per

day/hour/minute if the resource stopped?

 What is the replacement cost? How long would it take to replace it?

  • 1. What Are We Protecting?
slide-23
SLIDE 23

Carnegie Mellon

23

  • 2. Who Is the Adversary?

 Identify potential attackers

 How motivated are they?

 Estimate attacker resources

 Time and money

 Estimate number of attackers, probability of attack

slide-24
SLIDE 24

Carnegie Mellon

24

 Attacker action

 Passive attacker: eavesdropping  Active attacker: eavesdropping + data injection

 Attacker sophistication

 Ranges from script kiddies to government-funded group of

professionals

 Attacker access

 External attacker: no knowledge of cryptographic information, no

access to resources

 Internal attacker: complete knowledge of all cryptographic

information, complete access

 Result of system compromise

Common (Abstract) Adversaries

slide-25
SLIDE 25

Carnegie Mellon

25

 Enumerate security requirements

 Confidentiality  Integrity  Authenticity  Availability  Auditability  Access control  Privacy  …

  • 3. What Are the Security Requirements?
slide-26
SLIDE 26

Carnegie Mellon

26  Often considered synonymous, but are slightly different  Secrecy  Keep data hidden  E.g., Alice kept the incriminating information secret  Confidentiality  Keep (someone else’s) data hidden from unauthorized entities  E.g., banks keep much account information confidential  Privacy  Keep data about a person secret  E.g., to protect Alice’s privacy, company XYZ did not disclose any personal

information

 Anonymity  Keep identity of a protocol participant secret  E.g., to hide her identity from the web server, Alice uses The Onion Router

(TOR) to communicate

Secrecy, Confidentiality, Privacy, Anonymity

slide-27
SLIDE 27

Carnegie Mellon

27

 Sometimes used interchangeably, but different  Data integrity

 Ensure data is “correct” (i.e., correct syntax & unchanged)  Prevents unauthorized or improper changes  E.g., Trent always verifies the integrity of his database after restoring a

backup, to ensure that no incorrect records exist

 Entity authentication or identification

 Verify the identity of another protocol participant  E.g., Alice authenticates Bob each time they establish a secure

connection

 Data authentication

 Ensure that data originates from claimed sender  E.g., For every message Bob sends, Alice authenticates it to ensure that

it originates from Bob

Integrity, Authentication

slide-28
SLIDE 28

Carnegie Mellon

28

 Age

 Prove that data exists before a certain time  Lower bound on the duration of existence

 Freshness

 Prove that data was created after an event  Upper bound on the duration of existence

 Temporal order

 Verify ordering of a sequence of events

Temporal Properties

slide-29
SLIDE 29

Carnegie Mellon

29

 Auditability

 Enable forensic activities after intrusions  Prevent attacker from erasing or altering logging information

 Availability

 Provide access to resource despite attacks  Denial-of-Service (DoS) attacks attempt to prevent availability

Other Properties

slide-30
SLIDE 30

Carnegie Mellon

30

 No security

 Legal protection (deterrence)  Innovative: patent attack, get protection through patent law

 Build strong security defense

 Use cryptographic mechanisms  Perimeter defense (firewall), VPN

 Resilience to attack

 Multiple redundant systems (“hot spares”)

 Detection and recovery (& offense ?)

 Intrusion detection system  Redundancy, backups, etc.  Counterstrike? (Legal issues?)

  • 4. Approaches to Achieve Security
slide-31
SLIDE 31

Carnegie Mellon

31

Threat Models

 Can’t protect against everything

 Too expensive  Too inconvenient  Not worth the effort

 Identify the most likely ways your system will be attacked

 Identify likely attackers and their resources  Dumpster diving or rogue nation?  Identify consequences of possible attacks  Mild embarrassment or bankruptcy?  Design security measures accordingly  Accept that they will not defend against all attacks

slide-32
SLIDE 32

Carnegie Mellon

32

 Adversary is targeting assets, not defenses  Will try to exploit the weakest part of the defenses

 E.g., bribe human operator, social engineering, steal (physically) server

with data

Think Like an Attacker

slide-33
SLIDE 33

Carnegie Mellon

33

Case Study

 Class discussion on security of a house

 What are we protecting?  Who is the adversary?  What are the security requirements?  What security approaches are effective?

slide-34
SLIDE 34

Carnegie Mellon

34

Computer Security Overview

 Foundations

 Security properties  Basic cryptography  Security protocols and

analysis

 Security in the real world

 Usable security  Economics of security

 Host/software security

 Access control  Process isolation  Trusted Computing Group’s

Trusted Platform Modules

 Network security

 Key establishment  Firewalls  Network intrusion detection

slide-35
SLIDE 35

Carnegie Mellon

35

Systems

Computer Security Overview

 Foundations

 Security properties  Basic cryptography  Security protocols and

analysis

 Host/software security

 Access control  Process isolation  Trusted Computing Group’s

Trusted Platform Modules

 Security in the real world

 Usable security  Economics of security

 Network security

 Key establishment  Firewalls  Network intrusion detection

Basic building blocks

slide-36
SLIDE 36

Carnegie Mellon

36

Why Is Security Hard?

 We have all these tools…  Practical problems can’t be solved by direct application of

building blocks

 E.g., messages often need padding before they can be encrypted

 Composing building blocks yields new vulnerabilities

 E.g., adversary can interact with valid users in protocol, obtain

information that can allow him to impersonate valid user

 Replay (freshness attacks)  Insert (e.g., type flaw attacks, man-in-the-middle attacks)  Initiate different protocol sessions (parallel session attacks)

slide-37
SLIDE 37

Carnegie Mellon

37

 Importance of computer security  “Security” is not absolute

 Attacker  Properties  Cost

 Security is about managing risk

Takeaways