2005年04月07日

,■「スクリプトを実行しても安全だとマークされているActiveXコントロール」は安全か
,■日本認証サービス
,■日本企業初!!フィッシング詐欺対策機能を持ったツールを導入
,■キーロガーという脅威
Title:■キーロガーという脅威
Title:■キーロガーという脅威
Title:キーロガーという脅威 Content-Type: text/html; charset=EUC-JP Last-Modified: Sat, 30 May 2020 03:15:29 GMT サーバ管理者日誌 キーロガーという脅威

2005年04月07日(木) << 前の日記 | 次の日記 >>
これまでの04月07日 編集

■4キーロガーという脅威<< 前の記事 このエントリーをはてなブックマークに追加

キーロガー(keylogger)と言われるソフトがある。
元々は、デバッグ時にキー操作を記録しておいて、問題が起きた時に再現を助ける用途に良く使われた。私自身も非常に昔の話だけれども、PC98の時代に、記録と再現を行うプログラムを書いた覚えがある。
また、メッセージフックの教材としても非常に分かりやすいので、良く取り上げられるプログラムである。
ところが、このソフトをインターネットカフェ等の他人が使うパソコンに仕掛けておいて、 秘密情報を盗み出すという事件[http://www.keishicho.metro.tokyo.jp/haiteku/haiteku/haiteku404.htm] が起きている。
キーロガーが仕掛けられたパソコンで入力したIDやパスワードは全て記録されてしまうため、この情報を使って、インターネットバンキングで他人のお金を振り込んでしまうわけだ。
それどころか、最近ではネットワーク経由でパソコンに入り込んで、知らない内に情報を盗み出し、しかも盗んだ情報をネットワーク経由で送り出すというものまで作られている。知らない内に自分のパソコンが盗聴器になっているわけだ。

キーロガーを体験してみる:

実際のキーロガーがどういう仕組みで作られているのかは、調べていないので *5 分からないけれども、Windows上のメッセージを収集するソフトとしてVisual Studioに付属してくる「Spy++」というものがある。
Windows上で発生する様々なイベントを収集して分析できるソフトウェアで、ウインドウやプロセスを指定して、特定のメッセージを収集、記録してくれるものだ。
このソフトを使って、キーボード関係のイベントを全て記録してみることにした。本物のキーロガーの仕組みがどうなっているかは分からないけれども、このソフトができることは全てできるはずだ。
例えば、パスワードを入力すると、
<00049> 000E0AAA P WM_CHAR chCharCode:'p' (112) cRepeat:1 ScanCode:19 fExtended:0 fAltDown:0 fRepeat:0 fUp:0
<00052> 000E0AAA P WM_CHAR chCharCode:'a' (97) cRepeat:1 ScanCode:1E fExtended:0 fAltDown:0 fRepeat:0 fUp:0
<00055> 000E0AAA P WM_CHAR chCharCode:'s' (115) cRepeat:1 ScanCode:1F fExtended:0 fAltDown:0 fRepeat:0 fUp:0
<00058> 000E0AAA P WM_CHAR chCharCode:'s' (115) cRepeat:1 ScanCode:1F fExtended:0 fAltDown:0 fRepeat:0 fUp:0
<00061> 000E0AAA P WM_CHAR chCharCode:'w' (119) cRepeat:1 ScanCode:11 fExtended:0 fAltDown:0 fRepeat:0 fUp:0
<00064> 000E0AAA P WM_CHAR chCharCode:'o' (111) cRepeat:1 ScanCode:18 fExtended:0 fAltDown:0 fRepeat:0 fUp:0
<00067> 000E0AAA P WM_CHAR chCharCode:'r' (114) cRepeat:1 ScanCode:13 fExtended:0 fAltDown:0 fRepeat:0 fUp:0
<00070> 000E0AAA P WM_CHAR chCharCode:'d' (100) cRepeat:1 ScanCode:20 fExtended:0 fAltDown:0 fRepeat:0 fUp:0
の様に表示される。
ここではイベントとして見やすい様に表示しているが、キーロガーとして作る時には、例えば入力タイミングの再現が必要だったら時刻情報を付加したり、逆に無駄な情報を省いて記録したりするだろう。

キーロガーを無効化するソフト:

という訳で、キーロガーを無効化するソフトが登場してきている。
色々な仕掛けのものがある様だけど、たまたま調べたソフトは解析をしてはいけないソフトだったので、調べていない。
たまたま調べてみたソフトでは、同様の事をやった場合に、
  1. 別のキャラクタでキーイベントが発生している様に見える。キーロガーを妨害するためだろう。
  2. だが、入力がエコーバックされる時には、本来の文字でイベントが発生する。
  3. パスワードフィールドへの入力の際は、本来の文字でのイベントは発生しない。
  4. だが、日本語FEPが有効で「半角入力」になっていたりすると、本来の文字でのイベントが発生する。
という結果が得られた。
そのソフト自体を解析していないので、実際のところは分からないけれども、想像するに、この対策ソフトがターゲットとしたキーロガーは2や4のイベントを無視するものだったか、日本語FEPの存在を想定していなかったのかも知れない。あるいは、日本語FEPの実装に依存するのかも知れない。世の中のキーロガーはここで試した様な作りになっていないのかも知れない。本当のところは分からない。解析したわけではないので。

キーロガー対策ソフトを有効に活用するために:

ということで、キーロガー対策ソフトを有効に活用するためには、
  • パスワード等の秘密情報は入力した文字がそのまま表示される入力ボックスに入力しない。ダミーの文字列を入力して確認する。
  • もちろん、表示されないと確認できないからと言って、メモ帳などで試し書きをしてはいけない。
  • 日本語FEPが無効になっていることを確認する。
方が良いと思われる。

そもそもキーロガーが存在する可能性のある端末で秘密情報を入力してはいけない:

もちろん、上で調べたキーロガー対策ソフトがたまたまそういう問題を持っていただけなのかも知れないが、確実に安心できるキーロガー対策ソフトというのは原理上作成が困難だと思われる。
例えば、キーボードの物理的なデバイスドライバに割り込むソフトを作るのは不可能ではないが、これに対応するソフトを作成するのは困難を極める筈だ。
そもそも、キーボードから入力した文字をあるプログラムに伝えないといけないという制約がある以上、キーロガー対キーロガー対策ソフトの対決は、キーロガー側がはるかに有利なのだ。
通常、自分が使う端末は信用できるものでないといけない。信用できないプログラムを導入した瞬間に大事な情報は扱えなくなるし、一度信用できなくなった環境は、最初から構築し直さないと元に戻すことはできない。
*5: あやしいソフトを色々収集して、それを動かしてみるとなると Virtual PCがいくらあっても足りない。

■ 関連記事

以上、1 日分です。

指定日の日記を表示

前月 2005年04月 翌月
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

最近の日記

2019年04月01日

新元号「令和」について

2019年03月23日

DXアンテナ ワイヤレスチューナー メディアコンセント DMC10F1

2019年02月17日

#例のグラボを活用する

2019年01月03日

シリーズ5・myHomeAlexaで自分のCDをかける

2018年12月25日

シリーズ4・英語の楽曲・アルバム・アーティスト名をカタカナに直す

2018年12月23日

シリーズ3: Echo Dotがやってきた

2018年12月19日

続・Echo Dotがやってきた

分野別タイトル一覧


全て
CLIP
SYA!nikki
book
freebsd
hns
magic
おさけ
おしごと
お買いもの
ぐる
ごはん
アクセシビリティ
オープンソース
セキュリティ
音楽
地域情報化
電子自治体
日記

keikuma on Twitter

keikuma Name:前田勝之
Location:長崎市
Web:http://www.nantok...
Bio:前田勝之(まえだかつゆき)。長崎在住。コンサル、SE、プログラマー、 なんとか株式会社代表、非常勤講師(情報セキュリティ)。 セキュアド、テクニカルエンジニア(SV,NW)。サーバ管理とWeb日記を10年ほど。 ネットとリアルの接点に関心あり。食べること・歌うこと・愛すること・作ること・飲むこと。おいしいものがぜんぶすき。

サイト内検索

Google AdSense

Powered by hns-2.19.9, HyperNikkiSystem Project