Surveillé Mémoire Move 0.6
Liens commerciaux
Surveillé Mémoire Move 0.6: Sommaire
Taille:
0.41 MB
Système:
Any Platform
License:
GPL (GNU General Public License)
Prix:
Téléchargé:
7713
Date ajoutée:
2007-04-24
Editeur:
Bogdan Nedelcov
Editeur Web:
http://www.benefit.ro/
Surveillé Mémoire Move 0.6: Description
Le projet gardé de mouvement de mémoire devient maniable quand vous devez étudier des débordements de tampon et vous devez les recueillir avec une « bonne » image de pile. Quand un débordement de pile a été exploité, la trace arrière est déjà allée avec de bonnes informations sur les paramètres et les variables locales, qui sont d'importance essentielle en essayant de comprendre comment l'attaquant essaye d'établir l'exploit. La bibliothèque de GMM emploie l'interception dynamique d'appel de fonctionnement pour recueillir les fonctionnements les plus courants qui sont employés par des attaquants pour exploiter des mémoires tampons de pile.
La bibliothèque de GMM emploie la capacité de LD_PRELOAD et offre deux services à l'usager. Tout d'abord, elle évite le débordement de tampon pour permettre à l'attaquant d'accomplir l'interpréteur de commandes-code sur votre machine. En second lieu, au cas où où une exploit est trouvée, le contenu de pile serait sauvegardé et un erreur de segmentation est déclenché. Le vidage de mémoire donnant droit aura alors toutes les informations nécessaires pour mettre au point l'exploit et pour fixer le logiciel. Intérieurement, la garniture intérieure de bibliothèque elle-même entre l'application et les fonctionnements de bibliothèque et d'interception de glibc qui pourraient mener aux exploits de débordement de tampon. Avant d'appeler le fonctionnement de faisceau de glibc, la couche de GMM épargne une partie de l'élément de pile au-dessus du demandeur à un emplacement temporaire dans son bâti.
Elle enregistre également les trois adresses de renvoi précédentes dans sa mémoire locale avant d'appeler le fonctionnement de faisceau de glibc. Quand le fonctionnement de faisceau retourne, les exemples de code de GMM de nouveau les adresses de renvoi et, s'ils diffèrent, lui précédemment enregistrés remet l'élément de pile précédemment sauvegardé et établit un erreur de segmentation. Ceci avec un élément de pile propre, de sorte qu'il puisse être examiné avec un débogueur. Tandis que d'autres solutions existent pour trouver le débordement de tampon exploite, comme par exemple StackGuard et StackShield, ceux diffère de GMM de plusieurs manières. Ils vivent comme connexions de GCC et exigent de vous de reconstruire votre application pour employer leurs fonctionnalités. Le bon de cette approche est que chaque fonctionnement unique est protégé contre des débordements de tampon.
Le mauvais de cette solution est que chaque fonctionnement unique est protégé contre des débordements de tampon. C'est-à-dire, régression de rendement sur l'application entière, même si ce n'est pas réellement un problème énorme en chassant pour des débordements de tampon. Une autre solution assimilée à GMM est LibSafe, mais elle ne sauvegarde pas et ne remet pas l'élément de pile en le rendant inutilisable pour l'élimination des imperfections. Mais laisse voir comment GMM diffère les solutions d'après ce qui précède indiquées. Tout d'abord, les travaux de GMM partout là sont des éléments de pile et le duo de GCC et de glibc. Cela signifie qu'il n'est pas limité à i386 seulement. Et maintenant le motif réel pour l'existence de GMM.
Ce qu'il y a de neuf dans ce desserrage :
· Les __builtin_return_address et les __builtin_frame_address de GCCs semble renvoyer des ordures au lieu de la NULLE au dernier bâti. Ce desserrage fixe le problème.
La bibliothèque de GMM emploie la capacité de LD_PRELOAD et offre deux services à l'usager. Tout d'abord, elle évite le débordement de tampon pour permettre à l'attaquant d'accomplir l'interpréteur de commandes-code sur votre machine. En second lieu, au cas où où une exploit est trouvée, le contenu de pile serait sauvegardé et un erreur de segmentation est déclenché. Le vidage de mémoire donnant droit aura alors toutes les informations nécessaires pour mettre au point l'exploit et pour fixer le logiciel. Intérieurement, la garniture intérieure de bibliothèque elle-même entre l'application et les fonctionnements de bibliothèque et d'interception de glibc qui pourraient mener aux exploits de débordement de tampon. Avant d'appeler le fonctionnement de faisceau de glibc, la couche de GMM épargne une partie de l'élément de pile au-dessus du demandeur à un emplacement temporaire dans son bâti.
Elle enregistre également les trois adresses de renvoi précédentes dans sa mémoire locale avant d'appeler le fonctionnement de faisceau de glibc. Quand le fonctionnement de faisceau retourne, les exemples de code de GMM de nouveau les adresses de renvoi et, s'ils diffèrent, lui précédemment enregistrés remet l'élément de pile précédemment sauvegardé et établit un erreur de segmentation. Ceci avec un élément de pile propre, de sorte qu'il puisse être examiné avec un débogueur. Tandis que d'autres solutions existent pour trouver le débordement de tampon exploite, comme par exemple StackGuard et StackShield, ceux diffère de GMM de plusieurs manières. Ils vivent comme connexions de GCC et exigent de vous de reconstruire votre application pour employer leurs fonctionnalités. Le bon de cette approche est que chaque fonctionnement unique est protégé contre des débordements de tampon.
Le mauvais de cette solution est que chaque fonctionnement unique est protégé contre des débordements de tampon. C'est-à-dire, régression de rendement sur l'application entière, même si ce n'est pas réellement un problème énorme en chassant pour des débordements de tampon. Une autre solution assimilée à GMM est LibSafe, mais elle ne sauvegarde pas et ne remet pas l'élément de pile en le rendant inutilisable pour l'élimination des imperfections. Mais laisse voir comment GMM diffère les solutions d'après ce qui précède indiquées. Tout d'abord, les travaux de GMM partout là sont des éléments de pile et le duo de GCC et de glibc. Cela signifie qu'il n'est pas limité à i386 seulement. Et maintenant le motif réel pour l'existence de GMM.
Ce qu'il y a de neuf dans ce desserrage :
· Les __builtin_return_address et les __builtin_frame_address de GCCs semble renvoyer des ordures au lieu de la NULLE au dernier bâti. Ce desserrage fixe le problème.
Surveillé Mémoire Move 0.6: Screenshot
Liens commerciaux
Surveillé Mémoire Move 0.6: Mot-clé
MGM
Buffer overflows
Avec
pile
mémoire
surveillé
tampon
cadre
Bouger
Surveillé Mémoire Move 0.6
Debuggers
Programmation
Surveillé Mémoire Move 0.6: Signet
Surveillé Mémoire Move 0.6: A voir également
Mes logiciels
Vous n'avez pas enregistré de logiciel. Cliquez sur Save "à côté de chaque logiciel à mettre à votre panier de logiciels"
Liés à la recherche
Liens commerciaux
