COMP 5407F / CSI 5116 (Fall 2009): Authentication and Software Security

Calendar course description: Specialized topics in security including those selected from: advanced authentication techniques, user interface aspects, electronic and digital signatures, security infrastructures and protocols, software vulnerabilities affecting security, untrusted software and hosts, protecting software and digital content.
Essential Course Details Office Hours: 1:00-2:00pm, Monday and Wednesday.

Marking Scheme: (Note: no extensions on project dates)
25% - Project 1: Software Vulnerability Tracking (click here for more details).
--- Start immediately (first day of class), due Mon. Oct.19 in class.
30% - Test: Monday Nov.2 (in class). Covers all material up to test date.
35% - Project 2: Research Paper (click here for more details).
--- 10% in-class presentation + 25% written report due Mon. Dec.7
10% - Class participation. Includes preparation (readings in advance), contributions to discussion within class, attendance (including of other students' presentations).

Flu-Related Policy. There is a risk of a flu pandemic this flu season (including Fall 2009). In the event of a pandemic flu outbreak we may need to modify the planned course delivery and/or deadlines and/or assignments. Specific details will be provided if this becomes necessary. In the event that you become ill and have to miss class or assignments, upon becoming well, you are expected to communicate with your instructor to identify missed in-class material, assignments and/or to arrange accommodations.

Policy re: Unethical Behaviour. Any student submitting work including portions originating from someone else, without crediting the original source, is subject to a mark of minus 100% (-100%) on the entire work item. For example, if a project is worth 20%, the 20% is lost plus an additional 20% penalty, making the best possible course mark 60%. If the infraction involves copying from another student, then both students may be penalized. You may, and often should, discuss work with others, but each student must write up submitted work individually. In addition to the above, harsher penalties following from any standard university policies will be pursued where appropriate.

Special Needs Students. Students with disabilities requiring academic accommodations in this course are encouraged to contact a coordinator at the Paul Menton Centre (PMC) for Students with Disabilities to complete the necessary lettters of accommodation. After registering with the PMC, make an appointment to meet and discuss your needs with the instructor at least two weeks prior to the first in-class test or midterm exam, to ensure sufficient time for necessary arrangements.

References and Sources. Lectures will largely be drawn from recent research papers (available online where possible), and supplementary material given in class; students are thus expected to attend all classes. For those wishing to brush up on background reading, recommendations include Stallings and Brown (2007), Gollman (2006), or Kaufman et al. (2003), as found in this list.

Detailed Outline. Topics studied are from the list in the official calendar course description (see top of page). The course is updated from year to year, and may also change due to suggestions by students. A preliminary plan for this year's course follows (subject to change). Notation for background references: "HAC ssN" denotes section N in Handbook of Applied Cryptography, which is available free online. tdb = to be determined.

  • Class 1 (Sept.14): Threat models and attack trees. Class notes. Thinking like an attacker. Begin Project 1 immediately (optional background: read up on the 1988 Internet Worm - see Class 15 below).

  • Class 2 (Sept.16): On-line password dictionary attacks. Securing Passwords Against Dictionary Attacks, Pinkas and Sander (ACM CCS 2002). Optional/supplementary: On Countering Online Dictionary Attacks with Login Histories and Humans-in-the-Loop, van Oorschot and Stubblebine (ACM TISSEC 2006).

  • Class 3 (Sept.21): Off-line password dictionary attacks. Protecting Poorly Chosen Secrets from Guessing Attacks, Gong et al. (IEEE JSAC vol.11 no.5 June 1993). Background review: passwords (HAC ss10.2.1-10.2.2), time variant parameters (HAC ss10.3.1).

  • Class 4 (Sept.23): "Strong" Password-Protocols. Encrypted Key Exchange: Password-Based Protocols Secure Against Dictionary Attack, Bellovin and Merritt (IEEE S&P 1992). Optional/supplementary (attacks on EKE; alternatives SPEKE, SRP): Number Theoretic Attacks on Secure Password Schemes, S. Patel (IEEE S&P 1997); Strong Password-Only Encrypted Key Exchange, D. Jablon (ACM Computer Communcations Review, October 1996); Extended Password Key Exchange Protocols Immune to Dictionary Attack, D. Jablon (WET-ICE 1997); The Secure Remote Password Protocol, T. Wu (NDSS 1998).

  • Class 5 (Sept.28): Phishing (web spoofing). Why Phishing Works, Dhamija et al. (CHI'06).

  • Class 6 (Sept.30): Anti-phishing - toolbars and client-end tools. Notes from class, also: Client-Side Defense Against Web-Based Identity Theft, Chou et al. (NDSS'04).

  • Class 7 (Oct.5): Anti-keylogging, password managers, password management. Stronger Password Authentication Using Browser Extensions, Ross et al. (USENIX Security 2005). Optional/supplementary: Digital Objects as Passwords, Mannan et al. (HotSec 2008).

  • Class 8 (Oct.7): Host site authentication and man-in-the-middle attacks. Perspectives: Improving SSH-style Host Authentication with Multi-Path Probing, Wendlandt et al. (USENIX Annual 2008). Optional/supplementary: Message Authentication by Integrity with Public Corroboration, P. van Oorschot (NSPW 2005).

  • Class 9 (Oct.14): Pharming and DNS-based exploits. Class notes. Background: The Pharming Guide, Gunter Ollmann (white paper, July 2005).

  • Class 10 (Oct.19): Public key infrastructure and trust models. Note: Project 1 is due in class today. Public-key certificates (HAC, pp.559-560), certificate trust models (572-576), key life cycle (pp.576-581) and implementation issues. Background on RSA signatures (pp.433-434). Optional/supplementary: All Sail, No Anchor II: Acceptable High-End PKI, Blakley and Blakley, Int. J. Information Security (2004) 2(2):66-77.

  • Class 11 (Oct.21): Biometrics. An Introduction to Biometric Recognition, Jain et al., IEEE Trans. on Circuits and Systems for Video Tech. (Jan. 2004). Optional/supplementary: Biometrics: A Tool for Information Security, Jain et al., IEEE Trans. Info. Forensics and Security (June 2006).

  • Class 12 (Oct.26): Trojan horses and computer viruses. McIlroy, Virology 101 (Computing Systems, Spring 1989); and Thompson, Reflections on Trusting Trust (Comm. ACM, Aug.1984).

  • Class 13 (Oct.28): More viruses and anti-virus. Class notes from selected books and papers. Background: Computer Virus-Antivirus Coevolution, Nachenberg (Comm. ACM, Jan. 1997; pdf available online).

  • Class 14 (Nov.2): Test (in class).

  • Class 15 (Nov.4): The Internet worm of 1988. "Crisis and Aftermath (The Internet Worm)", G. Spafford (Comm.ACM 1989, vol.32 no.6, pp.678-687; pdf available online).

  • Class 16 (Nov.9): More computer worms. How to 0wn the Internet in Your Spare Time, Staniford et al. (USENIX Security 2002). Optional/supplementary: The Spread of the Sapphire/Slammer Worm (Feb.2003), Moore et al.; Reflections on Witty, N. Weaver (;login, vol.29 no.3, June 2004); Blaster; Self-stopping Worms, Ma et al. (ACM WORM 2005).

  • Class 17 (Nov.11): Restricting system configuration privileges (replacing and installing binaries). Self-signed Executables: Restricting Replacement of Program Binaries by Malware (USENIX HotSec'07), and System Configuration as a Privilege (USENIX HotSec'09), by G. Wurster, P.C. van Oorschot.

  • Classes 18-22 (Nov.16-30): student presentations.
    Nov.16: Carson Brown (content-sniffing/browser-origin attacks), Payal Bhatia (CSRF)
    Nov.18: Alex Cowperthwaite (DNSSEC), Hamid Mottaghi (fast-flux exploits)
    Nov.23: Alain Forget (strong password protocols), Suren Mohanathas (tbc: biometrics and keys)
    Nov.25: Ben Tiessen (memory management exploits), Luc des Trois Maisons (rootkits)
    Nov.30: Vekatesh Yadav (drive-by downloads), Michael Roe (PKI in practice)

  • Class 23 (Dec.2). Drive-by downloads and web security. All Your iFRAMEs Point to Us, Provos et al. (USENIX Security 2008). Supplementary: The multi-principal OS construction of the Gazelle web browser, Wang et al. (USENIX Security 2009).

  • Class 24 (Dec.7): Same-origin policy and cross-site scripting. SOMA: Mutual Approval for Included Content in Web Pages, Oda et al. (ACM CCS 2008). Background: Cross-site Scripting Worms and Viruses, Grossman (white paper, April 2006; disregard the marketing on pp.20-21). Supplementary: Browser security handbook, Michal Zalewski (2008, 2009 online resource).

    Other: Rootkits and buffer overflow exploits. Class notes. Modern Exploitation and Memory Protection Bypasses, Alex Sotirov, invited talk/slides (USENIX Security 2009); Nozzle: A Defense Against Heap-spraying Code Injection Attacks, Ratanaworabhan et al. (USENIX Security 2009). Background: A Comparison of Publicly Available Tools for Dynamic Buffer Overflow Prevention, Wilander and Kamkar (NDSS'03).


  • Last updated: November 30, 2009
    For comments, mail to: paulv (insert @ here) scs.carleton.ca.