Exercise: Meltdown

Read the Meltdown and KAISER papers and answer the following questions.

  • Suppose you want to run an evil application that tries to steal a password from a web server running on the same machine, using Meltdown. Briefly describe the steps of the attack. Be specific.

  • Briefly describe how KAISER/KPTI prevents the above attack.

  • Whose responsibility do you think it is to prevent such attacks, the OS kernel, the CPU, user applications, or something else?

  • Provide a list of questions you would like to discuss in class. Feel free to provide any comments on the papers and related topics.

  • Extra credit: Section 7.2 of the Meltdown paper says that “[d]ue to the design of the x86 architecture, several privileged memory locations are required to be mapped in user space.” Provide one example of such memory locations.

In answers.txt, write up your answers to the questions. Upload the file through Canvas.