Cómo protege a los usuarios la zona de pruebas de la aplicación macOS

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

¿Qué es el entorno de pruebas de aplicaciones de macOS?

Cada aplicación tiene su propia área para jugar: una “caja de arena”. Si la aplicación quiere llegar fuera de su caja de arena, necesita pedir permiso al sistema operativo. Dependiendo de la configuración de la zona de pruebas, el sistema operativo rechazará o aprobará la solicitud de la aplicación mientras proporciona la información menos específica posible para completar la solicitud.

sobre sandboxing

Piense en un auto. 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 momento de la introducción de App Sandboxing, no existían sistemas informáticos análogos. Como el presentación introductoria preguntó, ¿dónde estaban los cinturones de seguridad de las computadoras? El sandboxing protege a los usuarios como los automóviles protegen a sus conductores: enfrentando fallas con sistemas de reducción de daños. Ya sea causado por actividad maliciosa o errores de codificación, el daño disminuye.

Dado que el sandboxing limita lo que pueden hacer las aplicaciones, puede restringir la libertad de los desarrolladores. Las aplicaciones de espacio aislado se ejecutan más lentamente y tardan más en desarrollarse. Gracias a la enorme capacidad de Mac, los límites de la zona de pruebas 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 zona de pruebas, ya sea por problemas de rendimiento o funciones.

¿Cómo funciona el sandboxing de aplicaciones?

El sandboxing se basa en el principio de privilegios mínimos. En resumen, los sistemas pueden hacer lo que necesitan hacer, pero nada más. Al limitar cada parte de un sistema a completar solo su objetivo declarado, reduce la posibilidad de que su aplicación sea secuestrada. Por ejemplo, no hay ninguna razón para que una aplicación de linterna tenga acceso a su lista de contactos.

Las aplicaciones pueden llegar fuera de su zona de pruebas, pero solo con el permiso del sistema operativo. Tome el cuadro de diálogo “Guardar y abrir” en macOS. La aplicación, dentro de su caja de arena, no puede acceder directamente a los recursos del sistema de archivos en su disco duro. No puede, por ejemplo, dibujar un panel abierto en “~ / Documentos”. En cambio, la aplicación debe preguntar al API de Powerbox con NSOpenPanel y NSSavePanel clases para acceder al panel.

macos-app-sandboxing-powerbox-design

La aplicación no puede ver lo que está sucediendo dentro de Powerbox directamente. La aplicación solo podrá acceder al archivo abierto o guardado. De esta forma, las aplicaciones pueden realizar funciones críticas sin riesgos innecesarios.

Esa 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. En función de los derechos declarados, el sistema operativo permite a la aplicación un nivel de funcionalidad adecuadamente limitado.

Este proceso de pensamiento subyace en la totalidad del modelo y mecanismo de sandboxing de la aplicación: las aplicaciones deben declarar su intención y pedir permiso a un jefe de nivel de sistema operativo para lograr algo peligroso.

Aplicaciones de espacio aislado frente a aplicaciones que no lo son

Desde el 1 de junio de 2012, todas las aplicaciones de terceros distribuidas a través de Mac App Store deben estar en espacio aislado. Si bien el sandboxing permite una amplia gama de funcionalidades de la aplicación, encontrará que las aplicaciones de Mac App Store suelen ser más limitadas que sus componentes que no son sandbox. Algunos desarrolladores incluso mantienen dos versiones: una aplicación con todas las funciones para descarga directa y una versión limitada para Mac App Store. Gracias a la mayor complejidad del desarrollo de sandbox, agregar nuevas funciones a una aplicación es más difícil, si el sistema operativo incluso permite esa funcionalidad.

Si bien las aplicaciones de espacio aislado pueden beneficiarse de la distribución de la Mac App Store, puede adivinar lo valioso que creemos que es. La zona de pruebas también se puede ampliar con permisos de seguridad. Si bien una aplicación no puede activar los permisos de accesibilidad por sí misma, puede pedirle al usuario que lo haga.

macos-security-privacy-permissions-hero

Para ver cuáles de sus aplicaciones están en espacio aislado, abra el Monitor de actividad y haga clic con el botón derecho en los títulos de las columnas para agregar “Sandbox” a la ventana.

macos-app-sandboxing-activity-monitor-view

Hay algunas aplicaciones que simplemente nunca pueden existir en una caja de arena. De hecho, el sandboxing evita una variedad de casos de uso valiosos. El espacio aislado evita la comunicación, la observación o la modificación entre aplicaciones, lo que limita significativamente la forma en que las aplicaciones pueden interactuar. Los accesos directos de todo el sistema como TextExpander están totalmente prohibidos, ya que el sandbox podría permitir ese nivel de funcionalidad.

Conclusión

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

Credito de imagen: Apple

¿Es útil este artículo?

¡Compártelo en redes sociales!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *