CGMでの情報漏えいについて考えてみたいと思う。とは言っても、試験的な議論なので、いろいろ問題があるのはご容赦願いたい(筆者の書く物はだいたいが、ご容赦願いたい物ばかりであるが……)。 そもそもCGMって、根本的に、サービスとして、セキュリティ上、いろいろ問題があるじゃないかと思うのである。●流出情報を受け取るのは、不当な目的を持つユーザーだけなのか サーバから情報が流出する場合、その情報を受け取る側(あるいは故意に入手しようする者)は下記の2つになると思う。・閲覧者 Webの閲覧者。・登録者 会員制Webサイトの登録会員。CGMなどでは多数の登録会員がいることが多い。 昨今ではCGMサイトの数が多いので、登録者の数も莫大なものとなっている。閲覧者と登録者のいずれも正当な目的を持つ者と不当な目的を持つ者がいる。また、適切な利用方法で利用する者と、不適切な利用方法を持つ者の両方がいる。ただ、目的も利用方法も、正当か不当かを明確に区分することはできない。 言葉を換えると、個人情報を取り出すつもりで不適切な方法でアクセスしてきた者と、たまたま個人情報を手に入れてしまった者とを第三者がアクセスの記録だけ見て判別することは難しいことが少なくない。このことは、攻撃を防御することが難しくなることを意味している。 もちろん、あからさまなSQLインジェクションや既知の脆弱性を突く攻撃コードを用いたような場合は、不当な目的かつ不適切な利用であると判断できるだろう。しかし、例えば、検索エンジンでヒットしたURLにアクセスしたら、そこに見知らぬ人間の個人情報が掲載されていたらどうだろう。そして、そのURLが適切な利用方法ではアクセスしないページのURLであったとしたら、これは、正当な目的かつ適切な利用方法だと言いきれるものだろうか? 利用者側から見れば検索エンジンを利用して閲覧しただけであるから、不適切な利用方法であるはずはない。しかしWebサイト側の観点に立った場合、通常アクセスされるはずのないページにアクセスしてきているわけだから、これは不適切な利用というかも知れない。正しいページ遷移をたどらないページアクセスを禁じるような措置を講じているサイトもある。 このへんは議論がありそうだが、どっちの言い分もあるという時点で「はっきりと判別できない」と言ってかまわないだろう。利用のログや挙動を見ただけでは、その目的が正当か、不当なのかを判別できないのである。●プログラム上は適切な「招かれざる客」とは 利用者の利用方法については、適切な利用方法と、不適切な利用方法に分けたいところであるが、適切と不適切の区別は難しい。ここではプログラム上適切か、不適切かで分けて考えてみたいと思う。いわゆる「仕様」かそうでないかの違いと言ってもいいと思う。プログラム上不適切な利用は、仕様と違う動作をさせるような利用方法ということになる。・プログラム上、適切な利用・プログラム上、不適切な利用 それぞれについて、適切な結果と不適切な結果があると考えられる。例えば、「プログラム上、不適切な利用」に対しての「適切な結果」とはアクセスの拒否とか、警告やエラーの表示を行うことになるだろう。「プログラム上、適切な利用」を行って「不適切な結果」になるのは、例えば前述の検索エンジンを利用したら個人情報が見えたというケースなどがこれに当たる。 情報漏えいそのものは不適切な結果であるので、これだけに限定すると、下記の2パターンがある。・プログラム上、不適切な利用で、不適切な結果・プログラム上、適切な利用で、不適切な結果 「プログラム上、不適切な利用で、不適切な結果」はわかりやすいが、「プログラム上、適切な利用で、不適切な結果」は扱いが難しい。言ってみれば「招かれざる客」(THE UNEXPECTED GUEST)。招いてはいないが、客は客なのである。●個人情報のリストを第三者が閲覧可能に もちろん、同様の問題はCGMでなくても起こりうるが、多数の利用者が個人情報を登録、閲覧、編集するCGMの方が確率的に起こりやすい。もちろん、ECでもネットバンクでも多数の利用者が個人情報を登録、閲覧、編集しているが、CGMサイトの登録者の方が圧倒的に多い。 具体的な例を考えてみよう… 【執筆:Prisoner Langley】【関連記事】CGMにおける「招かれざる客」問題「プログラム上適切だが、不適切な結果となる利用」について(1) https://www.netsecurity.ne.jp/3_12876.html 【関連リンク】セキュリティコラムばかり書いているLANGLEYのブログ http://netsecurity.blog77.fc2.com/ ── ※ この記事は Scan購読会員向け記事をダイジェスト掲載しました 購読会員登録案内 http://www.ns-research.jp/cgi-bin/ct/p.cgi?w02_ssw