| maison  | Hardware  | réseaux  | programmation  | Logiciel  | Dépannage  | systèmes |  
programmation  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    Connaissances Informatiques >> programmation >> Computer Programming Languages >> Content
    Conséquences des débordements de buffer
    L'écriture de données tampons est une partie de la routine du fonctionnement de tout programme , et également une source majeure de problèmes potentiels. Lorsqu'un programme tente de mettre plus de données dans un tampon de son programmeur conçu à détenir, le débordement conséquente de données peut corrompre les données du programme. Cela peut mener à des plantages du logiciel ou potentiellement un moyen pour les pirates de détourner le programme et exécuter du code malveillant . Tampons et débordements

    Un tampon est une variable tableau conçu pour stocker des données pour le programme à utiliser à un moment plus tard dans son exécution. Cela pourrait être des informations sur un utilisateur tape dans le programme, le contenu d'un fichier que le programme lit , ou n'importe quoi d'autre au programme peuvent avoir besoin d' exécuter . Les tampons sont créés avec une taille spécifique , qui est réservé à la mémoire d'un ordinateur pour stocker les données de la mémoire tampon. Les débordements de tampon se produisent lorsqu'un programme écrit une quantité de données à une mémoire tampon qui dépasse sa taille réelle , provoquant le programme d'écrire des données depuis l'emplacement de la mémoire tampon dans la mémoire de l'ordinateur et dans la mémoire réservée pour d'autres tampons ou des variables.

    bloque

    un programme se bloque quand il se trouve incapable d'exécuter la tâche qui lui a été codé à effectuer à un moment donné , et son développeur ne prévoit pas de mécanisme pour récupérer d'une telle un échec. Les débordements de tampon peuvent empêcher certains programmes de crash lors du débordement corrompt les données de la variable qui est stockée dans un emplacement de mémoire à proximité. Par exemple, si un débordement d'un tampon de texte peut écrire les caractères du texte sur les numéros enregistrés dans la fente pour carte mémoire d' une variable entière . Lorsque le programme accède à des données de cette variable pour effectuer un calcul , il trouve les caractères de texte au lieu des numéros . Le programme ne peut pas effectuer des calculs mathématiques sur les caractères de texte , de sorte que le programme allait réagir par s'écraser.

    Vulnérabilités de sécurité

    advertentm surcharges de mémoire tampon peut causer le plantage des programmes , mais les pirates pourraient délibérément forcer une surcharge de la mémoire tampon de compromettre la fonction d'un programme. Par exemple , l' emplacement de mémoire d'un tampon pourrait être à proximité de l' emplacement de mémoire qui contient une commande particulière du programme s'exécute. Un pirate peut découvrir la taille de la mémoire tampon, et la distance de l'emplacement de mémoire de la commande à partir de la fin de la mémoire tampon. Il pourrait alors forcer un dépassement de mémoire tampon qui serait écraser les données entre la mémoire et l'emplacement de mémoire de la commande , puis écraser la fente de mémoire de la commande pour remplacer la commande avec l'un de sa propre conception. Lorsque le programme appelle la fente de mémoire de commande et exécute son contenu , il serait exécute le code du pirate au lieu de celui du programmateur destiné .
    Prévenir les débordements de buffer

    programmeurs peut empêcher les dépassements de tampon en instituant des mécanismes de sécurité afin de s'assurer que le programme ne cherche pas à écrire plus de données dans une mémoire tampon qu'il a conçu pour tenir. Ceux-ci peuvent inclure la vérification de la taille des utilisateurs de données, on essaie de mettre en elle , à travers tapant ou en sélectionnant un fichier d'entrée , afin de s'assurer qu'elle ne dépasse pas la taille de la mémoire tampon. Les programmeurs doivent aussi tenter de minimiser les possibilités que les utilisateurs doivent écrire des données directement dans une mémoire tampon , comme chaque entrée qui écrit directement dans une mémoire tampon est un vecteur potentiel d' une attaque de surcharge de la mémoire tampon .

    Previous :

    next :
      articles connexes
    ·Techniques de programmation IDL 
    ·Comment nettoyer des éléments flottants en CSS 
    ·Comment taper un écrasement 
    ·Comment faire pour ouvrir les fichiers MIME dans Outloo…
    ·Comment faire pour afficher une liste des points dans W…
    ·Les facteurs qui déterminent le choix du langage de pr…
    ·Comment faire pour convertir un texte au PDU 
    ·Comment insérer un Div dans un Div 
    ·Comment créer une démonstration de cette discussion d…
    ·Comment faire une boîte arrondie avec CSS3 
      articles en vedette
    ·Comment utiliser radote avec Groovy 
    ·Comment définir la valeur d'attribut du PHP DOM 
    ·Comment faire pour installer un contrôle ActiveX Java …
    ·Explication de Int N1 et N2 dans le code Java 
    ·Techniques de contrôle de concurrence 
    ·But de l'enseignement Diagramme System Analysis 
    ·Comment faire pour installer Sun Java 6.22 d'Ubuntu 10.…
    ·Comment accéder à la mémoire tampon de l'écran en C…
    ·Comment trier les colonnes dans DataGrid 
    ·Comment faire une demande d'un tableau en BorderLayout 
    Copyright © Connaissances Informatiques http://fr.wingwit.com