Privilegios de administrador de la zona de pruebas

Acabo de descargar la aplicación iAntivirus de Mac App Store. Quería que escaneara todo mi disco duro en busca de virus, por lo que me presentó un cuadro de diálogo Abrir que apuntaba a la raíz del disco duro (para que la computadora pueda acceder fuera de su zona de pruebas). Hice clic en Aceptar y la aplicación comenzó.

Lo que encontré extraño fue que nunca se me presentó un cuadro de inicio de sesión. Se le dio acceso al programa a los archivos en la carpeta del sistema, la carpeta de la biblioteca, etc. que solo yo podía editar escribiendo un nombre de usuario y una contraseña de administrador. ¿Es este un problema de seguridad con el sandboxing o es así como se supone que funciona?

Respuestas (2)

La aplicación puede tener acceso de lectura/escritura a una ubicación si obtiene su permiso mediante un derecho como parte de la zona de pruebas de la aplicación; en otras palabras, así es como se supone que debe funcionar. La aplicación está firmada con código y es confiable, le pide permiso, en teoría todo debería estar bien.

Como se indica en la descripción general de la tecnología Mac :

Zona de pruebas de la aplicación

Introducido en OS X v10.7, App Sandbox proporciona una última línea de defensa contra datos de usuario robados, corruptos o eliminados si un código malicioso explota su aplicación. App Sandbox también minimiza el daño de los errores de codificación. Su estrategia es doble:

App Sandbox le permite describir cómo interactúa su aplicación con el sistema. Luego, el sistema otorga a su aplicación solo el acceso que necesita para realizar su trabajo, y nada más.

App Sandbox permite al usuario otorgar de forma transparente a su aplicación acceso adicional mediante el uso de cuadros de diálogo Abrir y Guardar, arrastrar y soltar y otras interacciones familiares del usuario.

Específicamente, un desarrollador puede implementar el siguiente derecho como se indica aquí en Habilitación de la zona de pruebas de la aplicación , esto es exactamente lo que describió en su pregunta, por lo que este es probablemente el derecho que el desarrollador del programa A/V utilizó para obtener solo acceso de lectura y escritura.

com.apple.security.files.user-selected.read-write

Acceso de lectura/escritura a los archivos que el usuario ha seleccionado mediante un cuadro de diálogo Abrir o Guardar

Tenga en cuenta que esto no es lo mismo que un verdadero usuario administrador, ya que al programa no se le otorgaría el privilegio de ejecución.

Wow, entiendo por qué funciona, pero aún así es un poco sorprendente. De acuerdo con lo que dijiste, podría dar acceso a una aplicación a la carpeta del escritorio de otro usuario (o cualquier otra carpeta a la que no tenga permiso de acceso) siempre que abra una de sus carpetas principales en un cuadro de diálogo Abrir. De alguna manera anula el propósito de los permisos a menos que no lo esté viendo correctamente.
@Jack Esta respuesta no es del todo correcta. Geowar proporcionó una respuesta a continuación, que es un recuento más preciso de lo que está sucediendo: la aplicación usa los permisos del usuario, que pueden incluir lectura/escritura, pero si no tienen permiso, el cuadro de diálogo NSOpen no lo otorga.

No lo estás viendo correctamente. Sandboxing no pasa por alto los permisos de archivo. Si no tiene acceso de escritura a un archivo, tener el derecho de escritura de archivo no le dará acceso de escritura al archivo. Del mismo modo, los cuadros de diálogo NSOpen/NSSave no pueden acceder a nada a lo que no puedan acceder con el sandboxing desactivado.