図書館システムの改修に関する文書を取得してみた #文京区

さて、以前のエントリーで取り上げた、文京区の図書館システムとして使われている ELCIERO のセッション管理の不備に関する件、メーカから図書館に対してどんな報告が出たのか、ということが気になっていた。

住所氏名もさることながら、「利用者の読書事実、利用事実」といったセンシティブな情報も扱っている、ということを関係者はどう捉えていたんだろうなといったところは、ちょっと話を聞いてみたいもんではあります。

[From セッション管理がダメダメな図書館システムを 3 年も前に見つけてしまった顛末 - Soukaku's HENA-CHOKO Blog]

26文教教真第208号 行政情報一部開示決定通知書

区として受領した書類の中に、メーカからの報告書であったり、区からメーカに対する質問といった文書があれば、情報公開制度で入手できるのかもと思い、実際に手続きをしてみた結果、いくつか文書を入手することが出来ました。
武雄市のアレコレ追っかけてたりしなければ、情報公開制度でいけるかもとは思いつかなかったかも…。

それにより、入手できたのが、こちら。 → [PDF] ELCIEROセッション管理の不備に関する情報公開について

IPA からの指摘が 2011 年 2 月で、文書の発行日が 2012 年 1 月なうえに、改修作業を行ったと思われるタイミング以降の日付というのがなんともあれな感じですが、メーカ側の主張は 2 ページ目以降にあります。
読んでいて、気になる点をいつくかピックアップしてみると…。


 今回ご指摘いただいた現象は、ELCIELOがセッション管理をURL内にあるパラメータ値(以下セッションID) だけで行っていることが原因で発生しておりました。
 ただしセッションIDは■■■■■■■■の組み合わせがあり、一般的なセキュリティ対策として十分な強度を保っております。また個人情報を含むページはHTTPSによる暗号化を行っております。
 さらにセッション残存期間を設定しており、ログイン後一定時間経過した情報は関覧できません。

[From ELCIEROセッション管理の不備に関する情報公開について.pdf]

やはり、セッション ID のみでのセッション管理をしていたんですね。黒塗りで潰されていた部分には、おそらく「1000万通り以上」と言った表現が入っているのではないかと思われます。
「さらにセッション残存期間を設定しており」とはありますが、自分がこの問題点(脆弱性)を見つけた時は、セッションが 24 時間以上維持されていたことを(少なくとも 30 時間までは)確認しています。もし、攻撃側に、セッション維持時間の長さを逆手に取られて、複数台のマシンでアタックをかけてくるような状況が発生していたら、と考えると、「一般的なセキュリティ対策として十分な強度を保って」という部分には疑問を抱かざるをえないですね。

今回指摘した脆弱性は、 URL 中にセッション ID を含んでいたこと、そのセッション ID のみでセッション管理が行われていたこと、有効期限内のセッション ID が推測されてしまった場合に個人情報やその時点で貸出しされている資料、予約している資料といった読書の事実が不正に取得されてしまう可能性があったことが問題だったわけです。
しかも、推測したセッション ID を URL 中に当てはめて、ELCIERO が動作しているサーバに対して http/https リクエストを投げるという、プロトコル的に見たら正当な動きですし、HTTPS で通信経路上での暗号化は出来ていたにしても、レスポンスを受け取ったタイミングでデータは平文に戻されているわけですから、「また個人情報を含むページはHTTPSによる暗号化を行っております。」という一文は、この問題点の内容を良く考えれば余計な一文なのでは?

対応内容は、セッション管理での cookie の併用、セッション ID の生成アルゴリズム変更だそうですが、セッション残存時間(維持時間?)の短縮はやってないのかな?
実際に蔵書検索したり予約手続きしている利用者目線で見ると、セッションは1時間も維持してれば良さそうな気がしますけど、どうなっているのやら…。

さて、文書の最後にある「情報公開に関する見解」というパートにある一文。

 対応方法の回答にも記述させて頂いておりますが、セッション管理をURL 内にあるパラメータ値(以下セッションID) だけで、行っていた場合でも、セキュリティ面では十分な強度を保っております。そのため、今回の件に関する情報公開は、控えさせて頂きたいという方針でおります。

[From ELCIEROセッション管理の不備に関する情報公開について.pdf]

本当に安全だったの?という点については、個人的には疑問符を付けざるをえないと思いますし、対外的にアナウンス無し、というのもなぁと。
ELCIERO を導入している図書館は他の自治体にもあるわけですし、その図書館システム全てを合わせたら数万人規模での利用登録者がいる可能性があるシステムなのですから、メーカにはその辺りを考慮した対応というものをしていただきたいなと思います。直接見えるお客様は自治体かもしれませんが、実際にはそのシステムの利用者として登録している人達も「お客様」なのではないのでしょうかね?

とりあえず、ひと通り読んでみた感想としては、 IPA からの連絡を契機とした対応終了までの一連の流れも、文書で確認してみたいな、と。本当は、そういった流れでの文章がどっさりと開示されるものと期待していたんですが、さてどうしよう…。

もう一つ、公開されたもの

公開された、というよりも意図的に公開してもらったというのが正しいんですが、これも以前見つけてブログのエントリーとして書いておいた件に関するものだったりします。

そう、lgドメインでURLを指定しているのに、東京ケーブルネットワークのWebサイトのトップが見えているんですな。

[From ドメイン名失効したというのは、よく聞きますが - Soukaku's HENA-CHOKO Blog]

ざっくり振り返ると、以前図書館システムを公開していた lg.jp な URL にアクセスしたら、私企業のトップページが見えてしまっていたので、おかしいよと指摘してあげた、という流れ。

まぁ、見つけた時点で「バーチャルサーバだったのか?」とは思っていたんですけど、その通りだったようです。

 この時、バーチャルドメインの閲覧ができない場合は親ドメイン(弊社HP) をダウンロードするというサーバの仕様が適用され、弊社HPが閲覧されました。弊社では上記仕様を認識しておらず、想定していなかったためご迷惑をおかけすることとなりました。

[From 旧図書館HPのアクセス障害に関する報告書.pdf]

文書にある通り、最終的には DNS サーバの設定を変更することで解消、ということだそうですが、これ Web サーバのバーチャルサーバ関連の設定をいじるタイミングで DNS のほうも設定変更していれば起きなかった事象だよなぁ、というか、これ、apache で言うところの NamedVirtual での設定だったのであれば、 DNS の設定を先行で変更すればよくて、Web サーバ側の設定はあとから変えても良かったんじゃないかと思ったり…。

ということで、作業担当者のちょっとしたミス、というレベルではなかったというオチ、だったようですね、この件…。

自治体のシステムに不安があるなら…

最初の方にも書きましたけど、武雄市にからむアレコレに興味を持って関わっていなかったら、情報公開制度を使って自分が報告した問題点に関連する文書を請求する、という動きは思いつかなかったでしょう。

少なくともメーカやベンダ側が「闇改修をしていない」という前提にたてば、何らかの不具合があった場合には、不具合内容と対応方法を説明 → 対応の可否を自治体側が判断 → 対応作業計画の立案 → 作業日の調整と決定 → 作業実施 → 作業完了報告、というようなポイントポイントで文書が残るでしょうから、それらの文書を情報公開請求で入手できれば、自治体とメーカ、ベンダがどのように立ち回ったのか、その対応は適切だったのか、ということを納税者視点で評価・チェックすることも可能だ、ということです。

興味のある方は、 Web サイトに関係しそうな脆弱性(今だと、OpenSSL 関連かな?)の対応が、適切に行われたのかどうかを情報公開制度を使ってチェックしてみる、ということやってみたら面白いかもしれませんね。

トラックバック(1)

生業として脆弱性検査をやっていない限り、Web サイトの脆弱性にぶち当たったりす... 続きを読む

コメントする