Publicidad

Cambios en la seguridad de macOS, todas las apps deberán ser validadas por Apple para que puedan ejecutarse
Desarrollo de software

Cambios en la seguridad de macOS, todas las apps deberán ser validadas por Apple para que puedan ejecutarse

Publicidad

Publicidad

Esta noche todos los desarrolladores hemos recibido un email que nos ha sorprendido, y que a la vez ha generado muchas preguntas por sus implicaciones y parcial complejidad técnica. Un email donde Apple adelante cambios en la seguridad del sistema macOS, que comenzarán a implementarse como opcionales en la próxima versión menor MacOS Mojave 10.14.5 y que serán de obligado cumplimiento en la futura versión macOS 10.15.

El propósito de este cambio, a grandes rasgos, es incorporar una capa más de seguridad a toda app o componente de sistema de terceros que vaya a ejecutarse en un Mac, obligando a que todos los desarrolladores tengan que enviar sus apps (previa a hacerlas públicas, en el Mac App Store o por libre distribución) y que Apple les realice un proceso de notaría.

Ejemplo de mensaje de una app notariada bajada de internet Ejemplo de mensaje de una app notariada bajada de internet

Este proceso de notaría de apps, permite que Apple certifique que están libres de cualquier tipo de software malicioso y firmar la fecha y el código de la misma para evitar modificaciones fraudulentas de la misma. Lo importante a entender es que no es un proceso manual de revisión como sucede en el App Store, es un proceso automático e inmediato que (por buscar un símil) sería como enviar un fichero a un servicio online de búsqueda de virus o troyanos. Simplemente subimos nuestro archivo desde Xcode 10.2 y Apple lo devuelve, en caso que no haya encontrado nada malo, con esta marca de notaría dentro creada por ellos. A partir de ahí ya podemos distribuirla a nuestros usuarios (en caso que nuestra no esté en el Mac App Store).

Firmado o notaría, condición indispensable

A partir de macOS 10.15, cualquier desarrollador que haga una app y quiera distribuirla para su ejecución en el sistema de Apple, deberá tener un Developer ID (no es necesario que sea de pago). Tendremos que entrar con nuestro Apple ID en developer.apple.com y acceder con él para activar la cuenta de desarrollador. Desde ese momento tendremos acceso al portal de desarrolladores que nos permitirá gestionar esta notaría de las apps.

De igual forma, cualquier desarrollador deberá descargar Xcode 10.2, el cual viene preparado para gestionar este proceso de control automático. Tanto las apps como las extensiones del Kernel deberán pasar este proceso, no solo en su primera publicación, también en cualquier nueva actualización.

El nuevo proceso de notaría automático de apps en macOS es un proceso automático e inmediato, no una review como las que se hacen en el Mac App Store.

Lo que hace Apple cuando pasa este control y valida las apps, es ponerles un ticket (básicamente un hash) que se valida directamente con el motor de seguridad de macOS, GateKeeper. Esto permitirá además, validar que nuestra app no haya sido modificada ni alterada por un tercero, proporcionando una capa de seguridad para el usuario muy interesante. Porque en caso de modificación de la aplicación original, el sistema advertirá que el ejecutable ha sido modificado y que vamos a ejecutar una app fraudulenta y no la original.

Cualquier app que ya esté publicada, incluso aquellas que no estén firmadas, podrán pasar este proceso de notaría tal cual, sin modificación alguna. Simplemente serán exploradas en busca de software malicioso y luego Xcode 10.2 le incluirá un sello de tiempo (timestamp) y una serie de opciones de firma necesarias para que pase el proceso de notaría y luego pueda validarse.

Notaría de una app

Deberemos tener cuidado, no obstante, si nuestra app es antigua y es notariada. Si el sistema se ve obligado a usar un método "relajado" de verificación porque la app no soporte determinadas tecnologías, esto podría dar lugar a una advertencia en el sistema o que la app deje de funcionar. Cada caso tendrá que ser validado con la propia Apple para buscar la mejor forma de realizar estas validaciones, en caso de problemas.

Cualquier aplicación que ya existiera antes de la implantación de esta norma, también podrá pasar el proceso de notaría sin modificación alguna ni firma. Pero después, necesitará estar firmada.

No obstante, cualquier nueva app que se cree a partir de ahora o incluso nuevas actualizaciones de apps antiguas, deberán generar un certificado de firma válido y usarlo para firmar sus apps y enviarlas a este proceso de notaría. Obviamente, si nuestra app va a estar colgada en el Mac App Store, esto nos afecta poco o nada pues el proceso de subida o revisión ya incluirá este proceso automático de notaría.

Se podrá pasar por este proceso de notaría cualquier app de macOS, bundles que no sean apps (como extensiones), imágenes de disco (en formato UDIF) o instaladores de paquetes. Adicionalmente Apple proporcionará el servicio a cualquier desarrollador para que si encuentra algún error de seguridad en alguna versión de su app, pueda revocar los tickets de esta y obligar a los usuarios a actualizar a las últimas versiones.

Grandes ventajas para el usuario

En contra de cerrar el sistema operativo, como podrían pensar algunos, lo que Apple pretende (bajo mi punto de vista como desarrollador) es dar una capa más de seguridad al usuario para que GateKeeper, el componente de seguridad de macOS, pueda informarnos mejor y prevenirnos de cualquier software fraudulento.

CleanMyMac X ya está notariada por Apple, un extra de seguridad CleanMyMac X ya está notariada por Apple, un extra de seguridad

Apps como CleanMyMac X ya han pasado este proceso por parte de Apple, lo cual da una garantía extra. No debemos olvidar que hay apps e imágenes de disco que muchas veces se descargan de internet cuando accedemos a algunos sitios de "dudoso contenido", e incluso apps que quieren hacerse pasar por software que optimiza nuestro Mac o actualiza el reproductor de Flash. Obviamente estos nunca podrán ser ejecutados, aunque queramos hacerlo, y nos darán un extra de seguridad muy importante y necesario.

De esta forma, como puede verse en el diálogo al comienzo del artículo, una app bajada de internet no solo dirá (como hasta ahora) que la app está bajada y si queremos realmente ejecutarla: añadirá un mensaje que nos informará que Apple ha analizado esta app en busca de software malicioso y que no ha encontrado nada.

Como podemos ver es un proceso completamente inocuo, nada invasivo y que pretende dar una capa extra de seguridad. Si sois desarrolladores, no dejéis de pasaros por applecoding.com ya que pronto haremos un tutorial básico de cómo realizar este proceso para ayudaros con esta nueva condición. Eso sí, condición indispensable: hemos de tener cuenta de pago del Apple Developer Program para poder obtener la notaría de una app, aunque no vaya a distribuirse dentro del Mac App Store. Si no, no podremos crear el certificado de tipo Developer ID.

Pequeña nota al final de línea en respuesta a vuestras preguntas: la notaría de apps es una función de Gatekeeper, el complemento del sistema que nos protege de software fraudulento. Un componente que ya existe hace varias versiones. Siempre tenemos un atajo para ignorar las advertencias y ejecutar cualquier software bajo nuestra responsabilidad.

P.D. - ¿Va Apple a convertir, fusionar o transformar macOS en iOS?

NO
Temas

Publicidad

Publicidad

Inicio
Compartir