2 votes

Comment l'état du chargeur de démarrage est-il protégé contre les manipulations physiques dans le Google Pixel ?

Il y a une semaine, le Pixel 4 XL de mon professeur a été volé sur son bureau alors qu'il l'avait laissé là pour le charger. Le téléphone a été mis hors tension. Il lui restait quelques minutes de batterie lorsqu'il était branché en charge. Bien que je pense que l'attaquant l'a éteint immédiatement et a également désactivé les données mobiles ou activé le mode avion qui sont malheureusement autorisés dans les appareils Pixel sans déverrouiller l'écran. Je dois dire que cette conception de la sécurité physique est faible et qu'elle aide l'attaquant plus que les autres. sécurité de l'environnement *. Bien que la localisation ne puisse être désactivée sur l'écran verrouillé, elle sera inutile si l'appareil ne se reconnecte pas automatiquement au réseau wifi ouvert du campus auquel il était connecté auparavant.

Je lui ai assuré que les données ne peuvent pas être compromises parce qu'elles sont protégées par cryptage basé sur les fichiers (FBE) qui est lié au mot de passe de l'écran de verrouillage de l'utilisateur et le mot de passe de l'écran de verrouillage est vérifié par la puce Titan M (TEE) pour déverrouiller l'appareil. L'attaquant peut toujours réinitialiser l'appareil qui est alors invité par la protection de réinitialisation d'usine lors de la configuration de l'appareil. Il s'agit d'une autre conception de sécurité physique faible, car la réinitialisation d'usine non autorisée peut être évitée en adoptant l'authentification biométrique pour le chargeur de démarrage et le mode de récupération par la puce TEE qui se réveille avant que le chargeur de démarrage Android ne soit réveillé.

Dans Pixel, le chargeur de démarrage peut être déverrouillé en activant Déverrouillage OEM à partir des outils de développement, puis en exécutant fastboot flashing unlock en mode chargeur de démarrage. Comme l'attaquant ne peut pas accéder aux paramètres du développeur sans déverrouiller l'écran, mon professeur m'a demandé si, en utilisant un outil matériel comme le lecteur et l'enregistreur de mémoire flash UFS, l'attaquant peut directement altérer l'octet de déverrouillage de l'OEM et l'octet d'état du bootloader (verrouillé et déverrouillé) qui sont enregistrés. quelque part pour la persistance à travers les redémarrages et le flashage de ROMs personnalisées ?


*Sécurité de l'environnement : L'équipe chargée de la sécurité d'Android a fait quelques compromis en matière de sécurité en autorisant l'arrêt, l'activation du mode avion et la désactivation des données mobiles à partir de l'écran verrouillé, afin que les appareils puissent rester fonctionnels à partir de l'écran verrouillé en cas d'urgence, par exemple en cas de surchauffe de l'appareil dans un avion ou d'interférences radio.

3voto

Slevin Points 204

Pixel refuse fastboot flashing unlock (et unlock_critical ) à moins que Déverrouillage OEM est activé. L'octet de déverrouillage de l'OEM est stocké par le TEE. tel que mis en œuvre dans la source Android.

libanais fournit une enveloppe de transport minimale pour communiquer avec des éléments sécurisés intégrés. Les éléments sécurisés intégrés adhèrent généralement aux normes des cartes à puce.

TEE est inviolable de par sa conception. Il n'est donc pas possible de modifier physiquement l'octet de déverrouillage du TEE dans Pixel. VerifiedBootState est également stocké dans TEE. Cela garantit qu'un appareil Pixel volé ne peut pas être réutilisé en déverrouillant le chargeur de démarrage et en réinstallant les images.

Lorsque la commande de déverrouillage du bootloader est exécutée, le bootloader demande au TEE de obtenir une capacité de déverrouillage défini par le déverrouillage OEM. Lorsque VerifiedBootState est réglé sur unlocked Le TEE efface les clés de cryptage basées sur les fichiers (FBE) et le chargeur de démarrage réinitialise le dispositif. L'état de démarrage vérifié et la capacité de déverrouillage restent persistants dans TEE lors des redémarrages, du flashage de ROM personnalisées et des réinitialisations d'usine. C'est pourquoi l'utilisateur doit toujours reverrouiller le chargeur de démarrage, même si toutes les partitions sont recalculées avec des images stock.

L'état de démarrage vérifié dans TEE est désormais également utilisé dans l'attestation de SafetyNet fondée sur le matériel. La protection contre la falsification par TEE rend impossible la falsification de l'état de démarrage vérifié. Par conséquent, elle ne laisse aucun moyen de passer le test de SafetyNet. intégrité du dispositif même si vous avez un accès Root.

Dans d'autres dispositifs, L'octet de déverrouillage de l'OEM est stocké dans le fichier FRP partition ce qui est une mauvaise conception en matière de sécurité car l'octet de déverrouillage de l'OEM peut être physiquement modifié s'il est stocké en dehors de TEE. Dans de tels appareils, les OEM envoient unlock.bin Ce fichier est utilisé comme un argument supplémentaire pour la commande de déverrouillage. Il y a donc une sorte de vérification en place pour vérifier le propriétaire de l'appareil. Dans les appareils Mi, le déverrouillage OEM nécessite l'enregistrement avec le compte Mi, ce qui garantit que seul le propriétaire du compte peut déverrouiller le bootloader à partir de l'outil de déverrouillage Mi, même si le déverrouillage OEM est activé.

Les appareils Mi précédents ont été trouvés pour stocker l'état du chargeur de démarrage dans /devinfo ce qui n'est absolument pas sûr car en modifiant simplement l'octet, l'attaquant peut déverrouiller le chargeur de démarrage. Étant donné que de plus en plus de dispositifs devront appliquer l'attestation SafetyNet adossée à du matériel, VerifiedBootState sera stocké dans TEE.

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