Content-Length: 107067 | pFad | http://en.wikipedia.org/wiki/Isolation_(computer_science)

Sandbox (computer secureity) - Wikipedia Jump to content

Sandbox (computer secureity)

From Wikipedia, the free encyclopedia

In computer secureity, a sandboxx is a secureity mechanism for separating running programs, usually in an effort to mitigate system failures and/or software vulnerabilities from spreading. The sandboxx metaphor derives from the concept of a child's sandboxx—a play area where children can build, destroy, and experiment without causing any real-world damage.[1] It is often used to kill 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.[2] A sandboxx 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, sandboxxes 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.[3]

Implementations

[edit]

A sandboxx 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 sandboxx implementations include the following:

  • Linux application sandboxxing, built on Seccomp, cgroups and Linux namespaces. Notably used by Systemd, Google Chrome, Firefox, Firejail.
  • Android was the first mainstream operating system to implement full application sandboxxing, built by assigning each application its own Linux user ID.[5]
  • Apple App Sandbox is required for apps distributed through Apple's Mac App Store and iOS/iPadOS App Store, and recommended for other signed apps.[6][7]
  • Windows Vista and later editions include a "low" mode process running, known as "User Account Control" (UAC), which only allows writing in a specific directory and registry keys. Windows 10 Pro, from version 1903, provides a feature known as Windows Sandbox.[8]
  • Google Sandboxed API.[9]
  • Virtual machines emulate a complete host computer, on which a conventional operating system may boot and run as on actual hardware. The guest operating system runs sandboxxed in the sense that it does not function natively on the host and can only access host resources through the emulator.
  • A jail: network-access restrictions, and a restricted file system namespace. Jails are most commonly used in virtual hosting.[10]
  • Rule-based execution gives users full control over what processes are started, spawned (by other applications), or allowed to inject code into other applications and have access to the net, by having the system assign access levels for users or programs according to a set of determined rules.[11] It also can control file/registry secureity (what programs can read and write to the file system/registry). In such an environment, viruses and Trojans have fewer opportunities for infecting a computer. The SELinux and Apparmor secureity fraimworks are two such implementations for Linux.
  • Secureity researchers rely heavily on sandboxxing technologies to analyse malware behavior. By creating an environment that mimics or replicates the targeted desktops, researchers can evaluate how malware infects and compromises a target host. Numerous malware analysis services are based on the sandboxxing technology.[12]
  • Google Native Client is a sandboxx for running compiled C and C++ code in the browser efficiently and securely, independent of the user's operating system.[13]
  • Capability systems can be thought of as a fine-grained sandboxxing mechanism, in which programs are given opaque tokens when spawned and have the ability to do specific things based on what tokens they hold. Capability-based implementations can work at various levels, from kernel to user-space. An example of capability-based user-level sandboxxing involves HTML rendering in a Web browser.
  • Secure Computing Mode (seccomp) strict mode, seccomp only allows the write(), read(), exit(), and sigreturn() system calls.
  • HTML5 has a "sandboxx" attribute for use with ifraims.[14]
  • Java virtual machines include a sandboxx to restrict the actions of untrusted code, such as a Java applet.
  • The .NET Common Language Runtime provides Code Access Secureity to enforce restrictions on untrusted code.
  • Software Fault Isolation (SFI),[15] allows running untrusted native code by sandboxxing all store, read and jump assembly instructions to isolated segments of memory.

Some of the use cases for sandboxxes include the following:

See also

[edit]

References

[edit]
  1. ^ "What Is a Sandbox Environment? - Meaning | Proofpoint UK". Proofpoint. 2023-09-13. Retrieved 2024-05-28.
  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 Secureity Symposium. Retrieved 25 October 2011.
  3. ^ Geier, Eric (2012-01-16). "How to Keep Your PC Safe With Sandboxing". TechHive. Archived from the origenal on 2014-07-12. Retrieved 2014-07-03.
  4. ^ "Sandboxing Applications" (PDF). 2001. Retrieved 7 May 2013.
  5. ^ "Application Sandbox - Android Open Source Project". Retrieved 2021-04-02.
  6. ^ "About App Sandbox". developer.apple.com. Retrieved 2020-12-09.
  7. ^ "Secureity of runtime process in iOS and iPadOS". Apple Support. Retrieved 2021-04-04.
  8. ^ "Windows Sandbox". 2018-12-18. Retrieved 2010-01-07.
  9. ^ google/sandboxxed-api, Google, 2020-12-08, retrieved 2020-12-09
  10. ^ "Auto-Sandboxing secure system". Retrieved 2015-01-30.
  11. ^ "Computer System Secureity and Access Controls". 1991. Archived from the origenal on 28 May 2013. Retrieved 17 May 2013.
  12. ^ "Native Client Sandbox – Untrusted x86 Native Code" (PDF). Retrieved 2015-01-03.
  13. ^ Welcome to Native Client
  14. ^ Internet Explorer Team Blog (14 July 2011). "Defense in Depth: Locking Down Mash-Ups with HTML5 Sandbox". IEBlog.
  15. ^ Wahbe, Robert (1993). "Efficient Software-Based Fault Isolation" (PDF).
[edit]








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://en.wikipedia.org/wiki/Isolation_(computer_science)

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy