What is the Internet? How was it created? How does it work?
Security
Learn about traditional and mobile malware, the security threats they represent, state-of-the-art analysis and detection techniques, and the underground ecosystem that drives such a profitable but illegal business.
A survey of more advanced stack-based memory corruption bugs (e.g. stack overflow), and how they lead to conditions that allow attackers to execute arbitrary code. The class also covers exploit mitigation technologies found in Microsoft Windows and how attackers bypass these techniques.
This class discusses stealth malware techniques used on Windows. Rootkits are a type of stealth malware that try to hide their presence, and this class shows the data structures they manipulate to achieve this.
An introduction to Trusted Computing concepts, and a detailed look at what the Trusted Platform Module (TPM) can (and can't) do.
This class provides a distilled understanding of some OS mechanisms such as memory management, segmentation, paging, interrupts, and port IO. This knowledge is directly relevant for the future Rootkits and Advanced x86: Virtualization with Intel VT-x classes.
Intel processors have been a major force in personal computing for more than 30 years. An understanding of low level computing mechanisms used in Intel chips as taught in this course serves as a foundation upon which to better understand other hardware, as well as many technical specialties such as reverse engineering, compiler design, operating system design, code optimization, and vulnerability exploitation.
This class provides an introduction to the ARM architecture and assembly language.
A survey of basic stack and heap-based memory corruption bugs (e.g. stack overflow), and how they lead to conditions that allow attackers to execute arbitrary code.
A very detailed dive into how binary executable formats work. In particular the PE format used by Windows.