Computer Security - University of Birminghammdr/teaching/modules/security/lectures… · Trusting...
Transcript of Computer Security - University of Birminghammdr/teaching/modules/security/lectures… · Trusting...
![Page 1: Computer Security - University of Birminghammdr/teaching/modules/security/lectures… · Trusting Trust backdoor • How to create an undetectable backdoor: – Change the compiler](https://reader033.fdocuments.net/reader033/viewer/2022042320/5f09dcba7e708231d428da7a/html5/thumbnails/1.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042320/5f09dcba7e708231d428da7a/html5/thumbnails/2.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042320/5f09dcba7e708231d428da7a/html5/thumbnails/3.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042320/5f09dcba7e708231d428da7a/html5/thumbnails/4.jpg)
![Page 5: Computer Security - University of Birminghammdr/teaching/modules/security/lectures… · Trusting Trust backdoor • How to create an undetectable backdoor: – Change the compiler](https://reader033.fdocuments.net/reader033/viewer/2022042320/5f09dcba7e708231d428da7a/html5/thumbnails/5.jpg)
![Page 6: Computer Security - University of Birminghammdr/teaching/modules/security/lectures… · Trusting Trust backdoor • How to create an undetectable backdoor: – Change the compiler](https://reader033.fdocuments.net/reader033/viewer/2022042320/5f09dcba7e708231d428da7a/html5/thumbnails/6.jpg)
• 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](https://reader033.fdocuments.net/reader033/viewer/2022042320/5f09dcba7e708231d428da7a/html5/thumbnails/7.jpg)
• 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](https://reader033.fdocuments.net/reader033/viewer/2022042320/5f09dcba7e708231d428da7a/html5/thumbnails/8.jpg)
![Page 9: Computer Security - University of Birminghammdr/teaching/modules/security/lectures… · Trusting Trust backdoor • How to create an undetectable backdoor: – Change the compiler](https://reader033.fdocuments.net/reader033/viewer/2022042320/5f09dcba7e708231d428da7a/html5/thumbnails/9.jpg)
![Page 10: Computer Security - University of Birminghammdr/teaching/modules/security/lectures… · Trusting Trust backdoor • How to create an undetectable backdoor: – Change the compiler](https://reader033.fdocuments.net/reader033/viewer/2022042320/5f09dcba7e708231d428da7a/html5/thumbnails/10.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042320/5f09dcba7e708231d428da7a/html5/thumbnails/11.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042320/5f09dcba7e708231d428da7a/html5/thumbnails/12.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042320/5f09dcba7e708231d428da7a/html5/thumbnails/13.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042320/5f09dcba7e708231d428da7a/html5/thumbnails/14.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042320/5f09dcba7e708231d428da7a/html5/thumbnails/15.jpg)
What industry is doing
• better engineering• thin clients
– cloud computing
• trusted computing– protected capabilities outside software
control– virtualisation, to support throw-away OS