Computer Systems Security: Winter 2018 Assignment 4

From Soma-notes
Revision as of 05:55, 29 March 2018 by Soma (talk | contribs)

This assignment is not yet finalized.

Due: April 9, 2018, 10 AM

  1. [2] When code runs in a "sandboxed environment" does this refer to a specific security technology? Explain briefly.
  2. [2] Why is it harder to implement protection boundaries within a process, as compared to having an operating system implement protection boundaries? Explain.
  3. [2] Why are system calls a good interface for implementing security protections? Compare system calls to function/method calls in this context.
  4. [2] How do language runtimes (interpreted and just-in-time compiled) provide opportunities for enforcing security properties? Can these properties also be enforced when code is compiled (and at what cost)?
  5. [2] Choose a specific Chrome or Firefox extension. What permissions does it need? Is it possible for the extension to perform actions unrelated to its purpose with these permissions? Explain briefly.
  6. [2] How is iOS runtime security (see Apple's Security Whitepaper, p. 23-24) like OS virtualization, as implemented, for example, by Linux-VServer? How is it different?
  7. [8] Define whitelists, blacklists, anomaly detection, and virtualization. Explain how they are four fundamental strategies in computer security. For each, give an example of a security mechanism that makes use of the strategy.