Aller au contenu
Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

Comment rendre un système instable et se protéger des bombes fork

Diagramme schématique d'un système informatique avec des points d'entrée vulnérables

Saviez vous qu’il était très simple de mettre à genou un système linux avec une simple commande que tout le monde peut lancer sans être root ?

Techniquement, ça s’appelle une bombe fork. Ca surcharge votre système (Ddos) en créant un grand nombre de processus, ce qui va monopoliser toutes les ressources disponibles de la machine.

:(){ :|:& };:

Bien que non dangereuse, cette commande peut donc rendre votre système fortement instable, vous obligeant à rebooter la machine.

Pour l’éviter, une seule solution : Limiter la quantité de ressources disponible qu’un groupe ou qu’un utilisateur peu s’octroyer.

Ce se configure dans le fichier /etc/security/limits.conf

Voici ce qu’on peut y trouver :

korben            hard    nproc           300
@mongroupe        hard    nproc           300

Dans l’exemple ci dessus, j’ai limité l’utilisateur Korben à 300 processus maximum. Idem avec le groupe d’utilisateurs « mongoupe ».

Une fois cette modification effective, si vous voulez retester la chose, relancez la commande maudite

::(){ :|:& };:

Vous saurez tout de suite si vous avez fait les bons réglages. Vous trouverez plus d’infos sur le fonctionnement du fichier limits.conf ici.

Attention, j’ai parlé de linux car il s’agit ici d’une commande bash mais les systèmes qui utilisent Perl ne sont pas en reste :

perl -e "fork while fork" &

Tout comme ceux utilisant le Python :

import os
  while(1):
      os.fork()

Et bien sûr Vista ou Windows XP avec un simple .bat peut se retrouver vite saturé de cette façon

:bomb
start %0
goto bomb

ou de cette façon :

%0|%0

Et si vous aimez le C (pour le porter sur plusieurs plateformes), voici le petit bout de code à compiler :

#include
 int main() {   while(1)      fork();  }

Bref, que du bonheur ces Fork Bombs ! Faites en bon usage et pensez à vous protéger. (Sous Windows, je n’ai aucune idée de comment éviter cela… alors si vous avez des techniques, n’hésitez pas à les partager avec tout le monde)

[photo]


Les articles du moment