+5 votes
204 views
in Web development by (242k points)
reopened
Sandbox: purposes and application explained in a simple way

1 Answer

+3 votes
by (1.6m points)
edited
 
Best answer

What is a sandbox?
How does a sandbox work?
Where is sandboxing used?
Is process isolation safe?

image

Sandbox: purposes and application explained in a simple way

One of the most important steps in software development is to check the functionality of a program: even if the source code appears to be bug-free, unexpected complications can arise in practice. However, testing software of unknown origin or that is not yet perfected carries certain risks. For example, installing a program with bad code may disrupt or even damage the operating system. To make these tests more secure, there is process isolation or, as it is metaphorically called in English, sandboxing, or sandbox. These are methods that allow you to test your own software or code taken from the Internet in an isolated environment, so that they do not affect the system as a whole ..

Index
  1. What is a sandbox?
  2. How does a sandbox work?
  3. Where is sandboxing used?
  4. Is process isolation safe?

What is a sandbox?

In the world of computing, the term sandbox is increasingly heard , sandboxing or, in Spanish, process isolation , But what exactly is this technique and how is it used? It is an isolated test environment within a system that allows certain actions of a program to be executed by shielding the hardware so that it cannot be damaged. Generally speaking, therefore, sandboxing is about protecting the operating system from bad code and malware. In the field of software development and cybersecurity, process isolation has already become a standard measure thanks to which many large companies can protect themselves against system damage and cyber attacks.

The sandboxing or sandbox is not a new concept, it began to be used when the first personal computers were created. In the 1970s, programmers used these sandboxes to test programs and run simulations . With them they wanted to find out if a specific code could work in a closed environment. The first security mechanisms, such as Hydra, not only protected expensive hardware , but thanks to the sandboxing technique they allowed to identify what problems would have arisen without the isolation..

Nowadays there are programs that not only allow capturing and redirecting possible accesses to the system's data record, but, thanks to virtual machines (VM), even a complete computer can be simulated .

How does a sandbox work?

There are different ways to isolate processes. Previously, programmers developed their own closed test environments for this. Today, instead, there are ready-to-use programs. Depending on the purpose and operating system, there are different versions , each with a different scope and function . These differences are well founded, since the developer who makes a new program has different needs than a company that wants to protect its operating system against code of unknown origin and possible cyberattacks. As a general rule, the more the simulated environment needs to resemble the real environment, the more resources it requires..

Here's an overview of the different ways to create a sandbox and how they work:

  • Programs sandbox : one of the most popular programs insulation is Sandboxie, which lets you create a sandbox directly into Windows. When activated, all write rights that potentially malicious software may have on the hardware are diverted to a previously chosen folder . The files saved in the sandbox can later be transferred, if desired, to the real system. These types of applications offer the possibility of managing multiple test environments at the same time.
  • Sandbox in the operating system: with some applications, the sandbox can be used , directly in the software code through different layers and levels. Said sandbox thus becomes part of the operating system, but it is still a closed component in itself. As in other sandbox programs , specific parameters are established for the execution time of the software in question, which allows a specific analysis to be carried out. In Windows 10 (from version 1903, build 18305), the Windows Sandbox is integrated as standard and can be activated or deactivated by the user.
  • Virtual machines: This type of software , also called VM for its acronym in English, can encompass much more than simple programs. A VM can be managed like a normal computer and is usually located, due to its size, on a separate server. Virtualization through a VM can be spread across multiple guest systems. In this way, the pseudosystems end up being totally independent and completely isolated from the hardware . Some of the most popular full-interface virtual machines are VMware and Java Virtual Machine, as well as FAUmachine for Linux and macOS.
  • Sandbox as a plugin : there is an example of a sandbox in the form of a plugin in the Java programming language, which uses the sandbox through so-called java applets . The applets are programs that run on a client browser. With the built-in sandbox , software code uploaded to the Internet runs in an encapsulated environment, keeping disk drives, main memory, and operating system functions safe.
Note

In addition to software- based sandbox programs , there are also so-called microvirtualizations , which run directly on the hardware . Unlike sandboxes , microvirtualizations are not primarily intended to identify malicious code, but to protect the system from the harmful effects of malware .

Where is sandboxing used?

There are many application examples of sandboxing. The purposes for which these systems are applied can be divided into two areas: software testing (that is, software testing ) and cybersecurity. Below, we have summarized the functions that sandbox performs in each of these branches:

Software testing . The sandboxes have an important role to test the software that just developed. Computer systems virtualization helps programmers develop secure and functional applications and then test them in different environments. The sandbox testing is, therefore, a tool that tells me when developers have to modify the code. File isolation is also sometimes used to isolate incompatible programs that run in parallel. Also, since the code can be run safely in the sandbox , IT scientists use this technology to analyze malware and identify its effects on operating systems.

Cybersecurity When it comes to browser security, sandbox tools are also, along with effective firewall systems, a very popular solution. These tools protect the operating system from tampering by launching potentially dangerous applications. Especially in the case of public bodies and companies, since they work with sensitive data, protection against so-called Advanced Persistent Threats (APT) is important . These are covert and recurring cyberattacks that persist for long periods of time. However, home users can also benefit from safer browsing using sandbox tools. In fact, current web browsers based on Chromium processes using sandbox on each site visited or plugin built to prevent such attacks browser exploit .

Is process isolation safe?

There are many arguments that support the use of sandboxing or sandboxing methods . However, one wonders how safe sandboxes are when it comes to cybercrime. In general, using a sandbox is no reason to rest on your laurels, as, as modern security mechanisms evolve, so do the tricks of cybercriminals. Smart cyberattacks, for example, recognize typical sandbox environments and easily avoid them by making malicious code appear harmless before installing. For this reason, experts recommend not using a single process isolation system, but rather several at the same time and at different levels. Thus, for example, the so - called technology multi-array sandbox applies different sandboxes in the same cloud.

In the following table we present again a summary of the advantages and disadvantages of a sandbox :

Advantage Drawbacks
It is a controlled test environment for new software. Users believe they are safe and are negligent.
Protects hardware, operating system, or the system registry. Older sandboxes have security loopholes.
It does not allow unauthorized access to data on the host system. Full sandbox tools are expensive and resource intensive.
There are no conflicts between programs and operating systems or between the programs themselves.  
Internet browsing is safe thanks to protection against malware.  
In summary

Sandboxing offers developers a secure environment in which to test refined software with confidence . When it comes to IT security, sandboxes are especially effective when applied in multiple layers and combined with other measures.


...