4 votes

SafetyNet vs MagiskHide : où en est-on à la mi-2020 ?

Comme cela a été largement rapporté sur différents sites, et également discuté sur ce site ( aquí y aquí ), au début de l'année, Google a apporté des modifications à SafetyNet afin qu'il puisse détecter le statut du chargeur de démarrage/de l'amorçage vérifié même si MagiskHide est activé. À l'époque, le développeur de Magisk, John Wu, a tweeté que, puisque Google utilisait le Trusted Execution Environment (TEE), sa vérification du statut du chargeur de démarrage ne pouvait être déjouée. Il a ainsi écrit :

cette nouvelle mise à jour utilise une attestation de clé basée sur le matériel. Elle enverra un certificat de keystore non modifié aux serveurs de SafetyNet, vérifiera sa légitimité et contrôlera les données d'extension du certificat pour savoir si votre appareil a un démarrage vérifié activé (état du chargeur de démarrage).

À moins que votre ARM TrustZone (ou un coprocesseur de sécurité comme le Titan M de Google) ne présente de graves bogues de mise en œuvre, vous ne pouvez pas casser la cryptographie.

Il a conclu en substance :

Regardons les choses en face. L'amusement est terminé les gars.

Pourtant, le 14 mars, John Wu a tweeté :

Donc, apparemment, la CTS passe de nouveau de nulle part ? Peut-être que Google teste encore des choses ?

J'en ai fini de toute façon. Google est apparemment prêt à utiliser l'attestation de clé pour la détection. Puisque MagiskHide est toujours là, les gens peuvent toujours l'utiliser comme d'habitude.

Et un autre tweet de lui le 3 avril que je n'ai pas bien compris :

LE GROS MARTEAU DE GOOGLE EST DE RETOUR ! Dis bye bye à SafetyNet, tu vas (pas) nous manquer...

Cela signifie-t-il que Google supprimerait SafetyNet, ou du moins n'utiliserait pas ses capacités à détecter l'état du chargeur de démarrage ?

Le doute a donc commencé à poindre à la mi-mars. Dans mon propre test fin mai 2020, avec MagiskHide non activé, SafetyNet a échoué, mais avec MagiskHide activé et en ciblant mon application de test, SafetyNet a réussi, ce qui signifie que MagishHide pouvait encore vaincre SafetyNet. Le test a été effectué sur un Pixel 3 avec Android 10.

Donc, Google a peut-être la capacité de détecter MagiskHide, et cela fonctionnait sur le terrain avec de vrais appareils, mais ils ont en quelque sorte arrêté de le faire ? Quelqu'un sait-il ce qui se passe avec SafetyNet ? La fonction a-t-elle été temporairement annulée ? Est-ce qu'elle reviendra dans SafetyNet, et si oui, quand ?

1 votes

C'est subjectif (lié à l'appareil et au système d'exploitation), rien ne peut être dit avec certitude. Voyez les différents forums sur XDA et votre réponse dépendra de ce que vous lirez

0 votes

Je me demande s'il y a des indications sur ce que pense Google ? Ou s'agit-il simplement de spéculer sur ce que fait Google ?

0 votes

Ce n'est que de la spéculation - personne ne le sait

3voto

auspicious99 Points 495

(29 juin 2020) Il semble que Google soit prudent et prépare un nouveau champ dans le cadre de la réponse SafetyNet.

Selon le l'équipe des clients de l'API SafetyNet

Nous avons commencé à déployer une nouvelle fonctionnalité qui donnera aux développeurs un aperçu des types de signaux/mesures qui ont contribué à chaque réponse individuelle de l'API d'attestation SafetyNet.

Nos réponses JWS disposent désormais d'un nouveau champ facultatif appelé evaluationType. La valeur de ce champ sera une liste de chaînes de caractères séparées par des virgules, chaque chaîne représentant une valeur de type énumération.

Actuellement, les chaînes de caractères suivantes peuvent être indiquées: :

  • BASIQUE - Lorsque nous utilisons des signaux et des mesures typiques ainsi que des données de référence au cours de notre évaluation.
  • HARDWARE_BACKED - Lorsque nous utilisons les fonctions de sécurité matérielles disponibles de l'appareil distant (par exemple, l'attestation de clé matérielle) pour influencer notre évaluation.

Exemples de valeurs de champ auxquelles vous pouvez vous attendre :

  • {"evaluationType" : "BASIC"}
  • {"evaluationType" : "BASIC,HARDWARE_BACKED"}

Nous sommes en train d'évaluer et d'ajuster les critères d'éligibilité pour les appareils pour lesquels nous nous appuierons sur des fonctions de sécurité matérielles. Veuillez donc ne pas utiliser la présence ou la valeur de ce champ comme un signal en soi (pour l'instant).

Notez que cette fonctionnalité n'a pas encore été officiellement documentée. Pour l'instant, nous la communiquons uniquement à cette liste d'annonces afin de recueillir des commentaires.

Nous vous encourageons à utiliser notre formulaire de retour d'information pour nous faire part de votre expérience de cette nouvelle fonctionnalité et de l'ensemble du service.

Merci et salutations, L'équipe des clients API de SafetyNet

Une fois les tests de cette nouvelle fonctionnalité terminés, il semble donc que l'attestation de clé adossée au matériel sera mise en place. Cela signifie qu'à partir de ce moment-là, SafetyNet sera en mesure de détecter l'état du bootloader/vérifié même si MagiskHide est activé.

John Wu continue de se battre

(mise à jour le 29 juin 2020)

John Wu tente de persuader Google de ne pas appliquer aveuglément l'attestation SafetyNet soutenue par le matériel. Il a tweeté :

Je préconise @AndroidDev de restreindre l'évaluation SafetyNet soutenue par le matériel aux "vraies" applications sensibles à la sécurité. Les développeurs devraient passer par un processus d'application pour obtenir ce niveau d'accès à l'API. Il est ridicule que McDonalds refuse de fonctionner sur un appareil dont le bootloader est déverrouillé.

Entre-temps, il semble que les contrôles SafetyNet échouent toujours même si le chargeur de démarrage est reverrouillé, comme nous le voyons ici, tweeté le 3 juillet 2020

Mauvaise nouvelle : il est confirmé que pour ceux qui veulent reverrouiller leur bootloader avec des images auto-signées (possible sur les appareils Pixel), SafetyNet avec l'évaluation HARDWARE-BACKED sera toujours PAS réussir le contrôle CTS.

(Mise à jour le 13 décembre 2020) John Wu tweets actuels

Permettez-moi de mettre les choses au clair : comme j'ai un emploi à temps plein, je n'ai pas beaucoup de temps à consacrer à Magisk ; j'ai besoin d'établir des priorités. L'évaluation basée sur le HW n'est pas pratique à "hacker" (à part des astuces pour le faire revenir à basic), et j'ai perdu tout intérêt à améliorer la façon actuelle de cacher.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X