キーロガーの仕組み

さて、それではキーロガーに感染したPCでは、どのようなことが行われるのでしょうか?キーロガーはキーボードから入力された文字を監視します。そして、その内容を記録していきます(ログと呼ばれるファイルに保存する)。そして、そのログを定期的に仕込んだ悪意を持った攻撃者などに送ります(その方法は、さまざまな方法がある。メールなどもあるが、証拠の残りにくいファイル転送などが使われる)。

まずは、どのようにキーロガーでIDやパスワードが盗まれていくのかを見ていきたいと思います。まず、悪意を持った攻撃者は、攻撃目標となるPCにキーロガーを感染させます。その方法は、Webサイトからのダウンロードであったり、ウイルスを添付したメールを送り付けることで行います。当然ですが、セキュリティ対策ソフトを正しく使っていれば、キーロガーの感染を防ぐことも可能になります。しかし、Cさんはそれをしていなかったことが、まず危険であったと言わざるをえません。

ここで紹介する事例では、Webブラウザを利用して、被害者のキー入力を盗み出します。悪意を持った攻撃者が、キーロガーを開始したところが図3になります。

図3 攻撃者のPCで、キーロガーを開始。LOGFILE.KEYというファイル(ログファイル)に被害者のキー入力が記録される

さて、被害者ですが、自分のPCを利用し、オンラインバンキングを開始します。一般的なオンラインバンクでは、図4のようにログインの際には、必ずID(ここではお客様番号)とパスワードを入力する必要があります。

図4 一般的なオンラインバンキングのログイン画面

ここでは、お客様番号とパスワードを入力します。図5のようにお客様番号に「12345」、パスワードに「PASSWORD」と入力しました(本来、このような単純なIDやパスワード自体があまり好ましいものではない、本記事のために例として作成されたものである)。

図5 お客様番号とパスワードの入力

さて、攻撃者側ではどのようになっているでしょうか?図3でログファイルであるLOGFILE.KEYを[Browse]で表示させてみます。その結果は、図6のようになります。

図6 攻撃者に盗まれたお客様番号とパスワード

被害者が入力した文字はもちろんですが、入力の際にTABキーを使い、入力欄を移動した際のキー入力までが記録されています。実はこれも攻撃者にとっては、有益な情報になります。個人認証を行う場合には、この例のようにお客様番号(もしくはID)とパスワードの入力を行います。

つまり最低でも2つ以上の入力欄に、文字や数字を入力することになります。たいていのユーザーは、キーボードを使い入力を行います。その間、マウスは使用しません。とすると、まずはお客様番号を入力して、キーボードから手を離し、マウスで…といった操作をするでしょうか?慣れているユーザーならば入力欄の移動にTABキーを使うことが多いでしょう。そうすれば、マウスに持ち替える手間が不要になります。

逆の見方をすれば、悪意を持った攻撃者はTABキーが押された前後を調べれば、IDやパスワードの入力が行われたと推察しやすくなります。少なくとも、TABキーの前後では、入力欄の移動が行われたことはまちがいありません。複雑なIDやパスワードを使用していたとしても、TABキーの前後をくまなく調べることで、発見されやすくなります。

このように、キーボードから入力を監視していて、IDやパスワードが入力されると、そのまま悪意を持った攻撃者へ、伝わってしまうのです。キーボードの入力は、すべてがIDやパスワードとは限りません。コマンドを入力したり、URLであったり、検索文字であったりさまざまです。しかし、そのログを地道に収集し、解析することで、IDやパスワードを入手しているのです。

このようにして収集された情報は、そのまま悪意を持った攻撃者が利用する場合もあります。しかし、現在では、そのような情報を取引する闇市場が存在しています。ちなみに、

  • 盗んだ銀行アカウント情報銀行口座:$50~
  • クレジットカード:$0.4~$20
  • 個人情報:$1~$15
  • 最新のe-mailリスト(有効かの確認はされていない):$8~
  • 10,000台のすでに仕掛けが施されたPC:$1,000~

といった価格で取引されています。また、これらの情報などがWinnyなどのP2Pソフトウェアで流出することもあります。このように盗み出された情報は、ほぼ回収不能となり、悪用される可能性が高くなります(防御策としては、銀行口座などの場合、解約するしかない)。