Se préparer pour le runtime et le notaire renforcés de macOS

Avec macOS Mojave, Apple a introduit la prise en charge du service d'exécution renforcée et du service notaire. Ces deux services sont conçus pour améliorer la sécurité des applications sur macOS. Récemment, Apple a déclaré :


«À partir de macOS 10.14.5, toutes les extensions de noyau nouvelles ou mises à jour et tous les logiciels des développeurs nouveaux à la distribution avec Developer ID doivent être notariés pour fonctionner. Dans une future version de macOS, la notarisation sera requise par défaut pour tous les logiciels. »



Aujourd'hui vous aidera à comprendre les nouvelles règles du point de vue Xamarin.
Cet article dans le blog

Sécurité sur macOS


  • Signature de code - Sur macOS GateKeeper , les ensembles d'applications doivent être signés de manière cryptographique avec une clé d'un compte de développeur Apple.

  • Runtime renforcé - Il s'agit d'une deuxième couche de sécurité introduite dans macOS Mojave (10.14). En signant le code avec un indicateur supplémentaire, le runtime Cocoa appliquera un certain nombre de restrictions lors de l'exécution de l'application.

    • Par exemple, certaines restrictions incluent le refus de l'exécution de code auto-modifiable ou le chargement de bibliothèques dynamiques non signées.
    • Chaque catégorie de restriction peut être désactivée via l'utilisation de droits spéciaux.
  • Service notaire - Il s'agit d'une troisième couche de sécurité également introduite dans macOS Mojave (10.14). Il s'agit d'un service d'analyse de code qui analysera votre logiciel pour détecter tout contenu malveillant. Pour passer l'analyse notaire, votre application doit avoir déjà opté pour le runtime renforcé.

Comment débuter


Pour commencer à préparer votre candidature pour ces nouvelles exigences, voici quelques étapes à suivre:


  • Ouvrez votre application et confirmez que la signature de code avec un fichier d'autorisation est activée pour les versions Release. Assurez-vous que votre application démarre correctement. Suivez la documentation de signature Xamarin.Mac si vous rencontrez des problèmes.
  • Téléchargez et installez Xamarin.Mac 5.10 (d16-1) ici .

Configurez vos droits


Jusqu'à ce que nous implémentions le support IDE pour les nouvelles options, deux étapes manuelles sont nécessaires:



  1. Ouvrez votre application Xamarin.Mac .csproj dans un éditeur de texte et ajoutez

    <UseHardenedRuntime>true</UseHardenedRuntime> 

    à la section Release
  2. Ouvrez votre fichier droit.plist dans un éditeur de texte et ajoutez

     <key>com.apple.security.cs.allow-jit</key> <true/> 

Lancez votre application et testez-la. S'il se bloque, vous aurez peut-être besoin de droits supplémentaires d'Apple.


Authentifier votre application


Pour légaliser, vous devez suivre deux étapes:


  1. Téléchargement de votre build au service notarial
  2. Agrafez le ticket à votre demande

Vous êtes prêt! Si vous avez des commentaires concernant ce processus, nous aimerions avoir de vos nouvelles. Envoyez un courriel à david.ortinau@microsoft.com ou ajoutez un commentaire sur GitHub .



David ortinau
David ortinau

Gestionnaire de programme principal, Outils pour développeurs mobiles

Source: https://habr.com/ru/post/fr448804/


All Articles