Cómo protege a los usuarios el Sandboxing de aplicaciones de macOS

Valora este post

Introducido en 2007 y requerido para 2012, el sandboxing es una herramienta utilizada por macOS para limitar el daño que puede causar una aplicación secuestrada. Apple dice: «Aunque el entorno de pruebas de aplicaciones no previene los ataques contra su aplicación, minimiza el daño que una aplicación exitosa puede causar. El entorno de pruebas de aplicaciones de macOS protege a los usuarios limitando la cantidad de problemas que puede causar una aplicación.

¿Qué es el Sandboxing de aplicaciones de macOS?

Cada aplicación tiene su propia área de juego: una «caja de arena». Si la aplicación quiere llegar fuera de su sandbox, necesita pedirle permiso al sistema operativo. Dependiendo de la configuración de la caja de arena, el sistema operativo rechazará o aprobará la solicitud de la aplicación, a la vez que proporcionará la información menos específica posible para completar la solicitud. Cómo protege a los usuarios el Sandboxing de aplicaciones de macOS 1

Pensar en un coche. El conductor está protegido por múltiples características de seguridad como frenos antibloqueo, bolsas de aire, zonas de deformación y más. En 2007, el tiempo de la introducción de App Sandboxing, no existían sistemas informáticos análogos. Como se preguntaba en la presentación introductoria, ¿dónde estaban los cinturones de seguridad para las computadoras? El Sandboxing protege a los usuarios como los coches protegen a sus conductores: solucionando los fallos con sistemas de reducción de daños. Debido a que el sandboxing limita lo que pueden hacer las aplicaciones, puede restringir la libertad de los desarrolladores. Las aplicaciones del entorno de pruebas se ejecutan más lentamente y tardan más tiempo en desarrollarse. Gracias a la enorme capacidad del Mac, los límites del arenero pueden tener un gran impacto en la compatibilidad de varias aplicaciones. Como resultado, los usuarios avanzados a menudo se ven obligados a elegir aplicaciones que se ejecutan fuera de la caja de arena, ya sea por problemas de rendimiento o de funciones.

¿Cómo funciona el Sandboxing de aplicaciones?

El Sandboxing se basa en el principio del menor privilegio. En resumen, los sistemas pueden hacer lo que tienen que hacer, pero no más. Al limitar cada parte de un sistema a completar sólo su objetivo declarado, se reduce la posibilidad de que su aplicación sea secuestrada. Por ejemplo, no hay razón para que una aplicación de linterna tenga acceso a tu lista de contactos. Tome el cuadro de diálogo «Guardar y abrir» en macOS. La aplicación, dentro de su sandbox, no puede acceder directamente a los recursos del sistema de archivos de su disco duro. No puede, por ejemplo, dibujar un panel abierto en «~/Documents.» En su lugar, la aplicación debe pedir a la API de Powerbox con las clases NSOpenPanel y NSSavePanel que acceda al panel. Cómo protege a los usuarios el Sandboxing de aplicaciones de macOS 2

La aplicación no puede ver lo que está pasando dentro de Powerbox directamente. Sólo el archivo abierto o guardado será accesible a la aplicación. De esta forma, las aplicaciones pueden realizar funciones críticas sin riesgos innecesarios, ya que esta funcionalidad está habilitada por un derecho (específicamente com.apple.security.files.user-selected.read-write). Los desarrolladores de aplicaciones establecen derechos que declaran lo que hace una aplicación. Basado en los derechos declarados, el sistema operativo permite que la aplicación tenga un nivel de funcionalidad apropiadamente limitado, este proceso de pensamiento subyace en todo el modelo y mecanismo de sandboxing de la aplicación: las aplicaciones deben declarar su intención y pedir permiso a un jefe a nivel de sistema operativo para realizar cualquier cosa peligrosa.

Aplicaciones en el entorno de pruebas frente a aplicaciones que no lo son

Desde el 1 de junio de 2012, todas las aplicaciones de terceros distribuidas a través del Mac App Store deben estar en el entorno de pruebas. Aunque el sandboxing permite una amplia gama de funcionalidades de aplicaciones, encontrarás que las aplicaciones de Mac App Store suelen ser más limitadas que los componentes que no están incluidos en la caja de arena. Algunos desarrolladores incluso mantienen dos versiones: una aplicación con todas las funciones para descarga directa y una versión en miniatura para Mac App Store. Gracias a la mayor complejidad del desarrollo del entorno de pruebas, añadir nuevas funcionalidades a una aplicación es más difícil, si es que el sistema operativo lo permite, es decir, si bien las aplicaciones de entorno de pruebas pueden beneficiarse de la distribución de Mac App Store, puedes adivinar lo valioso que creemos que es. El Sandboxing también se puede ampliar con permisos de seguridad. Aunque una aplicación no puede activar los permisos de accesibilidad por sí misma, puede pedirle al usuario que lo haga. Cómo protege a los usuarios el Sandboxing de aplicaciones de macOS 3Para ver cuáles de sus aplicaciones están en la caja de arena, abra el Monitor de actividad y haga clic con el botón derecho en los títulos de las columnas para añadir «Sandbox» a la ventana. Cómo protege a los usuarios el Sandboxing de aplicaciones de macOS 4Hay algunas aplicaciones que simplemente nunca pueden existir en una caja de arena. De hecho, una variedad de valiosos casos de uso se evitan con el sandboxing. El Sandboxing previene la comunicación entre aplicaciones, la observación o la modificación, limitando significativamente la forma en que las aplicaciones pueden interactuar. Los atajos a nivel de sistema como TextExpander están totalmente prohibidos, ya que ese nivel de funcionalidad podría ser permitido por la caja de arena.

Conclusión

Aunque prometedor, el sandboxing de aplicaciones macOS no se ejecutó bien. Limitó los puntos de venta únicos de las aplicaciones Mac, como la velocidad y la funcionalidad mejorada. Las aplicaciones que se ejecutan fuera de la caja de arena son casi siempre más capaces y rápidas. Desde la perspectiva de este usuario experto, mis aplicaciones más utilizadas no están en una caja de arena. Aplicaciones como TextExpander, SnagIt y TotalFinder son cruciales para mi trabajo diario. Para evitar una evasión generalizada similar, los futuros sistemas de seguridad necesitan flexibilidad y poder equilibrados con transparencia.

Posts Relacionados