Envoyer le message

Nouvelles

March 11, 2021

La menace persistante de la DRACHME pour Chip Security

Une vulnérabilité bien connue de DRACHME appelée le « rowhammer, » qui permet à un assaillant de perturber ou prendre le contrôle d'un système, continue à hanter l'industrie de puce. Des solutions ont été essayées, et des neufs sont proposés, mais le potentiel pour une attaque importante persiste.

D'abord découvert certains il y a cinq ans, la plupart des efforts d'éliminer la menace de « rowhammer » ont fait peu davantage qu'atténuent le problème.

« Rowhammer est une grande question, » a dit Barbara Aichinger, vice-président chez FuturePlus. « Les vendeurs réclament qu'il “a été fixé, “mais il n'était pas. Si vous regardez juste les nombreux documents qui ont été édités en 2020, vous verrez l'abondance des preuves de cela. »

Il y a de nombreuses manières de bloquer le rowhammer, bien que jusqu'ici aucun n'ait été largement accepté comme définitif et décisif. Des réductions peuvent être trouvées au niveau de logiciel, le niveau de navigateur, et dans le matériel dans les drachmes et les contrôleurs de mémoire. Mais ces seulement tentative de contrecarrer les attaques. Elles ne résolvent pas le problème à la cause première. Une société prétend maintenant avoir une solution.

Fondements de Rowhammer
Rowhammer se produit pendant qu'une conséquence fortuite de la DRACHME de manière est faite. Ce processus est une manière soigneusement ouvrée d'obtenir autant de peu en tant que bas possible sur le silicium pour aussi peu d'argent comme possible. Simplement le changement du processus n'est aucun exploit moyen. Le fait que nous ne pouvons pas retourner la manière nous établissons d'énormes quantités de mémoire — avec la promesse constante des réductions en tant qu'étant suffisant — ont empêché des solutions de racine-cause.

Le problème se pose au niveau de matrice le long des murs qui ont été gravés à l'eau-forte en tant qu'élément du processus de fabrication. Ce processus de gravure à l'eau-forte laisse des imperfections, ou des pièges, qui peuvent capturer des électrons et se tenir sur eux. Si ces électrons restaient dans les pièges, ceci ne pourrait pas être un si grand problème. Mais plus tard dans le cycle d'accès mémoire, ces électrons peuvent être libérés. De là, ils peuvent dériver autour, potentiellement finissant dans une cellule voisine.

« Chaque fois que vous tournez la rangée de à dessus à, vous entrez un souffle des électrons dans le substrat, » a dit Andy Walker, vice-président de produit à la mémoire de rotation. « Certains de ces électrons émigreront et seront pris par des noeuds voisins. »

dernières nouvelles de l'entreprise La menace persistante de la DRACHME pour Chip Security  0

Fig. 1 : Pièges le long des électrons de capture de paroi latérale (est parti) qui restent là temporairement (centre). Plus tard, ils peuvent être libérés et émigrés à d'autres cellules (droites). Source : IEDM/Micron

Une cellule de peu de DRACHME n'est rien davantage qu'un condensateur qui stocke la charge, avec les moyens d'obtenir la charge dedans et en écrivant, et en déterminant combien de charge quand lit dessus là. Les condensateurs peuvent couler, et le processus de lecture est lui-même destructif. Ainsi un condensateur doit avoir sa valeur régénérée juste après son indiquer ou, s'il n'est pas accédé pendant longtemps, puis à une certaine fréquence prédéterminée.

Le point fondamental ici est que l'état de la cellule est déterminé par la charge sur le condensateur, et cette charge est vulnérable entre régénèrent des cycles. Les électrons de dérive peuvent émigrer dans une cellule, changeant la charge dans la cellule. Si fait trop de fois, assez de charge peut s'accumuler pour changer l'état perçu de la cellule.

C'est où la pièce de « marteau » de rowhammer entre. L'idée est que, si une rangée donnée est lue assez de temps avant a régénèrent se produit, les mini-éclats répétés de ces électrons errants peuvent changer une cellule voisine. En fait, à la conférence récente d'IEDM, le Naga Chandrasekaran, le vice-président principal, développement des technologies au micron, a noté que, avec des dimensions de rétrécissement, ce peut ne pas être seulement des rangées voisines qui sont vulnérables. Car les rangées deviennent plus étroites ensemble, même des rangées proche-voisines – deux rangées ou plus loin – pourraient être aussi bien affectées.

