Computer Systems Security: Winter 2018 Assignment 2

From Soma-notes
Revision as of 14:25, 21 February 2018 by Soma (talk | contribs) (→‎Questions)
Jump to navigation Jump to search

Please answer the following questions. There are ?? questions with ?? points. Submit your answers as a text or PDF file via cuLearn by February 28, 2018 at 10:00 AM. Be sure to put your name and student number at the beginning of your submission.

When answering each question, please indicate the sources of your answer. This could be a man page, your own experiments, discussion with a friend, or a website. Please list all your sources. You are allowed to collaborate; such collaboration should be clearly documented! If you already know an answer because of background knowledge you had before the class, that is fine, just state that this is the case.

Questions

  1. [2] Explain what a certificate is, in relationship to public keys, digital signatures, and other characteristics.
  2. [2] How does ssh verify the identity of remote hosts? Specifically, what information does the ssh client receive, and how is this information used?
  3. [2] How do web browsers verify the identity of remote websites when connecting via TLS? Specifically, what information does the ssh client receive, and how is this information used?
  4. [2] What is the threat model behind the design of the browser sandbox? Specifically, what kinds of attacks does the browser sandbox prevent (assuming it works as designed), and what kinds of attacks does the browser sandbox not prevent?
  5. [2] Assume that Firefox has a memory corruption vulnerability in its parsing of locally stored bookmarks. Could an attacker exploit such a vulnerability? Explain briefly.
  6. [2] Why are backdoors normally hard to discover? Describe the means by which a backdoor could be discovered in an application. Be sure to explain what conditions had to be present in order for the backdoor to be discovered.
  7. [2] What kinds of attacks can a hardware virtual machine, such as VirtualBox, mitigate? Do virtual machines open up any new opportunities for attackers?
  8. [2] What is the key advantage of mandatory access control (over discretionary access control)? What is the key disadvantage?
  9. [4] For an operating system/distribution of your choice, answer the following questions:
    1. How does one verify the integrity and authenticity of the initial operating system install?
    2. How is the integrity of software updates verified?
    3. Are third party applications given the ability to modify (corrupt) the operating system?
    4. What is one way the OS protects itself from modification by third parties?