岡崎市立中央図書館のWebサイトに大量リクエストを行ったとして逮捕者が出た事件。Twitterでは事件から3ヶ月を過ぎた今も、毎日のように話題になっている。
本件に関してはたくさん情報が出回っているが、以下の7つのページを読めば大枠は理解できるのではないかと思う。あと、日経の動かないコンピュータでも記事になっている。
Librahack
http://librahack.jp/
当人によるまとめサイト
岡崎市立中央図書館事件 議論と検証のまとめ
http://www26.atwiki.jp/librahack/pages/16.html
関連URLを時系列でまとめたサイト
岡崎図書館事件について その1
http://takagi-hiromitsu.jp/diary/20100710.html#p01
警察への問い合わせや過去の事例をまとめた記事
ぐて〜blog
http://gutei-blog.blogspot.com/
MDISのシステムに関して検証しているサイト
図書館HP閲覧不能、サイバー攻撃の容疑者逮捕、だが…
http://www.asahi.com/national/update/0820/NGY201008200021.html
朝日新聞の記事
岡崎市中央図書館 librahack 事件を取材した朝日新聞記者さんへの質問と回答まとめ (8月22・23日分)
http://togetter.com/li/44259
表題の通り、記者さんのTweetまとめ
Twitter
http://twitter.com/#search?q=%23librahack
最新情報はハッシュタグ、#librahackで流れている
この事件を知らない人のためにさらっとあらすじを書いておくと、とあるエンジニアが図書新着情報が欲しくて、秒間約1回、1日2000回ほどリクエストするクローラ作って動かしていたら、ある日、警告もなく逮捕されてしまったという話。
IT系の仕事をしている人にとって、この逮捕は驚くべきことだった。これで逮捕されるなら大学や企業の研究室でWebの情報分析している人はかなりの数逮捕されてしまうことだろう。ちなみに私も一部のサイトには秒間1リクエストをしたことがあるので、逮捕の対象になってしまう。
また、相手が執拗なDOS攻撃でない限り、大量リクエストを制御する方法はいくらでもある。サーバはASPだったそうなので、GUIでさらっと設定をするだけで問題は解決できたはずだ。
地方の図書館サイト相手で1秒1リクエストは個人的な感覚では過剰だと思えるが、逮捕という話が出るようなレベルでもない。スリープかけずにマルチスレッドで取っていたら「そりゃ、逮捕されて当然」と思うが、シングルスレッドで時間も置いていたのだからどう見ても常識的な範囲内だ。
その後、当該の図書館システムはクローラからリクエストされた場合はコネクションを閉じないためにリソースが枯渇して落ちることや、「1%」というワードで検索をかけると応答が返ってこない(彼氏がLIKE検索している、別れたい)ことが分かり「これ、システムが脆弱なだけじゃない」という気持ちが沸々と湧いてきたりした。
というわけで、なんと書けば良いのか非常に難しい、いろいろとおかしい事件である。
個人的にはこの事件をきっかけに、クローラが世間に認知され、どういったサイトにどの程度のリクエストを行うのが常識的なのかが定まってくれると良いと思い、先日、そういった類の記事を書いた。
1秒に1リクエストするクローラーは常識的か
http://blog.mwsoft.jp/article/39619765.html
しかし朝日新聞の記事を見ると、事態はそれ以前の段階で停止してしまっているようにも見える。残念な話である。
余談。
今回の図書館システムは酷いものだが、こんなシステムを作って動かしていることが悪いという論調には賛同しかねる。酷いシステムを作って売ることが犯罪になるなら、私がプログラマになって3ヶ月くらい経った頃に作ったシステムは間違いなく逮捕されても文句の言えないシロモノだった。また、システムの酷い動作を「仕様です」と言い張ることを犯罪だとされるなら、これまた大量のエンジニアが逮捕されてしまうだろう。
過去の遺物が残るというのもWebの1つの姿だし、最新を保つために図書館サイトを5年ごとにリプレースしますなんて言ったら、それこそ税金の無駄だ。もちろん、あの要件でWindowsサーバにOracle入れてる時点で酷い税金の無駄ではあるけど。
Webにはこれまでもこれからも遺物が残るもの。である以上、遺物の存在を認めた上でどうすべきかを考えなければ、Webに対する正しい解答は導けない。