buffer vulnérabilités de débordement ont été autour depuis des décennies et ils sont fréquemment utilisés par les intrus malveillants. Des intrus peuvent compromettre et même de contrôler des ordinateurs distants à travers des attaques de type buffer overflow . Préventions et solutions sont créées pour contrecarrer tampon intrusion de débordement y compris les systèmes et les méthodes de prévention matériels et logiciel. Tout d'abord , les développeurs doivent travailler à améliorer leurs compétences de codage devrait éviter les erreurs de type buffer overflow dans les applications. Environnement de développement
mécanismes de codage peuvent empêcher les vulnérabilités de type buffer overflow . Pauvres approches systématiques pour les questions de sécurité ou de mauvaise utilisation des outils et langages de programmation insécurité sont les causes de la vulnérabilité . Les programmeurs doivent cesser d'utiliser les langages de programmation tels que C dangereuses pour gérer l'allocation de mémoire , au lieu d'utiliser nouveau langage comme C # et Java .
Canaries valeurs et de la protection
valeurs Canaries
Pointer sont également appelés cookies de pile , ce qui est un autre moyen de prévention des attaques par débordement de tampon . Ils protègent les données de contrôle des frames de pile comme adresse de retour et pointeur à cadre en insérant une valeur au moment de la compilation . Ils agissent en tant que vérification d'intégrité pour les données de commande . Cookies pile va arrêter le programme instantanément lorsque les données de commande est altéré.
Heap mise en œuvre de durcissement
attaques par débordement de tas sont également exploitables. De même, les développeurs peuvent utiliser les variations de canari pour arrêter débordements de tas . Les valeurs Canaries sont contenues dans chaque structure d'information morceau . Les programmeurs peuvent appliquer les valeurs canari en les mettant à la fois au début et à la fin de l'information en morceaux . Applications comparer les canaris au début de chaque trame morceau à la valeur à la fin pour s'assurer que rien n'est changé.
Pile non exécutable et Heap
Vous pouvez empêcher code malveillant d'être exécuté sur la mémoire en faisant simplement des pages de mémoire non - exécutable. Ceci peut être réalisé par des méthodes de matériel ou de logiciel . La majorité des nouveaux systèmes d'exploitation sont livrés avec des techniques de pages mémoire non exécutables pré-installés . Plus récents systèmes d'exploitation de Microsoft , y compris Vista , XP SP2 et Server SP1 , disposent de telles précautions de type buffer overflow .