Rien de secret dans la mémoire

Magazine
Marque
MISC
HS n°
Numéro
30
Mois de parution
octobre 2024
Spécialité(s)


Résumé

En 2014, un groupe de chercheurs en sécurité a découvert une vulnérabilité dans l’extension du Heartbeat TLS dans OpenSSL : elle permettait de révéler jusqu’à 64 Ko de mémoire du processus. Ce bug, connu sous le nom de Heartbleed, était le résultat d'une erreur de programmation assez courante, mais difficile à repérer, ce qui permettait de lire en dehors des limites d’un tampon.Les lectures en dehors des limites du tampon (ou out-of-bound read) permettent de divulguer des informations privées et aussi de rendre fiable l’exploit d’autres vulnérabilités.Dans cet article, on parlera des cas typiques de ce bug, des contre-mesures classiques et de leur contrepartie en vulnérabilité hardware.


Une vulnérabilité de type out-of-bound read (CWE-125) se produit lorsqu’un programme lit des données en dehors des limites du tampon ciblé. Dans le meilleur des cas, cela entraîne un crash. Dans le pire des cas, des données sont écrites sur un support de sortie accessible par l’attaquant, divulguant ainsi des secrets de l’application.

1. Encore les chaînes de caractères en C

Comme discuté dans un autre article de ce hors-série, la décision d’utiliser des chaînes terminées par ‘\0’ en C a été plutôt discutable du point de vue de la sécurité. Certaines fonctions n’ajoutent pas systématiquement le terminateur de fin, comme par exemple, la fonction char *strncpy(char *dest, const char *src, size_t n). Elle ajoute un nouveau paramètre n à

La suite est réservée aux abonnés. Il vous reste 90% à découvrir.
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez des listes de lecture et des contenus Premium
  • Consultez les nouveaux articles en avant-première
Envie de lire la suite ? Rejoignez Connect
Je m'abonne maintenant


Article rédigé par

Par le(s) même(s) auteur(s)

La compilation : du code au binaire… et retour !

Magazine
Marque
MISC
HS n°
Numéro
24
Mois de parution
septembre 2021
Spécialité(s)
Résumé

On trouve des compilateurs partout : quand on construit des programmes, bien sûr, mais aussi quand on visite la page web des Éditions Diamond — elle embarque du JavaScript, qui est probablement compilé à la volée par un composant de votre navigateur. Quand on utilise un Notebook Jupyter pour du calcul scientifique — ne serait-ce que pour la compilation en bytecode du source Python. Quand on installe un APK pour ART, celui-ci est transformé en code natif depuis son bytecode Dalvik… encore de la compilation. Et nous allons voir que le domaine de la compilation peut aussi très largement intéresser celui de la sécurité informatique et du reverse engineering.

Les listes de lecture

11 article(s) - ajoutée le 01/07/2020
Clé de voûte d'une infrastructure Windows, Active Directory est l'une des cibles les plus appréciées des attaquants. Les articles regroupés dans cette liste vous permettront de découvrir l'état de la menace, les attaques et, bien sûr, les contre-mesures.
8 article(s) - ajoutée le 13/10/2020
Découvrez les méthodologies d'analyse de la sécurité des terminaux mobiles au travers d'exemples concrets sur Android et iOS.
10 article(s) - ajoutée le 13/10/2020
Vous retrouverez ici un ensemble d'articles sur les usages contemporains de la cryptographie (whitebox, courbes elliptiques, embarqué, post-quantique), qu'il s'agisse de rechercher des vulnérabilités ou simplement comprendre les fondamentaux du domaine.
Plus de listes de lecture