Cyber Buffet Summer 2024


OT Security

Operational Technology (OT) is hardware and software that controls physical processes like factories and power plants. These processes are far more efficient when networked services monitor, control, and automate them, but also are exposed to network attacks. The primary OT protocols, such as Modbus and DNP3, are decades old and lack security features. This class covers the risks of OT installations and how to secure them.

No experience with programming or hardware is required. It's recommended to have familiarity with networking at the Network+ level.

Mobile App Security

Practice finding flaws in real Android and iOS apps in this workshop, and you will be ready to avoid making similar security errors in your own apps.

Android apps are very easy to unpack, analyze, modify, and repack; partly because of the open nature of the system, and partly because most companies neglect basic security measures. In this workshop, participants will hack apps from tProgressive Insurance, IBM, Harvard, the Indian government, and other large organizations. We will find insecure network transmissions, broken cryptography, improper logging, and pervasive lack of binary protections.

Some experience with Java coding is helpful but not necessary.

Malware Analysis

Analyze malware to find indicators of compromise using static and dynamic techniques. We will modify Windows code to cheat at games and examine the actions of malware, including droppers, botnets, and keyloggers. We will use PEstudio, IDA Pro, Ghidra, OllyDbg and other tools.

Familiarity with programming in C and assembler is helpful but not necessary.

Introduction to Exploit Development

Learn how to take control of Windows and Linux servers running vulnerable software, in a hands-on CTF-style workshop. We begin with easy command injections and SQL injections, and proceed through binary exploits incuding buffer overflows on the stack and the heap, format string vulnerabilities, and race conditions.

After this workshop, you will understand how memory is used by software, and why computers are so easily tricked into executing bytes as code that entered the system as data.

We will exploit 32-bit and 64-bit Intel systems, and also ARM-based systems. We will examine modern Windows defenses in detail and how to defeat them, including ASLR, DEP, stack cookies, and SEHOP.

Previous experience with C and assembly language is helpful but not required.

Secure Coding

Learn how to find vulnerabilities in code and fix them. First we will discuss threat analysis and how to prioritize risks using the STRIDE model and the CVSS scoring system. Then participants will examine deliberately insecure apps written in PHP, NodeJS, or other common languages. They will work in groups, and use three methods to find flaws: a source code scanner, a dynamic vulnerability scanner, and manual testing. Discussions during and after these examinations will help the participants understand how to apply these techniques to improve the quality of the code they write.

Prior knowledge: participants should have some experience coding apps in any language.

Last Updated: 2-20-24 3:11 pm