Du phénomène à attaquer
Il prend la pensée intelligente pour prendre ce phénomène et pour figurer comment il pourrait être employé pour attaquer un système. Tandis que là ne semblent pas avoir été aucune attaque sérieuse de noir-chapeau encore, il y a eu de nombreux articles scolaires illustrant le rowhammer afin de prendre le contrôle d'un système.

« Quelques démonstrations notables de l'attaque élèvent vers des droites au niveau système plus élevées (comme à l'administrateur), enracinant un téléphone d'Android, ou prenant le contrôle de ce qui devrait être un virtual machine protégé, » a dit John Hallman, chef de produit pour la confiance et la sécurité aux solutions d'OneSpin.

Regardent du haut d'un système vers le bas et du fond de la puce, là deux défis importants. On se situe en sachant où des données du système critiques sont situées dans la mémoire. L'autre exige la connaissance dont les rangées sont physiquement adjacentes. La disposition spécifique de la puce importante, et c'est ont habituellement maintenu confidentiel par des fabricants de circuits intégrés. Vous ne pouvez pas supposer que la disposition physique d'une mémoire faite par un vendeur sera identique que celle d'un autre vendeur.

Toute la ceci a rendu le rowhammer difficile, mais nullement impossible, pour se transformer en attaque viable. Tandis que les détails des diverses attaques sont présentés dans les nombreux rapports de recherche détaillant les résultats, quelques exemples montrent comment ce n'est pas tellement un défi d'obtenir le contrôle complet d'une certaine partie aléatoire de mémoire, mais plutôt obtenant le contrôle des emplacements stratégiques — et avec le ce, prenant le contrôle du système global.

Un endroit attrayant à viser sont les tables utilisées pour la gestion de la mémoire principale. Ils présentent les frontières prévues pour les divers processus fonctionnant, y compris les autorisations priées pour accéder aux différentes attributions. Plutôt qu'attaquant le de mémoire centrale, l'attaque de ces tables de pages signifie que, avec une éditez, un processus restreint peut changer d'une manière dont fait davantage (ou tous) de la mémoire – comprenant les blocs sûrs – accessible à l'attaquant. Avec ce un changement, le système a été maintenant ouvert pour promouvoir l'exploitation.

Quant à déterminer quelle rangée marteler – et alors le martelant – l'utilisation répandue de la cachette rend ce plus dur. Si vous écrivez un programme qui accède simplement à un certain emplacement de mémoire à plusieurs reprises, vous n'accroîtrez pas le phénomène de rowhammer. C'est parce que le premier accès mémoire causera le contenu d'être chargé dans la cachette, et toute les suivante tirera de la cachette plutôt que relisant la mémoire.

Cela fait venir à bout la cachette d'une part importante de n'importe quelle exploit. Il peut être facilité ou plus dur, selon le processeur utilisé, parce que les différentes architectures ont différentes politiques d'expulsion de cachette (et ceux avec des politiques purement déterministes soyez plus en danger). Cela a indiqué, cependant, la détermination des contiguïtés peut impliquer d'effectuer des calculs de synchronisation subtils pour déterminer si les données sont ou ne sont pas déjà dans la cachette ou le tampon de rangée dans la DRACHME.

Rendre une attaque encore plus dure est le fait qu'un certain peu de mémoire est plus vulnérable pour attaquer que d'autres. Il peut y a une cause déterministe, telle que faire à un secteur particulier une cible probable dans les puces multiples, ou il peut y avoir un certain élément aléatoire à lui. Ainsi non chaque cellule de mémoire répondra au rowhammer de la même manière.

L'impact de ces projets est une reconnaissance que c'est une vraie menace, pas théorique, et c'est juste une question de temps avant que quelqu'un crée le ravage – particulièrement avec tellement le déplacement de calcul au nuage, où des serveurs innombrables et leur mémoire peuvent être accédés à partir de n'importe où dans le monde.

Réductions et by-pass
Jusqu'à présent, la plupart des efforts évidents de parer le rowhammer ne résolvent pas la physique fondamentale du problème ; ils fournissent des manières de travailler autour de la question. Et ils ont été mis en application aux niveaux multiples.

Par exemple, utilisant un navigateur accéder à un serveur distant a fait à l'industrie de navigateur un dépositaire. Puisqu'une attaque peut comporter des mesures de synchronisation subtiles, les navigateurs ont réduit la granularité de la synchronisation disponible. Il n'est plus possible d'obtenir l'exactitude niveau de la nanoseconde. Au lieu de cela, il peut être des micro-secondes – encore précises, mais mille fois moins précis, et assez limiter une manière de l'attaque.

