Un dépassement de mémoire tampon , ou buffer overflow , est un problème dans lequel un programme informatique écrit plus de données à un tampon de a été alloué pour ce tampon. En conséquence, les données sont écrites sur une partie adjacente de la mémoire, potentiellement écrasant d'autres données. Cela peut provoquer le programme d'agir de façon erratique , ce qui pourrait provoquer des plantages . Il peut également être exploité pour déclencher l' exécution d'un programme malveillant. En tant que tel , il est toujours conseillé d'éviter les dépassements de tampon dans un programme. Choses que vous devez Le code source
contenant le débordement de tampon
compilateur pour le langage de ce code source de
Afficher plus Instructions
1
Affinez votre recherche . Vous pouvez le faire par des informations de débogage d'impression et en empêchant les parties du programme de s'exécuter. Les débordements de tampon peuvent être difficiles à traquer , car la preuve n'est pas toujours cohérente . Toutefois, si les preuves que vous avez disparaît quand une partie du programme est empêché de courir, c'est une bonne indication du problème est avec cette partie.
2
lire le code source. Une fois que vous avez suffisamment réduit votre recherche , regardez dans le code source de quelque chose qui pourrait potentiellement provoquer un débordement. Parfois, il se trouve dans une boucle qui écrit au-delà de la longueur d'un tableau . Parfois, il est une concaténation de chaînes pour une chaîne plus grande que la mémoire tampon allouée pour cette chaîne.
3
Fixer la faille . Si le problème a été écrit passé les limites d' un tableau, assurez-vous que tout ce qui a causé fonctionne correctement , ou que le réseau est correctement redimensionnée si nécessaire. Assurez-vous que tous les tampons de chaîne sont assez grand pour contenir les chaînes qu'ils pourraient détenir .
4
prendre des mesures préventives . Utilisez des contrôles des bornes fonctions de manière à garantir que la mémoire n'est jamais écrasé. Redimensionner dynamiquement les tableaux que nécessaire. Gardez une trace attention de toute la mémoire potentielle écrit afin de s'assurer qu'ils n'écrivent jamais à la mauvaise zone de mémoire.