Está en la página 1de 4

Sandbox

Uno de los pasos más importantes en el desarrollo de software es comprobar la


funcionalidad de un programa: incluso si el código fuente parece libre de fallos, en la
práctica pueden surgir complicaciones inesperadas. No obstante, poner a prueba
un software de origen desconocido o que aún no esté perfeccionado conlleva ciertos
riesgos. Por ejemplo, es posible que la instalación de un programa con código erróneo
altere o incluso dañe el sistema operativo. Para hacer más seguras estas pruebas, existe
el aislamiento de procesos o, como se llama metafóricamente en inglés, el sandboxing, o
caja de arena. Estos son métodos que permiten probar software propio o código sacado de
Internet en un entorno aislado, de manera que no afecten al sistema en su conjunto.

¿Qué es una sandbox?


En el mundo de la informática, cada vez se oye más el término sandbox, sandboxing o, en
español, aislamiento de procesos,pero ¿en qué consiste exactamente esta técnica y cómo
se utiliza? Se trata de un entorno de pruebas aislado dentro de un sistema que permite
ejecutar ciertas acciones de un programa escudando el hardware para que no pueda ser
dañado. En términos generales, por lo tanto, el sandboxing consiste en proteger el sistema
operativo frente a código erróneo y malware. En el ámbito del desarrollo de software y la
ciberseguridad, el aislamiento de procesos ya se ha convertido en una medida estándar
gracias a la cual muchas grandes empresas pueden protegerse frente a daños del sistema
y ciberataques.

El sandboxing o aislamiento de procesos no es un concepto nuevo, empezó a usarse


cuando se crearon los primeros ordenadores personales. En los años 70, los
programadores usaban estas cajas de arenapara poner a prueba los programas y hacer
simulaciones. Con ellos querían averiguar si un código concreto podía funcionar en un
entorno cerrado. Los primeros mecanismos de seguridad, como Hydra, no solo protegían
el costoso hardware, sino que gracias a la técnica del sandboxing permitían identificar qué
problemas habrían surgido sin el aislamiento.

Hoy en día existen programas que no solo permiten captar y redireccionar posibles
accesos al registro de datos del sistema, sino que, gracias a las  máquinas virtuales (VM),
se puede simular incluso un ordenador completo.

¿Cómo funciona una sandbox?


Existen diferentes maneras de aislar procesos. Antes, los programadores desarrollaban
para ello sus propios entornos de prueba cerrados. Hoy, en cambio, existen programas
listos para usar. Según el propósito y el sistema operativo, existen distintas versiones,
cada una con un alcance y un funcionamiento distinto. Estas diferencias están bien
fundamentadas, puesto que el desarrollador que elabora un programa nuevo tiene
necesidades distintas a las de una empresa que quiere proteger su sistema operativo
frente a código de origen desconocido y posibles ciberataques. Por regla general, cuanto
más deba parecerse el entorno simulado al entorno real, más recursos requerirá.

A continuación, te presentamos un resumen de las diferentes maneras de crear un entorno


aislado y cómo funcionan:

 Programas sandbox: uno de los programas más populares de aislamiento es


Sandboxie, que permite crear una sandbox directamente en Windows. Al activarlo,
se desvían a una carpeta previamente escogida todos los derechos de escritura
que el software potencialmente malicioso pudiera tener sobre el hardware. Los
archivos guardados en la sandbox pueden luego traspasarse, si así se desea, al
sistema real. Este tipo de aplicaciones ofrecen la posibilidad de administrar varios
entornos de pruebas al mismo tiempo.
 Sandbox en el sistema operativo: con algunas aplicaciones, puede usarse
la sandbox, directamente en el código del software a través de capas y niveles
distintos. Dicha sandbox se convierte así en parte del sistema operativo, pero no
deja de ser un componente cerrado en sí mismo. Al igual que en otros
programas sandbox, se establecen parámetros concretos para el tiempo de
ejecución del software en cuestión, lo cual permite realizar un análisis específico.
En Windows 10 (a partir de la versión 1903, build 18305), la Windows
Sandbox viene integrada de serie y puede ser activada o desactivada por el
usuario.
 Máquinas virtuales: Este tipo de software, también llamado VM por sus siglas en
inglés, puede abarcar mucho más que sencillos programas. Una VM puede
manejarse como un ordenador normal y suele estar ubicada, por su tamaño, en un
servidor aparte. La virtualización a través de una VM puede repartirse entre varios
sistemas huéspedes. De esta manera, los pseudosistemas acaban siendo
totalmente independientes y estando completamente aislados del hardware.
Algunas de las máquinas virtuales más populares con interfaz completa son
VMware y Java Virtual Machine, así como FAUmachine para Linux y macOS.
 Sandbox como plugin: existe un ejemplo de sandbox en forma de plugin en el
