アプリケーションの使用中にユーザー名とパスワードの組み合わせがメモリから読み取られないようにするにはどうすればよいですか。
私のプログラムは、SSHやSCPを含むいくつかのCYGWINツールのGUIラッパーです。さまざまなホストへのシングルサインオン機能を確保する必要があります。
アプリケーションの使用中にユーザー名とパスワードの組み合わせがメモリから読み取られないようにするにはどうすればよいですか。
私のプログラムは、SSHやSCPを含むいくつかのCYGWINツールのGUIラッパーです。さまざまなホストへのシングルサインオン機能を確保する必要があります。
攻撃者は、アプリケーションの実行中にデバッガを使用してメモリからパスワードを取得しようとします。パスワードは使用時にプレーンテキストである必要があるため、暗号化の使用はバイパスできます。メモリーが使用されるたびに、デバッガーで監視することもできます。
答えはアンチデバッグにあります: 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/
ssh-agent を使用した SSH 鍵ペアですが、他に方法はありますか? 問題は、公開鍵をリモート ホストに送信する必要があることです。これは単純な文字列で実行できますが、それでもログインが必要です。そのため、パスフレーズを使用したキー ペアの初期設定とリモート ホストへのキーの追加では、多くのパスワードを入力する必要があります。初期設定後、すべて正常に動作します。
アイデア?
公開鍵と秘密鍵のペアをauthorized_keysと一緒に使用します。