3.00 Credits
Prerequisites: Graduate standing OR C or better in CSC 4100 and C or better in CSC 4575. This course covers techniques to find and exploit various vulnerabilities in programming languages, blockchain-based applications, web applications, and database management systems. Mitigation strategies to prevent software vulnerabilities, including static source code analysis, compiler-based and runtime-based memory protection techniques, database encryption, secure data containers, and code obfuscation are covered, as well. This course also introduces the fundamentals of hardware-based data protection, including Intel? SGX and ARM? TrustZone? technologies.