既にまとめサイトが作られ、詳細な情報が集積されています。
岡崎市立中央図書館事件 議論と検証のまとめ
逮捕されたLibrahack氏もこの件についてのサイトを作成しています。
Librahack 岡崎図書館事件の真実を検証
また、朝日新聞の神田大介記者が精力的に取材を行い、8月21日に図書館システムに問題があったとの記事が報道されました。
図書館HP閲覧不能、サイバー攻撃の容疑者逮捕、だが…(8/21)
なぜ逮捕?ネット・専門家が疑問も 図書館アクセス問題(8/21)
ソフト会社、図書館側に不具合伝えず アクセス障害問題(8/21)
図書館長「了解求めないアクセスが問題」 HP閲覧不能(8/22)
事件の経緯(議論と検証のまとめサイトより適宜抜粋)
2010年3月14日:逮捕されたLibrahack氏が図書館の新着図書のISBNや予約件数を自動的に取得するプログラムをさくらインターネットのレンタルサーバ上で稼動。同時に岡崎市立図書館のWebサーバが停止する事態が頻発するようになる。
3月19日:システム開発元である三菱電機インフォメーションシステムズ(以降MDIS)はこの障害をクローリング(*2)によるものと認識。しかしこれを図書館には伝えていない。MDISは2006年には今回の事件で発生した不具合を修正していたが、岡崎市立図書館は古いバージョンのシステムを使用していた。
3月20日:ログの調査によって多数のアクセスがあることを発見。図書館職員が岡崎署の署員に軽く相談。
3月31日:岡崎市立図書館がさくらインターネットのレンタルサーバからのアクセスを遮断。
4月2日:Librahack氏はレンタルサーバの問題と認識し、自宅または実家からのアクセスに変更。
4月2日頃:愛知県警より図書館にヒアリング。
その後図書館よりアクセスログとさくらインターネットドメインのメールアドレスを登録していた利用者4名の氏名・住所・電話番号・生年月日などの情報を、県警の照会に応じて任意提出。
4月15日:愛知県警が図書館に立件できるかもしれないとのことで、被害届を出すよう促し、図書館が被害届を提出。
5月25日:朝、Librahack氏自宅に警察が訪れ、任意事情聴取及び家宅捜索、任意同行。あらかじめ準備されていた調書にサイン。17時頃、逮捕。容疑は業務妨害。業務妨害の内容は、3月14日から4月15日まで、64,008回リクエストを送り、サーバを再起動した日が21日あったこと。
5月26日:新聞各社による実名報道
6月5日頃:警察・検察ともにこれはサイバー攻撃ではないと認識。
6月14日:起訴猶予処分として釈放。
6月24日:Librahack氏、事件のサイトを作成。
7月16日:情報ネットワーク法学会 - 第1回「技術屋と法律屋の座談会」「岡崎市立中央図書館へのアクセスはDoS攻撃だったか?」開催。
8月21日:朝日新聞で図書館システムに問題があったとの報道。同日、岡崎市の報道対応にて、大羽館長は「(男性の自作プログラムに)違法性がないことは知っていたが、図書館に了解を求めることなく、繰り返しアクセスしたことが問題だ」「図書館側のソフトに不具合はなく、図書館側に責任はない」と表明。
カーリルが事件に対する見解を発表
技術的な問題について(*3)
Librahack氏が作成したプログラムは新着図書の詳細データをクローリングして情報を集めるものでした。おおむね1日1回、2000件程度の新着資料の詳細情報ページに1秒1回程度の間隔でアクセスしていたとのことです。これは新着図書の期間が長すぎ、資料点数も多すぎ使いにくいことから、いつ入った資料かを明らかにしその予約点数などをチェックするLibrahack氏自身のためのプログラムでした。
岡崎市立図書館に導入されていたMDISの古いソフトは、10分間で1000回程度のアクセスがあると不具合が起こったようであり、これはソフトに欠陥があったと考えられています。1秒1回や10分1000回程度のアクセスで不具合が生じることは通常考えにくいからです。
産総研の高木浩光さんがブログでわかりやすく三菱の図書館システムの問題を説明しています。
この問題が注目されている背景
インターネットでのサービスを作成している多くの人々がこの事件に衝撃を受けました。現在、マッシュアップ(*4)やクローリングを用いたインターネットサービス(またはまったくの個人用プログラム)は会社でも個人でも数多く作成されています。クローリングのプログラムにとって1秒1回程度のアクセスは常識的なものだと考えられています(*5)し、その程度のアクセスでサーバが停止するほど脆弱だとは通常想定できないからです。また、警告やアクセス停止ではなく、いきなり逮捕・勾留されたということですから、これが一般化すれば自分が突然逮捕される可能性も常にあるということになります。カーリルが見解を表明したのも、カーリルが図書館のOPACに行っていることも基本的にはLibrahack氏の行為と変りはないからです。
かくいう私も自分の勤務する図書館のWebOPACや「日本の古本屋」をスクレイピング(*6)した経験があり、他人事とは思えませんでした。例えば1000件のISBNリストの所蔵の有無を、勤務している図書館のシステムで調べようと思っても1件ずつ検索するしか方法がありません。しかし検索プログラムを作れば、こうした検索を自動化しその結果を加工することもできます。このように、WebOPACをhackすることは有益なのです。
ちなみに私は文学部出身で、図書館のシステム担当者でもなく、スクレイピングはExcelVBAという簡易なプログラム言語で、まったく個人的用途で行っています。Webサイトをプログラムで情報収集するということが一般化してきている一例としてご理解ください。
図書館の対応の問題点
MDISと警察・検察にも問題点が多く見られますが、ここでは図書館の対応の問題を述べます。
まず、不具合の原因をシステムではなくアクセスに求めたことが挙げられます。不具合についての判断を誤り、それが被害届の提出につながったわけです。これについては、MDISがシステムの問題を認識していたにも関わらず、図書館に十分な情報提供を行っていなかった疑いもあります。また、図書館には図書館のシステムやWebサービスに関する問題について十分な知識をもった職員が配置されるのが望ましいのですが、現実には必ずしもそうはなっていないという実情もあります。しかし、1秒数回程度のアクセスでサーバが落ちるのはシステムがおかしい、という程度の認識を持つことを図書館員は要請されるのではないか、と個人的に思います。
次に、安易に警察に被害届を出したことです。『日経コンピュータ』2010年8月4日号の記事(78-80p)でも、警察ではなくWebサイトのぜい弱性や外部からの攻撃などに関する情報を取りまとめるJPCERTコーディネーションセンターなどに相談すべきであったと指摘されています。
これについても警察から被害届を出すよう促されたとの情報もあります。また、警察・検察が「サイバー犯罪」についての専門的知識を十分にもっていれば、今回の事件についても逮捕する前にDOS攻撃ではなくクローリングであると判断できたでしょう。また、DOS攻撃だという疑いがあったとしても逮捕・任意同行・20日の勾留という不適当(不当)な捜査をせずに、在宅の事情聴取で事態を明らかにすることもできたでしょう。このように、警察・検察が正しい判断ができ、また適正な捜査手法を取ることが当然に期待できるのであれば、たとえ図書館が自らの判断に自信がなくとも、警察に相談し被害届を出すことは問題がないと考えられます。Librahack氏が被った損害の多くの部分は逮捕・勾留によるもので、それは図書館の求めたことではなく、警察・検察の捜査に関する裁量(及び裁判所の追認)によるものであり、必ずしも図書館に一義的な責任はありません(*7)。しかし、誤った判断に基く被害届の提出は、時として不適当(不当)な捜査を招来する可能性があるという意味において、図書館はこうした事案での被害届の提出に慎重であるべきだと考えます(*8)。
図書館はLibrahack氏の逮捕については報道で知ったようですし、その後も8月21日に朝日新聞が図書館システムの問題を報じるまでは、事態を正確に認識していなかった可能性もあります。しかし、報道後の岡崎市立図書館の対応には疑問が残ります。報道によれば図書館は図書館システムに問題はなく、Librahack氏が図書館に了解なくアクセスを繰り返したことが問題だとの立場を取っています。岡崎市立図書館はまず自館の図書館システムが極めて脆弱だったという事実を認めるべきでしょう。図書館のサイトにプログラムでアクセスすることの是非については後述しますが、今回の事件は図書館システムの欠陥によって引き起こされており(サーバの増強などではなくプログラムの欠陥の修正で問題は解消される)、極めて脆弱な図書館システムを公開していた点、またシステムの問題を誤って外部に転嫁し、結果として利用者であったLibrahack氏に多大な損害を与えた点について、図書館には結果責任が(MDISや警察・検察と共に)あると考えます。Librahack氏が結果として図書館に迷惑をかけたことに謝罪の意を示しており、朝日新聞社の神田大介記者が当初の報道被害の責任を表明していることから考え合わせると、図書館も(故意ではなかったとはいえ)今回の事件についての結果責任の表明があってしかるべきではないかと思います。
図書館の自由に関係して
既にネットでは議論されていますが、図書館の自由に関係する対応としては、さくらインターネットドメインのメールアドレスを持つ4名の個人情報、及びアクセスログデータの任意提出が問題となるでしょう。アクセスログは直ちに個人情報と結びつくものではないという点、また図書館のサイトへのアクセスを利用情報と見なすかどうかについては考えが分かれるところかもしれません。しかし、アメリカなどではサイトへのアクセスをバーチャルな来館者として実際の来館者と総計して統計に示す場合もあり、今後図書館のWebサイトでデジタル資料を直接閲覧することが増えることを考えても、広義の利用情報と捉えることが適切と考えます。こうした利用情報の外部提供は原則として認められないことは言うまでもありません。
図書館サイトへのプログラムからのアクセスの是非
図書館のサイトはOPACというデータベースを中核としており、データベースはプログラムによるアクセスと親和性が高いものです。世界で最も利用されている書誌データベースはAmazonであり、様々なサービスにマッシュアップされ利用されています。今後もプログラムを用いてサイトにアクセスするという動きは拡大していくでしょうし、図書館のサイトもパブリックな書誌DBとして利用されるようになることが期待されています。もちろん自治体の予算によってサーバ等どの程度のアクセスを許容できるかは異なるでしょうし、小さな自治体の図書館にまで多くのアクセスを捌く能力を期待することは現実的ではありません。
最も望ましいのは図書館システムがAPI(*6)を標準装備することでしょう。そしてAPIの利用規約でアクセスをコントロールすれば、スクレイピングによる予期せぬ負荷増大もある程度防ぐことができるでしょう。しかし、実際には大手ベンダーの公共図書館向けシステムでAPIを実装しているところはないと思います。
では、プログラムによるアクセスは申し出制にするのでしょうか?(*9) または、robots.txtで封じ込めるのが適切なのでしょうか? APIのID発行のように簡単に手続きできるのであれば、スクレイピングするユーザに一報入れてもらうという方法もないではありません。ただし、これは不具合が発生した際に連絡するためという意味が大きいでしょう。
岡崎市立図書館の事件が話題を呼んだのは、サイトのスクレイピングが逮捕に結びついたという行為と結果のアンバランスさによるものです。その原因はお粗末なシステムだったのですが、その背景には図書館のサイトやOPACにどのような利用を想定するかという問題があります。
最後に
岡崎市立図書館は、新しい中央図書館で精力的に図書館サービスを行っており、新図書館は利用も大変多いと聞いています。それだけに、このような事件が起こったのは残念です。
図書館にとっては、連日サーバがダウンし、システムベンダーにはアクセスが多いためだと言われ、警察には被害届を出すように促され、困りながら対応しただけで、図書館は被害者だという意識があるかもしれません。しかし、図書館の判断ミスによって、結果として図書館のヘビーユーザであったLibrahack氏に多大な損害を与えたという事実は重く受け止めるべきでしょう。
カーリルは今後絶対に逮捕者を出すべきでないという見解を発表していますが、公共図書館の職員こそ岡崎市立図書館の轍を踏まぬようLibrahack事件を重く受け止める必要があると考えます。
また、インターネット上で議論が沸騰し、情報ネットワーク法学会がいち早くこの事件を取り上げたのに比べ、現場の図書館員の議論や情報交換が低調に感じられます(自戒を含む)。先日Code4Libe Japanが発足したように、図書館関係者が利用者やベンダーを含めて図書館システムに関する知見を共有していく必要性についても付言しておきます。
(静岡支部 新)
*1:逮捕された男性が公開したサイト名及び作成したプログラムに付ける予定だった名前にちなむ。この男性をLibrahack氏と記す。
*2:クローラー(ロボット、スパイダー)と呼ばれるプログラムが情報を収集すること。
*3:私自身も技術的な問題については詳しくないので、誤りがある可能性があります。
*4:複数のWebサービスを組み合わせて新しいサービスをつくること。カーリルはAmazonの書誌データと図書館の所蔵・予約データのマッシュアップと言うことができる。
*5:『SPIDERING HACKS』によれば「どの程度の速度でページアクセスを行えば礼儀正しいと言われるのかについては、場合によってまちまちです。WebmasterWorld.comへの寄稿者たちが提案している基準は、ページに対するリクエストを1秒当たり1〜2回までに抑えておくというものです。」(p9)
*6:プログラムからWebサイトにアクセスする王道はAPIを使うというものです。APIが用意されていれば、リクエストをプログラムで発信すれば欲しい情報が的確に取得できます。しかしAPIがない場合、Webページを読み込んでその中から情報の書いてある部分を読み込むということになります。これをスクレイピングやスパイダリングと呼びます。スクレイピングはWebページのレイアウトが少し変ってしまっただけで情報が取得できなくなる可能性があります。図書館のOPACのほとんどはAPIが用意されていないので、スクレイピングで情報を取得する必要があります。カーリルはこうした面倒くさいスクレイピングの作業を大量に行っているという点で「えらい」と個人的には思います。
*7:この点から、逮捕・勾留というLibraback氏の受けた損害について第一義的責任は警察・検察にあると私は考えます。しかし、このことは図書館の責任を免責するものではありません。
*8:図書館内の現行犯の犯罪行為をはじめ、被害届の提出一般に慎重であるべきと主張しているわけではありません。
*9:カーリルは岡崎市立図書館をサポートしているのですが、これは申し出ているのでしょうか? 岡崎市はカーリルについてどのように考えているのでしょうか?→http://twitter.com/ryuuji_y/status/21759342915