« Les navigateurs importants ont atténué cette question, ou ont au moins essayé à, » a dit Alric Althoff, ingénieur principal de degré de sécurité de matériel à la logique de Tortuga. « Plusieurs des difficultés réelles sont articulées autour d'un logiciel et très visées (par exemple Google Chrome a atténué le problème en enlevant des prolongements d'une exécution de webGL en 2018). Mais le grand traiteur est que les vulnérabilités de matériel que “ne peut pas être exploité à distance” attendent seulement sur une expérience qui prouve qu'elles peuvent, et celle “ne peuvent pas être exploitées” signifie vraiment que nous juste ne pouvons pas penser à une manière de faire l'exploit à distance en ce moment. »

Dans un papier rétrospectif, on a proposé six solutions idéalisées. « Les six premières solutions sont : 1) les meilleures puces de DRACHME de fabrication qui ne sont pas vulnérables, 2) employant les codes correcteurs d'erreurs (forts) (CCE) pour corriger des erreurs causées par rowhammer, 3) augmentation la vitesse de régénération pour toute la mémoire, 4) cellules rowhammer-enclines remapping statiquement/réservées par l'intermédiaire d'une analyse ancienne de courrier-fabrication, 5) cellules rowhammer-enclines remapping dynamiquement/réservées pendant l'exploitation du système, et 6) exactement identifiant des rangées martelées pendant le temps d'exécution et régénérant leurs voisins. »

La plupart des réductions se concentrent sur le numéro 6. le numéro 1 seraient la difficulté désirée de racine-cause. Le numéro 2 – CCE – peut être employé, mais a des limitations que nous discuterons sous peu. Le numéro 3 peut être attrayant, mais c'est une chasse constante sans l'extrémité. Et numéros 4 et 5 créer la complexité au niveau système significative.

Une grande partie du foyer de réduction a été au niveau de mémoire inférieure – divisé entre la puce de DRACHME et les contrôleurs qui se tiennent entre la DRACHME et le système. « Dans régénérez le cycle, il y a une fenêtre quand de telles attaques dépassent une valeur donnée, » a dit Vadhiraj Sankaranarayanan, directeur marketing technique supérieur chez Synopsys. « Alors les solutions peuvent être établies n'importe où – au contrôleur ou aux drachmes. Il exige le matériel cher, et il est puissance-affamé. Mais nous voulons que la mémoire soit sûre parce que les données sont le roi ici. »

Une manière d'empêcher des attaques est de compter le nombre d'accès sur une rangée donnée entre régénère. Si un seuil est dépassé, alors vous empêchez davantage d'accès. Tandis que cela peut sembler simple dans le concept, il est difficile de mettre en pratique. Il n'y a pas de bons modèles pour des souvenirs refusant un accès qui semble autrement être légitime. Ainsi des décisions seraient nécessaires complètement de nouveau dans le système pour que quoi fasse si une demande lue est niée. Fait-il ce moyen que les arrêts, les attentes, et les essais de contrôleur encore ? Le système d'exploitation devient-il impliqué ? Fait une application échouent finalement ?

Deux nouvelles capacités se sont ajoutées aux normes de mémoire de JEDEC ont fourni une autre réponse. Une nouvelle caractéristique s'appelle cible-rangée régénérer, ou le TRR. L'idée là est que, alors que des drachmes sont placées pour régénérer après lit et selon un programme, un mécanisme de fin-granularité est nécessaire pour exécuter la simple-rangée régénère sur demande. Si quelqu'un ou quelque chose – dans la mémoire ou dans le contrôleur – détecte qu'une attaque pourrait être en cours, elle peut publier pour régénérer à la rangée affectée et pour renverser tout martèlement qui pourrait s'être produit jusqu'à ce point.

« Le contrôleur continue la surveillance, et, s'il suspecte qu'une rangée ou des rangées particulière obtiennent attaquées, le contrôleur trouve immédiatement ce que sont les victimes possibles, » a dit Sankaranarayanan. « Alors il met les drachmes dans le mode de TRR, et il peut envoyer proactif régénère à ces rangées de victime pour les empêcher de perdre leur état original. »

La surveillance peut alternativement être mise en application dans les drachmes elles-mêmes, au prix de la taille de matrice et de la puissance. Les « drachmes peuvent également avoir des compteurs, » a ajouté Sankaranarayanan. « Il est puissance-affamé, mais certains ont des compteurs qui peuvent surveiller des accès persistants. »

