UNIVERSITY OF WISCONSIN-MADISON
Computer Sciences Department |
||
CS 639
Spring 2020 |
Barton Miller Elisa Heymann |
|
CS 639: Introduction to Software Security |
Instructor: Barton Miller
email: bart@cs.wisc.edu Office: 7363 CompSci Phone: 263-3378 |
Instructor: Elisa Heymann
email: elisa@cs.wisc.edu Office: 7364 CompSci Phone: 262-0664 |
TA: Akhil Guliani
email: guliani@wisc.edu Office: 1308 CS |
TA: Hsuan-Heng Wu
email: hwu337@wisc.edu Office: 4229 CS |
Peer Mentor: Emma He
email: he57@wisc.edu Office: TBD |
Peer Mentor: Ali Zaidi
email: azaidi3@wisc.edu Office: TBD |
Grader: Nachiket Kshatriya
email: nkshatriya@wisc.edu |
We will also reference interesting papers, articles, and videos related to software security and a variety of relevant web resources.
All grades will be recorded on the class Canvas page and Piazza (linked from Canvas) will be used for online discussions.
There will be regular in-class quizzes and learning exercises that are essential to complete.
Important note: Due to the Covid-19 crisis, all class sessions, quizzes, and office hours have moved online using BBCollaborate as of March 24. Class sessions will be recorded under BBCollaborate.
The latest that you can turn in anything for participation is April 28 at 5pm.
1 point: | Each relevant news article that you post to Piazza. Include a summary of the main points and conclusions of the article, including your opinion on it. If the article is about a vulnerability, you need to show two keep things: (1) the vulnerable code, along with an explanation of why it is vulnerable, and (2) details of the exploit of that vulnerability. Note that only the first person who posts the news article will get credit. The articles must be related to software security to count for credit. Please, no articles about phishing or other human engineering attacks unless it is about how to build systems that can detect or defend against such attacks. |
5 points: | Each news article for which you are selected to present in class (and actually present in class). |
3 points: | Each security-related colloquia (talk) that you attend. For each talk, you must check in with Bart or Elisa if they are attending the talk, or get the signature of an attending faculty member. You will need to write a 2-page summary that includes following sections: (1) the speaker's name and affiliation, (2) the title of the talk, (3) the problem that they are addressing, (4) the techniques that they used, (5) the results that they obtained, and (6) your evaluation of the work. Note that you must submit your summary within 10 days of the presentation. |
5 points: | Each security-related conference or journal paper that you review and summarize. Reviews will be 2 pages with the following sections: (1) the authors' names and affiliations, (2) the title of the paper and citation (conference name, date, city; journal name, date, volume, issue, URL if appropriate; website URL), (3) the problem that they are addressing, (4) the techniques that they used, (5) the results that they obtained, and (6) your evaluation of their work. The papers must be related to software security to count for credit. You need instructor approval on a paper before reviewing it (no later than April 21). |
Quiz 1: | Basic Concepts and Stuxnet, (Jan 24) Graded by Nachiket |
Quiz 2: | Numeric Errors and Serialization (Feb 6) Graded by Akhil |
Quiz 3: | Exceptions, Injections, SQL injections, (Feb 13) Graded by Hsuan-Heng |
Quiz 4: | Command Injections, XML injections, (Feb 20) Graded by Akhil |
Quiz 5: | WebGoat exercise, Code Injectio, Directory Traversal, (Feb 27) Graded by Nachiket |
Quiz 6: | SafeOpen, (March 5) Graded by Hsuan-Heng |
Quiz 7: | Web, (March 12) Graded by Akhil |
Quiz 8: | Mobile, (March 26) Graded by Akhil |
Quiz 9: | Threat Modeling, (April 2) Graded by Akhil |
Quiz 10: | FPVA, (April 16) Graded by Hsuan-Heng |
Quiz 11: | Automated Assessment Tools, (April 23) Graded by Hsuan-Heng |
Quiz 12: | Fuzz, (April 30) Graded by Akhil |
Unless otherwise noted, you can work on these assignments alone or in pairs (and just to be clear, a pair means two people).
You must get permission at the time that the work is assigned if you will not be able to make that deadline.
The last assignment will be due by noon on the Friday of the last week of class.
You must complete the online form on the class Canvas page, acknowledging that you accept this policy. Until you hand this in, no assignments will be accepted.
In addition, you will have access to the CS Department's Linux and Windows workstations in the first floor labs for this course. All students who have registered for this class should have an account.
You will need access to a Windows machine for the Thinking Like a Designer part of the class, to use the Microsoft Threat Modeling tool.
Class participation: | 10% |
Quizzes: | 60% |
At home exercises: | 30% |
|
|
||||||||||||||||||||||
|
|
||||||||||||||||||||||
|
|
||||||||||||||||||||||
|
|
||||||||||||||||||||||
|
|
||||||||||||||||||||||
|
|
||||||||||||||||||||||
|
|
||||||||||||||||||||||
|
|
||||||||||||||||||||||
|
|||||||||||||||||||||||
|
|
||||||||||||||||||||||
|
|
||||||||||||||||||||||
|
|
||||||||||||||||||||||
|
|
||||||||||||||||||||||
|
|
||||||||||||||||||||||
|
|
The course is organized around the following activities:
In addition to completing an electronic Faculty Notification Letter request through McBurney Connect, it is important for students to contact us directly by the end of the third week of the semester to set up a meeting to discuss implementation of any necessary accommodations. This early communication helps ensure that accommodations can be implemented in a timely manner. For example, if an alternative exam room is needed, arrangements must be made well in advance of an exam date to ensure room availability and to secure a room booking.