58 votes

Comment fonctionne un traîneau NOP?

Je me suis ouvert la tête et je ne trouve pas une bonne source qui réponde à cette question. Je sais qu'un nop sled est une technique utilisée pour contourner la randomisation d'une pile lors d'une attaque par dépassement de tampon, mais je ne comprends pas du tout à quoi ça ressemble.

Qu'est-ce qu'un exemple simple illustrant cette méthode?

Que signifient des termes tels que nop 128?

75voto

rodrigo Points 34500

Certaines attaques consistent à faire le saut de programme à une adresse spécifique et continuez à courir à partir de là. Le injectec code doit être chargé précédemment en quelque sorte à un endroit précis.

Pile de randomisation et d'autres d'exécution des différences peuvent faire l'adresse où le programme va sauter impossible de prédire, de sorte que l'attaquant place une NOP sled dans une grande gamme de mémoire. Si le programme saute à n'importe où dans le traîneau, il sera exécuté tout le reste de l'Opr, à ne rien faire, et puis va exécuter le code de la charge utile, juste à côté du traîneau.

La raison pour laquelle l'attaquant utilise le NOP sled est de faire de l'adresse cible plus important: le code peut sauter n'importe où dans le traîneau, au lieu de exactement au début de l'injection de code.

128 octets NOP sled est juste un groupe d'instructions NOP 128 octets de large.

NOTE #1: NOP (No OPeration) est une instruction disponible dans la plupart (tous?) des architectures qui n'est rien d'autre que d'occupation de la mémoire et certains d'exécution.

NOTE #2: dans les architectures de longueur variable des instructions, une instruction NOP est généralement un seul octet de longueur, de sorte qu'il peut être utilisé comme une pratique d'instructions de remplissage. Malheureusement, qui le rend aussi facile à faire un NOP sled.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X