Wie stelle ich sicher, dass ein Benutzername / Passwort-Kombination nicht aus dem Speicher gelesen wird
-
13-09-2019 - |
Frage
Wie stelle ich sicher, dass ein Benutzername / Passwort-Kombination nicht aus dem Speicher gelesen wird, während meine Anwendung verwendet wird.
Mein Programm ist ein GUI-Wrapper für einige CYGWIN-Tools, einschließlich SSH und SCP. Ich muß eine Vielzahl von Wirten Single-Sign-On-Funktionen gewährleisten.
Lösung
Ein Angreifer versucht, Kennwörter aus dem Speicher zu erhalten, einen Debugger, während die Anwendung ausgeführt wird. Die Nutzung der Verschlüsselung kann umgangen werden, da das Passwort im Klartext zum Zeitpunkt der Verwendung sein muss. Jedes Mal, Speicher wird verwendet, kann es auch mit einem Debugger beobachtet werden.
Die Antwort liegt in der Anti-Debugging: http://www.codeproject.com/KB/security/Intro_To_Win_Anti_Debug.aspx
Fortgeschrittenere Fenster Anti-Debugging:
http: //www.veracode. com / blog / 2008/12 / anti-Debugging-Serie-Teil-i /
http: //www.veracode. com / blog / 2008/12 / anti-Debugging-Serie-part-ii /
http: //www.veracode. com / blog / 2009/01 / Anti-Debugging-Serie-teil~~POS=TRUNC iii /
http: //www.veracode. com / blog / 2009/02 / Anti-Debugging-Serie-Teil-iv /
Andere Tipps
Mit dem SSH-Schlüsselpaar mit ssh-agent, aber ist es eine andere Möglichkeit? Das Problem ist, dass Sie den öffentlichen Schlüssel, um die Remote-Host erhalten müssen, die in einem einfachen String getan werden können, erfordern aber immer noch ein Login. So ist die Ersteinrichtung der Schlüsselpaare mit Passwort und dem Hinzufügen des Schlüssels zu dem Remote-Host viele Passwörter erfordert eingegeben werden. Nach der Ersteinrichtung alle es funktioniert gut.
Ideen?
einem öffentlichen / privaten Schlüsselpaar mit authorized_keys.