ECサイトを中心に,数多くのWWWサイトのWebアプリケーションに,個人情報漏えいやなりすましを引き起こすセキュリティ・ホールが存在する――このような指摘が相次いでいる。欠陥を根絶するためには,開発者やサイト運営者の認識を変えていく必要がある。

 日本のECサイトのWebアプリケーションに,セキュリティ上の欠陥がまん延している――深刻な実態を指摘する調査結果が相次ぎ報告された。

 独立行政法人 産業技術総合研究所 情報処理研究部門 主任研究員 高木浩光氏らのセキュリティ研究グループは10月18日,きわめて多数のECサイトなどに,他人によるなりすましや個人情報漏えいにつながるセキュリティ・ホールが存在するとの調査結果を公表した。これを受けて経済産業省は10月30日,電子商取引推進協議会などに対し,会員企業への周知徹底を図るなどの対応を求めた*1

 また,ラックは9月12日,大手人材派遣業のサイトに個人情報が漏えいするセキュリィ・ホールが存在したことを報告したレポートを公表した*2。同社 常務取締役 コンピュータセキュリティ研究所所長の三輪信雄氏は,レポートのほか講演などでWebアプリケーションの欠陥について報告し,多数のサイトに類似の欠陥が存在する可能性が高いと指摘している。

カード番号を盗み見られる

表1●産業技術総合研究所が確認した,セキュリティ問題の存在したサイト
図1●クロスサイト・スクリプティングを悪用したCookie情報漏えい
ユーザーがクラッカのページにアクセスすると,不正なスクリプトをパラメータとして標的サイトにアクセスさせられ,標的サイトが発行したCookie情報をクラッカに送るスクリプトを実行させられてしまう
図2●大半のECサイトはクロスサイト・スクリプティングに無防備
産業技術総合研究所が調査した,ECサイトの対策状況。オンラインマーク取得サイト,プライバシーマーク取得サイト,銀行および証券サイトから無作為抽出して調査したところ,大半のサイトにクロスサイト・スクリプティングを悪用されてしまう欠陥が存在した。調査時期は2001年7月。実際に情報の盗み見やなりすましが可能かどうかまでは調査していない
表2●クロスサイト・スクリプティングを防ぐための対策
 産業技術総合研究所の研究グループが調査したのは,クロスサイト・スクリプティングと呼ばれる不正アクセス手法への対策状況である。

 2001年1月から2月にかけて,研究グループがアカウントを持っていたサイトについて調査したところ,調査したうちの半数近い8サイトで,他人によるなりすましや個人情報の閲覧が可能なことを発見した(表1[拡大表示])。いずれも有名な大手サイトである。中には,クレジット・カード番号を奪われてしまうサイトも複数あった。

 クロスサイト・スクリプティングとは,WWWサイトでのデータ・チェックが不十分なため,クラッカが送り込んだ不正なスクリプトをユーザーのWWWブラウザに送信してしまうという問題である(図1[拡大表示])。

 ユーザーのWWWブラウザは,不正なスクリプトをWWWサイトから送られてきたスクリプトと判断してしまうため,WWWサイトが発行したCookie情報をクラッカに送信するスクリプトなどを実行してしまう。

 WWWサイトがCookie情報だけでユーザーを認証している場合,クラッカは盗み出したCookie情報を使ってユーザーになりすまし,注文を出したり個人情報を盗み見たりできてしまう。また,ユーザーがそのWWWサイトを「信頼する」と設定している場合,不正なActiveXコントロールを実行してパソコンの情報を盗み出したり使用不能にしたりすることも可能だ。

金融サイトの91%は未対策

 同研究グループは,どの程度のサイトにこの問題が存在しているかを調べるため,2001年7月に無作為抽出による調査を行った。その結果少なくとも,日本通信販売協会のオンラインマークを取得したサイトの84%,日本情報処理開発協会のプライバシーマークを取得したサイトの68%,大手の銀行および証券サイトの91%はクロスサイト・スクリプティングへの対策を実施していなかった(図2[拡大表示])。

 この調査では,クロスサイト・スクリプティングによるスクリプト実行が可能かどうかだけを調査した。すべてのサイトについてアカウントを取得することは困難だったため,Cookie情報の盗み出しやなりすましが可能かどうかは確認していない。しかし,この問題への対策が,ほとんどのサイトで意識されていないことは明らかになった。

対策は入出力データ・チェックなど

 クロスサイト・スクリプティングを防ぐために行うべきことはいくつかある(表2[拡大表示])。まず,Webアプリケーションがスクリプトをデータとして受け取ったり出力したりしないようにする。次にWWWサーバーやWebアプリケーション・サーバー・ソフトウエアのセキュリティ・ホール情報を確認し*3,必要に応じパッチを適用する。

 さらにCookie情報が漏えいしてしまう場合に備え,セッション終了後は無効になるランダムなデータをCookieに使うなど,安全な使用方法を守る。

 最後にユーザーができる自衛策としては,ECサイトにログインしている間に不審なサイトを訪問したり,怪しいHTMLメールを開いたりしないようにすることが挙げられる*4

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