1月26日,第三者のインターネット銀行口座から現金約900万円をだまし取ったとして,電子計算機使用詐欺と不正アクセス禁止法違反の疑いで無職の男が逮捕された。今まで不思議と耳にしなかった“日本人”による金銭目的のサイバー犯罪である。

 日本人による金銭目当ての犯罪は2008年10月にも発生している。高校生がスパイウエアを悪用して第三者のアカウント情報を収集し,販売していた事件だ。これら二つの事件の共通点は,悪性プログラム(キーロガー)を使ってキー入力情報を詐取していた点である。プライバシ情報を容易にのぞけるキーロガーを使った犯罪は,今後ますます増えていくと見られる。

 キーロガーの侵入経路としては,Web経由でのインストールが目立つ。Flash PlayerやAdobe Reader,音楽再生ソフト,OSのぜい弱性を悪用してシステムを乗っ取り,勝手にインストールする方法である。

 この攻撃に対する対策として一般的なのはセキュリティ・パッチの適用である。ただ犯罪者は,昨年のFlash PlayerやInternet Explorer 7のぜい弱性のようにゼロデイ攻撃コードを悪用する。パッチ管理だけでは十分とは言い切れない。このため,キーロガーがインストールされた可能性の高いパソコンをいち早く発見するための対策や,ユーザーが自らキーロガーの存在に気付くための対策が重要になる。

基本対策は不正プログラムの検出

 キーロガーにはソフトウエアとハードウエアの2タイプがある。上述の事件やインターネット社会で問題になっているのは一般にソフトウエア・タイプだ。このソフトウエア・タイプも,入力情報の盗み方の観点から2種類に大別される。メッセージを横取りするタイプとメモリーを監視するタイプである(プログラムなどへの組み込みタイプは除く)。このうち主流はメッセージを横取りするタイプである。

 これらへの基本的な対策手段は,(1)ウイルス対策ソフトあるいはスパイウエア対策ソフトを使う,(2)キーロガー検出ツールを使う,(3)ネットワーク・トラフィックを監視・遮断する──という3通りが挙げられる(図1)。(1)は不正プログラムを検出する方法である。ただ,検出できないケースがあるため,(3)の情報流出を防ぐ機能を併せ持つツールを使うと良いだろう。

図1●一般的なキーロガーの動作と対策方法<br>対策は主に,キーロガーの本体を検出する方法,キーロガー専用の対策ツールでデータ記録の動作を検出する方法,プライバシ情報送信を検出する方法の3通りがある。
図1●一般的なキーロガーの動作と対策方法
対策は主に,キーロガーの本体を検出する方法,キーロガー専用の対策ツールでデータ記録の動作を検出する方法,プライバシ情報送信を検出する方法の3通りがある。
[画像のクリックで拡大表示]

 (2)は,悪性プログラムのパターン・マッチングによる検出,キー入力をフックして検出,ファイル・スキャンによる検出などが代表的。多くのキーロガー対策ツールはメッセージを横取りするタイプを対象としている。ユニークなアルゴリズムを採用しているものとして,不審なログ・ファイルなどを探してくれる「KL-Detector」(写真1)もある。わずかな異常個所をあぶりだすという観点では面白いアプローチだ。

写真1●キーロガー検出ソフト「KL-Detector」の画面
写真1●キーロガー検出ソフト「KL-Detector」の画面
キーロガーが記録するログ・ファイルを検出できる。

 (3)は,キー入力のログをHTTP経由でリアルタイムにアップロード,あるいはメールで送付するタイプのキーロガーへの対策である。検出するためのトリガーを定義し,円滑に運用できる環境を整える必要があるが,個人情報漏えいの観点で考えるのなら,ある程度の効果は期待できる。

Web向けなら別の手立てもある

 Webメール,オンライン・バンキング,SNS(ソーシャル・ネットワーキング・サービス)サイト,証券取引,オークションなど,最近は多くのアプリケーションがWebベースになっている。こうしたアプリケーションを利用する際には別のアプローチも効果がありそうだ。

 具体的には,「KeyScrambler」などのキー入力暗号化ツールを使う方法である。キーロガーを検出してくれるわけではないが,ブラウザ上での入力情報を暗号化してくれる。万が一キーロガーがインストールされていた場合でも,詐取されるのは暗号化された情報になる。事故の発生を前提として考えると,必須ツールと言っても良いかもしれない。

 同様に,「ロボフォーム」などのパスワード管理ツールも有効だろう。こうしたツールを使うと,キーボードへの入力が不要になり,キーロガーでデータを盗み取られる心配がない。写真2のキーロガーのログ・ファイルを見ると,入力した結果が何も表示されていないことが分かる。アカウント情報を守るには有効な手段である。

写真2●DLLをフックするタイプのキーロガーへの対策の有効性
写真2●DLLをフックするタイプのキーロガーへの対策の有効性
[画像のクリックで拡大表示]

 ただし,「メモリーを監視するタイプ」のキーロガーを使われると,これらのツールは無効化される。入力情報が暗号化されようが,入力手順を省略しようが,Webサイトへアカウント情報を送信する際には,平文のアカウント情報を送信せざるを得ない。メモリー上に記録される送信情報は元の状態になっているため,プライバシ情報を詐取されてしまう。

危険度高いJavaScript

 もう一つ,最近話題になっているものとして,JavaScriptで作成された,インストール不要のキーロガーがある。JavaScriptを利用したキー入力はWebアプリケーションとしてはごく一般的で,キーロガー(悪性プログラム)としては検出しづらい。

 従来は,JavaScriptにはクロスドメインに対しての動作制限があったため,それほど危険はないとされていた。ただ昨年,iframeを利用することでこの制限を回避しキー入力情報を詐取するテクニックが報告された。このタイプのキーロガーによる情報詐取を防ぐ方法は,現段階では,Firefox+NoScriptなどによりJavaScriptを止めるという予防策しかない。

 結局,キーロガー対策としては,(1)~(3)の基本対策と,キー入力の暗号化などの組み合わせが現実解と言える。さらに可能なら,組織的対策として,通信データをキャプチャ,保存するネットワーク・フォレンジックを実施したいところだ。

 キーロガーには複数のタイプが存在するため,どのような手口でキーストロークを詐取されるか分からない。ユーザーそれぞれが,“いつ情報が詐取されてもおかしくない”という心構えでいることが重要である。

岩井 博樹(いわい・ひろき)
ラック コンピュータセキュリティ研究所 所長
ラックのコンピュータセキュリティ研究所に勤務。IDS/IPS導入設計,コンサルティングなどに従事した後,同社のJapan Security Operation Center(JSOC)にて監視業務に携わる。現在は,セキュリティ技術の研究開発,フォレンジック業務を手掛ける。