Se supone que la metáfora del cajón de arena representa un cajón de arena / cajón de arena infantil, uno con lados muy altos. En este arenero metafórico, un niño juega con el contenido de su corazón, haciendo lo que quiera con la arena, pero no puede salir del pozo. Hay otros pozos de arena, con otros niños, pero no pueden verse ni jugar con la arena del otro.
La razón por la que desea esto es que cada niño tiene su propia caja de arena donde pueden hacer lo que quieran sin riesgo de que sus castillos de arena sean modificados o destruidos por otros niños. También protege el parque de los niños que juegan en el césped y esparcen arena por todas partes, ¡arena que puede contener heces de niños u orina!
En términos de programación, la metáfora no es exacta, pero puede pensar en el sandbox como una colección de recursos disponibles para un programa. Los programas solo pueden acceder a los recursos (arena) que el sistema les asigna, y no pueden jugar con los recursos de otros programas. La metáfora de la caja de arena se puede extender para que los programas puedan usar recursos fuera de la caja de arena, pero solo con el permiso del sistema (un padre).
- ¿Cómo se detecta un virus informático por un software antivirus?
- ¿Es posible descifrar datos HTTPS usando una clave pública?
- ¿Cuál es la diferencia entre la seguridad de CompTIA y la seguridad de CCNA?
- ¿Cómo encuentran los hackers vulnerabilidades y las muestran en Pwn2Own u otras conferencias de hackers?
- ¿Qué pasos debo seguir para proteger mi computadora portátil de los hackers?
Volviendo a nuestra metáfora, el sandbox permite que las aplicaciones y el sistema se separen entre sí. Pueden jugar en sus propios bits de memoria sin temor a verse afectados por otras aplicaciones. Si se bloquean (tienen una rabieta), su sandbox se puede restablecer sin que afecte a otras aplicaciones. También puede ayudar o detener por completo la instalación de códigos maliciosos (arena empapada de orina) y que otros virus (acosadores) afecten a otras aplicaciones o al sistema mismo.
Un ejemplo de esto es la forma en que iOS aísla las aplicaciones entre sí y del sistema en general. Las aplicaciones solo pueden usar la memoria que determina el sistema, y solo pueden acceder a los archivos en su propio espacio en el sistema de archivos. Se les permite acceder a cierta información del sistema en su conjunto, pero deben hacerlo solo a través de las API disponibles para ellos y no directamente.
Hay mucho más y no todos los sandboxes se crean de la misma manera (el iOS es diferente al sandbox para los complementos del navegador, por ejemplo), pero esa es la idea general.