Sandboxing: próximamente en tu Mac más cercano

Apple ha comenzado a enviar a los desarrolladores un correo electrónico recordándoles que el 1 de junio la compañía activará en la Mac App Store el requerimiento de que todas las aplicaciones deberán funcionar bajo estas “cajas de arena” que impiden que las aplicaciones se comuniquen entre ellas. la compañía ha retrasado la fecha original de noviembre de 2011 en dos ocasiones: primero, a marzo y luego a junio, pero con la llegada de OS X 10.8 Mountain Lion, el sandboxing deberá ser efectivo para todas las aplicaciones que se comercialicen a través de la App Store.

En el correo, Apple recuerda a los desarrolladores que deben enviar sus correspondientes actualizaciones antes del 1 de junio para que sus aplicaciones cumplan con esta especificación de Apple.

Los retrasos de esta nueva política de Apple podrían haberse debido a problemas en la seguridad de la implementación del mismo: Core Security Technologies hizo públicas varias vulnerabilidades en noviembre de 2011  sobre la implementación del sandboxing de Mac OS X, la técnica que permite aislar los procesos de cada aplicación de forma que las aplicaciones en ejecución no pueden salir de unos límites determinados y afectar al resto del sistema u otras aplicaciones. Charlie Miller identificó en 2008 algunos problemas en la técnica que estaba usando Apple para realizar este tipo de táctica de protección y seguridad, y Apple solucionó algunos aspectos pero no todos de su forma de realizar sandboxing según esta nueva información publicada por la compañía.

La empresa hizo público que varios de los perfiles sandbox predefinidos que no habían sido modificados por Apple y podían ser sobrepasados con el uso de Apple Events. Tras la mención del problema original por Miller, la compañía de Cupertino restringió el uso de Apple Events en los perfiles que mencionó el investigador de seguridad, pero dejó otros sin modificar.

Core descubrió que enviando Apple Events a través de la “no-network sandbox” era factible ganar acceso a los recursos de red y se podría, teóricamente ejecutar aplicaciones no directamente restringidas por la sandbox.

Core notificó este problema de seguridad en octubre de 2011 y no hizo comentarios acerca de si Apple había solucionado ya el problema de seguridad, que afecta a Mac OS X 10.5 Leopard, Mac OS X 10.6 Snow Leopard y Mac OS X 10.7 Lion.

Una explicación completa de la vulnerabilidad, así como varios ejemplos de código están disponibles en la web de Core. No se han encontrado Pruebas de Concepto ni Malware que haya aprovechado esta vulnerabilidad desde su difusión pública por Charlie Miller en 2008 y se cree que Apple ha actualizado  convenientemente los sistemas operativos afectados para sanitizar los perfiles de sandboxing aún no modificados además de implementar nuevas mejoras para OS X 10.8 Mountain Lion.

Sandboxing

Una de las características menos publicitadas de Mac OS X 10.7 Lion es un nuevo sistema, mucho más robusto, de sandboxing. Esta técnica permite que un programa pueda ejecutarse en un entorno cerrado sin acceso al exterior, evitando así los daños intencionales de una aplicación si es comprometida por malware. A efectos prácticos, las aplicaciones en estas “cajas de arena” no pueden comunicarse con el resto de los programas o su entorno informático, y esta medida de seguridad impide que puedan causar daños fuera de su entorno predefinido.

Esta, que es una gran idea para prevenir los posibles daños causados por el software malicioso, tiene sin embargo un problema: impide comunicarse a un programa con otro, es decir, pasar información elaborada para que el siguiente programa pueda realizar acciones con ella. Un ejemplo del tipo de aplicaciones afectadas por el sandboxing son todas aquellas que manipulan contenidos en todos los programas a través de acciones predefinidas por el usuario.

Apple indicó a los desarrolladores que la técnica del sandboxing debería estar implementada en todas las aplicaciones que se incluyen en el extenso catálogo de la Mac App Store en noviembre. Sin embargo, la compañía de Cupertino ha enviado un correo electrónico a los desarrolladores a primeros de noviembre retrasando la fecha hasta el 1 de marzo de 2012 y después hasta el 1 de junio, previa la salida de OS X 10.8 Mountain Lion .

