#1 Le 15/03/2013, à 12:07
- ZarLate
[RESOLU] Afficher le contenu de la mémoire vive
Bonjour à toutes et tous,
Dans le cadre d'un projet informatique, je souhaiterais vérifier que mon programme est sûre.
Je m'explique, j'ai créé un système de chiffrement en C++ ressemblant à OpenSsl.
Afin de respecter des contraintes de sécurité, je me dois de vérifier qu'il est impossible
à un quelconque utilisateur de retrouver la clé de chiffrement utilisée (c'est surtout pour le
déchiffrement rsa). Car je me doute qu'il est possible durant l'exécution de mon programme
de retrouver la valeur de cette clé qui est contenue dans la mémoire vive (ou peut-être
ailleurs) de mon PC.
C'est là que je quémande votre aide, savez vous s'il existe des programmes sous ubuntu
qui permettent d'afficher le contenu de la mémoire vive ? Et cela au format d'un texte (le binaire
c'est pas ma tasse de thé) ?
Pour information j'ai déjà effectué un memdump, mais sans résultats compromettant pour mon application.
Merci d'avance pour l'aide que vous pourrez m'apporter !
Dernière modification par ZarLate (Le 15/03/2013, à 16:44)
Ne pas être pressé est la dynamique de création de microsoft
Hors ligne
#2 Le 15/03/2013, à 13:59
- aglesia
Re : [RESOLU] Afficher le contenu de la mémoire vive
Il me semble que tu ne peux pas (théoriquement) car le système tue un programme dès qu'il essaie d'accéder à une variable qui ne lui appartient pas. Il le tue en envoyant un sigfault (erreur de segmentation dans ce cas).
Après, j'ai un ami qui m'a dit qu'il a vu sur internet un logiciel qui lit des variables RAM de jeux, et les modifie (ex : ajout de vies, modification du nombre de munitions, etc...), mais impossible de retrouver le nom...
L'erreur est humaine...
Si votre PC plante, c'est qu'il est humain :D
Hors ligne
#3 Le 15/03/2013, à 16:42
- ZarLate
Re : [RESOLU] Afficher le contenu de la mémoire vive
aglesia tu es mon sauveur !
un logiciel qui lit des variables RAM de jeux, et les modifie
Ces quelques mots mon donnés la puce à l'oreille, et je suis tombé sur scanmem !
Du coup mon système de chiffrement il est pas encore au point ...
Merci.
Ne pas être pressé est la dynamique de création de microsoft
Hors ligne
#4 Le 15/03/2013, à 16:52
- tiramiseb
Re : [RESOLU] Afficher le contenu de la mémoire vive
Sinon si tu veux un accès à la mémoire en direct, c'est dans le fichier /proc/kcore que ça se passe...
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#5 Le 15/03/2013, à 17:50
- ZarLate
Re : [RESOLU] Afficher le contenu de la mémoire vive
merci tiramiseb,
mais ce n'est pas ce que fait memdump par hasard ?
De plus scanmem me permet de retrouver la zone mémoire où ma clé de déchiffrement
(et surtout dans le cadre du rsa) est placée en se basant sur la recherche de l'en-tête de la clé.
Bon ok, c'est a quelque chose près ça, si j'ai l'en-tête de clé je n'ai que la zone mémoire où se trouve cet en-tête
mais sachant que je suis capable de connaître la taille en octets d'une clé privée (un petit wc -c sur un fichier de
clé privée, à vérifier pour des tailles de 512, 1024 et 2048 bits).
Ainsi on peut dump la valeur de la zone mémoire à partir de l'adresse de départ de l'en-tête et selon la taille obtenu par wc.
Si le dernier octet ne vaut pas 00 (correspondant à '\0' pour les programmeurs) on peut tester avec une taille de clé plus grande.
Sinon on a la clé !
Dernière modification par ZarLate (Le 15/03/2013, à 17:51)
Ne pas être pressé est la dynamique de création de microsoft
Hors ligne
#6 Le 16/03/2013, à 09:19
- serged
Re : [RESOLU] Afficher le contenu de la mémoire vive
Sinon si tu veux un accès à la mémoire en direct, c'est dans le fichier /proc/kcore que ça se passe...
... Mais il faut chercher... Surtout que kcore, dans un système 64 bits, il fait 128To..
$ ls -lh kcore
-r-------- 1 root root 128T mars 16 09:19 kcore
Dernière modification par serged (Le 16/03/2013, à 09:19)
LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)
Hors ligne