Students learn how adversaries attack the data and applications at the center of the digital world. They explore application and file vulnerabilities, then learn to set access controls that limit who can access data, including configuring access control settings on a Linux system. Students use both symmetric and asymmetric cryptography to protect the confidentiality and integrity of data in storage and in transit. They also study secure design principles and input sanitization, and learn to detect attacks by verifying file hashes and analyzing log files for indicators of compromise.