El sandboxing es una buena idea en cuanto a seguridad, pero una mala, muy mala idea en cuanto a permitir funcionalidades de las aplicaciones. Dejar a una aplicación sin la capacidad de comunicarse con otras o acceder a ciertas funciones del sistema en muchos casos no solo coarta su capacidad, sino que simplemente la deja sin sentido y función ni posibilidad de ser útil al usuario.

Que Apple fuerce a los desarrolladores a usar el sandboxing en las aplicaciones de la Mac App Store no implica que fuera de este entorno las diferentes aplicaciones si puedan seguir usando diferentes técnicas para seguir funcionando como lo hacen hasta ahora: simplemente serán rechazadas y no podrán ser comercializadas a través de la tienda de Apple, pero podrán seguir funcionando en Mac OS X y ser compradas por el usuario fuera del entorno de Apple, aunque estas aplicaciones perderían la oportunidad de venta desde el enorme escaparate que es la App Store.

Sin embargo, las aplicaciones externas a la App Store si deberán cumplir con las exigencias de Gatekeeper.

En seguridad informática hay dos claras tendencias: la proactiva, en la que  “el sistema” se encarga de defender al usuario da igual la amenaza que sea y la “reactiva” en la que el el sistema reacciona ante una amenaza establecida para eliminarla. Apple, con Gatekeeper se saca de la manga un nuevo modelo muy sencillo: que el usuario decida. No es precisamente la solución más elegante pero evita muchos quebraderos de cabeza a la compañía de Cupertino.

Según Apple, la forma más segura de encontrar aplicaciones para el Mac es la Mac App Store ya que las aplicaciones son revisadas por la compañía además de que los desarrolladores están “fichados” en Apple. Si hay un problema con una aplicación, Apple la retira. Además, antes de descargar una aplicación, en usuario puede echar un vistazo a los comentarios de otros usuarios y valorar la puntuación de la misma.

Sin embargo, durante el último par de años han surgido diferentes amenazas para Mac OS X que Apple ha enfrentado de forma reactiva, añadiendo una capa  de defensa que identificaba el malware para evitar que el usuario lo instalara. Sin embargo, esta solución era para Apple un problema porque le obligaba a mantener un equipo de análisis y de defensa. La solución ha sido muy sencilla para Cupertino: trasladar el problema al usuario y que el decida.

Sin embargo, ha puesto ciertas ayudas para esta decisión: la ID de desarrollador. Para evitar que los usuarios se vean infectado por malware cuando descargan aplicaciones de entornos fuera de la App Store, las aplicaciones que se comercialicen o distribuyan llevarán un Developer ID, un sello que identifica esa aplicación con un desarrollador “real” que tiene nombre y apellidos.

A partir de Mac OS X 10.8 Mountain Lion, los usuarios dispondrán en un sencillo panel de control gestionar el tipo de aplicaciones que podrán instalar: solo de la App Store, de la Apple Store y aplicaciones firmadas por un desarrollador o todas las aplicaciones. Este comportamiento podrá sobrepasarse al elegir el usuario, vía menú contextual o una táctica similar, e instalar una aplicación “sí o sí”.

Gatekeeper puede que sea una buena solución técnica al problema del malware, pero es una mala maniobra por parte de Apple. Si bien lo usuarios más experimentados lo encontrarán cómodo y sencillo como medida de defensa, los usuarios sin bagaje técnico se encontrarán con un cuadro de diálogo con una decisión que puede ser trascendental y que no entienden. Justo como pasa en Windows.

0 0 votos
Article Rating
Subscribe
Notify of
1 Comment
Oldest
Newest Most Voted
Opiniones Inline
Ver todos los comentarios
Rafa Espada
Rafa Espada
11 years ago

El último párrafo… me temo que una realidad a corto plazo será que se elija la última opción. Aunque espero los desarrolladores vean en esto una oportunidad de dar más confianza al usuario usando los certificados y en un tiempo relativamente corto la opción usada sea la segunda.

1
0
Me encantaría saber tu opinión, por favor, deja un comentariox
()
x