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 sandbox metaphor derives from the concept of a child's sandbox—a play area where children can build, destroy, and experiment without causing any real-world damage.[1] It is often used to analyze untested or untrusted programs or code, possibly originating from unverified or untrusted third parties, suppliers, users or websites, without risking harm to the host machine or operating system.[2] 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, sandboxing can be comparable to 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.[3]

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.[4]

Examples of sandbox implementations include the following:

Some of the use cases for sandboxes include the following:

See also

References

  1. "What Is a Sandbox Environment? - Meaning | Proofpoint UK". Proofpoint. 2023-09-13.
  2. 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.
  3. Geier, Eric (2012-01-16). "How to Keep Your PC Safe With Sandboxing". TechHive. Archived from the original on 2014-07-12.
  4. "Sandboxing Applications" (PDF). 2001.
  5. "Application Sandbox - Android Open Source Project".
  6. Wilde, Daniel (2024-04-16). "GrapheneOS review: De-Googled goodness". 9to5google.
  7. "About App Sandbox". developer.apple.com.
  8. "Security of runtime process in iOS and iPadOS". Apple Support.
  9. vinaypamnani-msft. "How User Account Control works". learn.microsoft.com.
  10. google/sandboxed-api, Google, 2020-12-08
  11. "Auto-Sandboxing secure system". Archived from the original on 2015-02-12.
  12. "Computer System Security and Access Controls". 1991. Archived from the original on 28 May 2013.
  13. "Native Client Sandbox – Untrusted x86 Native Code" (PDF).
  14. Welcome to Native Client
  15. Internet Explorer Team Blog (14 July 2011). "Defense in Depth: Locking Down Mash-Ups with HTML5 Sandbox". IEBlog.
  16. Wahbe, Robert (1993). "Efficient Software-Based Fault Isolation" (PDF).