|
|
The course covers principles of computer systems security.
We will discuss various attack techniques and how to defend against them.
Topics include Network attacks and defenses, Operating system holes,
application security (web, e-mail, databases), viruses, social engineering
attacks, privacy, and digital rights management. Course projects will
focus on building reliable code. The course is intended for senior
undergraduates and first year graduate students. Pre-requisites:
CS140 (operating systems).
Topics
Introduction
Part I: Application security
- Some examples of things that go wrong.
setuid programs,
misconfiguration, macro languages, hidden functionality, buggy software.
Reading: Improving
the security of your site by breaking into it, Dan Farmer, Wietse
Venema.
- Examples and
tools for designing secure application code. [ppt]
Reading: Using
Programmer-Written Compiler Extensions to Catch Security Holes, Ken
Ashcraft, Dawson Engler
- Buffer
overflow attacks and other common bugs. [ppt]
Finding overflows. Exploiting overflows. Defenses. Reading: Smashing The Stack
For Fun And Profit, Aleph One. Buffer
Overflows: Attacks and Defenses for the Vulnerability of the Decade,
Crispin Cowan, et al. Exploiting
Format String Vulnerabilities, team teso.
- Dealing with
bad (legacy) application code. Sandboxing. [ppt]
Reading: A note on the
confinement problem, Butler Lampson. A secure
environment for untrusted helper applications: confining the wily
hacker, Ian Goldberg, David Wagner, et al. Traps
and Pitfalls: Practical Problems in System Call Interposition Based
Security Tools, Tal Garfinkel.
- Web browser
and mobile code security . [ppt]
Reading: McGraw and Felten, Securing Java, Chapter 2.
- Web site security: attacks and defenses
Reading: Dos and Don'ts
of Client Authentication on the Web, Kevin Fu, Emil Sit, Kendra
Smith, and Nick Feamster. Cross site scripting
explained, Amit Klein. SQL Injection
attacks, Chris Anley.
- Viruses and Worms.
Reading: P.
Szor, P. Ferrie, Hunting for
metamorphic. 2001. Nachenberg, Computer
Virus-Antivirus Coevolution. Comm. ACM, 40(1), pp. 46-51, January
1997.
- Use of
cryptography in computer security . [ppt]
Reading: Ross Anderson, Why cryptosystems
fail. Optional: WEP protocol
security.
Part II: OS Security
- Secure
operating systems. Access control and file system security . [ppt] (1.5
lectures)
Reading: J.H. Saltzer and M.D.
Schroeder, The
Protection of Information in Computer Systems. The first
three pages and section 5.2 of Setuid
Demystified, by Chen, Wagner, and Dean. See Access
control pages and Common
Criteria description for further information on Windows.
- User
authentication. [ppt]
(half lecture)
Passwords, challenge-response, biometrics,
token-based authentication. Single-sign-on, MS Passport, Liberty
Alliance.
- Authentication in
remote file systems and Kerberos. [ppt] (half
lecture)
Unix file sharing (NFS, AFS) and Windows file sharing (SMB,
LanMan, NTLM); Kerberos. Reading: Kerberos
Authentication.
- Intrusion
detection . [ppt] (half
lecture)
Reading: Paxson, Bro: A
System for Detecting Network Intruders in Real-Time. Proc. 7th
USENIX Security Symposium, San Antonio, TX, January 1998.
- Digital Rights Management. NGSCB and TCG.
Part III: Network security
- Insecurity
in existing network protocols . [ppt]
Reading: Steven M. Bellovin, Security
Problems in the TCP/IP Protocol Suite, in Computer
Communications Review 2:19, pp. 32-48, April 1989, Using the
Domain Name System for System Break-Ins, in Proc Fifth Usenix
UNIX Security Symposium, Salt Lake City, UT, June, 1995.
- Security protocols: IPsec, DNSsec, SPF.
Reading:
- Firewalls
. [ppt]
Reading: Insertion, Evasion,
and Denial of Service: Eluding Network Intrusion Detection, T. Ptacek
and T. Newsham.
- Denial of
service attacks. . [ppt]
Reading: The
TFN distributed denial of service attack tool, D. Dittrich Practical
network support for IP Traceback, S. Savage, et al.
Part IV: Final topics
- Electronic transfer of money - Guest lecture by Pat Faith, VISA USA.
Payment mechanisms on the
Internet. The visa payment system.
- Electronic voting. . [ppt]
Voting, DRE machines, and the Diebold case
study. Discussion of cryptographic approaches.
Reading:
T. Kohno, A. Stubblefield, A. Rubin, D. Wallach, Analysis of an Electronic Voting System,
in IEEE Symposium on Security and Privacy 2004. IEEE Computer Society Press, May 2004.
|