Linux/vmsplice, la faille 3 en 1

Magazine
Marque
MISC
Numéro
39
Mois de parution
septembre 2008
Domaines


Résumé

Grâce à la prise de conscience générale de l'importance de la sécurité informatique, le nombre de mécanismes de protection dédiés aux applications userland n'a cessé d'augmenter (adresse aléatoire de la pile, Canary, SafeSEH…). Il est devenu difficile, avec des droits restreints, d'exploiter les programmes les plus privilégiés. En effet, leur exécution est de plus en plus restreinte et leur sécurité est plus étudiée.Les systèmes d'exploitation ont été créés selon un modèle en couches : les programmes utilisateurs font appel à des fonctionnalités du noyau qui, lui, dialogue avec les périphériques. Dans ce modèle, le noyau a le niveau de privilège le plus élevé.L'exploitation d'une vulnérabilité noyau permet de faire exécuter du code arbitraire avec les privilèges les plus élevés. Cette exploitation permet une escalade de privilèges en contournant les contrôles d'accès habituels, propres au niveau utilisateur. Le fait que la vulnérabilité se trouve dans l'espace noyau implique des difficultés supplémentaires telles que l'impossibilité d'accèder la libC [2].Dans cet article, nous allons voir comment un attaquant peut exploiter une vulnérabilité du noyau afin d'en détourner le fonctionnement normal dans le but d'exécuter du code arbitraire. Nous allons prendre l'exemple de la faille vmsplice publiée le 09/02/2008.


1. Historique

L’appel système splice a été introduit sous Linux dans le but d’optimiser les traitements de type producteur – consommateur. Il est alors possible grâce à deux descripteurs de fichiers d’écrire le contenu du premier dans le second de manière optimisée (sans recopie des données de l’espace utilisateur vers l’espace noyau). Introduit plus récemment, l’appel système vmsplice (virtual memory splice, listing 0), a pour objectif de « projeter » les nr_segs de mémoire définis par le tableau de structures iovec (voir listing 14) dans le pipe fd dans le but d’optimiser les traitements récurrents sur des zones mémoires.

long vmsplice(int fd, const struct iovec *iov,

unsigned long nr_segs, unsigned int flags);

Listing 0 : Prototype vmsplice

Avant que ne soit découverte la vulnérabilité que nous allons étudier dans cet article (CVE-2008-0600), l'appel système (syscall) vmsplice a été victime de deux vulnérabilités...

Cet article est réservé aux abonnés. Il vous reste 95% à 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...

Return oriented programming 101

Magazine
Marque
MISC
HS n°
Numéro
22
Mois de parution
octobre 2020
Domaines
Résumé

Le Returned Oriented Programming (ou ROP) est une technique permettant d'exploiter des programmes disposant de la protection NX (No eXecute) ou DEP (Data Execution Prevention). L'objectif de cet article est de vous présenter les bases du ROP, ainsi que l’exploitation pas-à-pas d’un programme d’entraînement via l'utilisation de la bibliothèque python pwntools [1]. Dans un souci de simplicité, la démonstration sera réalisée sur un programme s'exécutant sur un système Linux 64 bits. Bien entendu, cette démonstration reste applicable sur d'autres architectures (ARM, MIPS, etc.).

Use-After-Free dans le noyau Linux

Magazine
Marque
MISC
HS n°
Numéro
22
Mois de parution
octobre 2020
Domaines
Résumé

Pièce logicielle qui a accompagné les deux dernières décennies, le noyau Linux est un système relativement complet qui dispose d’un allocateur de mémoire dynamique. Comme tous les logiciels classiques, le noyau est ainsi régulièrement sujet à des vulnérabilités de type Use-After-Free via cet allocateur.

Introduction au dossier : Sécurité système & logiciel - Exploitation & contre-mesures

Magazine
Marque
MISC
HS n°
Numéro
22
Mois de parution
octobre 2020
Domaines
Résumé

La thématique de ce hors-série, comme vous avez d’ores et déjà pu le remarquer, est dédiée à la sécurité système et logiciel. Derrière cette terminologie qui couvre un large spectre de ce que peut être la sécurité, l’idée est de continuer les hors-séries qui traitent des fondamentaux de sous-domaines de la sécurité informatique.

Applications des TPM

Magazine
Marque
MISC
HS n°
Numéro
22
Mois de parution
octobre 2020
Domaines
Résumé

Les TPM, inventés il y a une vingtaine d’années, ont pénétré progressivement les plateformes numériques. Malgré ce long historique, les TPM ont encore aujourd’hui du mal à s’imposer. Pourtant, leurs applications potentielles sécuritaires sont très intéressantes : Authenticated Boot, Remote Attestation, Scellement, amélioration de la sécurité de la cryptographie logicielle. Cet article détaille ces principales applications et liste quelques produits connus qui utilisent les TPM.

Dora au pays du kernel debugging

Magazine
Marque
MISC
HS n°
Numéro
22
Mois de parution
octobre 2020
Domaines
Résumé

Après plusieurs années dans le monde de la sécurité informatique il est récurrent d'être confronté aux remarques telles que : « Wow tu bosses sur le kernel Windows, c'est trop cool, mais vachement compliqué quand même ! ». Que nenni, en réalité la documentation est conséquente et le point le plus difficile et rédhibitoire est bien souvent la mise en place d'un Labo permettant d'analyser celui-ci. En bref, cet article vous permettra de vous faire passer pour un super haxxor de ses morts qui dt des KPCR à tour de bras et vous permettra peut-être au passage de demander une augmentation.