Signature du code sous iOS et iPadOS
Sous iOS et iPadOS, Apple sécurise les apps au moyen d’actions, comme la signature obligatoire du code, la connexion obligatoire des développeurs et plus.
Signature obligatoire du code
Après son démarrage, le noyau iOS ou iPadOS contrôle les apps et les processus utilisateur autorisés à s’exécuter. Pour aider à garantir que toutes les apps proviennent d’une source connue et approuvée et qu’elles n’ont pas été altérées, iOS et iPadOS exigent que l’ensemble du code exécutable soit signé à l’aide d’un certificat émis par Apple. Les apps fournies avec l’appareil, comme Mail et Safari, sont signées par Apple. Les apps tierces doivent également être validées et signées à l’aide d’un certificat émis par Apple. La signature obligatoire du code étend le concept de chaîne de confiance du système d’exploitation aux apps et contribue à empêcher les apps tierces de charger du code non signé ou d’utiliser du code susceptible de se modifier de façon autonome.
Signature des apps par les développeurs
Les développeurs peuvent signer leurs apps au moyen de la validation des certificats (par l’entremise du programme Apple pour les développeurs). Ils peuvent également intégrer un cadre d’application dans leurs apps et faire valider le code au moyen d’un certificat émis par Apple (par l’entremise d’une chaîne d’identifiant d’équipe).
Validation des certificats : pour développer des apps et les installer sur des appareils iPhone ou iPad, les développeurs doivent s’inscrire auprès d’Apple et adhérer au programme Apple pour les développeurs. Apple vérifie l’identité réelle de chaque développeur, qu’il s’agisse d’une personne ou d’une entreprise, avant de lui remettre un certificat. Ce certificat permet aux développeurs de signer des apps et de les soumettre à l’App Store en vue de leur distribution. Ce processus garantit que toutes les apps de l’App Store ont été soumises par une personne ou une organisation identifiable, ce qui a pour effet de freiner la création d’apps malveillantes. Chaque app a également été vérifiée par Apple afin de contribuer à garantir qu’elle fonctionne conformément à la description fournie et qu’elle ne présente aucun bogue évident ni problème connu. En plus des technologies mentionnées précédemment, ce processus de sélection favorise la confiance des utilisateurs par rapport à la qualité des apps qu’ils achètent.
Validation de la signature du code : iOS et iPadOS permettent aux développeurs d’incorporer des cadres d’application dans leurs apps; ceux‑ci peuvent être utilisés par l’app elle‑même ou par des extensions intégrées à celle‑ci. Pour empêcher le système et les autres apps de charger du code tiers dans leur espace d’adressage, le système procède à une validation de la signature du code de toutes les bibliothèques dynamiques auxquelles un processus se lie lors de son lancement. Cette vérification est réalisée au moyen de l’identifiant d’équipe issu d’un certificat délivré par Apple. Un identifiant d’équipe est une chaîne alphanumérique comportant 10 caractères (par exemple 1A2B3C4D5F). Un programme peut s’associer à n’importe quelle bibliothèque fournie avec le système ou à n’importe quelle bibliothèque comportant dans la signature de son code le même identifiant d’équipe que l’exécutable principal. Comme les exécutables préinstallés sur le système ne possèdent pas d’identifiant d’équipe, ils ne peuvent s’associer qu’aux bibliothèques fournies avec le système.
Vérification des apps propriétaires développées à l’interne
Les entreprises admissibles ont la possibilité de développer des apps réservées à un usage interne et de les distribuer à leurs employés. Les entreprises et les organisations peuvent déposer une candidature au programme Apple pour développeurs en entreprise (ADEP). Pour en savoir plus et pour connaître les conditions d’admissibilité, consultez le site Web du programme Apple pour développeurs en entreprise (en anglais). Une fois qu’une organisation est membre de l’ADEP, elle peut s’inscrire pour obtenir un profil d’approvisionnement permettant d’exécuter des apps propriétaires développées à l’interne sur des appareils autorisés.
Les utilisateurs doivent installer le profil d’approvisionnement pour pouvoir exécuter ces apps. Cela contribue à garantir que les utilisateurs concernés de l’organisation soient seuls à pouvoir charger les apps sur leurs appareils iPhone et iPad. Les apps installées à l’aide de la solution de gestion des appareils mobiles (GAM) sont considérées implicitement comme fiables, car la relation entre l’entreprise et l’appareil est déjà établie. Autrement, les utilisateurs doivent approuver le profil d’approvisionnement de l’app dans Réglages. Les entreprises peuvent également empêcher les utilisateurs d’approuver des apps issues de développeurs inconnus. Lors du premier lancement de toute app propriétaire développée à l’interne, l’appareil doit recevoir la confirmation d’Apple que l’app est autorisée à s’exécuter.