2011-09-14 5 views
11

Tengo curiosidad por saber cómo el nuevo modelo de seguridad en OS X Lion afectará el futuro. Específicamente, estoy cuestionando Derechos y Sandboxing.¿Cómo afectará el nuevo modelo de seguridad de Lion a cosas como Python?

No se trata de si estas son buenas ideas o no. Por el contrario, esta es una cuestión de mejor estimación de lo que sucederá en el futuro.

Tengo curiosidad acerca de cosas como Python. Mi empresa hace una pequeña aplicación de Python para situaciones de emergencia sin software basado en web. Esto incluye leer y escribir en el sistema de archivos.

Nuestra aplicación no tiene derechos, principalmente porque es solo código de Python y no hacemos ningún ajuste de Cacao. Cuando los requisitos de Mac App Store de que todas las aplicaciones deben estar en la zona de pruebas y lista de sus derechos entren en vigor, me pregunto si Apple lanzará una actualización del sistema operativo y dirá: "así es como hacemos la seguridad a partir de ahora y si la aplicación no cumple con nuestro modelo de seguridad, no se ejecutará porque no es segura ".

Tengo emociones encontradas sobre esto. Por un lado, creo que es genial para hacer que las máquinas de los consumidores sean más seguras. Menos código falso y todo eso se pudre. Por otro lado, creo que el desarrollo será un infierno para muchos desarrolladores.

También me pregunto si esa actualización debería aparecer para Lion si la misma actualización se lanzará para Leopard o Snow Leopard. Mi pensamiento no sería Leopard ya que está dos generaciones atrás del sistema operativo actual. Snow Leopard todo depende de cuánto tiempo Apple quiere admitir un sistema operativo más antiguo.

Así que ahora lo abro a los desarrolladores de Apple para que hablen sobre este tema y quizás generen pensamientos donde antes no había ninguno.

+4

Diría que nadie sabe hasta que Apple realmente haga algo. Por el momento, todo este material de seguridad es totalmente opcional y puede continuar desarrollando software de la misma manera que siempre lo hace. No creo que esto cambie de repente.Es posible que modifiquen y apliquen más del modelo de seguridad de forma predeterminada con el tiempo, pero aún podrá "simplemente escribir software". Solo es obligatorio si desea acceder a la App Store, que es una excelente manera de obligar a las personas a bordo que desean distribuir el software; pero eso no parece necesitar preocuparte en absoluto. – deceze

Respuesta

6

Si puede incrustar Python junto con su script y empaquetarlo en un .app usando algo como py2app, me imagino que podría add/edit the Info.plist para satisfacer los requisitos de Apple para la firma. Del mismo modo para los derechos, me imagino que podría edit the .app's entitlements.plist. Creo que el sandbox enforcer sandboxd no es específico del idioma, solo permite/bloquea el acceso del proceso a dispositivos y archivos (por ejemplo, al no otorgar descriptores de archivos restringidos). Tenga en cuenta que es posible que un intérprete de Python incrustado necesite acceder de manera predeterminada a algunas autorizaciones para la inicialización (ya que puede que no se haya creado teniendo en cuenta la zona de pruebas).

para dispositivos iOS (que debe ser un recinto de seguridad para ser vendidos en la tienda), la política de Apple (iOS Developer Program sección de acuerdo 3.3.2) es:

una aplicación puede no descargar o instalar código ejecutable. El código interpretado solo se puede usar en una Aplicación si todos los scripts, códigos e intérpretes están empaquetados en la Aplicación y no se descargan.

Parece que la solución anterior, si es posible, satisfaría este requisito (suponiendo que se haga una estipulación similar para las aplicaciones OS X). Sin embargo, si no está interesado en distribuir su aplicación en App Store, no creo que tenga nada de qué preocuparse. Dudo mucho que requieran la firma de códigos o derechos para ejecutar aplicaciones en su computadora en el corto plazo (en lugar de limitarse a guardar cajas de arena en la App Store, convirtiéndolo en el lugar "seguro" para obtener aplicaciones).

+0

Gatekeeper es el primer paso en esa dirección. Se introducirá en Mountain Lion (10.8) y notificará a un usuario cuando ejecute una aplicación que no está firmada, en la configuración predeterminada. Sin embargo, no tiene nada que ver con el sandboxing. – Dov

+0

@Dov Aunque creo que puede firmar aplicaciones que no se distribuyen a través de la Mac App Store. – shookster

+0

Por supuesto que puede, ese es el objetivo de Gatekeeper. En su configuración más restrictiva, solo puede instalar aplicaciones MAS. En la configuración intermedia (predeterminada), te avisa cuando ejecutas cualquier aplicación que no sea MAS que _no_ haya sido firmada por el desarrollador con un certificado de problemas de Apple. En la configuración menos restrictiva, no hay advertencias, como en Lion. – Dov

Cuestiones relacionadas