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.


La sûreté mémoire désigne la protection de la mémoire contre des accès erronés (les bogues logiciels) ou frauduleux (vulnérabilité de sécurité) et peut être vue suivant deux axes :

  • la sûreté spatiale concerne les problèmes liés aux buffer overflows et autres accès hors bornes ;
  • la sûreté temporelle concerne les problèmes liés à la temporalité : use-after-free
Le titre de cet article ne fait pas référence à une marque... mais à un « tube » des années 60 ! Il a été composé peu avant l’épisode de la Commune de Paris de 1871 et y est depuis associé.

On peut blâmer avec justesse le C ou le C++ d’être des langages sans sûreté mémoire, mais ce sont ceux qui étaient disponibles en production à l’époque où les lignes de code de nos environnements ont été écrites. Réécrire toutes ces lignes dans un langage plus policé, Rust par exemple, est tout simplement impossible. Qui peut se lancer aujourd’hui dans l’aventure...

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...

Les environnements sécurisés

Magazine
Marque
MISC
Numéro
114
Mois de parution
mars 2021
Domaines
Résumé

De plus en plus de téléphones et d’objets connectés intègrent un mode d’exécution ou une puce dédiée à la sécurité. Entre les TEE, Secure Enclave, Titan, TPM, cryptoprocesseur, etc. il devient compliqué de s’y retrouver. Pourquoi cette multiplication des puces ? Est-ce vraiment plus sûr ? Cet article tente de répondre à ces questions.

Découverte de la puce Titan M a.k.a Citadel

Magazine
Marque
MISC
Numéro
114
Mois de parution
mars 2021
Domaines
Résumé

La puce Titan M ou Citadel est une puce sécurisée sur laquelle repose en grande partie la sécurité des terminaux Android de Google, la gamme Pixel. Dans cet article, nous détaillerons le fonctionnement interne et les usages de ce composant pour lequel peu d’information publique est disponible à ce jour. Nous donnerons également plusieurs pistes pour aider le rétro-ingénieur à travailler sur ce projet.

Introduction au dossier : Puces sécurisées - À la découverte de la sécurité matérielle

Magazine
Marque
MISC
Numéro
114
Mois de parution
mars 2021
Domaines
Résumé

Le grand public est familiarisé, ne serait-ce qu’inconsciemment, au concept de puce de sécurité de par l’usage quotidien et depuis de nombreuses années des cartes à puce dans le domaine bancaire ou des cartes SIM dans la téléphonie mobile. Des puces dédiées à la sécurité ont également fait leur apparition dans certains de nos équipements du quotidien (ordinateur portable, smartphone), qu’il s’agisse de microcontrôleur dédié disposant de fonctionnalités liées à la cryptographie (stockage de clef de chiffrement) tel un TPM, ou d’un mode d’exécution sécurisé intégré au processeur principal, à l’instar de SGX pour Intel, de TrustZone chez ARM et de PSP pour AMD.

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écurité avancée des services Serverless (FaaS)

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

Les fonctions Serverless sont aujourd’hui une nouvelle tendance du cloud. Rapides et peu onéreuses, elles ne requièrent aucun entretien des infrastructures sous-jacentes par le client. Cependant, ce service entraîne un changement de modèle d’architecture, rendant les solutions de protection classiques inadaptées. Ce papier sensibilise aux nouvelles menaces du cloud et suggère différentes règles à suivre pour s’en prémunir.