Appareil de recherche en sécurité d’Apple
L’appareil de recherche en sécurité informatique d’Apple est un iPhone doté d’un « fusible » spécial qui permet aux chercheurs en sécurité informatique de mener des travaux sur iOS sans avoir à contourner ou à désactiver les fonctionnalités de sécurité de la plateforme. Grâce à cet appareil, les chercheurs sont en mesure de charger des contenus non vérifiés par Apple qui pourront s’exécuter avec un niveau d’autorisation équivalent à celui de la plateforme, et donc de travailler sur une plateforme plus proche de celle des appareils de production.
Pour contribuer à éviter que les appareils d’utilisateur soient touchés par le règlement d’exécution des appareils de recherche, les modifications du règlement sont implémentées dans une variante d’iBoot et la collection du noyau de démarrage. Ces modifications sont vouées à l’échec sur les appareils d’utilisateur. Si elles sont exécutées sur un appareil qui n’est pas destiné à la recherche, l’iBoot de recherche cherche un autre état de fusion et déclenche alors une boucle d’erreurs graves (ou de panique).
Le sous-système cryptex permet aux chercheurs de charger un cache de confiance personnalisé et une image disque qui contient du contenu qui s’y rattache. De nombreuses mesures détaillées de défense ont été implémentées pour empêcher ce sous-système d’autoriser toute exécution sur tout appareil d’utilisateur :
launchd
ne charge pas la liste des propriétés decryptexd
launchd s’il détecte un appareil client normal.cryptexd
abandonne s’il détecte un appareil client normal.AppleImage4
ne vend pas la valeur antirejeu utilisée pour vérifier un cryptex de recherche sur un appareil client normal.Le serveur de signature refuse de personnaliser l’image disque cryptex pour tout appareil qui ne figure pas dans une liste d’autorisation explicite.
Pour préserver les données personnelles des chercheurs en sécurité informatique, seules les mesures (des hachages, par exemple) des exécutables ou du cache du noyau et les identifiants de l’appareil de recherche sont envoyés à Apple pendant la personnalisation. Apple ne reçoit pas le contenu du cryptex qui est chargé sur l’appareil.
Pour éviter qu’une personne malveillante tente de faire passer un appareil de recherche pour un appareil d’utilisateur afin d’amener une cible à l’utiliser au quotidien, l’appareil de recherche en sécurité présente les différences suivantes :
L’appareil de recherche en sécurité ne démarre que lorsqu’il est branché sur une source d’alimentation, ce qui peut être au moyen d’un câble Lightning ou d’un chargeur Qi compatible. Si l’appareil n’est pas branché à une source d’alimentation lorsqu’il démarre, il entre en mode de récupération. Si l’utilisateur branche l’appareil et le met en marche, celui-ci démarre normalement. Dès que le noyau XNU démarre, l’appareil n’a pas besoin de rester branché sur une source d’alimentation pour fonctionner.
La mention Security Research Device (appareil de recherche en sécurité) s’affiche sous le logo Apple lors du démarrage d’iBoot.
Le noyau XNU démarre en mode détaillé.
Un message est gravé en anglais sur le côté de l’appareil : « Property of Apple. Confidential and Proprietary. Call +1 877 595 1125. »
Les mesures supplémentaires suivantes sont implémentées dans les logiciels qui apparaissent après le démarrage :
La mention Security Research Device s’affiche lors de la configuration de l’appareil.
La mention Security Research Device s’affiche sur l’écran verrouillé et dans l’app Réglages.
L’appareil de recherche en sécurité accorde aux chercheurs les possibilités suivantes qui ne sont pas offertes sur un appareil d’utilisateur. Les chercheurs peuvent :
charger sur l’appareil du code exécutable non signé par Apple avec des droits arbitraires au même niveau d’autorisation que les composants du système d’exploitation d’Apple;
démarrer des services au démarrage de l’appareil;
faire persister des contenus d’un redémarrage à l’autre;
utiliser le droit
research.com.apple.license-to-operate
pour autoriser un processus à déboguer tout autre processus sur le système, y compris les processus système.L’espace du nom
research.
n’est respecté que par la varianteRESEARCH
de l’extension de noyau AppleMobileFileIntegrity. Tout processus possédant ce droit est interrompu sur un appareil client pendant la validation de la signature.personnaliser et restaurer un cache de noyau personnalisé.