lenguaje de programación Java, que utiliza la sandbox mediante los llamados java
applets. Los applets son programas que se ejecutan en un navegador cliente. Con
la sandbox integrada, el código del software cargado en Internet se ejecuta en un
entorno encapsulado, y así se consigue mantener a salvo las unidades de disco, la
memoria principal y las funciones del sistema operativo.

Nota
Además de los programas sandbox basados en software, también existen las llamadas
microvirtualizaciones, que se ejecutan directamente en el hardware. A diferencia de las
sandboxes, las microvirtualizaciones no están pensadas en principio para identificar
código malicioso, sino para proteger el sistema de los efectos nocivos del malware.

¿Dónde se utiliza el aislamiento de procesos?


Existen muchos ejemplos de aplicación del aislamiento de procesos. Los propósitos con
los que se aplican estos sistemas pueden dividirse en dos ámbitos: el software testing (es
decir, las pruebas de software) y la ciberseguridad. A continuación, hemos resumido las
funciones que cumple el aislamiento de procesos en cada una de estas ramas:

Software testing. Las sandboxes tienen un papel muy importante a la hora de poner a


prueba el software que se acaba de desarrollar. La virtualización de sistemas
computacionales ayuda a los programadores a desarrollar aplicaciones funcionales y
seguras y a probarlas luego en diferentes entornos. El sandbox testing es, por lo tanto, una
herramienta que indica a los desarrolladores cuándo han de modificar el código. El
aislamiento de archivos también es usado a veces para aislar programas que se ejecutan
paralelamente y que serían incompatibles. Asimismo, puesto que el código puede
ejecutarse de manera segura en la sandbox, los informáticos utilizan esta tecnología para
analizar malware e identificar los efectos del mismo en los sistemas operativos.

Ciberseguridad. En lo que a la seguridad en los navegadores se refiere, las herramientas


de sandbox son también, junto con los eficaces sistemas cortafuegos, una solución muy
popular. Estas herramientas protegen el sistema operativo de las alteraciones al iniciar
aplicaciones potencialmente peligrosas. Especialmente en el caso de organismos públicos
y empresas, puesto que trabajan con datos sensibles, es importante la protección frente a
las llamadas amenazas persistentes avanzadas o Advanced Persistent Threats (APT).
Estas son ciberataques encubiertos y recurrentes que persisten durante largos periodos de
tiempo. Sin embargo, también los usuarios particulares pueden beneficiarse de una
navegación más segura usando herramientas de aislamiento de procesos. De hecho, los
navegadores web actuales basados en Chromium utilizan procesos de sandbox en cada
página web visitada o plugin incorporado para evitar los ataques de tipo browser exploit.

¿Es seguro el aislamiento de procesos?


Son muchos los argumentos que respaldan el uso de métodos de aislamiento de procesos
o sandboxing. No obstante, cabe preguntarse hasta qué punto son seguras
las sandboxes en lo que respecta a la cibercriminalidad. En general, usar una sandbox no
es razón para dormirse en los laureles, ya que, a medida que evolucionan los mecanismos
de seguridad modernos, también lo hacen las argucias de los cibercriminales. Los
ciberataques inteligentes, por ejemplo, reconocen los típicos entornos de aislamiento de
procesos y logran evitarlos fácilmente haciendo que el código malicioso parezca inofensivo
antes de instalarlo. Por este motivo, los expertos recomiendan no usar un único sistema de
aislamiento de procesos, sino varios al mismo tiempo y a distintos niveles. Así, por
ejemplo, la llamada tecnología multi-sandbox array aplica diversas sandboxes en la
misma nube.

En la siguiente tabla presentamos de nuevo un resumen de las ventajas y desventajas de


una sandbox:

Ventajas Inconvenientes

Es un entorno de prueba controlado para Los usuarios creen estar seguros


software nuevo. y cometen negligencias.

Protege el hardware, el sistema operativo o el Las sandboxes más antiguas


registro del sistema. tienen lagunas de seguridad.

No permite accesos no autorizados a los datos Las herramientas de sandbox


del sistema anfitrión. completas son caras y consumen
muchos recursos.

No hay conflictos entre programas y sistemas  


operativos ni entre los propios programas.

La navegación por Internet es segura gracias a  


la protección contra el malware.

¿CÓMO PODEMOS USAR UN SANDBOX?


En función del sistema operativo que usemos existen diferentes software que
nos permitirán ejecutar programas dentro de un sandbox. Algunos ejemplos
son los siguientes:
GNU-Linux: Firejail, Glimpse.

Windows: Windows Sandbox, Sandboxie, Shadow Defender.

En resumen
El aislamiento de procesos ofrece a los desarrolladores un entorno seguro en el que poder
probar con tranquilidad software en proceso de perfeccionamiento. En lo que a la
seguridad informática se refiere, las sandboxes son especialmente eficaces si se aplican
en diversas capas y se combinan con otras medidas.

También podría gustarte