図1 講演するルクセンブルク大学のRalf-Philipp Weinmann氏
図1 講演するルクセンブルク大学のRalf-Philipp Weinmann氏
[画像のクリックで拡大表示]
図2 ルネサス エレクトロニクスの「H8S2161B」
図2 ルネサス エレクトロニクスの「H8S2161B」
[画像のクリックで拡大表示]
図3 ファームウエアの改造でLEDランプを点滅させているところ
図3 ファームウエアの改造でLEDランプを点滅させているところ
[画像のクリックで拡大表示]

 ルクセンブルク大学 Research associateのRalf-Philipp Weinmann氏は2010年11月10日,東京都内で開催中のコンピュータ・セキュリティのイベント「PacSec 2010」において,ノート・パソコン用の組み込みコントローラにキーロガーを仕込めることを明らかにした(図1)。キーロガーとは,キーボードに打ち込んだ内容を記録するソフトウエアのことである。

 組み込みコントローラは,キーボード・コントローラが発展したもので,現在ではACPIによる電源管理や温度センサと連携したファンの駆動などの機能を持つ。同氏が研究に使ったのは,中国Lenovo Corp.の「ThinkPad」シリーズ。これらには組み込みコントローラとしてルネサス エレクトロニクスの「H8S」シリーズが搭載されている(図2)。H8Sシリーズはフラッシュメモリにファームウエアを格納しており,これらは外部から書き換え可能である。今回,このファームウエアを改造し,「ThinkPad X60」にキーロガーを組み込んだ。

 具体的には,フラッシュメモリの空き領域である64Kバイトに,押されたキーのデータを記録するように細工した。その際,文字データを圧縮することで,空き領域の5倍に相当する300Kバイト(英字で30万文字)以上のデータを格納するようにできたという。組み込みコントローラに格納したデータは,OS上で動作するアプリケーション・プログラムから「ACPI」(advanced configuration and power interface)を使って交換したり,あるいは温度データに紛れ込ませて送ることができるという。ACPIは米Intel Corp.と米Microsoft Corp.が定めた,OSと電源管理システムのインタフェース仕様である。

 このほか,外部とノート・パソコンに搭載されているLEDランプを使って通信できる可能性を示した。具体的には,組み込みコントローラのファームウエアを改造し,点滅によりデータを送信する(図3)。いわゆる可視光通信をするわけだ。この場合は,キー情報を組み込みコントローラから読み出すアプリケーション・ソフトウエアを用意しなくても,ファームウエアの改造だけで外部とのデータを送れてしまう。「ユーザが離席中に動かすことで,気付かれることなくデータを送信できる」(Weinmann氏)という。