Information for Fall 14 CS136 --- Computer Security

This page contains pointers to Postscript versions of slides used in CS136, 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.

I will be lecturing on these subjects during the class. Note that due dates listed on the syllabus are tentative. Due dates presented on this web page and announced in class will be the correct dates.

Final Exam

The final exam for this class will be held on Friday, December 19, from 8-11 AM in our regular room. The final exam will consist of multiple choice questions and a few short answer questions, similar in format to the midterm. The test will cover all material in the class, including everything discussed in lectures and all readings, except those explicitly indicated as not being tested on. This includes material covered before the midterm.

Here is a sample final exam. It is similar in format, but some of the questions may cover material that was not discussed in this quarter's version of the class. Here are the answers to the sample final exam.

TA and Labs

The TA for the course will be Turker Garip -- (mtgarip@CS.UCLA.EDU). The labs for this course will consist of 5 hands-on, practical and exploratory projects covering security-related topics, plus a short introduction to the lab software. Office hour and discussion section information will be determined following the first recitation section and posted here.

Instructions for accessing the homework will be given out via email early in the first week of classes and will be discussed during the first recitation sections.

Week 10 (December1 8 - December 14)

Thursday, December 10

Slides:

Lecture 16. Privacy.

PDF version of Lecture 16.

Assigned readings:

All readings for this lecture are web pages. You should read the entire web page, but need not follow links on the pages to other pages (unless you're interested in doing so, of course - but you won't be tested on the other pages' contents).

An editorial on whether privacy is dead.

A catalog of Snowden's leaks concerning the NSA. I will not test you on the content of this article, given that it's basically a list of very briefly described technologies and programs, but you should read through it to get a sense of the scope of NSA surveillance and the techniques they (and undoubtedly other groups) use to undermine privacy.

A Wikipedia article on various criticisms of Google. You are only required to read the section on privacy issues. Bear in mind that, while this article is specific to Google, much of what is discussed applies equally to other web companies, especially those that have frequent, long-term interactions with users.

Tuesday, December 8

Slides:

Lecture 15. Web Security.

PDF version of Lecture 15.

Assigned readings:

All readings for this lecture are web pages. You should read the entire web page, but need not follow links on the pages to other pages (unless you're interested in doing so, of course - but you won't be tested on the other pages' contents).

A fairly long article covering a wide range of web security problems and ways to avoid them.

An article on web encryption options.

An article describing SQL injection attacks.

An article describing cross-site scripting attacks.

Week 9 (December1 1 - December 7)

Thursday, December 4

Slides:

Lecture 14. Secure Programming, Continued.

PDF version of Lecture 14.

Assigned readings:

No new readings assigned for this class.

Tuesday, December 2

Slides:

Lecture 13. Secure Programming.

PDF version of Lecture 13.

Assigned readings:

CERT's Top 10 Secure Coding Practices.

Apple's recommendations on avoiding buffer overflows.

Week 8 (November 19 - November 25)

Tuesday, November 25

Slides:

Lecture 12. Malicious Software.

PDF version of Lecture 12.

Assigned readings:

Textbook: Chapter 22 (pages 613-641)

Web links:

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. You are responsible for this article as part of the class' required reading.

If you want to get a deeper explanation of Stuxnet, here is a long, detailed report by Symantec. THIS SYMANTEC 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.

Thursday, November 20

No new lecture or readings assigned for today. We'll be catching up with the lecture we've fallen behind, so this session will cover intrusion detection, lecture 11, and the associated reading material, which was originally assigned for last week.

Week 7 (November 12 - November 18)

Tuesday, November 18

Slides:

Lecture 11. Intrusion Detection.

PDF version of Lecture 11.

Assigned readings:

Textbook: Chapter 25 (pages 723-767)

Web link (not required reading; not on the final exam):

SANS' frequently asked question page on intrusion detection contains links to a lot of useful information, without trying to sell you on a particular product.

Thursday, November 13

Slides:

Lecture 10. Network Security, Continued.

PDF version of Lecture 10.

Assigned readings:

Textbook: Chapter 26 (pages 773-799)

Week 6 (November 6 - November 11)

Thursday, November 6

Midterm

Tuesday, November 11

Holiday - Veteran's Day. No class held.

Week 5 (October 30 - November 5)

Thursday, October 30

Slides:

Lecture 8. Operating System Security.

PDF version of Lecture 8.

Assigned readings:

Textbook: Chapter 17, Sections 17.1 - 17.2.2 (pages 439-446), introduction to Section 17.3 (pages 446-448), Section 17.3.3 (pages 467-470).

A white paper on TPM.

A white paper on full disk encryption.

Tuesday, November 4

Slides:

Lecture 9. Network Security.

PDF version of Lecture 9.

Assigned readings:

No reading assigned for this lecture.

Week 4 (October 23 - 29)

Thursday, October 23

Since I have fallen a full lecture behind, this lecture will be the one I planned to give in the previous class. The readings are also the same. I include both the slides and the reading assignment here, but they are the same as those assigned for Tuesday, October 21.

Slides:

Lecture 6. Security protocols.

PDF version of Lecture 6.

Assigned readings:

Textbook: Chapter 10, section 10.2 (pages 246-252).

Tuesday, October 28

Slides:

Lecture 7. Authentication.

PDF version of Lecture 7.

Assigned readings:

Textbook: Chapter 12 (pages 309-335)

Web links:

A discussion on choosing secure passwords.

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".

Week 3 (October 16 - 22)

Thursday, October 16

Slides:

Lecture 5. Cryptographic keys.

PDF version of Lecture 5.

Assigned readings:

Textbook: Chapter 10, sections 10.1, 10.3, 10.4, and 10.5 (pages 245-246, 252-266)

Web link:

Firefox blog post on certificate pinning.

Tuesday, October 21

We will be having a guest lecture in the first half of class. A visitor from Sandia National Labs will be speaking about security-related work they do at that lab.

Slides:

Lecture 6. Security protocols.

PDF version of Lecture 6.

Assigned readings:

Textbook: Chapter 10, section 10.2 (pages 246-252).

Week 2 (October 9 - 15)

Thursday, October 9

Slides:

Lecture 3. Introduction to cryptography.

PDF version of Lecture 3.

Assigned readings:

Textbook: Introduction to Section IV and Chapter 9, sections 9.1-9.2.2.2 (pages 215-227).

Textbook: Chapter 2 (pages 31-44) and Chapter 15 (pages 381-396).

Tuesday, October 14

Slides:

Lecture 4. More on cryptography.

PDF version of Lecture 4.

Assigned readings:

Textbook: Chapter 9, sections 9.2.3-9.7 (pages 228-241)

Week 1 (October 2 - 8)

Tuesday, October 7

Slides:

Lecture 2. Security Design Principles, Policies, and Tools.

PDF version of Lecture 2.

Assigned readings:

Textbook: Chapter 4, Sections 4.1-4.6 (pages 95-114)

Chapter 5, Sections 5.1-5.2.2 (pages 123-132)

Chapter 6, Sections 6.1-6.2 (pages 151-155)

Chapter 7, Section 7.1 (pages 169-177)

Thursday, October 2

Slides:

Lecture 1. Introduction.

PDF version of Lecture 1.

Assigned readings:

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.