1 Syllabus


1.1 General syllabus

Click on this, and actually read all the sub-links; it’s part of the syllabus:
../../ClassGeneral.html

1.2 Course description

This course covers principles of threat-modeling, trust, and security policies.
Topics include cryptography, reverse engineering, software security, malware analysis, authentication, access controls, operating systems hardening, virtualization, database security, and network security.
This class is programming intensive and project based, with case-analyses.

1.2.1 Prerequisite

Grade of “C” or better in CompSci 3610 - networking.
A good attitude, work ethic, and an interest in security!

1.3 Textbooks and resources

1.3.1 Required books (all free/open)

Cracking codes with python
http://inventwithpython.com/cracking/

https://joyofcryptography.com/
Syllabus/joy_of_crypto.pdf

https://www.cs.cornell.edu/courses/cs4830/2010fa/lecnotes.pdf
Syllabus/crypto_book.pdf

Crypto 101 (partly finished book)
https://www.crypto101.io/
Syllabus/Crypto101.pdf

x86-64 Assembly Language Programming with Ubuntu
http://www.egr.unlv.edu/%7Eed/assembly64.pdf
Syllabus/assembly64.pdf

1.3.2 Optional books (not free)

  1. An actually good security textbook: Analyzing Computer Security: A Threat / Vulnerability / Countermeasure Approach by Charles P. Pfleeger, Shari Lawrence Pfleeger

  2. A fun read (not a textbook really): Silence on the Wire, A Field Guide to Passive Reconnaissance and Indirect Attacks, by Michal Zalewski https://nostarch.com/silence.htm

1.4 Which programming language for this class?

Multiple!
Rust, Bash, Python, C/C++, SQL, Haskell, etc.