MPCS 56511 Introduction to Computer Security (Winter 2019)

Section 1
Instructor(s) Conner, William (wconner)
Location JCL 390
Meeting Times Tuesday 5:30pm - 8:30pm
Website: https://sites.google.com/site/wgconner2/security-w19
Fulfills Core Systems Elective

Syllabus

Description

This course introduces computer security principles and practices. Topics will range from classical cryptography to recent web application security risks listed in the OWASP Top 10. The course will emphasize both offense (i.e., attacker mindset) and defense (i.e., designing and building secure systems).

Topics

  • ●  Threat modeling

  • ●  Cryptography

  • ●  TLS and HTTPS

  • ●  Web application security

  • ●  Network security

  • ●  Authentication and access control

  • ●  Memory safety and isolation

  • ●  Trusted computing

  • ●  Side channels

  • ●  Anonymity and web privacy

  • ●  Underground economy

  • ●  Human factors

  • ●  Security ethics

  • ●  Cryptographic policy


  1. Coursework

    • ●  5 written homework assignments

    • ●  3 programming projects

    • ●  final project (research topic or threat assessment)

    • ●  midterm and final exam

  2. Textbook

    Security Engineering, 2nd Ed. (freely available at https://www.cl.cam.ac.uk/~rja14/book.html) by Ross Anderson

    NOTE: To supplement the course textbook, required readings will also include security research papers linked on the course website.

Course Prerequisites

● Core programming (required)
● Introduction to Computer Systems (recommended, but not required)

Other Prerequisites

● Familiarity with C, Java, and/or Python (required)
● Familiarity with Linux command line (recommended, but not required)

Overlapping Classes

This class is scheduled at a time that conflicts with these other classes:

  • MPCS 50103-1 -- Mathematics for Computer Science: Discrete Mathematics
  • MPCS 52011-1 -- Introduction to Computer Systems