| 1 | Late Breaking News |
| 2 | Overview |
| 2.1 | Administrivia |
| 2.2 | Grading |
| 3 | Course Contents |
| 3.1 | Overflow |
| 3.2 | Lecture Slides |
| 4 | Tutorials |
| 5 | Projects |
| 5.1 | Project 1 |
| 5.2 | Project 2 |
| 5.3 | Project 3 |
| 5.4 | Presentation |
| 5.4.1 | Schedule for this semester |
| 5.4.2 | Schedule for last semester |
We also did Saltzer & Schroeder's paper, the buffer overflow paper, Blaine Burnham's keynote address in the first two lectures. We looked at SSL in quite some detail including the protocol and packet formats. We studied Joncheray's TCP hijacking attack and other kinds of cache poisoning attacks such as those based on ARP and DNS. We did nmap and its different flavors of scanning. If I've missed something, send me e-mail.
The class will meet on Fridays from 8-11am (an ungodly early hour) in LT34 starting Jan 14th 2005. We'll start at 8am on the first day at least.
Pre-requisite: I will assume that you have done CS3235 or equivalent. I will assume that you are well familiar with the contents of the book Introduction to Computer Security by Hugh Anderson which is available in the Science bookstore. Except for chapters 4 and 6 of the book, everything else is relevant to CS4236. In fact, it'd be a good idea to brush up on the course before you start CS4236.
| Task | Weightage |
|---|---|
| Tutorials | 6% |
| Mid-Term | 15% |
| Projects+Presentation | 40% |
| Final | 39% |
Everybody please verify the marks I have
for you on the sheet pinned to my office door. It's important because that
data is in the registrar's database and will be used to compute your
grades. That is the authoritative data for the class so we must ensure that
it's correct and up-to-date.
| Date | Contents |
|---|---|
| Jan 14 | Overview of Computer Security
The Goals of Security. Saltzer & Schroeder. Blaine Burnham's Usenix keynote. Gene Spafford's keynote. Buffer Overflow. The Context of Cryptography [Schneier & Ferguson]. Classical Cryptosystems. Readings:
Projects:
|
| Jan 21 | Hari Raya holiday. No class. |
| Jan 28 | Number theory.
Here I'll assume that you are already somewhat familiar with elementary number theory from CS3235. Readings:
|
| Feb 4 | Symmetric Ciphers.
DES in grisly detail. Block Cipher Chaining modes. Block cipher design principles. Stream ciphers. Readings:
|
| Feb 11 | AES.
Readings:
Projects:
|
| Feb 18 | RSA, Discrete Logs.
Readings:
|
| Feb 25 | We're not saved from the mid-semester break. Signatures
and Hashes.
Readings:
|
| Protocols. Various types of key exchange
& signature protocols. Kerberos. Key escrow. Mental poker. Dining
Cryptographers. ZK.
Mid-term exam during class hours, probably from 10-11am. Readings:
|
| Access Control Models. Access Matrix, HRU,
BLP, Biba, Clarke-Wilson, Chinese Wall. Start on OS Security.
I might do away with this lecture because in my past experience, this material was covered well in CS3235. Instead we might have a guest lecture by Shyue Hong Chuang, a CISSP from Cisco Systems. Readings: |
| Mar 18 | Network Security
IPSec, SSL, TCP Hijacking, Firewalls, Packet Filters, VPNs, DDOS, Intrusion Detection: Host-based, Network based. NFR, Snort and related tools. Readings:
|
| Mar 25 | Good Friday holiday. No class. |
| Apr 1 | More Network Security and assorted topics.
Readings:
|
| OS Security. Virtual Memory, File System protection, Passwords: One time, Strong Passwords from Weak Ones such as EKE, Jablon. Viruses. Start on Network Security. |
| Apr 8 | Student Presentations |
| Apr 15 | Start of reading week. No class. |
Project: Parse and print a certificate encoded in DER and extract fields from it.
Lab: creating data tunnels to effectively import useful services.
You may ignore the slides whose titles have a red cross in the right.
The answers to the
tutorial questions below are given by students and are meant only to serve
as a guide for you. They do not replace the discussion in class (or in my
office for tutorial 8) when the question was presented by the student. I
don't verify the correctness of every step in the solutions that students
send me to put up on the web. Contact the particular student who presented
a question to follow up on details of that question.
If you believe that you will expend significant effort preparing the answer for a particular question and want to be assured that you'll be called for it in class, send me e-mail telling me which question(s) you will solve. I will then assign you that question (on a first come first serve basis) and also display the assignment on this web page against the tutorial. That way you'll be assured that your effort won't be completely wasted.
Allocations: Q1,2 to Xue Mingqiang, Q3 to Ng Jun Ping, Q4,5 to Quoc Dung, Q6 to Myo Mint, Q7, 8 to Tran Nam Hung. Feel free to discuss the questions with your friends and others while attempting to solve them.
Q1 [Nguyen Chi Dung], Q2 [Cai Guan Yan], Q3 [Goh Aik Few], Q4 [Ng Joong Onn], Q5 [Goh Aik Few], Q6 [Ng Joong Onn], Q7 [Luc Charpentier], Q8 [Teo Yong Wei]. Please come during my office hours next week.
Helper Programs: md5sum.java is the Unix equivalent of md5sum. It might help you understand how hash functions can be programmed in Java. Run it as java md5sum <files>.
Test Data: I roiled file foo with the passphrase foo to get foo.roil. I'm not guaranteeing that it's correct but we can use this as a basis to arrive at a debugged format that everyone can test against. So try decrypting it, finding errors in its format using a binary editor etc. Send me feedback on whether you are or aren't able to decrypt it. I will of course use my implementation to test your programs, so if your implementation works against mine directly, I'll have an easier time grading your project. So you can help me debug this code.
For file foo, n = 8, IV = 0xd1ade718fab0a6806357b428a69ec1b5, AES key = 0xa98ee2eb6d22163728855fb975140eef.
java -jar stunnel.jar -gui www-appn.comp.nus.edu.sg 443will create an SSL connection to port 443 (the port where https usually runs) and throw up a GUI to display the HTML code that the Web server returns.
You can just retrieve the data from the remote server without displaying it in a GUI by skipping the -gui option.
Here is project 3.
The material relating to
student presentations for the Spring '05 semester is currently accessible
only within NUS.
| Student(s) | Papers | Date & Time |
|---|---|---|
| Nguyen Quoc Dung , Huynh Thien Tam, Ng Jun Ping | Security on SmartCard.
| slides. |
| Francis Teo, Ng Teng Teng | Homographic Phishing Attacks/Exploits.
| slides. |
| Dinh Thien Anh, Myo Myint | Graphical Passwords - The Image is the Key.
| slides, code. |
| Chuan Huey Ling, Goh Aik Few | Ad-Hoc Networks Security : Prevent and Detect. | slides, flash animation. |
| Koh Wee Kiat, Li Zhengguo David, Xue Mingqiang | Timing attacks on software systems.
| slides, code. |
| Le Quang Vinh, Ho Ngoc Thoai, Thang Cam Hoa | Steganographic File Systems.
| slides. |
| Nguyen Ngoc Nhan, Tran Nam Hung | Digital Watermarking Techniques. | slides, code. |
| Kok Yew Meng, Liu Chen Lin, Quan Yeqiang, Derrick. | Smart card security. | slides. |
| Ng Joong Onn | Snort intrusion detection architecture and algorithms. | slides. |
| Cai Guan Yan, Teo Yongwei, Peter Lau | Intrusion Detection System/Worm Containment. | slides. |
| Luc Charpentier | slides. | |
| Tang Eik Hong, Nguyen Chi Dung | Cracking PkZip. | slides, extra stuff. |
| Tan Chee Kwang Desmond, Tan Tian Xiong Fabian | Primes is in P. | slides, extra stuff. |
| Student(s) | Papers | Date & Time |
|---|---|---|
| Paul Tan | 802.1x/Eapsim | slides |
| Aseem Tandon Zhou Lan | 802.11 Denial-of-Service Attacks: Real Vulnerabilities and Practical Solutions
Your 802.11 Wireless Network has No Clothes | Slides: Aseem, Lan |
| Ta Duy Vuonng | The Design and Analysis of Graphical Passwords. | slides |
| Alan Yap Lee Thiam Chye | Security Holes...Who Cares?
Distributed Tarpitting: Impeding Spam Across Multiple Servers | March 30, 10-10.40am.
Slides: Alan, Thiam Chye |
| Ooi See Kang Shen Ren | Representing TCP/IP connectivity for topological analysis of Computer Network.
LEAP: Efficient Security Mechanisms for Large-Scale Distributed Sensor Networks. | Slides: Ooi See Kang, Shen Ren |
| Li Meixuan Li Qihua | A reputation-based approach for choosing reliable resources in peer-to-peer networks
Towards Voice Generated Cryptographic Keys on Resource Constrained Devices | Slides: Meixuan, Qihua. |
| Lee Hui Huang Lim Ka Tiong | Detecting and Defending against Web-Server Fingerprinting
Digging For Worms, Fishing For Answers | Slides: Hui Huang, Ka Tiong. |
| Fong Wee Teck Tong Jia Yun | Secure Remote Password (SRP-6) Demo | Slides. |
| Tan Wee Hon Lee Ruiwen | RSBAC Demo | Slides. |
| Jonas Rundberg Ola Stering | Quantum Crypto, Steganography. | March 31, 4.40-5.05pm, 5.05-5.30pm. TR9.
Slides: Jonas. |
| Guillaume Saggioro | Dos Protection for UDP-based protocols | Guillaume. |