Sandbox (computer security)

Source: Wikipedia, the free encyclopedia.

In computer security, a sandbox is a security mechanism for separating running programs, usually in an effort to mitigate system failures and/or software vulnerabilities from spreading. The isolation metaphor is taken from the idea of children who do not play well together, so each is given their own sandbox to play in alone. It is often used to execute untested or untrusted programs or code, possibly from unverified or untrusted third parties, suppliers, users or websites, without risking harm to the host machine or operating system.[1] A sandbox typically provides a tightly controlled set of resources for guest programs to run in, such as storage and memory scratch space. Network access, the ability to inspect the host system, or read from input devices are usually disallowed or heavily restricted.

In the sense of providing a highly controlled environment, sandboxes may be seen as a specific example of virtualization. Sandboxing is frequently used to test unverified programs that may contain a virus or other malicious code without allowing the software to harm the host device.[2]

Implementations

A sandbox is implemented by executing the software in a restricted operating system environment, thus controlling the resources (e.g. file descriptors, memory, file system space, etc.) that a process may use.[3]

Examples of sandbox implementations include the following:

Some of the use cases for sandboxes include the following:

  • Online judge
    systems to test programs in programming contests.
  • New-generation
    code snippets
    on the pastebin's server.

See also

References

  1. ^ Goldberg, Ian; Wagner, David; Thomas, Randi & Brewer, Eric (1996). "A Secure Environment for Untrusted Helper Applications (Confining the Wily Hacker)" (PDF). Proceedings of the Sixth USENIX UNIX Security Symposium. Retrieved 25 October 2011.
  2. ^ Geier, Eric (2012-01-16). "How to Keep Your PC Safe With Sandboxing". TechHive. Archived from the original on 2014-07-12. Retrieved 2014-07-03.
  3. ^ "Sandboxing Applications" (PDF). 2001. Retrieved 7 May 2013.
  4. ^ "Application Sandbox - Android Open Source Project". Retrieved 2021-04-02.
  5. ^ "About App Sandbox". developer.apple.com. Retrieved 2020-12-09.
  6. ^ "Security of runtime process in iOS and iPadOS". Apple Support. Retrieved 2021-04-04.
  7. ^ "Windows Sandbox". 2018-12-18. Retrieved 2010-01-07.
  8. ^ google/sandboxed-api, Google, 2020-12-08, retrieved 2020-12-09
  9. ^ "Auto-Sandboxing secure system". Retrieved 2015-01-30.
  10. ^ "Computer System Security and Access Controls". 1991. Archived from the original on 28 May 2013. Retrieved 17 May 2013.
  11. ^ "Native Client Sandbox – Untrusted x86 Native Code" (PDF). Retrieved 2015-01-03.
  12. ^ Welcome to Native Client
  13. ^ Internet Explorer Team Blog (14 July 2011). "Defense in Depth: Locking Down Mash-Ups with HTML5 Sandbox". IEBlog.
  14. ^ Wahbe, Robert (1993). "Efficient Software-Based Fault Isolation" (PDF).

External links