Zentel offre une solution dans ce qu'il se rapporte en tant que DRACHME « sans rowhammer ». « Pour la DRACHME de 2Gb et de 4Gb DDR3 (noeud 25nm), Zentel applique un plan de propriété industrielle de protection de rowhammer avec une combinaison intégrée de matériel des compteurs multiples et du SRAM pour surveiller le nombre d'activation de rangée, et pour régénérer la victime que la rangée dès qu'un certain compte maximum sera atteint, » a indiqué Hans Diesing, directrice des ventes chez Zentel. Ceci fournit une réponse qui ne devrait pas mesurablement affecter la représentation ou être extérieur évident la DRACHME.

Cette solution vient, naturellement, avec un coût. « La structure supplémentaire de matériel s'ajoute pour ébrécher les immobiliers et, en raison de moins de rendement de gaufrette, elle n'est pas aussi concurrentielle sur le coût et prix comparé au reste de cette industrie, » il a ajouté. « Mais cette version sans rowhammer a été conçue sur demande des clients de l'industrie de HDD. »

TRR n'a pas satisfait tous les joueurs, cependant. « Généralement les vendeurs de DRACHME et les vendeurs de contrôleur sont réservés au sujet de TRR, » a dit Sankaranarayanan. En fait, plutôt qu'étant simplement une réduction, TRR semble être un parapluie pour un certain nombre de réductions, beaucoup dont peut être dévié. « Malheureusement, TRR décrit une collection de méthodes, beaucoup dont ne font pas le travail, » a dit Althoff. « C'est donc pas une réduction en soi, seulement une famille des contre-mesures. »

