Prerequisite/Corequisite: The following course must be completed previously: INSE 6110 or equivalent.
Description: Malicious code, taxonomy, viruses, worms, trojan horses, logical and temporal bombs, infection process, security properties of applications, safety, high level security, detection approaches, ad hoc techniques: scanning, anti-virus technology, obfuscation, dynamic analysis for security: passive and active monitoring, in-line and reference monitors, sandboxing, static analysis for security: data and control flow analysis for security, type-based analysis for security, anti-reverse-engineering protection, software fingerprinting, self-certified code: certifying compilers, proof carrying code, efficient code certification, typed assembly languages, certificate generation, certificate verification and validation, C and C++ security, java security, byte-code verification, access controllers, security managers, permission files, security APIs, critical APIs, protection domains, security profiles, mobile code security. A project is required.
Component(s): Lecture