pslaboが試したことの記録

はてなダイヤリーからはてなブログに引っ越してきました

この日記は現在実行中の減量記録を含む個人的なメモとして始めましたが、最近はコンピュータやガジェット、ハック、セキュリティネタのほうがメインになっております。

はてなダイヤリー時代はカテゴリ分けが適当だったのですが、これはそのうち直します。


こんな架空請求があったら嫌かも

セキュリティホールmemo ML[memo:8303] なりすまし?架空請求?で、架空請求のメールに記載された「申し込み時IPアドレス」の信頼性が薄い、という記述があったので、それならば信頼性を高める方法はないだろうかと思って考えたメモ。

■準備するもの
メールアドレスおよび付随する情報を収集するウィルス


■収集すべき内容
MUAの受信箱に蓄積されているメールを1通づつスキャンして次の内容を収集する。
・差出人メールアドレス
・差出人氏名
・メール送信時刻
・メール送信元のIPアドレス情報


■情報収集の目的

ある人物が、ある時刻にインターネット接続を行っていたことを知ることが目的である。


現在の架空請求メールでは、メールの信憑性を高めるために「接続元IPアドレス」という項目をメール本文に含ませることで、初心者ユーザに対して心理的なプレッシャーをかけようとしているだろう。

しかしこの方法は、ある程度の技術を持ったユーザならば、逆に架空請求であることを自ら喧伝することになる。

だが、もしも「接続元IPアドレス」として書かれているものが、実際に私に割り当てられていたならばどうなるか。


この場合に私が架空請求詐欺のサイトにアクセスしていなかったことを示すことは困難だろう。なぜならISPはパケットのロギングを行うことはありえないからだ。


しかも、私がインターネット接続を行っていたことは、ISPの課金情報を調べれば直ぐにわかるはず。つまりISPのログが架空請求の内容を真実にしてしまう可能性があるかもしれない。


ではこれをどのようにして知るか。

簡単である。私が誰かに送ったメールを調べればよいのだ。

メールの配送経路が "Received:" ヘッダに記録されているのだが、このヘッダの最初のエントリは、メール送信元のIPアドレスである可能性が高い。もしもプライベートアドレスなら次の "Received:" を探す。IPアドレスがグローバルアドレスになるまで続ける。

メールの送信時刻も "Received:" ヘッダに記録されたタイムスタンプを追いかければよい。

差出人のアドレスは "From:" に入っているし、差出人の氏名も "From:" に入っているか、または本文のシグネチャを探せばよいと考えられる。


これを効果的に効率よく行うためにコンピュータウィルスを利用する。


■実装上の注意

可能ならばISPごとのIPアドレス割り当てルールを事前に把握していることが望ましい。
そうしないと接続点のアドレスとして判定したものが、実は途中経路のルータのアドレスだった、なんてことにもなりかねない。これでは信憑性はあがらない。パーソナルファイヤウォールが存在せず、しかも常時接続の場合には、正引き、逆引き、whois等を駆使して精度を上げるように努力すべきだろう。


■蓄積したデータの記録方法
ブラウザのローカルキャッシュ内に存在する画像ファイルのコメント領域にデータをこっそり書いておく。これなら見た目の上では正常なファイルにしか見えないし、ウィルス対策プログラムで検出することも容易ではないかもしれない。しかも所定の期間が経過したらキャッシュは消去される。常用しているソフトウェアの標準機能が証拠を自動的に隠蔽してくれるのだから、こんなに都合の良い話はない。


■情報の回収方法

収集した情報の回収を行うには、次の防壁を突破しなければならない。

・インターネット接続がダイヤルアップなのか、ブロードバンドなのかを正しく判定すること
・パーソナルファイヤウォールに検出されないこと

基本的には常時接続のときに、JavaスクリプトFlashなどを使ってデータの送信を行うように作りこめばよいかもしれません。通信量を常に監視しておき、外部ネットワークへの通信が発生したときに送信を試みればよいでしょう。