2010年06月21日(月) << 前の日記 | 次の日記 >>
これまでの06月21日 編集

■1 続・robots.txtに従わず、図書館HPにアクセス3万3千回 業務妨害容疑で男逮捕[http://www.nantoka.com/~kei/diary/?20100526S2][セキュリティ][プライバシー] このエントリーをはてなブックマークに追加

容疑者とされた当人が、 Librahack[http://librahack.jp/] として、顛末を説明している。
想像通り、端的に言えば、図書館ページが提供するインターフェイスが使いにくいので、スクレイピングして、検索しやすいデータベースを用意しようとした。ということの様だ。
だとすると、 前の記事[http://www.nantoka.com/~kei/diary/?20100526S2] でも書いたけれども、こんなことで逮捕される様では、技術的な実験も研究も、全て、逮捕を覚悟して掛らなければならないということになる。結果、技術の進歩を著しく阻害する危険性がある。
こんなことが起これば、日本でGoogleの様な、あるいはGoogleを超えるサービスを開発しようとは思わなくなる。
実際、図書館の蔵書データベースを無償で提供している カーリル[http://calil.jp/] というサービスがあるが、この会社は拠点を米国に置いている。
この逮捕が、日本のネット技術の進歩を抑圧する目的で無かったのであれば、当局には、事情を説明する責任があるのではないか。
ところで、多くの図書館は、思想信条の自由を守り抜くため、 図書館の自由に関する宣言[http://www.jla.or.jp/ziyuu.htm] を掲げており、 これは 岡崎市立中央図書館[http://www.library.okazaki.aichi.jp/tosho/index.asp] も、 例外ではない[http://www.library.okazaki.aichi.jp/tosho/about/activity.html]
この宣言では、
第3 図書館は利用者の秘密を守る
1. 読者が何を読むかはその人のプライバシーに属することであり、図書館は、利用者の読書事実を外部に漏らさない。ただし、憲法第35条にもとづく令状を確認した場合は例外とする。
2. 図書館は、読書記録以外の図書館の利用事実に関しても、利用者のプライバシーを侵さない。
3. 利用者の読書事実、利用事実は、図書館が業務上知り得た秘密であって、図書館活動に従事するすべての人びとは、この秘密を守らなければならない。
ということを宣言している。つまり、正当な令状無しに利用者の利用事実の記録を外部に漏らすことは無いと言っている。「利用事実の記録」には、私は、Webサーバのアクセスログは含まれると考えるのだが、だとすると、今回の事件で、愛知県警は捜査令状を得た上で、ログファイルを押収したのだろうか。
だとすると、その中には、当然、他の利用者の検索履歴も含まれていたはずで、他の利用者に対して何の説明も行われないのはおかしいのではなかろうか。

岡崎市立図書館蔵書検索システムの謎:

岡崎市立図書館蔵書検索システムのページにアクセスしてみて、表示ができなくなったりすることを不思議に思って調べてみたのだが、このサイト、 ASPで生成しているページに関して、Cookieで多重アクセスを抑制しようとして何か謎な現象が起きている様に見える。
本件で問題になっている、 新着情報[http://www.library.okazaki.aichi.jp/tosho/Newbook/0200.asp] のページもASPページだし、 図書館のトップ[http://www.library.okazaki.aichi.jp/tosho/index.asp] も、 蔵書検索ページ[http://www.library.okazaki.aichi.jp/tosho/asp/kensaku_g.asp] も、ASPで生成されている。
なぜ、こう推察したかは、以下の様な観測に基づいている。
何らかの理由で *1 、検索ページや、新着情報ページ等が応答を返さなくなると、以下の様な症状が発生する。
トップページ
http://www.library.okazaki.aichi.jp/tosho/index.asp[http://www.library.okazaki.aichi.jp/tosho/index.asp] の様に、ASPで生成されるページが応答を返さなくなる。
しかしながら、この時、 http://www.library.okazaki.aichi.jp/tosho/[http://www.library.okazaki.aichi.jp/tosho/] の様なアクセスはエラー応答を返すし。
エラーページ
http://www.library.okazaki.aichi.jp/tosho/collection.html[http://www.library.okazaki.aichi.jp/tosho/collection.html] の様な、ASPを介在しないページは、正常にアクセスができる。
エラーページ
この状態に陥った時に、Cookieを削除してやると、正常にアクセスできるように回復する。
Cookie
つまり、Cookieを頼りに、ASPへの同時アクセスを制限しようとしている様なのだけれども、この時のパケットダンプを見ると、HTTP GETに対するACKを発行したまま、だんまりという状況になっている。
Wireshark
IISでのASPの実装経験が浅いので断言するのは難しいのだけれども、 GETをACKで受けたまま、ASPが安全に終了する様なコードを書くのはきっと難しいはずなので、これは内部的には、実装者が想定していないことが起きている可能性があるのではないかという想像もできる。
だとすると、実際には、このシステムは 500番台のHTTPエラーを出すことは無かったのではないか という疑いも生じるし *2こんなビザンチン障害を発するシステムの応答を見て、自分のせいかも知れないと判断するのは難しい のではなかろうか。
検索ページのソースにも
//2重実行防止
function jfSubmit() {
//alert(document.frmKensaku.hidKensakuF.value);
	if(document.frmKensaku.hidKensakuF.value == "0"){
		document.frmKensaku.hidKensakuF.value = "1";
		return true;
	}else{
		return true;
	}
}
という興味深いコードがある。
以下は上記の観測を基にした推察であるが、このサイトの実装者は、イントラネットで使われる業務システムの様に、サイト利用者はマニュアル通りにシステムを操作し、システム設計者の想定と異なるアクセス操作は行わないという前提でシステムを実装したのではないか。
しかも、制限の仕組みにバグがあって、Cookieの制限に従わない、例えばCookieを食わないブラウザや、スクリプトでアクセスすると、不具合が顕在化してしまう。
本来、インターネットというパブリックな環境においてアクセスされるのが前提であるシステムにおいて、当然想定すべきだった操作を、設計者あるいは実装者が想定していなかったからと言って、公権力の行使という形でユーザーに責任転嫁されるのはとんでもない話だと思う。
*1: 検索ページで、「1%」という書名を検索した際にたまたま発生した。理由は分からない。
*2: (7月22日追記)その後の情報で、 あるリクエストを境に[http://librahack.jp/okazaki-library-case/libra-server-accident.html] 連続してエラーが発生することが判明した。
新たな情報を基にしたメカニズムの推察については、 7月22日の記事[http://www.nantoka.com/~kei/diary/?20100722S1] を参照頂きたい。

この記事に頂いたコメント

Re: 続・robots.txtに従わず、図書館HPにアクセス3万3千回 業務妨害容疑で男逮捕 by Zliz    2010/06/21 23:26
like演算を使っていて"%"がワイルドカードになるらしいです。 それで検索に...

■ 関連記事

今日のつぶやき

  • あぁ。そこ、とても大事だと思うのに、乗っていませんねぇ。 QT @oddmake: 料理ガイド本とか見て「この店では配膳の人が説明してくれます」みたいな情報ってわかるのでしょうか…2010-06-21 10:01:53 Tween
  • ハンコを斜めに捺す話で、某所の電子決裁システムを思い出した。2010-06-21 12:32:09 Tween
  • 「カレーは飲み物」と言った人がいるけれども、ミルクセーキは食べ物です。 #nagasaki #nagamon2010-06-21 13:30:13 Tween
  • #librahack の話。サーバのアクセスログを提供していたとすれば、自ら掲げた、図書館の自由に関する宣言に反する行為ではなかろうか。図書館側から説明がないのはおかしい。 http://bit.ly/cc5r2l2010-06-21 14:16:59 Tween
  • うーん。それは自然な言い回しでは無い気がしますね。「長崎の遠かもんですけん」と謙遜するのは聞きますが。 RT @wamkichi: 長崎で、料理が甘めなことを「長崎が近い」って言いますか? #nagasakiben2010-06-21 14:30:16 Tween
  • そういや長崎市立図書館のページも、検索結果が出るのを待ち切れずに戻って検索とかすると固まるのよねぇ。 #librahack #nagasaki2010-06-21 14:48:05 Tween
  • @everychan @wamkichi @kyouseishika 長崎街道=シュガーロードと関係大ありです。長崎ではおもてなし料理=貴重な砂糖をふんだんに使う…というところから、「長崎の遠かもんですから」という謙遜語が出てきます。 #nagasaki #nagasakiben2010-06-21 14:49:58 Tween everychan宛て
  • @everychan @wamkichi @kyouseishika ちなみに、当時、長崎の出島砂糖を大量消費していたのは大奥で、江戸幕府の財政が傾く一因になったとも言われています。 #nagasaki2010-06-21 14:52:15 Tween everychan宛て
  • 印鑑をまっすぐに捺すのって難しいんですよねぇ。上に印がある様な、三文判は別よ。2010-06-21 15:08:16 Tween
  • 1日数回にわたり、図書の借出と返却を繰り返し、図書館の業務を妨害した疑い。 #librahack2010-06-21 15:25:13 Tween
  • 蔵書情報を取得したかったら、http://calil.jp/ を使えということかな。開発拠点は国内だけど、会社は米国においているし。 #librahack2010-06-21 15:47:29 Tween
  • しまった。変な検索キーワード入れて検索落としてしまった様だ。 #Librahack2010-06-21 16:40:02 Tween
  • あれは砂糖の過剰摂取が原因だったのか! QT @kyouseishika: 長崎人は砂糖を多く取っているので、基本的に優しい人が多いと思っています。よそから来た人は、人情味が厚いと感激する。地元の人は、周りの過干渉をうざいと思って脱出する。2010-06-21 16:42:05 Tween kyouseishika宛て
  • 岡崎市立図書館のページって、検索ページが無反応になると、同じIPアドレスからの他のHTTPリクエストも受け付けない様な挙動をしませんか?ウチだけ? #Librahack2010-06-21 16:45:36 Tween
  • 立ち上げたいNPOあるんですよねぇ。 RT @minemaz: http://bit.ly/aa4nnS 特定非営利活動法人 長崎インターネット普及協会 とか。活動停まってるなー。しかしこんなので良いのかな?NPOって2010-06-21 16:49:10 Tween
  • @minemaz @hotta アレじゃなくて、もっと社会的かつ将来的なビジネス展望も!2010-06-21 16:54:47 Tween minemaz宛て
  • 続きはIRCで…みたいな。 RT @keikuma: @minemaz @hotta アレじゃなくて、もっと社会的かつ将来的なビジネス展望も!2010-06-21 16:55:22 Tween
  • おかしいなぁ「1%」って検索したらなぜか固まってしまった。 #Librahack2010-06-21 16:56:10 Tween
  • フードデザートっておいしそうに聞こえる。2010-06-21 17:01:19 Tween
  • 名古屋にあった、なう歯科もなかなかだったが… RT @kotsubuccho 歯科たなか、絶対 確信犯!!ww @gennyama @everychan @kyouseishika @keikuma 長崎県内某所に「おか歯科」と「歯科たなか」が並んでいる所があるって都市伝説”2010-06-21 18:09:25 Twitter for Android
  • 「1アクセス/秒はひどい」って意見が結構あるようなのだけど、サーバのログを見てると、複数スレッド使って全力で取ってますってクローラはしょっちゅうやってくるんだよなぁ。 #Librahack2010-06-21 18:27:27 Tween
  • このシステム、Cookieを見てASP生成ページの応答を制限する仕組みを入れている様だが、Cookieを考慮しないスクリプトでアクセスするとその制限を突破してしまうだろうし、結果の挙動にも謎がある。以下、観察した内容 http://bit.ly/9EHVMr #Librahack2010-06-21 21:28:42 Tween
  • トップページもアクセスできなくなりませんでしたか? RT @sei01: 書名検索で「ab」って入れて検索したら止まった件。アルファベット2文字で止まるって… #librahack :蔵書検索 | Libra―岡崎市立中央図書館―... http://bit.ly/dCKAdK2010-06-21 21:54:05 Tween
  • 普通のブラウザと違って、クッキー食わなかったのがいけなかったかも知れない。 #Librahack - 岡崎市立図書館蔵書検索システムの謎 http://bit.ly/9EHVMr2010-06-21 21:58:20 Tween
  • www.library.okazaki.aichi.jpから来てるクッキーを消せばアクセスできるようになるはず。 RT @sei01: @keikuma あ、できませんね・・・ #Librahack2010-06-21 22:11:34 Tween
  • みんなでこんなことつぶやいているうちに、実際、サーバが不安定になっている気がするのだけど、アクセスすらしていない人含めて、ハッシュタグ付けてつぶやいた人全員、共謀共同正犯で逮捕ってことにならんだろうね。 #Librahack2010-06-21 22:15:29 Tween
  • 今日、一番、あやしいと思ったクリスチャンディオール。フラソス製。 http://twitpic.com/1ypp6t2010-06-21 22:17:52 Tween
  • 先に書いたCookieでのアクセス制限と、robots.txtでの激しい制限を考え合わせると、*本当に*クローラ類にアクセスしてもらっちゃ困る作りだったのかも知れない。それなのにアクセスしてくるのは業務妨害だと。 #librahack2010-06-21 22:50:13 Tween
  • 「500や503を解釈してクロール頻度を調整」する為には、そういうエラーを返すようにサーバ側が実装されていなければならない訳ですが、さてどうでしょう。 #librahack2010-06-21 22:53:22 Tween
  • 図書館内で使うために、タッチパネルをポチポチ押して検索する様な検索システムをIEキオスクモードで実装してて、画面だけ修正して、The Internetにつないでて、URL引数になにかを付けると、館内用のタッチパネル画面が出てきたり。 #librahack2010-06-21 22:59:55 Tween
  • 愛知県内図書館横断検索 「愛蔵くん」で、また、良くないものを検索してしまった様だ… #Librahack2010-06-21 23:05:06 Tween
  • クジラが出た!誰か万屋町んとと差し替えとってくれんね。 http://www.geocities.co.jp/NatureLand-Sky/3011/ngsk-siohuki-mise.html #nagasaki2010-06-21 23:13:09 Tween
  • ちなみに、鯨の潮吹きは、前日と後日で微妙に変化があるのですよ。芸が細かい。 #nagasaki #kunchi2010-06-21 23:19:37 Tween
  • やってると思いますよ。誤った想定を基にして、きちんと設計・実装・テストが行われている筈。 RT @odennnn: こんな欠陥だらけのシステムで、エンドユーザー様のせいにするなんて、SEの風上にも置けないな。絶対負荷テストしてないな。 #librahack2010-06-21 23:34:06 Tween
  • 図書館の検索システムが軒並み使いにくいのは、館内向けのタッチパネルシステムのコンセプトをそのままWeb化したからでしょうね。使いにくい点は、必ずと言って良いほど、影響を受けてる。 #Librahack2010-06-21 23:36:50 Tween
  • http://bit.ly/aT1A7Z が見えればサーバは落ちていません。詳細はこちら。 http://bit.ly/9EHVMr RT @shisashi: 岡崎市立図書館のサイト落ちてるのかな。逮捕の恐怖がおんどれらを襲う #librahack2010-06-21 23:41:46 Tween
  • その昔、サイトへの通常アクセスを学習させると、負荷を掛けたり、パラメータを改ざんしたリクエストをドコドコ送りつけて、危ない挙動をしないことを確認するテストを自動実行するツールの開発を提案して、結局、いたちごっこになるとして却下されたけども、入札基準にはなったかも知れん。2010-06-21 23:51:37 Tween
以上、1 日分です。

指定日の日記を表示

前月 2010年06月 翌月
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