米Sanctumは,Webアプリケーションのセキュリティを確保するためのツールを開発,販売しているベンチャー企業である。不正アクセスの監視/防御を行う「AppShield」と,Webアプリケーションのセキュリティ・ホールを検査するツール「AppScan」を提供している()。どちらもOSやWWWサーバー・ソフトウエアなどの基本ソフトではなく,JavaやASP(Active Server Pages)などで開発したカスタム・アプリケーションのセキュリティ確保に特化したツールである。創業者で,Senior Vice PresidentであるGil Raanan氏に,Webアプリケーションのセキュリティ・レベルの現状などについて聞いた。「検査したWebアプリケーションの97%に,データの漏えいや改ざんなどが可能なセキュリティ・ホールが存在した」と語る。(聞き手は,高橋 信頼=日経オープンシステム)

---実際のサイトで稼働しているWebアプリケーションにも,セキュリティ・ホールを持つものは多いのか

Gil Raanan氏
 すべてのサイトを調査したデータは存在しない。しかし,我々はツールの販売のほかに,Webアプリケーションにセキュリティ・ホールが存在するかどうか検査する監査サービスも提供している。この監査サービスを利用した顧客の約300サイトを検査した結果,97%のサイトに何らかの重大なセキュリティ・ホールがあった。
 24%のサイトは,ユーザーの個人情報をのぞき見ることができた。
 23%のサイトでは,クラッカが価格を改ざんして商品を安く購入できてしまうという欠陥があった。また,24%のサイトでは,情報を格納したファイルの内容が外部から参照できるなどの問題があり,情報へのフルアクセスが可能だった。
 他人になりすまして取り引きができてしまうサイトが5%。情報を改ざんできてしまうサイトも5%。管理者権限を奪われ,すべてが可能になってしまうサイトも5%あった。3%のサイトでは,データを全部消去することができた。
 重大な問題がなく,おおむね安全なサイトは3%しかなかった。
 これらの問題を引き起こすセキュリティ・ホールの種類はいくつもある。例えば,Cookie情報やクエリー文字列(URL中に「?」に続いて記述されるデータ)にユーザーIDが含まれてさえいれば正しいユーザーだと判断してしまうようなWebアプリケーションは危険だ。クラッカは本来のユーザーになりすまし,ユーザーの個人情報をのぞき見たり,注文などの取り引きができてしまう可能性がある。Cookie情報やクエリー文字列は自由に改変できてしまうからだ。
 また,商品の価格やユーザーの与信限度額などのデータを,HTMLフォーム中のHiddenフィールドやCookie情報などに格納していると,それらの情報は改ざんされる可能性がある。やはり,これらはクライアント側で偽造することができるからだ。
 これらは一例で,ほかにもセキュリティ・ホールの例はたくさんある。

---Webアプリケーションの問題は,認証やセッション管理,入出力チェックの不備により発生することが多い。しかし,Webアプリケーション・サーバー製品はこれらを実現する機能を提供するようになってきた。Webアプリケーション・サーバー製品で開発したアプリケーションにも危険はあるのか

 複雑な問題だが,絶対に安全かと問われれば,答えは「NO」だ。
 まず,一つの事実として,Webアプリケーション・サーバー製品にもセキュリティ・ホールが報告されている。どんな製品にどのようなセキュリティ・ホールがあるかを知りたければ,SecurityFocusなどのセキュリティ専門サイトで検索してみるといい。
 次に,(Webアプリケーション・サーバーが備える)認証などのインフラ部分が堅牢でも,アプリケーションがそれらを正しく使うように書かれている保証はないという事実もある。しかも,そこで開発されたアプリケーションは,テストにかけることができる時間やコストに限界がある。
 そして,3つめの事実として,インターネットでは,常に新しいテクノロジが登場し,実用化されていることが挙げられる。それらがWebアプリケーション・サーバーで採用されたりするのだが,新しいテクノロジは多くの場合,最初からセキュアではない。セキュリティ・ホールが発見され,ある時はクラッカに破られながら安全性を高めていったというのがこれまでの歴史だ。残念ながら今後もそのプロセスは繰り返されるのではないか。

(注)日本では,2000年10月末にテクマトリックスおよび日立情報システムズがAppShieldの日本語版を出荷する予定。AppScanは,テクマトリックスが2001年11月に出荷する予定。日立情報システムズもAppScanを販売する予定だが,発売時期は未定である。