Comment prévenir Buffer Dépassements & Débordements

April 19

L'arrêt des débordements de tampon aide à prévenir les accidents et les pirates programme de libérer le code malveillant qui peut compromettre un système informatique. Un débordement de tampon est quand un programme est en train d'écrire des données dans une mémoire tampon, couramment une chaîne ou un tableau, et dépasse la longueur de la mémoire tampon, l'écriture de code dans la mémoire adjacente. La prévention des surverses de tampon est obtenue en utilisant des bibliothèques de programmation qui prennent en charge un tampon de protection, comportant une protection de l'espace exécutable et le choix des langages de programmation qui ont des bornes de contrôle.

Instructions

1 Choisissez un langage de programmation qui a intégré dans les contrôles pour empêcher l'écriture de données en dehors des limites d'un tampon. Les langues telles que le manque de C et C intégré vérification limite. Le .NET Framework et Java environnements limites de la force de vérification. Interprété langues ont une protection contre les dépassements de tampon.

2 Sélectionnez les bibliothèques et les fonctions qui ont la gestion et la vérification des limites tampon. Le C fonctions "strcpy" couramment utilisé, «scanf» et «obtient» sont particulièrement vulnérables aux dépassements de tampon. Des alternatives plus sûres comprennent les fonctions et "strncpy" "strncat", qui rejettent les données dépassant la longueur spécifiée. Des précautions doivent encore être prises pour spécifier la taille de la mémoire tampon correcte. Un exemple d'une alternative plus sûre à la bibliothèque C de chaîne est téléchargeable "The String Library Mieux." Gratuit

3 Installez exécutables protection de l'espace add-ons pour aider à prévenir les dépassements de tampon. Code de la tentative d'exécution de la pile ou tas provoquer une exception. la protection de l'espace Executable utilise le "No eXecute" (NX bit) pour marquer les régions de mémoire non-exécutable. Des exemples de paquets de protection de l'espace pour les exécutables Unix incluent OpenWall, Exec Shield et Pax. Add-ons pour Windows incluent StackDefender et BufferShield. Depuis Windows XP Service Pack 2, Windows offre Data Execution Prevention (DEP), offrant une certaine protection contre le débordement de la mémoire tampon.


          

Post a comment: