15
Computer Security Mark Ryan Professor of Computer Security 25 November 2009

Computer Security - University of Birminghammdr/teaching/modules/security/lectures… · Trusting Trust backdoor • How to create an undetectable backdoor: – Change the compiler

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Computer Security - University of Birminghammdr/teaching/modules/security/lectures… · Trusting Trust backdoor • How to create an undetectable backdoor: – Change the compiler

Computer Security

Mark RyanProfessor of Computer Security

25 November 2009

Page 2: Computer Security - University of Birminghammdr/teaching/modules/security/lectures… · Trusting Trust backdoor • How to create an undetectable backdoor: – Change the compiler

Insecure PCs

virus

malware

phishing

spam

spyware

botnets

DNS spoofing

identity theft

Trojan horse

buffer overflow

DoS attack

worm

keyloggers

cross-site scripting

Page 3: Computer Security - University of Birminghammdr/teaching/modules/security/lectures… · Trusting Trust backdoor • How to create an undetectable backdoor: – Change the compiler

data theft(inc. ID theft)

create botnet

exploit softwarevulnerabilities

DNS spoofing

hardware keylogger

send spam

install malware

XSS

phishing

promotion

destruction(inc. vandalism)

DDoS

α β means β is a possible way to achieve α

hardware theft

Page 4: Computer Security - University of Birminghammdr/teaching/modules/security/lectures… · Trusting Trust backdoor • How to create an undetectable backdoor: – Change the compiler
Page 5: Computer Security - University of Birminghammdr/teaching/modules/security/lectures… · Trusting Trust backdoor • How to create an undetectable backdoor: – Change the compiler
Page 6: Computer Security - University of Birminghammdr/teaching/modules/security/lectures… · Trusting Trust backdoor • How to create an undetectable backdoor: – Change the compiler

• Malware is– software intended to intercept or take partial control of a

computer's operation without the user's informed consent.

– It subverts the computer's operation for the benefit of a third party.

• Also called spyware. – The term “spyware” taken literally suggests software that

surreptitiously monitors the user. But it has come to refer more broadly to any kind of malware,

• Malware covers all kinds of intruder software– including viruses, worms, backdoors, rootkits, Trojan

horses, stealware etc. These terms have more specific meanings.

Page 7: Computer Security - University of Birminghammdr/teaching/modules/security/lectures… · Trusting Trust backdoor • How to create an undetectable backdoor: – Change the compiler

• Trojan horse– a malicious program that is disguised as useful and

legitimate software. Can be part of, or bundled with, the carrier software.

• Virus– Self-replicating program that spreads by inserting

copies of itself into other executable code or documents.

• Worm– Self-replicating program, similar to virus, but is self-

contained (does not need to be part of another program). Spreads by exploiting service vulnerabilities.

• Drive-by– installs as side-effect of visiting a website; exploits

browser vulnerability.

Detail from "The Procession of the Trojan Horse in Troy“, Giovanni Domenico Tiepolo

How malware spreads

Page 8: Computer Security - University of Birminghammdr/teaching/modules/security/lectures… · Trusting Trust backdoor • How to create an undetectable backdoor: – Change the compiler
Page 9: Computer Security - University of Birminghammdr/teaching/modules/security/lectures… · Trusting Trust backdoor • How to create an undetectable backdoor: – Change the compiler
Page 10: Computer Security - University of Birminghammdr/teaching/modules/security/lectures… · Trusting Trust backdoor • How to create an undetectable backdoor: – Change the compiler

Why does this problem exist?

Why can't engineers create systems that are not vulnerable to this plethora of attacks?

Compare:• cars• aircraft• telephone system• electricity

production

Page 11: Computer Security - University of Birminghammdr/teaching/modules/security/lectures… · Trusting Trust backdoor • How to create an undetectable backdoor: – Change the compiler

We have the technology...

Attack Defence

malware ● digital signatures for code● anti-virus software

phishing ● encrypted traffic● key certificates● education

DNS spoofing ● key certificates

Page 12: Computer Security - University of Birminghammdr/teaching/modules/security/lectures… · Trusting Trust backdoor • How to create an undetectable backdoor: – Change the compiler

Why does this problem exist?

• complexity• immaturity

– of technology: “release and fix”– of designers/programmers: bad culture– of users: a new one born every day...

• open platform• monoculture

Page 13: Computer Security - University of Birminghammdr/teaching/modules/security/lectures… · Trusting Trust backdoor • How to create an undetectable backdoor: – Change the compiler

Trusting Trust backdoor• How to create an undetectable backdoor:

– Change the compiler so that, when compiling the login program, it adds the hard-coded username/password check to the login program.

• Thus, the login program source code looks completely normal.

– As an extra twist, change the compiler so that, when compiling the compiler, it adds the code to add the code to the login program.

• Thus, even if the compiler is recompiled, the backdoor will still be inserted.

• And none of the source code reveals the backdoor.

Described in a paper by Ken Thompson, Reflections on Trusting Trust, 1995.

Page 14: Computer Security - University of Birminghammdr/teaching/modules/security/lectures… · Trusting Trust backdoor • How to create an undetectable backdoor: – Change the compiler

What you can do

• Don't connect directly to the Internet – connect via a router instead

• Don't install anything!– no third-party toolbars, extensions, helpers, freebies

– unless you really know where they came from

• Be sceptical about e-mail from nice people who want to give you $20,000,000 or help you reduce your mailbox usage or help your computer to go faster

• Stop using Windows

– use Linux, *BSD (or derivative, including Mac OS X)

• Update/patch frequently

Page 15: Computer Security - University of Birminghammdr/teaching/modules/security/lectures… · Trusting Trust backdoor • How to create an undetectable backdoor: – Change the compiler

What industry is doing

• better engineering• thin clients

– cloud computing

• trusted computing– protected capabilities outside software

control– virtualisation, to support throw-away OS