今日のオレ

2月5日に書いた個人的かつちょっとしたセキュリティインシデントの話。弊社で運用しているとあるサイトで、先月のアクセスログを集計していたらなぜか普段の約20倍のPVがありました。なんだこりゃ!と思って生ログを調べてみるととある IP アドレスから1〜2秒くらいの間隔でものすごい量のリクエスト。
その IP アドレスで生ログに対して grep をかけてやるとまあ出るわ出るわ。1月の初めをちょっと過ぎた日から1月の終わりまで、サーバ内の全ページに対してずーーっとリクエストを送られ続けていました。リクエスト間隔がほぼ一定なことや普通のブラウザからアクセスされた時に必ずログに残るはずの User-Agent 情報が記録されていなかったので、おそらく何らかの機械的な手段で行われたものと推測。
このサイトでは、

http://hogehoge.com/hoge/hoge.asp?date=2003-1-1

…のような、GET クエリの引数(↑の場合の引数は日付)に応じたデータを DB から拾ってページに反映させるという Web アプリで作ったコンテンツも公開していましたが、ご丁寧にリクエストの度に引数を変化させて、

2004-1-10 12:00:01 2**.***.***.1 /hoge/hoge.asp?date=2003-1-1 200
2004-1-10 12:00:03 2**.***.***.1 /hoge/hoge.asp?date=2003-1-2 200
2004-1-10 12:00:04 2**.***.***.1 /hoge/hoge.asp?date=2003-1-3 200
2004-1-10 12:00:06 2**.***.***.1 /hoge/hoge.asp?date=2003-1-4 200

という風に何度も Web アプリのファイルを突っつかれていたログが残っていました。まあ実際には GET クエリ引数の数はもっと多いんですが。
この Web アプリによって表示されるコンテンツ内容には、個人の名前・住所・電話番号といった個人情報を含んでいました。個人情報と言っても元々一般への情報提供を目的としている個人情報。もちろんインターネットで公開するにあたり、事前に弊社へ業務委託した顧客や個人情報の所有者とのコンセンサスは得ています。
ここで考えたのは「一体何の目的でサイト内の全ての情報を収集していたのか」という事。一般的にサイトの情報を機械的に収集するものとして google などの検索エンジンに使われているロボット(クローラーとも言う)が思いつきますが、通常そういう有名どころのロボットがやって来るとログにはロボットの User-Agent が記録され、どこの検索エンジンから来たかという情報やロボットによっては連絡先のメールアドレスを記録してくれるものもあり、ログ上で一般のブラウザとのアクセスとロボットのアクセスとを明確に区別出来るようになっています。
ただ今回は User-Agent が全く記録されていなかったために素性がわからない。最近はスパムやダイレクトメールの送信や発送に利用するため、インターネットを使い無作為に個人情報を収集しているという業者もあると聞きます。まず今回収集された情報がそういった本来の目的とかけ離れた用途に利用される可能性がありました。それに引数を巧みに変化させてリクエストを送りつけていたあたり XSS のような、Web アプリの脆弱性を調べられていたかも知れません。
また、リクエストの度に Web アプリと DB のプロセスが起動されてサーバにかなりの負荷が発生していたと思われます。仮にウェブサーバのチューニングが甘かったりサーバ機の処理能力が低かったりした場合、DoS 攻撃が成立していた可能性がありました。某巨大掲示板で言うところの F5攻撃田代砲(笑)といった、サービスの妨害やサーバダウンを狙って人為的にサーバに高負荷をかける攻撃です。
まあ弊社のサーバ機のスベックは元々いいものを使っていたので、作業のためにサーバへ何度もアクセスしているのに全く気づかなかったのを見ると、DoS に関しては何も問題がなかったようですが。
以上の

「何のために大量のアクセスをしてきたのか?」
DoS攻撃XSS などの不正アクセスに該当する可能性があった」
不正アクセスでなかった場合の収集された情報の用途」

という点を踏まえて、早急に調査する必要がありました。で、リクエストの発信元を調べるためにJPNICwhois で IP アドレスを調べたら、某大手インテグレーターのデータセンターが持つ IP アドレスという事がわかりました。
顧客のサイト担当者と顧客の情報システム部門へ状況を説明し、まずは顧客を通してその大手インテグレーターへコンタクトを取ってみる事になりました。
長くなったので続きはまた明日に。