Midterm Preparation
Topics to study:
- Concepts and principles
- What are important questions to be considered when performing threat modeling?
- How does risk assessment relate to threat modeling?
- What are the components of DREAD?
- Crytographic building blocks
- What is the difference between information-theoretic security and computational security?
- What are the different types of attacks that can be made on a cipher?
- Why does symmetric encryption use block ciphers?
- How can two peopele use basic challenge-response to prove ownership of a shared symmetric key?
- How does hybrid encryption work? Explain what each party exchanges using cryptographic notation.
- How do digital signatures work? Explain what each party exchanges using crytographic notation.
- How does Diffie-Hellman establishe a shared key between two people?
- Explain the properties of a cryptographic hash function.
- Explain what an HMAC does. Use cryptographic notation to show what one party would send to another when using an HMAC.
- User authentication
- Explain how salting and hashing of passwords works, including what is stored in a password database.
- What are the current NIST recommendations for password composition policies? Why have they made these recommendations?
- Explain how entropy applies to passwords and why it may not accurately reflect how people choose passwords.
- Explain the basics of how a federated identity system works.
- How does a one-time password generator work? How does a TOTP generator work?
- Why would a company or a user want to use two-factor authentication?
- Access control
- Describe the basics of how an operating system provides memory protection for processes.
- Explain how ugo file permissions work in Linux.
- Explain the purpose of the setuid bit in Linux and how it works.
- How is Role-Based Access Control different from file-based access control? What are its advantages?
- Software security
- Give an example of a TOCTOU race condition.
- Give an example of how an integer-based vulnerability.
- Explain how a basic buffer overflow vulnerability works.
- Explain how a heap-spraying attack works.
- How does a canary defend against a stack-based buffer overflow vulnerability?
- How does ASLR defend against a stack-based buffer overflow vulnerability?
- Malicious software
- What is the difference between a virus and a worm?
- Give an example of a strategy an anti-virus program could use to detect malware. Give an example of a counter-attack a virus could use to defeat this detection measure.
- Given Figure 7.5 from the book, explain how inline hooking works.
- What is a botnet? Give an example of how an attacker can hide its command and control infrastructure from legal authorities.