CS558 : Introduction to Network Security
Boston University, Computer Science, Spring, 2014

Course Syllabus     Assignments      Schedule      Calendar      Link to websubmit      Link to piazza     
  

Instructor:     Sharon Goldberg
Office Hours:     Thursdays 3:30-4 PM AND 5-7:15PM, MCS135
Lectures:     Tuesday & Thursday 9:30-11AM, CAS116

Teaching Fellow:     Ethan Heilman
Office Hours: Mondays 9-11AM, MCS135
Discussions:
Friday, 9:00-10:00AM in MCS B19
Friday 11:00-12:00AM in SCI 115

Course Assistant:     Dimitris Papadopoulos


Communications: We will use piazza to communicate with you. You are welcome to use Piazza to set up study groups, to post interesting security incidents you read about (please tag these as "interesting incident in the news"), or to discuss the course with other students. If you have a question about the course you should: (a) Come to office hours, OR (b) Post to Piazza. Questions posted to Piazza will be answered by the course staff on Friday, Sunday, and Monday, and on a best-effort basis throughout the rest of the week.

If you need to talk to the course staff in private, you can send us a private message on Piazza to let us know that you want to have a private conversation during office hours. Then show up at office hours to discuss your issue. You should not expect a response; instead assume we have read your message and you should then just show up at office hours. If you want to talk to one of us in person but absolutely can't make office hours, please send the relevant person an email with at least three different options for when you are available to meet.

Ethics

To defend a system you need to be able to think like an attacker, and that includes understanding techniques that can be used to compromise security. However, using those techniques in the real world may violate the law or the university's rules, and it may be unethical. Under some circumstances, even probing for weaknesses may result in severe penalties, up to and including expulsion, civil fines, and jail time. Our policy is that you must respect the privacy and property rights of others at all times, or else you will fail the course.

Acting lawfully and ethically is your responsibility. Carefully read the Computer Fraud and Abuse Act (CFAA), a federal statute that broadly criminalizes computer intrusion. This is one of several laws that govern ``hacking." Understand what this law prohibits.

Read BU's Conditions of Use and Policy on Computing Ethics and the BU's Academic Conduct Code. As members of the university, you are required to abide by these policies.

Schedule

The security mindset (Thursday Jan 17 ) Assigned reading: Chapter 1 of Anderson's book
Symmetric-Key Encryption and Authentication (Jan 21-28) Assigned reading: Sections 5-5.2.2, 5.3.2-5.3.3 of Anderson's book
Background reading: The Battle of the Clipper Chip New York Times, June 12, 1994.
Reference in Katz and Lindell: I was asked to give references to the material we covered in class to the Katz and Lindell book. Katz and Lindell go into MUCH more detail than we cover in this class, so I provide this info for reference: Section 1.2 (encryption), Section 1.4 (useful background), Section 2.1-2.3 (One Time Pad), Section 3.2-3.21 (more on encryption), Section 3.5 (CPA security) Section 3.7 (CCA security) Section 4-4.3 (MACs)
Hashing (Jan 30 - Feb 6) Reference in Anderson: Sections 5.2.4, 5.3.1 of Anderson's book
Reference in Katz and Lindell: I was asked to give references to the material we covered in class to the Katz and Lindell book. Katz and Lindell go into MUCH more detail than we cover in this class, so I provide this info for reference: Section 3.6.1 (PRFs) Section 4.6 (Collision resistant hash functions) Section 4.7.2 (HMAC - just construction 4.17) Section 6.1.1 (one-way-functions) Appenix A.4 (the birthday paradox)
Public Key Cryptography: Digital Signatures, Encryption, And Key Exchange. (Feb 11-Feb 18) Readings in Anderson: Section 5.2.5 (Asymmetric primitives) Sections 5.7.1 (RSA) 5.7.2.2 (Diffie Helman Key Exchange), 5.7.5 (Certificates) of Anderson's book
Reference in Katz and Lindell: I was asked to give references to the material we covered in class to the Katz and Lindell book. Katz and Lindell go into MUCH more detail than we cover in this class, so I provide this info for reference: Section 9.4 (Diffie Helman Key Exchange) 10-10.2.1 (public key encryption) 10.4-10.4.2 (RSA encryption [This section is a particularly good reference]). 12-12.4 (Signatures)
Public Key Infrastructure (PKI) and Certificates (Feb 20-Feb 25)
Ethics and law. Lecture visit from Dennis Hart (Feb 27)
Web security (March 4-20) Required readings: Please read the Friedl techtip on SQL injection that was discussed in class, and this excellent article on Secure Session Management With Cookies for Web Applications. You should also review the sides above to understand XSS and CSRF.
Optional readings: Here is a reference on CSRF.
TCP/IP and its security (March 27-April 3)

DDoS and Amplification attacks (?)


DNS security (April 17)

Core resources. Please review the below:

Extra resources, for those interested in further work on this topic:

BGP security (April 29-May 1)

We discussed BGP security, the RPKI, Secure BGP, and Secure Origin BGP.


Final poster session: Web security audits! (May 2)


Done! Thanks for a great semester and enjoy your summer!