COMP 5407F / CSI 5116 (Fall 2010): 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: Tues 10:00-12:00noon

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 Thursday Oct.14 in class.
30% - Test: Tuesday Oct.26 (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 Thursday Dec.2
10% - Class participation. Includes preparation (readings in advance), contributions to discussion within class, attendance (including of other students' presentations).

Flu-Related Policy. 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.

Academic Accommodation. You may need special arrangements to meet your academic obligations during the term. For an accommodation request the processes are as follows: 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.9): Threat models, attack trees, thinking like attackers. Class notes. Begin Project 1 immediately (optional background: read up on the 1988 Internet Worm - see Class 15 below).

  • Class 2 (Sept.14): On-line password dictionary attacks. Securing Passwords Against Dictionary Attacks, Pinkas and Sander (ACM CCS 2002).

  • Class 3 (Sept.16): Off-line dictionary attacks and verifiable text. 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.21): "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 Authenticated 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.23): Phishing (web spoofing). Why Phishing Works, Dhamija et al. (CHI'06).

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

  • Class 7 (Sept.30): Pharming and DNS-based exploits. Class notes. Background: The Pharming Guide, Gunter Ollmann (white paper, July 2005).

  • Class 8 (Oct.5): Graphical Passwords. Class notes (and slides) based on: Graphical Passwords: Learning from the First Twelve Years, Biddle et al. (update of 2009 technical report).

  • Class 9 (Oct.7): Alternative password schemes and estimating effective key spaces. The Usable Security of Passwords based on Digital Objects: From Design and Analysis to User Study, Mannan et al. (Technical Report TR-10-02, Carleton University, School of Computer Science, Feb.16, 2010). TwoStep: An Authentication Method Combining Text and Graphical Passwords,van Oorschot and Wan (MCETECH 2009).

  • Class 10 (Oct.12): 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).

  • Class 11 (Oct.14): Public key infrastructure, trust models and SSL. 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). Advanced reading (optional): All Sail, No Anchor II: Acceptable High-End PKI, Blakley and Blakley, Int. J. Information Security (2004) 2(2):66-77.

  • Class 12 (Oct.19): Secure Software Update. Survivable Key Compromise in Software Update Systems, Samuel et al. (ACM CCS 2010).

  • Class 13 (Oct.21): More on Secure Software Update. Self-signed Executables: Restricting Replacement of Program Binaries by Malware, Wurster et al. (USENIX HotSec'07); and Sections 1, 2, and 5.1 (pp.1-4 and 11) in extended version Reducing Unauthorized Modification of Digital Objects (IEEE Trans. Soft. Eng., to appear, 2011).

  • Class 14 (Oct.26): Test (in class).

  • Class 15 (Oct.28): 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.2): 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: 29(3), June 2004); Blaster; Self-stopping Worms, Ma et al. (ACM WORM 2005).

  • Class 17 (Nov.4): Smartphone security: models, application markets, software installation. Secure Software Installation on Smartphones (D. Barrera, 2010); and parts of Inglorious Installers: Security in the Application Marketplace, J. Anderson, J. Bonneau, F. Stajano (WEIS 2010).

  • Classes 18-23 (Nov.9-25): student presentations. (Suggested references: papers from major 2009/2010 conferences as listed here.)
    Nov.9: Trusted Computing (Saran Neti), Banking Auth. & Phones (Brad Stocking)
    Nov.11: Key Management and Updates (Fraser MacQuarrie), S/W Obfuscation (Michael Bodis)
    Nov.16: Trust/Reputation Mgmt & SocialNets (Parthy Chandrasekaran), Flash Security (Surya Choudhary)
    Nov.18: Passtiles User Study (Elizabeth Stobert), Android Security (Bruna Freitas)
    Nov.23: Security and IMDs (Chris Schruder), Spam (Luke Russell)
    Nov.25: Browser Extension Security (Syeda Tasneem Rumy)

  • Class 24 (Nov.30): Rootkits, viruses and Trojan horse software. Class notes.

  • Class 25 (Dec.2): 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).

    (Extra 1:) 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).

    (Extra 2:) Trojan horses and computer viruses. McIlroy, Virology 101 (Computing Systems, Spring 1989); and Thompson, Reflections on Trusting Trust (Comm. ACM, Aug.1984). 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).

    (Extra 3:) 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). Browser security handbook, Michal Zalewski (2008, 2009 online resource).

    (Extra 4:) Restricting system configuration privileges. System Configuration as a Privilege, Wurster et al. (USENIX HotSec'09; full paper is CCS 2010).


  • Last updated: December 1, 2010. Send comments to: paulv (insert @ here) scs.carleton.ca.