La sécurité au sein des processeurs x86

Magazine
Marque
MISC
Numéro
58
Mois de parution
novembre 2011
Domaines


Résumé
L'objectif du premier article de ce dossier est de résumer les principes fondamentaux qui régissent la sécurité au sein d'un processeur et qui remontent à la fin du siècle dernier : les modes d'exécution et les niveaux de privilèges du processeur, la segmentation et la pagination. Cet article se veut également une courte introduction à des extensions des plates-formes x86 qui ont été ajoutées ces dernières années. Certaines d'entre elles sont décrites plus en détail dans les articles qui suivent.

1. Modes d'exécution et privilèges du CPU

1.1 Architecture générale d'un PC

Quelques rappels sur l'architecture générale d'une plate-forme x86 sont d'abord nécessaires à la compréhension des concepts qui suivent. Le cœur du système est constitué par la mémoire (RAM et mémoires non volatiles, comme celle contenant le code du BIOS), qui stocke le code à exécuter et les données associées, et le CPU, qui réalise l'exécution du code. Il s'appuie sur le chipset, qui relie le CPU à la mémoire et aux périphériques. En plus de la signalisation par interruptions, il existe trois mécanismes permettant le transfert d'informations entre le cœur et ses périphériques :

- Les ports d'entrées/sorties (PMIO, Port Mapped I/O), qui correspondent à un espace d'adressage propre aux périphériques, et sont exploités par des instructions machine spécifiques (instructions assembleur in et out).

- Les entrées/sorties projetées en mémoire (MMIO, Memory-Mapped I/O), pour...

Cet article est réservé aux abonnés. Il vous reste 96% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Attaques en environnement Docker : compromission et évasion

Magazine
Marque
MISC
Numéro
113
Mois de parution
janvier 2021
Domaines
Résumé

Ces dernières années, on a pu observer une évolution croissante des environnements conteneurisés et notamment de l’usage de Docker. Les arguments mis en avant lors de son utilisation sont multiples : scalabilité, flexibilité, adaptabilité, gestion des ressources... En tant que consultants sécurité, nous sommes donc de plus en plus confrontés à cet outil. Au travers de cet article, nous souhaitons partager notre expérience et démystifier ce que nous entendons bien trop régulièrement chez les DevOps, à savoir que Docker est sécurisé par défaut.

Les taxonomies se cachent pour ne pas mourir

Magazine
Marque
MISC
Numéro
113
Mois de parution
janvier 2021
Domaines
Résumé

« Attention, nouveau virus ! » Nombreux sont les articles à nous alerter régulièrement, par cette métonymie, sur l’émergence d’un nouveau malware. Pourtant, le terme de virus a-t-il encore un sens aujourd’hui ? Wannacry était-il un ver, ou un ransomware ? NotPetya, un wiper, ou bien un ver ? Et plus encore, au-delà de l’utilisation de termes et expressions se pose la question de la nécessaire catégorisation des incidents de cybersécurité ; pourquoi, comment, à quelles fins ? Essai (critique) de réponse.

Les difficultés du désassemblage sur ARM

Magazine
Marque
MISC
Numéro
113
Mois de parution
janvier 2021
Domaines
Résumé

Cet article aborde les problèmes spécifiques à l’architecture ARM qui se posent lorsqu’on désassemble un exécutable, c’est-à-dire lorsqu’on l’analyse statiquement pour en produire une représentation en langage assembleur. En effet, les particularités de l’architecture ARM peuvent rendre le désassemblage – déjà habituellement compliqué – particulièrement ardu.

Sûreté mémoire : le temps des cerises

Magazine
Marque
MISC
Numéro
113
Mois de parution
janvier 2021
Domaines
Résumé

L’étude et la compréhension des buffer overflow datent de 1972, et leurs premiers usages documentés de 1988 [1]. Près de 50 ans plus tard, où en sommes-nous ? Il nous faut bien admettre que la situation est déprimante : Microsoft et Google reconnaissent chacun ([2], [3]) que près de 2/3 des attaques utilisent à un moment ou un autre une vulnérabilité mémoire. Le ver Morris, qui n’était au départ qu’une preuve de concept, avait quand même coûté la bagatelle de quelques millions de dollars à l’époque… Aujourd’hui, les coûts sont abyssaux : sur le plan financier bien sûr, mais aussi pour nos vies privées, voire nos vies tout court. Face à ce problème, de nombreuses approches sont possibles : analyse statique du code, instrumentation et vérification à l’exécution, langages « sûrs »… Je vous propose d’explorer dans cet article un vieux concept remis au goût du jour, les capabilities, et tout ce qu’elles pourraient nous permettre de faire.