Comment puis-je assurer qu'une combinaison nom d'utilisateur / mot de passe est pas lu de la mémoire
-
13-09-2019 - |
Question
Comment puis-je assurer qu'une combinaison nom d'utilisateur / mot de passe est pas lu de la mémoire alors que mon application est en cours d'utilisation.
Mon programme est un wrapper GUI pour certains outils Cygwin, y compris SSH et SCP. Je dois assurer l'authentification unique des capacités pour une variété d'hôtes.
La solution
Un attaquant va essayer d'obtenir les mots de passe de la mémoire à l'aide d'un Debugger alors que l'application est en cours d'exécution. L'utilisation de tout cryptage peut être contournée, car le mot de passe doit être en clair au moment de l'utilisation. Toute la mémoire du temps est utilisé, il peut également être observé avec un débogueur.
La réponse se trouve dans l'anti-débogage: http://www.codeproject.com/KB/security/Intro_To_Win_Anti_Debug.aspx
fenêtres plus avancées anti-debugging:
http: //www.veracode. com / blog / 2008/12 / anti-débogage série-partie-i /
http: //www.veracode. com / blog / 2008/12 / anti-débogage série-partie-ii /
http: //www.veracode. com / blog / 2009/01 / / anti-débogage série partiel iii
http: //www.veracode. com / blog / 2009/02 / anti-débogage série-partie-iv /
Autres conseils
Avec la paire de clés SSH en utilisant ssh-agent, mais est-il une autre façon? Le problème est que vous devez obtenir la clé publique vers l'hôte distant, qui peut être fait dans une chaîne simple mais nécessite toujours une connexion. Ainsi, la configuration initiale des paires de clés avec mot de passe et l'ajout de la clé de l'hôte distant nécessite beaucoup de mots de passe à saisir. Après la configuration initiale tout fonctionne bien.
idées
Utilisez une clé publique / privée paire avec authorized_keys.