Tandis que TRR peut pouvoir se protéger contre unilatéral (une rangée voisine d'attaque) ou bilatéral (les deux rangées voisines comme attaquants), il ne peut pas aider contre des attaques « complexes » – rangées multiples étant fonctionnées en même temps. Un outil a été même développé pour aider à figurer comment modifier des attaques en présence de TRR de sorte qu'elles soient toujours efficaces.

Les codes de correction d'erreurs (CCE) également sont vus comme solution possible. L'idée il y a une rangée peut être corrompue, mais cette corruption sera corrigée pendant le processus de lecture. Ce peut être le point de droit pour des rangées où un à bit unique ou ainsi a été corrompu, mais – donné celui-là martèle une rangée entière, pas simplement morceaux de elle – il peut y avoir plus d'erreurs que la CCE peut corriger. « Une des protections primaires pour cette attaque a été la correction de code d'erreur (CCE), bien que même maintenant les attaquants commencent à identifier des manières autour de ces protections, » a noté Hallman.

En outre, quelques réalisations de CCE corrigent seulement les données étant lues, pas les données originales dans la rangée. Laisser le peu incorrect en place signifie que l'avenir régénère renforcera l'erreur, depuis régénèrent des restaurations ce qui est déjà là, plutôt que le reconstituant à un certain état d'or connu de référence. La prévention de ceci signifierait employant la CCE pour déterminer le peu incorrect et les corriger dans la mémoire.

Il y a également un nouveau contrôleur que la commande appelée régénèrent la gestion (RFM). « RFM est dans la norme de JEDEC pour DDR5, mais cela n'a pas été évalué par l'assistance plus large de sécurité encore, » a dit Althoff. « Ainsi tandis qu'il semble conceptuellement bon, elle est non essayée, et ainsi n'est pas une réduction connue, juste présumée. »

Le modèle a été ceci et d'autres réductions sont éditées, et le monde scolaire va fonctionner pour montrer qu'elles peuvent encore venir à bout les réductions. Et, pour la plupart, elles ont été correctes.

Un souci supplémentaire circule maintenant, étant donné que la plupart des réductions se sont concentrées sur les systèmes basés sur unité. GPUs peut fournir une manière alternative d'attaquer un système, ainsi l'attention est nécessaire là, aussi bien.

« L'industrie avait fonctionné pour atténuer cette menace depuis 2012, avec des techniques telles que la rangée de cible régénérez une partie (TRR) de normes DDR3/4 et LPDDR4 et régénérez la gestion (RFM) dans DDR5 et les caractéristiques LPDDR5, » a dit Wendy Elsasser, ingénieur distingué au bras. « Cependant, même avec ces derniers et d'autres techniques de réduction, car les dispositions internes de DRACHME sont de propriété industrielle, il est particulièrement difficile atténuer des attaques de rowhammer contre. »

Le problème fondamental peut-il être résolu ?
Le Saint Graal avec cette question a été une manière d'arrêter les électrons de migration des cellules inquiétantes. Faire qu'en quelque sorte cela ne se retourne pas le processus entier de DRACHME ou rendre des drachmes exorbitantes a été le défi important. C'est pourquoi il y a eu tellement foyer sur résoudre le problème indirectement, par des réductions, plutôt que le résolvant directement. Mais avec des réductions sous l'attaque constante, une solution de racine-cause serait bienvenue.

« C'est un argument pour une solution de matériel à un problème de matériel, » a dit Althoff. « Si le matériel est vulnérable, la poussée de la responsabilité de réduction au logiciel – ou tout niveau plus élevé d'abstraction – est équivalente à [un meme populaire montrant une fuite d'eau étant branchée avec le ruban adhésif.] »

Une société prétend avoir fondé une telle difficulté – probablement accidentellement. Les souvenirs de rotation (STT d'autrefois, un producteur de MRAM) ont créé un sélecteur nouveau qui aiderait à réduire le secteur exigé pour une cellule mordue de mémoire. Beaucoup de cellules mordues se composent d'un composant simple (comme une résistance, un condensateur, ou un transistor), mais elles ont besoin d'une manière pour être coupée ainsi elles ne sont pas accidentellement dérangées quand une autre cellule relative est accédée. Pour cette raison, un transistor supplémentaire de « sélecteur » est ajouté à chaque cellule mordue, rendant la cellule mordue plus grande.

Les souvenirs de rotation ont trouvé qu'il pourrait prendre une page du livre du non-et 3D – faisant un transistor fonctionner verticalement avec une porte environnante – et de placer cela sous la cellule de mémoire plutôt qu'à côté de lui. Cette disposition empilée rendrait donc la taille de la rangée compacte de mémoire.

« Il peut alors être employé pour n'importe quel commutateur résistif comme ReRAM, CBRAM, CERAM et PCRAM – toute résistance de deux-terminal qui exige actuel ou tension pour commuter, » a dit le marcheur. « C'est une porte verticale tout autour du transistor basé sur l'épitaxie sélective. C'est un dispositif à haute tension dans le non-et 3D que nous nous adaptons à notre application très de basse tension. Il exige la commande élevée et la basse fuite, que ce que cela traduit à en la science des matériaux est que le canal du dispositif doit être monocristallin. » Par conséquent, épitaxie plutôt que le dépôt.

Ceci donne au transistor deux caractéristiques critiques qui lui font un concurrent pour la pleine solution de rowhammer. On est que le silicium utilisé est épitaxial développé au-dessus de la gaufrette plutôt qu'étant gravé à l'eau-forte dans la gaufrette. Car gravure à l'eau-forte est la source primaire des pièges qui capturent les électrons en premier lieu, l'élimination de ces sites de piège réduit considérablement, ou même élimine, la source de question.

La deuxième caractéristique est la couche de type n enterrée dont bloque effectivement les électrons égarés, Qu'est ce que source, interférant la cellule mordue. Si confirmé, ceci arrêterait effectivement le mécanisme de rowhammer.

dernières nouvelles de l'entreprise La menace persistante de la DRACHME pour Chip Security  1

Fig. 2 : Du côté gauche, les électrons emprisonnés sur la cellule d'agresseur peuvent dériver à la cellule voisine et changer la charge sur le condensateur. Du côté droit, les utilisations nouvellement proposées épitaxie de structure, créant moins site de piège, et une région n-enduite bloque tous les électrons errants d'accéder aux cellules mordues. Source : Mémoire de rotation.

La rotation, en même temps que la NASA et Imec, éditent un document (derrière un paywall actuellement) qui détaillera la solution. Comme avec une telle proposition, elle doit circuler parmi la communauté de sécurité, faisant face à des défis et à des essais avant qu'il puisse accepter comme définitif.

La preuve de l'efficacité d'une réduction n'est pas facile, exigeant la modélisation soigneuse des attaques – au moins, connu. « À côté de l'utilisation de nos outils d'injection et de détection de défaut, nous pouvons travailler avec des clients pour modeler les attaques et démontrer les effets sur la mémoire, » a dit Hallman. « Ceci pourrait identifier des secteurs où l'information pourrait encore être coulée. »

La preuve de l'efficacité d'une difficulté niveau du silicium des premiers principes est également un défi. La « DRACHME est IP dur, et la physique d'exploits d'attaque, ainsi vous auriez besoin de quelque chose avec la précision sur l'ordre de l'ÉPICE, ou une alternative visée, pour vérifier avec confiance le pré-silicium, » a dit Althoff.

Mais la preuve des deux réductions et les difficultés sont nécessaires dans une industrie attentive. La « rotation n'est pas la première à essayer de produire la DRACHME rowhammer-immunisée, » a noté Aichinger de FuturePlus. « Plusieurs nouvelles stratégies de réduction sont à l'étude, et vous devriez entendre plus au sujet de ceci en 2021.  » (de la marque)

Coordonnées