This page contains pointers to textbook assignments and other reading materials for CS236, Computer Security. It also contains pointers to non-required reading and other material related to the class.
This page is organized by the weeks of the quarter in which lectures were given. The weeks are in inverse order, on the assumption you will most often be looking for the most recent week.
This class will be taught by Peter Reiher. The textbook is Computer Security: Art and Science, by Matt Bishop. Assigned readings are from this book, unless otherwise indicated. Dr. Bishop has also published a second textbook that contains selected sections of this book, with a similar title. I can't guarantee that all material assigned will actually be in this other book, and it will definitely be at different pages if it's there at all.
The TA for the course is Emanuel Lin (emanuel@CS.UCLA.EDU). The labs for this course will consist of 5 hands-on, practical and exploratory projects covering security-related topics, plus a small introduction to the lab software. More materials on the exercises is available here.
The Heartbleed vulnerability in OpenSSL has been getting a lot of press lately. It is a serious vulnerability that you, as students of computer security, should know about, understand, and be able to discuss intelligently. We have not gotten to all the material in the class that bears on this particular problem, but, at the minimum, you should recognize that a vulnerability like Heartbleed that can expose cryptographic keys is serious. I provide below some resources to give you further information about Heartbleed.
Here is a brief technical description of the Heartbleed vulnerability.
Here is a tool to test if a web site is susceptible to the Heartbleed attack.
Here is a link to Bruce Schneier's blog post on Heartbleed. It's a bit more alarmist than he usually is, in my opinion, but generally he's a highly respected authority on cyber security issues, and usually worth listening to.
The final exam will be held on Saturday, June 7 from 1-4 PM in 5252 BH, unless you make arrangements for it to be proctored elsewhere. The final exam will consist of four essay questions, similar in style to those on the midterm. The exam will cover all material from the class, not just the material from after the midterm. Here is a sample final exam.
The SANS 20 Critical Security Controls. This is the front web page. Each control has its own web page attached. You should read both this front page and each of the 20 separate pages. However, if any of them have other embedded links, you need not follow and read them.
Observations from the DNSSEC Deployment, E. Osterweil, D. Massey, and L. Zhang, 3d IEEE Workshop on Secure Network Protocols, 2007. A good, short description of DNSSEC and interesting information about its degree of deployment.
Secure Border Gateway Protocol (Secure BGP),, Stephen Kent, Charles Lynn, Karen Seo, IEEE Journal on Selected Areas in Communication, Vol. 18, No. 4, April 2000. The original paper proposing Secure-BGP.
Tor: The Second-Generation Onion Router, R. Dingledine, N. Mathewson, and Paul Syverson, Usenix Security Symposium, 2004. Tor is a version of onion routing that improves the security, privacy, and performance of the original onion routing mechanisms.
Identity, Location, Disease, and More: Inferring Your Secrets from Android Public Resources, X. Zhou, S. Demetriou, D. He, M. Naveed, Z. Pan, Z. Wang, C. Gunter, and K. Nahrstedt, ACM CCS 2013. A paper describing how one any app running on an Android smartphone can acquire sensitive information on the phone's user.
A catalog of the Snowden revelations on NSA surveillance. This page just provides a brief description of each revelation coming from Mr. Snowden's release of NSA documents. It gives an interesting picture of the ways in which that agency can and has compromised users' privacy.
Revolver: An Automated Approach to the Detection of Evasive Web-based Malware, A. Kapravelos, Y. Shsohitaishvili, M. Cova, C. Kruegel, and G. Vigna, Usenix Security Symposium, 2013. This paper describes a step in the ongoing fight between attackers who want to inject malicious scripts into people's browsers and defenders' attempts to prevent such scripts from compromising user machines.
SQLrand: Preventing SQL Injection Attacks, Stephen Boyd and Angelos Keromytis, 2nd Applied Cryptography and Network Security (ACNS) Conference, 2004. A paper on handling SQL injection attacks on web servers.
An Introduction to Information System Risk Management, Steve Elky, 2006.
Threat Modeling: A Process to Ensure Application Security, Steven Burns, 2005.
Securely Programming in C, Sayed Jamil Ahmed, 2002.
Lessons Learned in Implementing and Deploying Crypto Software, Peter Gutmann, Usenix Security Symposium, 2002. Practical examples of the problems of using good crypto in real programs.
CERT's Top 10 Secure Coding Practices.
Apple's recommendations on avoiding buffer overflows.
Textbook: Chapter 22 (pages 613-641)
Textbook: Chapter 19, sections 19.1-19.2.3.3 (pages 497-523)
Papers:
How to 0wn the Internet in Your Spare Time, Stuart Staniford, Vern Paxson, Nicholas Weaver, 11th Usenix Security Symposium, August 2002. A classic analysis of how fast worms can move in the Internet.
Measuring Pay-per-Install: The Commoditization of Malware Juan Caballero, Chris Grier, Christian Kreibich, and Vern Paxson, Usenix Security Symposium, 2011. As malware has become a serious (though criminal) business, researchers have started to investigate the economics of this business. This paper is an interesting example of such an investigation.
Web Links:
Coreflood is the botnet taken down by the FBI, using controversial techniques. This article is not highly technical, but gives a good description of precisely what the FBI did, and outlines the legal arguments for why it was acceptable.
Here is an article on Stuxnet that combines a good description of what the worm actually does with discussion of its origins and purpose, specifically avoiding jumping to conclusions. The article is from 2010, so some information in it is outdated, but it gives a pretty good, moderately technical description of the worm in a reasonably brief form. You only need to read the article, not the comments by others that follow it.
If you want to get a deeper explanation of Stuxnet, here is a long, detailed report by Symantec. THIS REPORT IS OPTIONAL, AND NO MATERIAL FROM IT WILL APPEAR ON THE FINAL EXAM. The link is only provided so those with a deeper interest in this malware can obtain the best available technical information on it.
Textbook: Chapter 10, sections 10.1-10.2 (pages 245-251)
Textbook: Chapter 11, sections 11.3-11.6 (pages 283-306)
Textbook: Chapter 26 (pages 773-799)
Web links:
RFC 2267: Network Ingress Filtering: Defeating Denial of Service Attacks Which Employ IP Source Address Spoofing, P. Ferguson and D. Senie, January 1998. One of two RFCs that define ingress filtering. The other one defines it in the opposite manner.
SYN Cookies, D. J. Bernstein. A good explanation of the details of SYN cookies to handle TCP SYN floods.
The Crossfire Attack, Min Suk Kang, Soo Bum Lee, and Virgil Gligor, IEEE Symposium on Security and Privacy, 2013. A recent paper on using DDoS techniques to isolate entire parts of the Internet.
Textbook: Chapter 25 (pages 723-767)
Web links:
SANS' frequently asked question page on intrusion detection contains and links to a lot of useful information, without trying to sell you on a particular product.
Because of the midterm, which will be on Saturday, May 3 from 1-3 PM, only one lecture is assigned this week.
The midterm examination is open book, open notes. You will be allowed to use laptop or pad computers to take the test, but you are not allowed to consult the Internet or ask others via electronic means for help on the test. The test will consist of three essay questions on issues covered in lectures and readings. Everything discussed in the first nine lectures and all assigned readings (except those explicitly identified as not being tested) are possible materials for the test. Things discussed ONLY in the exercises will not be on the test. Here is a sample midterm that is similar in style to the one you will be given.
This isn't exactly an answer sheet (for reasons explaned in it), but should give you some guidance about what I would have been looking for if this were your real midterm.
One hint on studying for the midterm: make sure you understand the materials posted on the web page about the Heartbleed vulnerability.
The midterm will be held at UCLA in 5252 Boelter Hall, unless you have made previous arrangements for your exam to be proctored at another location.
Textbook: Chapter 18, pages 477-494.
Textbook: Chapter 21, pages 571-607.
Web links:
Trusted Computing: Promise and Risk, Seth Schoen, Electronic Frontier Foundation.
M. Corner and Brian Noble, Zero-Interaction Authentication, Mobicom 2002. An interesting use of a cryptographic file system for mobile computing.
Slides:
Textbook: Chapter 12 (pages 309-335)
Web links:
An article on the sudden increase in size of certificate revocation lists, presumably due to concerns over Heartbleed. One CRL provider reported that their list has grown in size by nearly two orders of magnitude since Heartbleed was divulged. There are bandwidth costs associated with downloads of certificate revocation lists, as this article discusses. The topic of this article isn't relevant to this week's lectures, but to last week's. However, you should read it anyway, due to its high topicality.
A discussion on choosing secure passwords.
A recent article arguing that much security advice given to users, including advice on passwords, is ignored for good reasons. This article has gotten wide attention, much of which shows insufficient understanding of the author's points.
A short essay on the limits of using biometrics by Bruce Schneier. This essay is embedded in a longer newsletter. You need only read the section titled "Biometrics in Airports".
I. Dubrawsky, Cryptographic Filesystems, Part One: Design and Implementation,. A short web article describing basic approaches to cryptographic file systems and outlining the designs of a few well known examples.
J. Alex Halderman, Seth D. Schoen, Nadia Heninger, William Clarkson, William Paul, Joseph A. Calandrino, Ariel J. Feldman, Jacob Appelbaum, Edward W. Felten, Lest We Remember: Cold Boot Attacks on Encryption Keys, Usenix Security Symposium, 2008. One of those papers that suddenly undermines a security assumption we'd all relied on. In this case, the assumption that RAM loses its data when power is turned off. It's particularly relevant to things like software full disk encryption, one of the technologies discussed in lecture 8.
Textbook: Chapter 9, sections 9.2.2.2-9.7 (pages 227-241)
Textbook: Chapter 10, sections 10.3-10.9 (pages 252-272)
Web links:
You should also read the material on Heartbleed, referenced above, for this week.
Overview of Differential Power Analysis, Paul Kocher, Joshua Jaffe, and Benjamin Jun. A short overview of one type of side-band technique that can be used to break cryptography on a smart card.
Bruce Schneier's informal analysis of the meaning of the attack on SHA-1. You only need to read the article itself, not the lengthy sets of comments and responses that follow it. If you'd like to develop a deeper understanding of the issues involved in secure hashes related to collisions, the topic is discussed at length in these comments, but you aren't required to read them.
Papers:
Why (special agent) Johnny (still) Can't Encrypt, Sandy Clark, Travis Goodspeed, Perry Metzger, Zachary Wasserman, Kevin Xu, and Matt Blaze, Usenix Security Symposium, 2011. An analysis of the effects of a flawed implementation of cryptography and poor user interfaces on the practical utility of a
This week's reading assignment is a bit longer than we will typically have.
Textbook: Chapter 2 (pages 31-44) and Chapter 15 (pages 381-396).
Textbook: Chapter 4 (pages 95-120), Sections 5.1-5.2.2 (pages 123-132), Sections 6.1-6.2 (pages 151-155), Sections 7.1-7.2 (pages 169-180).
Textbook: Introduction to Section IV and Chapter 9, sections 9.1-9.2.2.2 (pages 215-227), Chapter 11, sections 11.1-11.2 (pages 275-283).
Textbook: Chapter 1 (pages 1-25)
Web links:
Improving the Security of Networked Systems, Julia Allen, Christopher Alberts, Sandi Behrens, Barbara Laswell, and William Wilson.
Why Computers Are Insecure, Bruce Schneier. (The link leads to an entire web page on various security subjects. Read it all, if you want, but the assignment is only this essay, which is around a page and a half.)
Social Engineering Fundamentals, Part I: Hacker Tactics Sarah Granger.
Slides:
Lecture 2, Prolog. While the stories in this prolog are no longer recent, the attitudes that made them possible are still common.