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.


L’exploitation en mode noyau peut sembler de prime abord moins accessible que son équivalent dans l’espace utilisateur. D’une part, le système d’exploitation gère l’ensemble des flots d’exécution, donc son état interne est plus volatile que celui d’un simple programme. D’autre part, la moindre erreur provoque un plantage sans appel du système.

En revanche, Linus Torvalds a longtemps considéré les mesures de protection contre l’exploitation comme un cache-misère : s’il y a exploitation, c’est qu’une faille existe. La seule issue est donc de corriger le bogue. Nul besoin de coupe-feu lorsque rien ne brûle !

L’objectif de cet article est de présenter les évolutions au cours des ans d’un pan de surface exploitable au sein du noyau Linux, via les mécanismes d’allocation de mémoire, et d’illustrer le propos avec l’exploitation d’un CVE récent.

1. L’allocateur de mémoire

1.1 Genèse et principes

Les bases de...

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

Déployer Jenkins CI avec Docker

Magazine
Marque
Linux Pratique
Numéro
124
Mois de parution
mars 2021
Domaines
Résumé

Solution appréciée d’intégration continue, Jenkins est un puissant logiciel Java dont l’installation et l’exécution sur un système ne sont pas sans conséquence et à prendre à la légère. Afin de faciliter son déploiement et isoler proprement ce programme du reste de la machine qui l’héberge, nous allons illustrer ici comment le mettre en place, en seulement quelques commandes, à l’aide de Docker.

Déploiements reproductibles dans le temps avec GNU Guix

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
113
Mois de parution
mars 2021
Domaines
Résumé

Pour la recherche scientifique comme pour d'autres domaines, on a souvent besoin de reproduire un environnement logiciel à l'identique non seulement sur différentes machines, mais aussi à différents instants dans le temps. Docker et les machines virtuelles, qui sont souvent la solution choisie pour répondre à ce besoin, ont des limitations qu’il est facile de ne pas voir. Cet article illustre l’utilisation de GNU Guix pour des déploiements reproductibles, au bit près, dans l’espace et dans le temps.

Générer et manipuler des images ISO

Magazine
Marque
Linux Pratique
Numéro
124
Mois de parution
mars 2021
Domaines
Résumé

Quand bien même leur usage s’est quelque peu atténué au profit d’autres supports de stockage de masse depuis plusieurs années, les CD-ROM et autres DVD-ROM ont toujours une utilité en 2020 : stockage de données, création de disques bootables (pour distributions GNU/Linux entre autres), disques multimédias... S’il est vrai que sa durée de vie a été surestimée à une époque (peut-être pour favoriser son utilisation), la bonne vieille galette n’est pas encore morte, et il lui reste encore de beaux jours à vivre.

Gérez vos projets Git en mode graphique avec GitKraken

Magazine
Marque
Linux Pratique
Numéro
124
Mois de parution
mars 2021
Domaines
Résumé

Je vous ai précédemment présenté GitLab [0], une forge logicielle utilisant Git vous permettant une gestion globale de vos projets en équipe. Comme nous l’avions vu, une connaissance minimale de Git était nécessaire pour l’utilisation de GitLab. Certains de vos collaborateurs ne sont peut-être pas à l’aise avec la ligne de commandes, ne veulent tout simplement pas l’utiliser ou encore ne veulent pas apprendre la syntaxe des commandes Git. GitKraken [1] est fait pour eux. Il leur permettra de réaliser toutes les opérations Git à l’aide d’une interface graphique.