Prévention buffer overflow est essentielle pour protéger la sécurité de votre ordinateur et le serveur connecté et sont le résultat d'une mauvaise validation d'entrée. Vous pouvez protéger votre système contre les attaques de type buffer overflow en suivant quelques étapes simples et en prenant les mesures appropriées. Identifier et assister à des questions dans la programmation de votre système C est l'objectif principal de prévenir buffer overflow dans l'avenir . L'utilisation d'une pile
non -Executable Cette méthode de prévention de débordement comprend une pile qui est configuré pour ne pas occuper un code exécutable. Obtenir un correctif kernal pour les systèmes Linux et Solaris pour configurer la pile non exécutable . Dans Windows XP, vous pouvez définir des périmètres de prévention d'exécution des données avec le système d'exploitation (OS ) pour protéger également la pile contre le débordement de la mémoire tampon . Le site de Palisade avertit , cependant, que les débordements heap-based et statiques débordements de segment de données ne peuvent pas être évités par cette technique .
Dynamique Runtime
éviter le débordement de la mémoire tampon en mettant en œuvre une processus de prévention d'exécution dynamique sur votre système. Conditions de dépassement de tampon et les risques sont détectés pendant le déroulement du programme réelle dans cette méthode , empêchant ainsi une attaque par débordement de se produire. Différents procédés d' exécution comprennent «canari » --- qui ajoute la ligne " canari " de codage de votre programme --- et copier l'adresse de retour du programme. Cette dernière méthode sert de sauvegarde de l'information comme un moyen de régénérer les fonctionnalités du programme une fois une attaque de débordement a été résolu.
Safe versions des fonctions
débordements de tampon peut également être évité en utilisant un «plus sûr» ou version plus stable d'une fonction de programme. Par exemple, les fonctions sont strncpy et snprintf plus sûr et plus stable que le strcpy ancien et la langue sprint. Comme vous continuez de créer de nouvelles applications dans votre programme, assurez-vous que solution de rechange , les fonctions de codes plus sûrs sont utilisés partout .
Autres exemples de fonctions instables
éviter «dangereux» ou instable complètement inopérants peut également empêcher le débordement de la mémoire tampon . Si possible , évitez d'utiliser les fonctions suivantes lorsque vous écrivez votre programme : strcpy (), strcat (), sprintf (), scanf (), sscanf (), fscanf (), vfscanf (), vsprintf , vscanf (), vsscanf () , streadd (), strecpy () et strtrns ().