4

パスワードを明らかにするソフトウェアを見たことがあります。それらのほとんどはポインターのような射撃ポインターを持っており、パスワードテキストボックスをポイントするだけで、ソフトウェアがパスワードを明らかにします。

しかし、それでも保護されたソフトウェアとリビールソフトウェアは相互接続されていません。これらは、同じホスト上で実行される別個のプロセスです。

私の質問は、

  1. 1つのプロセスが他のソフトウェアの情報にどのようにアクセスしますか?
  2. それの制限は何ですか?
  3. これを防ぐために使用できる方法は何ですか?

編集:はい、ダミーデータを使用してパスワードを保持することが、このために最もよく使用されるソリューションです。しかし、それでも同じ理論を他のケースに適用することができますか?例として、外部プログラムがあなたの電子メールを読むことができ、スパイプログラムがあなたの活動などを記録することができます。そして私たちでさえ、IEからMozillaへのドラッグアンドドロップサポートのようないくつかのクールな機能を実装できます:)

したがって、この場合、最も効果的な解決策は「ブロッキング」メカニズムです。とにかくこれを行うことはありますか?(プロセスのリソースへのアクセスは避けてください???)

4

4 に答える 4

2

おそらく、コントロールを見つけて、「パスワード」文字を空白に変更するメッセージをテキストボックスに送信することによって(つまり、再評価されます)。

それで:

  1. それらにウィンドウズメッセージを送ることによって

  2. 思い出せませんが、ウィンドウハンドルが必要なだけだと確信しています。

  3. パスワードフィールドにパスワードをまったく表示しないでください。メモリ内のどこかに保持し、ユーザーが具体的に要求した場合にのみ表示します。

于 2010-01-19T04:03:30.660 に答える
2

シルキーが言ったように、それはウィンドウズメッセージを送信するだけの問題なので、すべてのパスワードフィールドを一度に明らかにする非常に単純なソースがあります。簡単な対策は、実際のパスワードの代わりにダミー文字を保持するパスワードフィールドです。入力されている内容をキャプチャして変数に保存し、パスワードフィールドのダミー文字に置き換えることができます。

于 2010-01-19T04:12:41.390 に答える
0

パスワードの仕組み:
パスワードが設定されると、パスワードはハッシュ関数を使用してハッシュ値に変換され、そのハッシュ値が保存されます。パスワードが保存されることはありません。ユーザーがログインすると、パスワードがハッシュされ、保存されているハッシュ値と比較されます。2つのハッシュが一致する場合、ユーザーは正しいパスワードを送信しました。

パスワードを明らかにするために、保存されたハッシュ値を既知のハッシュ値を持つものと比較する必要があります。または、ハッシュ関数が壊れている場合は、送信された値にハッシュ値を推測できます。これらの可能性の後者は、シスコが悪名高い弱いハッシュ関数を使用しているため、ボックスに入ることができる場合、シスコのパスワードクラッカーによって使用される方法です。後のWindowsOSの場合、使用されるハッシュ関数はNTLMであり、これは非常に強力です。この場合、保存されているハッシュ値を既知のハッシュ値と比較する必要があります。この方法はレインボーテーブルと呼ばれます。一般的な英数字および7ビットASCII特殊文字の14文字のパスワードには、64GBのレインボーテーブルがあります。これが、ハッシュ値を他の何十億もの値と比較するのに数分かかるため、長いパスワードが非常に優れている理由です。

于 2010-01-19T18:04:37.610 に答える
0

IIRCこの「弱点」はWindowsXPSP2についてから解消されていましたか?いずれにせよ、パスワードに使用される標準のWindowsテキストボックスコントロールがアップグレードされたので、Spy++などのツールを使用してマスクされている実際のテキストを確認することはできません。

于 2010-01-19T04:22:14.833 に答える