Cet article a été traduit automatiquement.
Une bombe à fourche est une attaque par déni de service. Un minuscule morceau de code entraîne la réplication d'un processus et, à chaque fois, la nouvelle instance du programme épuise davantage les ressources disponibles du système. Lorsque l'attaque pousse un serveur à la limite, l'informatique tombe en panne.
Les bombes à fourche ne sont pas nouvelles. L'un des premiers cas de ces attaques s'est produit en 1969. Mais parfois, les anciennes menaces sont tout aussi efficaces que les nouvelles pour mettre les systèmes hors service.
Comment fonctionne une bombe à fourche ?
Imaginez que vous ouvriez des centaines, voire des milliers d'instances d'un processus sur votre ordinateur. Le ventilateur se mettait à vrombir, les performances étaient à la traîne et votre terminal finissait par tomber en panne. Une bombe à fourche fonctionne à peu près de la même manière.
Le code "bombe à fourche" crée une copie d'un programme. Une fois que la nouvelle instance fonctionne, la bifurcation se reproduit. Ce processus peut se dérouler indéfiniment ou jusqu'à ce que la mémoire disponible soit épuisée. Une telle attaque par déni de service peut être dévastatrice.
La mise en œuvre des bombes à fourche est relativement facile pour un hacker expérimenté. Nous n'entrerons pas dans les détails ici (car nous ne voulons pas donner de fausses idées à qui que ce soit), mais il suffit souvent d'un tout petit bout de code.
Pouvez-vous empêcher un attentat à la fourchette ?
Vous ne pouvez pas vous asseoir sur l'épaule de chaque développeur et l'empêcher d'inclure du code qui pourrait vous nuire. Mais vous pouvez faire deux choses importantes pour vous assurer qu'une bombe à fourche a moins de chances de faire tomber votre système.
Commencez par limiter le nombre maximum de processus qu'un seul utilisateur peut posséder. C'est une tâche remarquablement facile sous Linux. Si vous empêchez votre utilisateur de posséder plus d'une poignée de procédés, il ne pourra pas lancer une attaque de ce type.
Vous pouvez également limiter l'utilisation de la mémoire par processus. Si un processus a besoin de plus que la limite que vous avez fixée, il s'agit probablement d'une duplication et vous pouvez en refuser l'exécution immédiatement. Cette simple mesure peut également empêcher une bombe à fourche d'épuiser la capacité du serveur.
Si un attaquant vous frappe avec une bombe à fourche, vous devrez réinitialiser votre serveur. Malheureusement, vous devrez supprimer toutes les instances du code pour mettre fin à l'attaque.
Si vous cherchez d'autres moyens de vous protéger dans un environnement Linux, consultez notre livre blanc sur la mise en place d'un accès à privilèges moindres pour les serveurs Linux. Et n'hésitez pas à contacter Okta si vous avez des questions.
Références
Comprendre le code Bash Fork Bomb. (janvier 2019). NixCraft.
Sécurité contre l'attaque de la bombe à fourche dans les systèmes basés sur Linux. (Avril 2019). International Journal of Research in Advent Technologies (Journal international de recherche sur les technologies de l'avenir).