CACHATTOに内部統制上、重大な欠陥発見!⇒2012年現在対応済み

あまり仕事に関することはプライベートのブログに書きたくないけれど、他にも企業ユーザがいるはずなので、検索エンジンに引っかかるように書いておく。
以下、あくまで2011/12/07時点の情報なので、その後、改善されているかどうかは、開発元のウェブサイトをお調べいただきたい。
※2012/04/01現在、以下の問題はすでに解決されている。僕のような一担当者の意見がちゃんとバージョンアップ時に反映されるのも、国内企業だからこそである。
いいじゃんネットという会社が開発しているCACHATTO(カチャット)という企業向けシステムについてだ。
僕がなぜCACHATTOについて詳しく知っているのかは、あえて書かない。ただ一点、僕が開発元の関係者ではないことだけは確認しておく。
CACHATTOは、かなり以前、ここでもふれたことがあるかもしれないが、携帯電話やスマートフォンを使って、社外から社内の電子メールやグループウェアに、安全に接続するためのシステムだ。
「安全に」という意味は、無関係の第三者に情報を盗み見られないような仕組みで、ということである。
この「安全に」を実現するために、CACHATTOには以下のように何重もの防御がほどこされている。
(1)使い捨てパスワード
(2)独自の固定パスワード
(3)携帯電話やスマートフォン側に情報を残さない仕組み
(4)添付ファイルのダウンロードを禁止できる仕組み
(5)社内ネットワークのファイアウォールに、社外から社内への通信を許可する「穴」を開けなくてもよい仕組み
特に企業のシステム管理者にとっては、(5)のファイアウォールに社外から社内への、いわゆるインバウンド通信のためのポートを開放しなくてもよい点がありがたい。
インバウンドの通信ポートを開ける必要がある場合は、通常、社内ネットワークと社外ネットワークの境界であるファイアウォールの手前に、DMZ(非武装地帯)というネットワーク領域を構築する必要がある。
このDMZの構築にお金がかかるし、このDMZを常に外部からの攻撃から守るために、さらに運用コストがかかる。
つまり、CACHATTOは構築や運用のコストを抑えつつ、社外にある携帯電話やスマートフォンから安全に社内の電子メールやグループウェアに接続できる点で、非常に優れたシステムだ。
しかも、日本国内で発売されている携帯電話のほとんど全ての機種、そしてスマートフォンについても、アップル系(iPhone、iPad)とAndroid系の両方に対応している。また、通常のパソコンからでも、専用のWebブラウザをインストールすれば、同等の安全性を保つことができる。
ところが、これほど優れたシステムであるCACHATTOに、重大な欠点を見つけてしまった。内部統制上の欠点である。
CACHATTOを運用するには、どうしても社内にCACHATTOの運用担当者が必要になる。といっても、普段の仕事といえば、新入社員が入社したらその人を追加するといった程度だ。
CACHATTOを社内で管理するには、社内ネットワークからしか接続できないCACHATTOの管理画面にログインする。この管理画面にログインするにも、当然、ユーザ名とパスワードが必要だが、これはWindowsドメインやNotes/Dominoのシステム管理者のパスワードとは全く別に設定する。
CACHATTOの管理画面にログインして、「メンテナンス」タブから「ログファイル作成」画面に進み、「詳細ログダウンロード」で「USER_ACCESS_LOG」を選択し、「ダウンロード」ボタンをクリックする。
すると、CACHATTOに何か不具合が起こっているときに、原因を調査するのに役立つ詳細なシステム動作のログがダウンロードできる。
どれくらい詳細かと言うと、CACHATTOのプログラム本体であるJavaが社内の電子メールサーバやグループウェアにサーバに投げている命令と、その結果が、すべて残っているくらい細かいログである。
ここで、いよいよ本題になる。何とこの「USER_ACCESS_LOG」には、CACHATTOの利用者が電子メールサーバやグループウェアに接続するときのパスワードが、もろに書き出されているのだ!!
CACHATTOのシステム管理者が、CACHATTO利用者のこれらのパスワードを知ったところで、Lotus/Dominoを、Windowsネットワークとのシングル・サインオンにせずに運用している企業であれば、影響はLotus/Dominoの世界にとどまる。
つまり、CACHATTTOのシステム管理者が知りうるのは、CACHATTO利用者が社内のDominoサーバ接続するためのパスワードだけである。
同じように他のグループウェア、デスクネッツやサイボウズを、Windowsネットワークとのシングル・サインオンにせずに運用している企業なら、影響はグループウェア内にとどまる。
ところが、である。電子メールサーバとしてExchangeを使用している企業の場合、社員がExchangeサーバ上にあるメールを読みに行くときのパスワードは、Windowsネットワークに入るときのパスワードと共通になっている。
Windowsネットワークに入るときのパスワードというのは、会社のPCを立ち上げて、社内のWindowsネットワークに入り、その人の電子メールをOutlookを使って読み、その人にしか開けない共有フォルダを開くことができ、その人にしか開けないファイルを開くことができる、そういうパスワードだ。
極端な話、ある企業に導入されているCACHATTOを、社長が利用しているとすれば、情報システム部門の単なる一担当者であるCACHATTOのシステム管理者が、社長になりすまして、社内のネットワークにログオンしたり、社長の電子メールをすべてのぞき見することができるのだ。
そもそもほとんどの企業が、社内の認証の仕組みとしてマイクロソフト社のWindowsのActive Directoryを使っているのは、Active Directoryの管理担当者であっても、各社員が今、どのようなパスワードになっているかを見ることができない点にある。
もちろん、Active Directoryの管理者権限を持っていれば、勝手に他の社員のパスワードを変更して、その社員になりすますことはできるが、その場合、当の社員は、自分のパスワードが知らないうちに変わっているので、社内のネットワークにログオンできず、すぐに異常に気づく。
しかし、CACHATTOの「USER_ACCESS_LOG」を使って、他の社員の「今の」Windowsパスワードを知り得たCACHATTOのシステム管理者は、当の社員に気づかれることなく、その社員の電子メールや、その社員にしか開けないファイルを、こっそり見つづけることができるのだ。
つまり、CACHATTOとExchangeを組み合わせて使用している企業では、WindowsのActive Directory機能がいくらWindowsパスワードの安全性を強固に守っていても、CACHATTOのシステム管理者がかんたんにダウンロードできる「USER_ACCESS_LOG」から、Windowsパスワードが「ダダ漏れ」になるのである。
仮に、内部統制の監査対象になっている基幹業務システムを、Windowsのユーザ名とパスワードでログインさせるように構築している企業が、Exchangeとの組み合わせでCACHATTOを導入すると、CACHATTO自体が内部統制で求められるセキュリティに対して、大きな穴を開けていることになる。
本来、Windowsの管理者権限をもつ担当者でさえ知ることができない各社員のWindowsパスワードを、CACHATTOの「USER_ACCESS_LOG」が、CACHATTOのシステム管理者に対してはダダ漏れにしているためだ。
もしCACHATTOのシステム管理者が、トラブル対応のために保存したUSER_ACCESS_LOGを、不注意で、悪意なく、情報システム室の誰もが閲覧できる共有フォルダに置いてしまったら…などなど。
個人的には、CACHATTOのこの仕様は重大な欠点というより、内部統制上の欠陥と言ってもいいレベルだと考えている。
以上、訳のわからない方にとっては、まったく訳のわからない文章で申し訳ない。
*2011/12/09追記:
開発元のいいじゃんネットによれば、上記の「欠陥」は2012年初旬のバージョンアップで対応されるとのことだ。さすがいいじゃんネット!