Sécurité : Linux attaquable sans une seule ligne de code

Manchot, Linux © Jan Martin Will - Shutterstock

Un chercheur démontre comment il a utilisé une faille propre au décodeur gstreamer et au format FLIC pour contourner les mesures de sécurité de Linux.

Jusqu’à une époque encore récente, les systèmes Linux étaient réputés plus sécurisés que les environnements Windows. Notamment parce que les malwares, outils de piratages ou encore vulnérabilités zero day sont considérés comme moins nombreux à cause (ou grâce) au faible intérêt que portent les pirates aux PC sous Linux, beaucoup moins courants que ceux équipés de Windows ou Mac (2,18% des OS desktop en octobre 2016, selon NetMarketShare). Et bien évidemment aussi grâce aux fonctionnalités de sécurité intégrées dans l’OS Open Source.

Et pourtant, celles-ci seraient contournables sans une seule ligne de code ou presque. A cause d’une vulnérabilité zero day (exploitable et non corrigée) présente dans la plupart des distributions modernes. « Une vulnérabilité importante amenant un risque de corruption [mémoire] est présente dans le décodeur gstreamer pour le format de fichier FLIC », révèle Chris Evans dans un billet daté du 21 novembre. Le chercheur en sécurité fait notamment référence aux distributions populaires et récentes Ubuntu 16.04 et Fedora 24 sur lesquelles gstreamer est livré par défaut. Il a pour sa part réalisé son exploit sur une machine dotée de Fedora.

Ubuntu a un problème

Capture d'écran montrant comment l'exploit a permis d'ouvrir le player rhythmbox et la calculatrice.
Capture d’écran montrant comment l’exploit a permis d’ouvrir le player rhythmbox et la calculatrice.

La faille permet de contourner deux systèmes de sécurité Linux : ASLR (address space layout randomization) et DEP (data execution protection) également connus comme NX (no execute). Le premier limite les risques d’exploitation en chargeant aléatoirement le code en mémoire. Le second est censé bloquer l’accès des exploits à la mémoire. Selon Chris Evans, s’attaquer au système en se confrontant à ces deux protections est un vrai défi. Mais attaquer le décodeur des fichiers FLIC ne nécessite même pas une seule ligne de code. « L’attaquant peut soumettre un tas d’octets sans script dans le décodeur et essayer d’obtenir l’exécution du code sans autre interaction », assure l’expert.

Sans entrer dans les détails du mode opératoire (que le chercheur livre dans son billet), la faille lui a permis de « commander la lecture, l’écriture et même les additions en mémoire, pour lentement mais sûrement faire avancer l’exploit et gagner en contrôle ». Pour lui, si cet exploit est « assez ridicule […] cela valait la peine de le faire parce que c’est la preuve que des exploits sans script sont possibles, même dans le contexte d’un ASLR 64-bits décent ». Autrement dit : « Ubuntu a un problème. » Un problème que les éditeurs devraient corriger assez vite comme c’est généralement la règle dans l’Open Source.

[Mise à jour du 25/11] GStreamer a publié un correctif de son décodeur qui sera inclus dans la prochaine version de maintenance de GStreamer 1.10.


Lire également

Les développeurs Linux victimes d’une attaque DDoS
NoPen, un malware du groupe Equation pour les systèmes Unix
Un rootkit Linux se cache derrière le Pokémon Umbreon

Manchot, Linux © Jan Martin Will – Shutterstock