Sécurisé par Knox - Samsung Mobile Security Mechanisms

Si vous avez un téléphone Samsung, vous avez peut-être remarqué la phrase «Secured by Knox» sur l'écran de démarrage. Qu'est-ce que cela veut dire? Under the cut - une description de la plate-forme de sécurité mobile préchargée sur la plupart des smartphones et tablettes Samsung. Il s'agit du premier examen en langue russe des mécanismes qui existent généralement dans la solution Knox.



Présentation


En 2019, Samsung Electronics a fêté ses 50 ans, et cette année a également été marquée par une autre date ronde - 10 ans depuis la sortie du premier appareil Galaxy - le GT-I7500. Voici à quoi ressemblait ce modèle:



Selon les normes actuelles, le téléphone avait des caractéristiques très modestes: un écran de 3,2 pouces et un processeur avec une fréquence d'horloge de seulement 528 MHz, exécutaient l'une des premières versions du système d'exploitation Android. En fait, en 2009, le modèle n'était pas unique: il y avait des appareils sur le système d'exploitation Android ouvert avec des caractéristiques matérielles similaires sur la plate-forme ARM sur le marché. Il était clair que le succès nécessite un «point culminant» qui distingue l'entreprise du reste.

Sans aucun doute, l'ouverture du système d'exploitation a influencé le succès de l'OS Android: selon les estimations d' IDC , en octobre 2019, il était installé sur 87% des smartphones vendus, et ce nombre continue d'augmenter. Mais alors, et maintenant, le problème de sécurité Android est l'un des sujets qui sont souvent abordés.

