Comment sécuriser un EMMC

Luis Cruz

Comment sécuriser un EMMC


Mon département de la société dans laquelle je travaille est en charge du développement d’un circuit de production, et la sécurité du système embarqué est une exigence cruciale. Le prototype actuel de notre système embarqué tourne sous Linux sur une carte micro SD (avec un MPU, Am335x). Mon travail consiste actuellement à changer la conception en quelque chose de plus sécurisé – quelque chose qui ne peut pas être facilement modifié par l’utilisateur. Cependant, je ne l’ai pas fait dans le passé, donc je ne suis pas vraiment sûr de ce que sont les lignes directrices.

Mes pensées jusqu’à présent:

Recherchez une puce EMCC sur un boîtier BGA avec une couche interne sur le PCB pour les traces. De cette façon, il serait impossible de reprogrammer à moins que l’utilisateur ne détruise le PCB. Cependant, j’ai du mal à trouver une puce emmc sur Digikey, apparemment elles ne sont pas très courantes et elles sont toutes épuisées.

Une autre chose que je pensais n’utilisait pas du tout un EMMC mais un flash NOR sécurisé. Cependant, je ne suis pas vraiment sûr que cela augmenterait le temps de développement dans mon département car je suppose que cela nécessiterait de modifier les arborescences de périphériques sur notre AM335x afin qu’il fonctionne avec un NOR sécurisé au lieu d’un EMMC ou d’une carte micro SD.

Modifier: l’exigence de sécurité à laquelle je fais référence dans cet article est uniquement liée au matériel. Nous utilisons un TPM pour un démarrage sécurisé et un protocole d’attestation à distance pour affirmer à distance l’état des PCR. Tous les logiciels (nouveau micrologiciel) doivent être signés par code pour fonctionner. De plus, toutes les données sensibles en flash sont cryptées. Ainsi, je ne m’inquiète pas de voir quelqu’un dessouder et lire l’EMMC. Je suis cependant préoccupé par toutes les communications qui vont de l’EMMC à l’AM335x, donc je dois m’assurer qu’il serait difficile pour quelqu’un de connecter une sonde de test aux traces de PCB . Et bien sûr, reflasher la puce et / ou ressouder une nouvelle . Ce sont les deux exigences de base dont j’ai besoin.

Tout conseil à ce sujet serait grandement apprécié.

Merci d’avance.

Eugene Sh.

Donner la conception de la sécurité à une personne sans expérience en matière de sécurité est voué à l’échec. Quoi qu’il en soit, «quelque chose de plus sûr» n’est pas une exigence de sécurité. Vous démarrez la conception de la sécurité en définissant les menaces contre lesquelles vous souhaitez vous protéger.

Luis Cruz

Eugene, bien que j’apprécie votre honnêteté, ce n’est pas un commentaire très utile. Quand je dis « Plus sûr », je fais référence à éviter essentiellement ce qui suit: sonder les broches et re-flasher la mémoire. Notre conception inclut un TPM, et nous utilisons un protocole d’attestation à distance pour affirmer les états des PCR. Maintenant, il est essentiellement lié au côté matériel de la sécurité (la sécurité des logiciels est une chose, et cela est pris en charge), fondamentalement, nous nous retrouvons avec une sécurité basée sur le matériel.

Eugene Sh.

La sécurité basée sur HW ou SW n’est pas très différente à cet égard. La sécurité commence par la définition des menaces. De quoi voulez-vous vous protéger? Réécrire le flash? La resouder avec un autre flash? Taper avec des sondes et lire les données? Dessouder et lire?

Eugene Sh.

Et ma première suggestion n’est pas sarcastique ou condescendante comme cela peut paraître, mais c’est un triste fait acceptable comme axiome dans le domaine de la cybersécurité (dans lequel je travaille d’ailleurs).

Luis Cruz

Eugene, fondamentalement, les deux choses que nous voulons éviter sont les suivantes: demander à quelqu’un de lire les données en appuyant sur les sondes et en réécrivant le flash. Et par conséquent, cela signifie que dessouder et resouder avec un autre flash est évidemment une autre menace, je suppose que ce dernier peut être évité en utilisant un package BGA et qu’il serait très difficile de changer cela à la main. Le dessoudage et la lecture ne représentent pas tant une menace que toutes les données sensibles sont cryptées.

Réponses


 Krunal Desai

Si l’attaquant a un accès physique à votre appareil, vous avez pratiquement déjà perdu. Un attaquant de niveau État peut faire ce qu’il veut. Une société aisée ne sera pas trop loin derrière. Même un amateur bien équipé avec des outils de base à la maison peut faire beaucoup.

Si vous avez une vulnérabilité dans laquelle l’accès physique au chemin entre votre périphérique de stockage et votre processeur compromet votre conception, je soutiens que vous devez essayer de passer à un périphérique et à un protocole qui transmettent les données cryptées sur le câble. Je suppose que le stockage d’images chiffrées sur eMMC serait déchiffré en mémoire sur le processeur, donc peut-être que la capture du trafic SD ne serait pas la plus grosse affaire, mais votre clé de déchiffrement doit être stockée dans un endroit sûr.


 filo

Couvrez tout avec de l’époxy. Plus c’est mieux. Bien sûr, cela n’arrêtera pas un adversaire déterminé, mais cela ne fera que le rendre plus difficile.

 

comment, emmc, sécuriser, un

 

google

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *