Éditeurs de liens, chargeurs et exécutables
Quelle attaque est plus facile à prévenir en n'autorisant jamais simultanément « inscriptible » et « exécutable » sur une page mémoire (W^X, séparation écriture-exécution) ?
- AL'attaque qui essaie les mots de passe par force brute
- BL'attaque qui envoie un trafic massif pour arrêter un serveur
- CL'attaque qui écrit du code machine malveillant dans une zone de données comme la pile et y fait sauter l'exécution
Afficher la réponse et l'explication
Réponse : C. L'attaque qui écrit du code machine malveillant dans une zone de données comme la pile et y fait sauter l'exécution
Les anciennes attaques écrivaient souvent du langage machine sur la pile par débordement de tampon, puis redirigeaient l'adresse de retour vers celui-ci pour l'exécuter. Les tables de pages du CPU comportent un bit d'interdiction d'exécution (bit NX, etc.) ; si l'OS interdit l'exécution sur la pile, le tas et .data, et l'écriture sur .text, cette méthode devient inutilisable. Lorsque du code est généré à l'exécution, comme par un compilateur JIT, on bascule entre droits d'écriture et d'exécution.
Continuer : 9 autres questions sur Éditeurs de liens, chargeurs et exécutables