Proceso de firma de código de apps en iOS y iPadOS
En iOS y iPadOS, Apple garantiza la seguridad de las apps mediante mecanismos como la firma de código obligatoria y el inicio de sesión estricto para desarrolladores, entre otros.
Firma de código obligatoria
Una vez que se ha iniciado, el kernel de iOS o iPadOS controla los procesos y apps del usuario que se pueden ejecutar. Para ayudar a garantizar que todas las apps proceden de una fuente conocida y aprobada y no se han manipulado, iOS y iPadOS requieren que todo el código ejecutable se firme con un certificado emitido por Apple. Las apps proporcionadas con el dispositivo, como Mail y Safari, están firmadas por Apple. Las apps de terceros también se deben validar y firmar con un certificado emitido por Apple. La firma de código obligatoria extiende el concepto de cadena de confianza del sistema operativo a las apps y contribuye a impedir que aplicaciones de terceros carguen código sin firmar o utilicen código que se modifique automáticamente.
Cómo firman los desarrolladores sus apps
Los desarrolladores pueden firmar sus apps mediante la validación de un certificado (a través del programa para desarrolladores Apple Developer Program). También pueden incorporar en sus apps estructuras cuyo código se valide mediante un certificado emitido por Apple (a través de un identificador de equipo).
Validación del certificado: Para desarrollar e instalar apps en dispositivos iPhone o iPad, los desarrolladores deben registrarse en Apple y unirse al Apple Developer Program. Apple verifica la identidad real de cada desarrollador, ya sea una persona individual o una empresa, antes de emitir su certificado. Este certificado permite a los desarrolladores firmar apps y enviarlas a la tienda App Store para su distribución. Así, todas las apps de App Store han sido enviadas por personas u organizaciones identificables, lo cual funciona como elemento disuasorio para la creación de apps maliciosas. Además, Apple las ha revisado para ayudar a garantizar que normalmente funcionan según lo esperado y que no contienen errores ni otros problemas evidentes. Este proceso de revisión, organización y distribución, que se suma a la tecnología ya comentada, da confianza a los usuarios en cuanto a la calidad de las apps que compran.
Validación de la firma de código: iOS y iPadOS permiten a los desarrolladores incorporar en sus apps marcos de desarrollo que las propias apps o las extensiones incorporadas en ellas pueden utilizar. Para proteger el sistema y otras apps frente a la carga de código de terceros en su espacio de direcciones, el sistema valida la firma de código en todas las bibliotecas dinámicas a las que un proceso ofrezca un enlace al iniciarse. Esta verificación se consigue mediante el identificador de equipo (ID de equipo), que se extrae de un certificado emitido por Apple. Un identificador de equipo es una cadena de 10 caracteres alfanuméricos, como 1A2B3C4D5F. Un programa puede tener un enlace a cualquier biblioteca de plataformas proporcionada con el sistema o a cualquier biblioteca que tenga el mismo identificador de equipo en su firma de código como ejecutable principal. Como los ejecutables que se envían con el sistema no cuentan con un identificador de equipo, solo pueden contener enlaces a bibliotecas que se envíen con el propio sistema.
Verificar las apps internas propias
Las empresas aptas pueden crear apps internas propias para utilizarlas dentro de la organización y distribuirlas a sus empleados. Las empresas y organizaciones pueden solicitar el registro en el Programa Enterprise para desarrolladores de Apple (ADEP). Para obtener más información y para revisar los requisitos de idoneidad, consulta el sitio web del Programa Enterprise para desarrolladores de Apple. Una vez que una organización es miembro de ADEP, puede registrarse para obtener un perfil de datos que permita la ejecución de apps internas propias en los dispositivos autorizados.
Los usuarios deben tener instalado el perfil de datos para poder ejecutar estas apps. Esto ayuda a garantizar que solo los usuarios que elija la organización pueden cargar las apps en sus iPhone o iPad. Se confía implícitamente en las apps instaladas con una solución de gestión de dispositivos móviles (MDM), dado que la relación entre la organización y el dispositivo ya está establecida. De lo contrario, los usuarios tienen que aprobar el perfil de datos de la app en Ajustes. Las organizaciones también pueden restringir a los usuarios para que no aprueben apps de desarrolladores desconocidos. En la primera apertura de cualquier app interna propia, el dispositivo debe recibir la confirmación positiva de Apple de que se permite ejecutar la app.