URL書き換えだけで情報漏えい

図3●大手人材派遣会社のサイトに存在したセキュリティ問題
ラック コンピュータセキュリティ研究所が発見した問題。URLに含まれるユーザーIDを書き換えてアクセスすると,他のユーザーの個人情報が表示されてしまう。ユーザーIDには連続した番号が使用されているため,有効なIDが容易に推測できる。この写真のURLは架空のもの。指摘されたサイトでは問題を既に修正済み
図4●図3とは別の大手人材派遣会社のサイトに存在した問題
ラック コンピュータセキュリティ研究所が発見した。Cookie情報を偽造することで,他人の個人情報を表示させることができてしまう。セッションIDはログイン時に発行されるものの,個人情報表示ページでチェックされていなかった。ユーザーIDには連続した番号が使用されているため,有効なIDが容易に推測できる。生年月日は,総当たりで試す簡単なスクリプトを書けば探り当てることができてしまう。問題は既に修正済み
図5●米Sanctumが監査したサイトに存在した問題の内訳
米SanctumはWebアプリケーションのセキュリティ監視ツールAppSheildと検査ツールAppScanの開発元。同社が監査した約300サイトのうち,97%に重大な問題が存在した
 クロスサイト・スクリプティングは,Webアプリケーションに潜む可能性のある問題の一つに過ぎず,セキュリティ・ホールの種類は他にもある。

 ラック コンピュータセキュリティ研究所の三輪氏が発見した,あるサイトの問題は,Webアプリケーションを利用する際に使うURLにユーザーIDが含まれており,WWWブラウザのアドレス・フォーム上でユーザーIDを書き換えてアクセスするだけで,他のユーザーの個人情報が表示されてしまうというものだ(図3[拡大表示])。

 ユーザーIDには連続した番号が使用されているため,有効なIDが容易に推測できる。ユーザーIDは連続する数値として振られていたために,あるユーザーIDの値を「+1」するなどで実際に使用されている有効なユーザーIDを簡単に作成できる。「ユーザーIDを1ずつ変えてアクセスすれば,大量の個人情報を取り出すことができた可能性がある」(三輪氏)

 また別のサイトでは,Cookie情報を偽造することで,他人の個人情報を表示させることができた(図4[拡大表示])。Cookie情報は,簡単なスクリプトを書くなどすれば偽造できる。ログイン時にセッションIDのCookie情報が発行されるが,セッションIDがなくとも個人情報表示ページが表示された。つまり,発行されたものの使われてはいなかった。

 ユーザーIDにはやはり連続番号が使用されているため,有効なIDが容易に推測できる。生年月日は,総当たりで試す簡単なスクリプトを書けば探り当てられてしまう。

 三輪氏も「短時間探索するだけで,すぐに欠陥のあるサイトが見つかった。多くのサイトに存在する可能性が高い」と指摘している。

米ベンダーの調査では97%に問題

 このような状況は,日本だけではない。Webアプリケーションのセキュリティ監視,検査ツールを開発,販売しているベンチャー企業,米Sanctumの創業者でSenior Vice PresidentであるGil Raanan氏は,「当社が監査したWWWサイト約300のうち,97%のサイトに重大なセキュリティ・ホールが存在した」と語る(図5[拡大表示])。

 これほどまでに多くのサイトに問題が存在する背景について,産業技術総合研究所の高木氏は「セキュリティ・ホールの情報が開発者に周知されていない」と指摘する。クロスサイト・スクリプティングは1年以上前に米CERT/CC(コンピュータ緊急対応センター)などから勧告が出されているが,ほとんどの開発者がその危険性を知らないままWebアプリケーションを開発していたとみられる。

 ラックの三輪氏は,開発現場を取り巻く環境にも大きな問題があるとする。「開発の期間や予算が厳しく,とりあえず動くことが第一で,例外処理にまで手が回らない。開発者に検査できるスキルがないか,たとえ検査しても,発注側はセキュリティ・ホールの有無を品質として評価しない」(同氏)。

 問題を根絶するには,指摘された問題に場当たり的に対処するだけでなく,開発者やサイト運営者の認識や環境を変えていく必要がある。

(高橋 信頼=nob@nikkeibp.co.jp)