Les instructions de protection de la mémoire se défendent contre les pirates

Mise à jour : 9 décembre 2023

« La sécurité de la mémoire est un problème depuis près de 40 ans et de nombreuses solutions ont été proposées, selon l'informaticien de Columbia Simha Sethumadhavan. « Nous pensons que la sécurité de la mémoire continue d'être un problème car elle ne répartit pas la charge de manière équitable entre les ingénieurs logiciels et les utilisateurs finaux.

Le groupe Sethumadhavan a remarqué que la plupart des problèmes de sécurité se produisent dans la mémoire d'un ordinateur - en particulier des pointeurs et des pointeurs délibérément corrompus peuvent être utilisés pour détourner un programme.

Les techniques actuelles pour atténuer les attaques de mémoire, selon l'université, consomment beaucoup de temps. énergie, affectent les performances du système et peuvent interrompre le logiciel.

L'équipe s'est attachée à protéger la mémoire sans affecter indûment les performances d'un système.

Leur première solution a été baptisée « ZeRØ » (opération résiliente sans surcharge sous les attaques d'intégrité de pointeur).

ZeRO comprend un ensemble d'instructions de mémoire ajoutées au jeu d'instructions et un schéma de codage de métadonnées qui protège le code et les pointeurs de données d'un système.

Selon l'université, cela nécessite des modifications mineures et faciles à ajouter à l'architecture d'un système, ralentit peu, voire pas du tout, le processeur et peut éviter de faire planter le système même en cas d'attaque.

Pour une défense un peu plus invasive – 8 % de surcharge sur les performances de l'ordinateur – l'équipe propose un système de détection des erreurs de mémoire.

Cela a également été nommé : « No-FAT, décrit comme « prise en charge architecturale pour les contrôles de sécurité de la mémoire à faible surcharge ».

No-FAT accélère les tests fuzz et est "très facile pour les développeurs de l'ajouter lors de la construction d'un système", selon Columbia.

Il s'appuie sur une tendance des logiciels vers les répartiteurs de mémoire binning, qui utilisent des compartiments de différentes tailles pour stocker la mémoire jusqu'à ce qu'elle soit requise par le logiciel. Les chercheurs ont découvert que lorsque l'allocation de mémoire binning est utilisée par le logiciel, il est possible d'atteindre la sécurité de la mémoire avec peu d'impact sur les performances et est compatible avec les logiciels existants.

Ces deux projets ont été présentés lors du récent Symposium international sur l'architecture informatique (ISCA).

"Avec ces deux articles, nous pensons avoir trouvé le bon équilibre des charges", a déclaré Sethumadhavan.

Des pré-impressions des papiers ISCA sont disponibles :

ZeRØ : opération résiliente sans surcharge sous les attaques d'intégrité de pointeur

No-FAT : prise en charge architecturale des contrôles de sécurité de la mémoire à faible surcharge