CS456/556 Schedule

Calendar feed: https://www.flyn.org/courses/cs456/schedule.ics
Date Subject Due Read before class Assigned
Tuesday, Sep 8 Introduction Aquinas computer, unix, git, and man
Thursday, Sep 10 The C Programming Language; C Security Engineering Ch. 1 Aquinas hello in C, printf in C, and arrays in C
Tuesday, Sep 15 Bugs and vulnerabilities; definitions risk Aquinas git, hello in C, printf in C, and arrays in C Security Engineering § 27.5.7 Aquinas network in C (or Go or Python) and overflow in C (or Go or Python)
Thursday, Sep 17 Vulnerabilities; vuln
Tuesday, Sep 22 Security principles; principles Aquinas network in C (or Go or Python) and overflow in C (or Go or Python) Seven Pernicious Kingdoms and § 1.A of The Protection of Information in Computer Systens Aquinas secprin
Thursday, Sep 24
Tuesday, Sep 29 Building, harnessing, and fuzzing Aquinas secprin How to Read a Paper and The Art, Science, and Engineering of Fuzzing: A Survey Aquinas fuzz in C (or Go or Java or Python)
Thursday, Oct 1
Tuesday, Oct 6 Aquinas fuzz in C (or Go or Java or Python)
Thursday, Oct 8 Exam 1
Tuesday, Oct 13 Hardware support TBP: Hardware support
Thursday, Oct 15
Tuesday, Oct 20 Memory errors TBP: Hardware support Aquinas valgrind in C
Thursday, Oct 22
Tuesday, Oct 27 Exploitation Aquinas valgrind in C Aquinas smash in C, syscall in AMD64, shellcode in C, e.c.: nop in C, and e.c.: rop in C (You can elect to solve all but syscall in any supported language.)
Thursday, Oct 29
Tuesday, Nov 3 Access controls Aquinas smash in C, syscall in AMD64, and shellcode in C Aquinas selinux
Thursday, Nov 5
Tuesday, Nov 10 Cryptographic primitives Aquinas selinux TBP: Crypto
Thursday, Nov 12
Tuesday, Nov 17 TBP: Crypto
Thursday, Nov 19 Exam 2
Tuesday, Nov 24 API abuse: TLS
Tuesday, Dec 1 LangSec and parsers TBP: Parsers
Thursday, Dec 3
Tuesday, Dec 8 Concurrency bugs TBP: Parsers TBP: Concurrency
Thursday, Dec 10
Tuesday, Dec 15 Review TBP: Concurrency
Monday, Dec 21 Final exam: 2:30–4:30 a.m.