home button

Foundations of Software Security
USF CIS 6373, Spring 2018


Final grades are posted on Canvas.

Course materials



Please use Canvas to check your grades.

Schedule (filled in as the semester progresses)

Dates Topics Reading
01/09 Introduction Class notes
01/11 Enforceability theory Sections 1-2 of Enforceable Security Policies
01/16 Enforceability theory Enforceable Security Policies (all)
01/18 Enforceability theory Sections 1-2 of Run-time Enforcement of Nonsafety Policies
01/23 Enforceability theory Run-time Enforcement of Nonsafety Policies (all, but please don't worry about the details; as always, read to get the main ideas)
01/25 Enforceability theory Sections 1-3 of Modeling Runtime Enforcement with Mandatory Results Automata
01/30 Enforceability theory Sections 1-5 and 8 of Modeling Runtime Enforcement with Mandatory Results Automata
02/01 Enforceability theory A Theory of Gray Security Policies
02/06 Policy specification and composition Sections 1-3 of Composing Expressive Run-time Security Policies (article is accessible from the USF campus network)
02/08 Policy visualization (reading handed out in class)
02/13 Location-based policies and mobile-device security A Location-based Policy-specification Language for Mobile Devices (article is accessible from the USF campus network)
02/15 Firewall policies; Packet classification A Packet-classification Algorithm for Arbitrary Bitmask Rules, with Automatic Time-space Tradeoffs
02/20 Vulnerability trends; Buffer overflows (1) Please look over, and try to get the high-level information from: 2011 CWE/SANS Top 25 Most Dangerous Software Errors; (2) then please study StackGuard: Automatic Adaptive Detection and Prevention of Buffer-Overflow Attacks
02/22 ASLR and related mechanisms Breaking the memory secrecy assumption (paper should be accessible from the USF campus network)
02/27 Code-injection attacks: XSS and HTML5 Code Injection Attacks on HTML5-based Mobile Apps: Characterization, Detection and Mitigation
03/01 Code-injection attacks Sections 1-4 of Defining Code-injection Attacks
03/06 Noncode-injection attacks Defining Injection Attacks
03/08 DDoS (viewing protocols as programs, much of network security is software security) (1) IP Spoofing
(2) Memcrashed
(3) GitHub Engineering Feb 28th DDoS Incident Report
03/20 Student presentations (Project-proposal presentations)
03/22 Student presentations (Project-proposal presentations)
03/27 Control-flow integrity Sections 1-5 of Control-Flow Integrity: Principles, Implementations, and Applications
03/29 Control-flow integrity; ROP Losing Control: On the Effectiveness of Control-Flow Integrity under Stack Attacks
04/03 Information flow; Noninterference Principles of Secure Information Flow Analysis
04/05 Quantitative Information Florw Recent Developments in Quantitative Information Flow (please feel free to skip Sections III-V, to save time)
04/10 Temperature (hot) attacks Using Memory Errors to Attack a Virtual Machine
04/12 Temperature (cold) attacks Lest We Remember: Cold Boot Attacks on Encryption Keys
04/17 DRM Lessons from the Sony CD DRM Episode
04/19 Trustworthiness Reflections on Trusting Trust
04/24 Student presentations (Final presentations)