Samsung a présenté la plateforme Knox en réponse aux défis dans le domaine de la sécurité des informations des appareils mobiles. La première édition de Knox (l'ancien nom est «SAFE» ou «Samsung for Enterprise») est sortie en 2012 avec le Galaxy S3.



La dernière version majoritaire de la plateforme (3.0) est sortie avec le Galaxy S9 en 2018. La version actuelle au moment de la rédaction est la 3.4. Le nom Knox vient de Fort Knox, l'un des gisements d'or les plus sûrs au monde.



Qu'est-ce que Knox? Maintenant, sous ce nom (ou plus exactement une marque), on comprend tout ce qui est connecté à Samsung avec la sécurité mobile. Cela inclut le gestionnaire de mots de passe Samsung Pass , le dossier sécurisé , le service de paiement Samsung Pay et toute une famille de solutions d'entreprise , mais cela est basé sur la plate-forme Knox.



Une caractéristique importante de la plate-forme Samsung Knox est qu'elle est basée sur des mécanismes matériels. Samsung, en tant que fabricant de composants matériels, peut contrôler l'ensemble du processus de production, d'assemblage et de configuration de l'appareil et, par conséquent, concevoir des mécanismes de sécurité basés sur les capacités matérielles.

Cela comprend les principes suivants:

  • La sĂ©curitĂ© du système repose sur la racine matĂ©rielle de confiance (HW Root of Trust).
  • La surveillance de la sĂ©curitĂ© de l'appareil doit commencer au dĂ©marrage.
  • La surveillance de la sĂ©curitĂ© est obligatoire et rĂ©gulière pendant le fonctionnement de l'appareil.
  • Le système doit disposer d'un mĂ©canisme permettant aux systèmes tiers de prouver leur intĂ©gritĂ©.
  • La valeur principale de l'appareil est les donnĂ©es utilisateur. Leur protection est une prioritĂ© du système.

Une attention particulière dans le développement de la plate-forme Knox est accordée aux exigences spécifiques de l'entreprise en matière de sécurité des appareils. Les téléphones portables sont devenus un outil de travail: ce n'est pas seulement le travail de bureau habituel pour tout le monde (courrier, messagers, suite bureautique), mais aussi des options plus exotiques: un téléphone comme caisse enregistreuse, un scanner dans l'entrepôt ou même un guide dans le musée. Pour les entreprises, la capacité de gérer ces emplois mobiles est importante.

La plateforme Knox résout également ce problème:

  • Les donnĂ©es d'entreprise sur l'appareil doivent ĂŞtre gĂ©rĂ©es de manière pratique.
  • Le dispositif d'entreprise doit disposer de mĂ©canismes de surveillance et de contrĂ´le centralisĂ©s.
  • Les Ă©lĂ©ments ci-dessus ne doivent pas ĂŞtre mis en Ĺ“uvre au dĂ©triment de la confidentialitĂ© de l'utilisateur final.

Plus de détails sur la plate-forme d'appareil Samsung Knox.

Construire un environnement de confiance


Avant de plonger dans la discussion des mécanismes individuels, il convient de dire quelques mots sur la base de tous les mécanismes matériels de protection de la plate-forme Knox - Architecture de mesure de l'intégrité basée sur TrustZone (TIMA). Il est basé sur ARM TrustZone Framework.

Il y a 2 «mondes» (zones) dans le paradigme TrustZone:

  • SĂ©curisĂ©
  • Normal ou non sĂ©curisĂ© (monde «normal» ou «non sĂ©curisé»)

Leur séparation est effectuée au niveau matériel et est contrôlée par un composant distinct appelé Monitor. Cela ressemble à ceci:


Source: www.arm.com

La fonctionnalité du téléphone est répartie entre ces deux zones comme suit:

Monde sécurisé:
  • Informatique sensible (par exemple, chiffrement).
  • Protection des informations critiques.
  • Surveillance de l'Ă©tat du noyau du système d'exploitation exĂ©cutĂ© dans Normal World.
  • Accès Ă  la mĂ©moire et aux appareils marquĂ©s comme sĂ©curisĂ©s (accessibles uniquement depuis Secure World).

Monde normal:
  • ExĂ©cution du système d'exploitation principal et de toutes les applications utilisateur.
  • Les applications exĂ©cutĂ©es sur Secure World sont les plus privilĂ©giĂ©es et peuvent accĂ©der aux ressources des deux environnements (Secure World et Normal World). Dans des conditions normales, les applications de Normal World ne peuvent pas accĂ©der directement aux ressources Secure World.

Des bases, passons aux mécanismes de protection eux-mêmes dans la plate-forme Knox.

Racine matérielle de confiance


Déjà au moment de la production en usine, lors de l'installation du logiciel (logiciel), des clés cryptographiques sont créées sur l'appareil mobile. Considérez 2 clés principales:

  • ClĂ© matĂ©rielle unique de pĂ©riphĂ©rique (DUHK) ou ClĂ© matĂ©rielle unique de pĂ©riphĂ©rique. Une clĂ© symĂ©trique unique Ă  chaque appareil, qui est crĂ©Ă©e directement sur l'appareil Ă  l'aide d'un gĂ©nĂ©rateur de nombres alĂ©atoires matĂ©riel. Les informations chiffrĂ©es avec cette clĂ© ne peuvent ĂŞtre dĂ©chiffrĂ©es que sur le mĂŞme appareil. DUHK est disponible uniquement pour le module de chiffrement matĂ©riel et n'est disponible pour aucun logiciel sur l'appareil. Ă€ l'aide de DUHK, les clĂ©s cryptographiques restantes sur l'appareil sont cryptĂ©es. Lorsque nous disons qu'un composant est liĂ© Ă  un appareil, c'est le plus souvent l'utilisation de cette clĂ©.
  • ClĂ© racine du pĂ©riphĂ©rique (DRK) ou ClĂ© racine du pĂ©riphĂ©rique. Unique pour chaque appareil une paire de clĂ©s asymĂ©triques (RSA), signĂ©e par le certificat racine (X.509) Samsung. DRK est protĂ©gĂ© par DUHK et n'est disponible que sur Secure World. Il identifie de manière unique l'appareil et confirme qu'il est fabriquĂ© par Samsung.

Avec l'approche ci-dessus, les clés sont difficiles à compromettre ou à falsifier, les données cryptées sont fermement liées au matériel, elles ne peuvent pas être transférées et lues sur un autre appareil.


Fabrication d'appareils chez Samsung Electronics, Gumi, Corée du Sud

Télécharger l'appareil


Démarrage sécurisé


Le processus de démarrage du périphérique se compose d'une chaîne de chargeurs de démarrage, chacun vérifiant la signature du composant suivant, puis le démarre. Si la vérification échoue, le processus de téléchargement est interrompu. Ce mécanisme est appelé Secure Boot. Dans son travail, il utilise la clé Samsung Secure Boot Key (SSBK), une paire de clés asymétriques dans le stockage matériel.
Le démarrage sécurisé garantit que l'appareil démarre uniquement à l'aide de chargeurs de démarrage Samsung fiables. Si l'un des chargeurs de démarrage est compromis, le périphérique commence à s'arrêter, empêchant ainsi tout compromis potentiel du périphérique.

Démarrage sécurisé


Le démarrage sécurisé en vérifiant la signature résout le problème des chargeurs de démarrage tiers, mais ne résout pas le problème des anciennes versions non pertinentes qui comportent potentiellement un certain nombre de vulnérabilités connues. Par conséquent, le mécanisme Trusted Boot a été développé et fonctionne au-dessus de Secure Boot. Il vérifie la pertinence de la version du chargeur de démarrage. Les résultats des tests sont écrits dans la mémoire protégée dans TrustZone Secure World et peuvent être utilisés pour de futures vérifications.

Démarrage vérifié Knox (KVB)


Lorsque le système d'exploitation commence à se charger, un autre mécanisme appelé Knox Verified Boot est activé. KVB est une extension du moteur Android Verified Boot (AVB) . En plus des mesures standard contrôlées par AVB, KVB prend également en compte les résultats obtenus par Trusted Boot et Secure Boot (c'est-à-dire l'intégrité et la pertinence du chargeur de démarrage). En raison de l'exécution de toutes les opérations KVB dans le chargeur de démarrage, cette vérification est fiable et sûre (la procédure est effectuée en dehors de l'objet vérifié).

Le composant Knox Verified Boot est assez nouveau et est pris en charge par les appareils commençant par le Samsung S10 exécutant Android P ou une version ultérieure.

Graphiquement, le processus de démarrage d'un périphérique protégé par des mécanismes Knox peut être représenté comme suit:



Drapeau de quincaillerie de garantie Knox


Knox Warranty Bit est une fonction de sécurité qui vous permet d'enregistrer le fait d'installer une version non officielle du logiciel système sur un appareil. Les appareils avec un bit de garantie activé ne peuvent pas utiliser certaines fonctionnalités, par exemple, Knox Workspace. Le drapeau ne peut pas être remis dans son état d'origine. Il garantit que l'appareil Samsung n'a été précédemment lancé qu'avec un système d'exploitation de confiance.


Fig. Firmware personnalisé à gauche, KNOX WARRANTY VOID 0x1

Verrouillage matériel sur les anciennes versions du logiciel (Rollback Prevention)


Les versions plus anciennes des composants de démarrage peuvent contenir des vulnérabilités. Prévention de la restauration - une fonction qui bloque le retour à une ancienne version du système d'exploitation. La version minimale du chargeur de démarrage possible pour le firmware est stockée dans une zone protégée. La plus petite version possible du noyau du système d'exploitation est stockée dans le chargeur de démarrage lui-même. Avec une mise à jour régulière du système, les versions minimales autorisées du chargeur de démarrage et du système d'exploitation sont augmentées. Il n'est pas possible de revenir à une version précédente ou antérieure.



Il est impossible de revenir d'Android P Ă  Android O.

Intégrité de l'environnement de confiance


Après le démarrage, l'intégrité du système doit être vérifiée régulièrement. Il existe plusieurs mécanismes pour cela dans Knox.

Composant de mesure périodique du noyau (PKM)


PKM surveille périodiquement le système d'exploitation pour les modifications de ses composants dès le démarrage. Dans le cadre de la vérification, les sommes de contrôle du noyau et l'état du sous-système SE pour Android sont suivis (nous en parlerons un peu plus tard). PKM fonctionne pour Secure World. Ainsi, toute modification anormale du noyau OS sera détectée.

Composant de protection du noyau en temps réel (RKP)


Trusted Boot protège contre le chargement du noyau modifié, mais le noyau peut être attaqué pendant le fonctionnement de l'appareil. Une surveillance constante de l'intégrité du code et des données critiques est requise. RKP est une surveillance de sécurité située dans un environnement isolé - soit dans ARM TrustZone Secure World, soit dans un hyperviseur «léger» protégé par des extensions matérielles de virtualisation.

RKP utilise des méthodes spéciales pour surveiller la gestion de la mémoire dans Normal World, intercepter les requêtes critiques et évaluer leur impact avant leur exécution. Le mécanisme de protection du noyau en temps réel complète les vérifications périodiques d'intégrité du noyau (PKM).



Ainsi, la protection du noyau en temps réel est une garantie de protection contre l'exécution de code malveillant au niveau du noyau du système d'exploitation.

Vérification d'intégrité de l'environnement de confiance


Les appareils mobiles ne fonctionnent pas isolément, ils font généralement partie d'un système plus vaste, par exemple, ils sont des clients serveurs, des nœuds de calcul, etc. Et pour que le système fonctionne de manière stable et sûre, il doit être sûr que tous ses composants sont «sains» et ils sont ce qu'ils disent être. C'est une tâche assez difficile; dans le cadre de la plateforme Knox, elle est résolue à l'aide du mécanisme de certification à distance.

Certification d'appareil Ă  distance (Knox Attestation)


La certification à distance permet à un système tiers de tirer une conclusion sur l'état de l'appareil final. Les paramètres suivants sont vérifiés notamment:
  • les mesures collectĂ©es pendant le processus d'amorçage Trusted Boot;
  • journaux des violations de sĂ©curitĂ© des mĂ©canismes PKM et RKP depuis le dernier redĂ©marrage;
  • État du bit de garantie Knox
  • Divers identifiants de pĂ©riphĂ©rique, tels que IMEI.



Le message de certification est généré dans ARM TrustZone Secure World. C'est correct même si le système d'exploitation dans Normal World est compromis.

En plus de vérifier les paramètres individuels, la certification évalue également l'état du système dans son ensemble. Ce n'est que lorsque les mesures collectées par le Trusted Boot correspondent aux valeurs de référence et que la valeur Knox Warranty Bit n'est pas modifiée, que la certification est considérée comme réussie.

Le message de certification ne peut pas être falsifié car il est signé à l'aide de la clé d'attestation Samsung (SAK), dérivée de la clé racine Samsung. Le serveur distant peut vérifier l'intégrité du message à l'aide de la clé racine Samsung. La signature contient un «additif» cryptographique généré côté serveur (un nombre aléatoire qui n'est utilisé qu'une seule fois) pour empêcher l'attaquant d'utiliser l'ancien message de validation sur un appareil déjà compromis.

Le système tiers peut décider d'autres actions en fonction des résultats de la certification, en fonction des politiques de sécurité. Par exemple, vous pouvez vous déconnecter de l'appareil, effacer du contenu dans un espace de travail sécurisé, demander l'emplacement de l'appareil et effectuer de nombreuses autres actions.

Protection des données


Les données sont la valeur fondamentale d'un appareil mobile et nécessitent des mécanismes de protection distincts.

Cryptage du stockage interne


Le cryptage complet de la mémoire interne est une condition préalable pour tous les appareils basés sur Android OS à partir de la version 7. Knox développe ce concept en stockant la clé dans un stockage de clé matérielle sécurisé.



Améliorations de la sécurité (SE) pour Android


Samsung Knox utilise l'amélioration de la sécurité pour Android (amélioration de la sécurité pour Android, SE pour Android), qui ajoute le contrôle d'accès obligatoire (MAC) au système d'exploitation.

SE pour Android offre deux niveaux de protection MAC:

  1. Protection du noyau
  2. Protection du middleware Android

Les objectifs de SE pour Android incluent l'isolement des données et des applications, la restriction des droits des processus système, y compris ceux exécutés au nom d'un superutilisateur.


Conteneurisation Knox


Un cas d'utilisation particulier pour le moteur SE pour Android est le conteneur Knox.
Un conteneur divise les applications et les données en deux espaces indépendants: une zone régulière et une zone protégée. Les données de la zone protégée sont stockées sous forme cryptée dans la mémoire interne. Les clés de chiffrement, à leur tour, sont chiffrées à l'aide d'une clé DUHK, c'est-à-dire ils sont liés à un appareil spécifique. Si l'appareil est compromis (Knox Warranty Bit, Trusted Boot, etc.), l'accès au conteneur est bloqué.

Il est important de noter que les applications installées dans le conteneur fonctionnent, en fait, dans un environnement normal. Par conséquent, une application écrite pour Android s'exécute dans un conteneur sans aucune adaptation ni modification du code source.

La technologie de conteneurisation est utilisée dans plusieurs produits Samsung, tels que Secure Folder et Knox Workspace.



Opportunités d'affaires


Tous les mécanismes ci-dessus sont particulièrement importants lors de l'utilisation d'appareils mobiles dans un environnement d'entreprise. Cette question mérite un examen séparé, nous nous limitons donc ici à l'image:



Sources supplémentaires sur le sujet:



Publié par: Vladimir Karacharov,
Gestionnaire, avant / après-vente B2B
Équipe de développement commercial
Samsung R&D Institute Russia

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


All Articles