En 1988, le premier virus majeur Internet propagation écrasé une petite section , 536 octets de mémoire sur un seul ordinateur et un délai de quatre jours d'incapacité plus de 60.000 ordinateurs dans le monde . Malgré les progrès dans les langages de programmation , les techniques de programmation et le système d'exploitation renforcement de la sécurité , les programmeurs malveillants peuvent toujours créer des virus et autres logiciels malveillants en utilisant les dépassements de tampons à planter , de contrôle ou de voler les données de votre système. Les types de mémoire en cause Un tampon de l'ordinateur est une section de la mémoire qui est utilisée pour maintenir temporairement les données requises par une application ou du système d'exploitation . Une application a une mémoire tampon fixe ou statique appelée la pile , dont la taille est déterminée lorsque le programme est d'abord établi et attribué par le système d'exploitation lorsque l'application est chargée . Mémoire de tas est un autre type de tampon application utilise lorsqu'il est en marche . Contrairement aux tampons statiques , la mémoire du tas est créé et détruit comme le demande l'exige. Dépassements de tampon statique dépassements de tampon statique se produisent lorsque trop de données sont écrites dans un prédéfini partie de la mémoire à l'intérieur de la pile de l' application. La pile contient des informations sur la fonction de l'application et de variables de la fonction . Les éléments de la pile ont une taille fixe ou statique. Si d'autres données sont écrites sur un élément de pile , il est destiné à tenir , les données excédent est stocké dans des emplacements mémoire adjacents. Les données excédentaires peuvent corrompre les données déjà là. Dépassements de tas mémoire de tas de est l'espace de votre système d'exploitation permet l'application pour créer et stocker des informations sur la volée. Chaque bloc de segment de mémoire possède un pointeur vers l'adresse physique du bloc de mémoire avant et après elle . Comme les dépassements de pile , lorsque trop de données sont écrites dans un bloc alloué précédemment de la mémoire , les données excès déborde sur le prochain bloc de mémoire et peut changer suivant et précédent pointeurs du bloc. Cela peut être utilisé pour planter l'application ou le lieu des pointeurs vers des blocs de mémoire le programmeur malveillant a accès. Indexation des tableaux erreurs Lorsque les tableaux sont déclarés dans la plupart des langages de programmation , une section fixe de la mémoire dans le tas est pré- alloué pour les données de la matrice . Les et les langages C + + C allouer correctement les tableaux , mais n'empêchent pas le bloc de mémoire de la matrice d'être remplacée. Comme dépassement de tas , les erreurs d'indexation peuvent écraser ou endommager les blocs adjacents de la mémoire. Langues modernes tels que C # et Java pour vérifier éventail erreur d'indexation lors de la compilation et de l'exécution du programme .
|