Overview
キーロガー(Keylogger)とは、コンピュータやモバイルデバイスのキーボード入力(キーストローク)を密かに記録する技術またはプログラムの総称です。ユーザーが入力したパスワード、クレジットカード番号、個人メッセージなどの機密情報を窃取することを主な目的としています。
キーロガーには大きく分けてソフトウェア型とハードウェア型の2種類が存在します。ソフトウェア型はマルウェアの一機能として実装されることが多く、トロイの木馬やスパイウェアに組み込まれて配布されます。ハードウェア型はキーボードとコンピュータの間に物理的に接続するデバイスで、ソフトウェアベースのセキュリティ対策では検知できないという特徴があります。
キーロガーには合法的な使用と悪意ある使用の両面があります。企業が従業員の業務監視や内部不正の調査を目的として使用する場合や、保護者が子どものインターネット利用を監視する「ペアレンタルコントロール」として使用する場合は合法とされるケースがあります。一方、本人の同意なく個人情報を窃取する目的での使用は不正アクセス禁止法やプライバシー侵害に該当します。
Details
ソフトウェア型キーロガー
- APIベース型:WindowsのSetWindowsHookExやGetAsyncKeyState等のAPIを利用してキーストロークを傍受する。最も一般的な実装方法で、ユーザーモードで動作するため比較的検知しやすい
- フォームグラバー:ウェブブラウザのフォーム送信をフックし、ユーザーがWebフォームに入力した内容(ログイン情報、カード番号等)を暗号化される前に傍受する。Zeus/Zbotなどのバンキングトロイで多用される
- メモリインジェクション型:正規のプロセスにコードを注入し、そのプロセスのコンテキストで動作する。セキュリティソフトからの検知を回避するために、信頼されたプロセスに寄生する
- カーネルモード型:OSのカーネルレベルでキーボードドライバをフックし、すべてのキー入力を傍受する。最も検知が困難で、管理者権限を必要とする
- スクリーンキャプチャ型:キー入力と同時に画面のスクリーンショットを定期的に撮影し、仮想キーボードなどの対策を回避する
ハードウェア型キーロガー
- USB型キーロガー:USBキーボードとPCの間に小型のデバイスを挿入する。外見はUSB変換アダプタに似ており、内蔵メモリにキーストロークを保存する。Wi-Fi機能付きの製品もある
- ワイヤレスキーボードスニファー:ワイヤレスキーボードの無線通信(2.4GHz帯)を傍受する。暗号化が不十分なワイヤレスキーボードは、離れた場所からキー入力を盗聴できる(KeySniffer攻撃)
- BIOS/ファームウェアベース:コンピュータのBIOSやキーボードのファームウェアに組み込まれるタイプ。物理的に極めて検知が困難で、高度な標的型攻撃で使用される
検知方法
キーロガーの検知には複数のアプローチが有効です。シグネチャベース検知では、既知のキーロガーのパターンをデータベースと照合します。振る舞い検知では、キーボードフックの設定やスクリーンキャプチャなどの不審な動作を監視します。ネットワーク監視では、窃取したデータの外部送信を検知します。ハードウェア型に対しては、USBポートの物理的な目視確認やUSBデバイスの監査が必要です。
対策技術
- 仮想キーボード(ソフトウェアキーボード):画面上のキーボードをマウスでクリックして入力する方式。一般的なAPIベースのキーロガーを回避できるが、スクリーンキャプチャ型には無効
- 二要素認証(2FA):パスワードが窃取されても、第二の認証要素によって不正アクセスを防止する。キーロガー対策として最も効果的な手段の一つ
- パスワードマネージャー:自動入力機能によりキーボードでのパスワード入力を不要にする。クリップボードの自動消去機能もキーロガー対策に有効
Security Measures
- 01二要素認証(2FA)を有効にする:すべての重要なアカウントで二要素認証を有効にしてください。キーロガーによってパスワードが窃取されても、ワンタイムパスワードやハードウェアキーによる第二の認証が突破されなければ不正アクセスを防止できます。
- 02パスワードマネージャーを使用する:パスワードマネージャーの自動入力機能を活用し、キーボードでのパスワード直接入力を最小限にしてください。パスワードマネージャー自体へのアクセスには生体認証を使用することで、キーロガーのリスクをさらに低減できます。
- 03セキュリティソフトのリアルタイム保護を有効にする:アンチウイルスやEDRソリューションのリアルタイムスキャン機能を常に有効にし、キーロガーのインストールやフッキング動作を検知・ブロックしてください。定義ファイルの更新も自動化しましょう。
- 04公共端末での機密情報入力を避ける:インターネットカフェやホテルの共有PCなど、管理状態が不明な端末ではオンラインバンキングやパスワードの入力を行わないでください。ハードウェアキーロガーが設置されている可能性があります。
- 05USB接続の物理的確認:特に共有環境やオフィスでは、キーボードのUSB接続部に不審なデバイスが挿入されていないか定期的に目視確認してください。見慣れないUSBアダプタやコネクタがある場合は直ちにセキュリティ担当者に報告しましょう。
- 06OSとアプリケーションの最新化:OSやブラウザを常に最新バージョンに保ち、キーロガーが悪用する脆弱性を修正してください。特にブラウザ拡張機能は定期的に見直し、不要な拡張機能や提供元不明の拡張機能は即座に削除しましょう。
Incidents
📋 Olympic Vision BEC攻撃(2016年)
2016年、「Olympic Vision」と呼ばれるキーロガーを使用した大規模なビジネスメール詐欺(BEC)キャンペーンが発見されました。攻撃者はナイジェリアを拠点とし、中東、アジア、米国の企業をターゲットに、スピアフィッシングメールを通じてキーロガーを配布しました。
Olympic Visionは市販のキーロガーソフトウェアで、わずか25ドルで購入可能でした。キーストロークの記録に加え、スクリーンショットの撮影、ブラウザのパスワード窃取、ウェブカメラの制御機能を備えていました。攻撃者は窃取した認証情報を使って経営幹部になりすまし、取引先への偽の送金指示を行い、数百万ドル規模の被害を引き起こしました。
📋 DarkHotel APT攻撃(2014年〜)
「DarkHotel」は、高級ホテルのWi-Fiネットワークを悪用して、宿泊中の企業幹部や政府高官を標的としたAPT攻撃グループです。ホテルのWi-Fiに接続した宿泊客に対して、偽のソフトウェアアップデート通知を表示し、キーロガーを含むマルウェアをインストールさせていました。
このキーロガーはターゲットの入力するすべての情報を記録し、企業の機密データ、ログイン認証情報、知的財産に関する情報を攻撃者のC&Cサーバーに送信していました。主にアジア太平洋地域の高級ホテルチェーンが標的となり、長年にわたって検知を回避し続けました。出張中の幹部が標的となるため、企業のセキュリティ対策が及びにくい環境を巧みに利用した攻撃でした。
📋 ATMキーロガー攻撃(2017年〜)
ATM(現金自動預け払い機)を標的としたキーロガー攻撃が世界各地で報告されています。攻撃者はATMの保守用USB端子にハードウェアキーロガーを設置したり、ATMのソフトウェアにキーロガー機能を持つマルウェアを感染させたりして、利用者の暗証番号を窃取します。
特にPloutusファミリーと呼ばれるATMマルウェアは、キーロガー機能に加えて、ATMから直接現金を不正に引き出す機能を備えていました。東欧やラテンアメリカを中心に数千台のATMが被害を受け、数十億円規模の損害が発生しました。この脅威に対して、金融機関はATMの物理的セキュリティ強化やソフトウェアのホワイトリスト制御を導入しています。