web-dev-qa-db-ja.com

どのようにしてJavaScriptでキーロガーを見つけることができますか?

XSSがなく、クライアント側のみのページを想定している場合、JavaScriptコードでキーロガーをどのように識別できますか?

対象のフィールドのIDと、場合によっては何らかの種類のDOMトラバーサルを探して、あいまいな方法で値を取得する必要がありますか?

他に何かありますか?

2
user36556

私がサイトを評価する簡単な方法は、ネットワークモニターをオンにしてVMを実行し、サイトから何が(そしてどこに)送信されているかを監視することです。結局、攻撃者は何らかの方法でログに記録されたデータポイントを収集します。

何も表示されない場合は、コード自体を調べます。私はjavascriptデバッガーを使用して、何かを入力したときにどの関数が起動されたかを正確に確認します...

それはすべて、攻撃者がどのようにプログラムしたかに依存します...

(私のように)偏執狂であれば、 NoScript も実行できます。

更新

あなたのコメントに応えて、マルウェア分析のための安全な環境をセットアップする方法について詳しく説明します。

一般に、隔離された環境内でマルウェア(または疑わしいマルウェア)を常に分析することは、良い習慣と考えられています。最も簡単な方法は、Linuxディストリビューションを実行している仮想マシン(IE Virtual Box )をセットアップすることです(すべてのフォレンジックツールが組み込まれているため、 Helix をお勧めします)。

VM=セットアップ(ネットワークアクセスを許可せず、基本的にはホストマシンへのアクセスが非常に制限されるように構成するだけにしてください)したら、分析を実行できます。

VM内で検査を実行する理由は、生物学的ウイルス学者が安全なBSL-3ラボでラボ作業を行うことに似ています(サイバーセキュリティのBSL-4には air-ギャップ メジャーなどですが、それは別の話です)。

もちろん、ウイルスを開発した場合は、ウイルスが何をしているのか(おそらく)知っているので、どこでも再生できます。

2
Matthew Peters

ホワイトボックスコードのセキュリティレビューの一環としてスクリプトに悪意のある変更が加えられていないことを確認することが目的の場合は、次の2つを探しています。

  1. キーボードイベントの監視
  2. DOMからの読み取り

他の場所で述べたように-最終的に誰かがデータを盗み出そうとします。この時点であなたは探しています:

  1. Ajaxまたは同様の呼び出し
  2. リンクまたはURLの変更
  3. フォームの送信(たとえば、iframeの作成を含む)
0
Andy Boura