如何確保在我的應用程序正在使用時不從內存中讀取用戶名/密碼組合。如何確保不從內存中讀取用戶名/密碼組合
我的程序是一些CYGWIN工具的GUI包裝,包括SSH和SCP。我需要確保各種主機的單點登錄功能。
如何確保在我的應用程序正在使用時不從內存中讀取用戶名/密碼組合。如何確保不從內存中讀取用戶名/密碼組合
我的程序是一些CYGWIN工具的GUI包裝,包括SSH和SCP。我需要確保各種主機的單點登錄功能。
攻擊者將嘗試在應用程序運行時使用調試器從內存中獲取密碼。任何加密的使用都可以被繞過,因爲密碼在使用時必須是純文本的。任何時候使用內存,它也可以用調試器觀察。
答案就在反調試: http://www.codeproject.com/KB/security/Intro_To_Win_Anti_Debug.aspx
更高級的Windows反調試:
http://www.veracode.com/blog/2008/12/anti-debugging-series-part-i/
http://www.veracode.com/blog/2008/12/anti-debugging-series-part-ii/
http://www.veracode.com/blog/2009/01/anti-debugging-series-part-iii/
http://www.veracode.com/blog/2009/02/anti-debugging-series-part-iv/
使用帶有authorized_keys的公鑰/私鑰對。
使用SSH密鑰對使用ssh-agent,但有沒有其他方法? 問題是您需要將公鑰發送到遠程主機,這可以通過簡單的字符串完成,但仍需要登錄。因此,使用密碼短語初始設置密鑰對並將密鑰添加到遠程主機需要輸入許多密碼。 初始設置完成後,它一切正常。
想法?
@ GIDDION請將您的評論添加爲對Jeremey回覆的評論。 Stackoverflow區分答案和一般評論。您輸入的評論通常保留給答案。 – Ankur 2009-11-04 05:47:00
這不是非對稱密碼學的問題,你必須相信你的自我! – rook 2009-11-05 01:02:16
既然他接受了你的答案,那一定是他所得到的。我知道這是不可能的,但我想也許他只是擔心保護PASSWORD,而不是訪問。 – 2009-11-05 02:42:50