ユーザー視点に立ったセキュリティの棚卸し
仮想化技術やクラウドのセキュリティを考える
仮想化技術を適用したITシステムのセキュリティ対策でもっとも重要なことは、個々の仮想マシンを制御しているサーバー仮想化ソフトを乗っ取られないようにすることです。当たり前の話だと思いますが、仮想化ソフトを乗っ取ることで仮想マシンを停止したり盗んだりすることができます。
特に、ホストOS型の仮想化ソフトでは、仮想マシン1台がホストOSの1プロセスとして稼働しています。そのプロセスを停止することで仮想マシンを止めることができてしまいます。
また、別の観点からみると、仮想マシンにおけるディスクやシステムは、仮想化ソフトから見ればただのファイルです。ファイルごとコピーすることで簡単にデータを盗むことができます。仮想マシンがUnix系OSであれば、シングルモードで立ち上げて仮想マシンの内側から情報を盗むことも可能です。
対策としては、前述のWebサーバーへの対策や、仮想化ソフトに対するセキュリティ・パッチの適用などが挙げられます。
クラウドについては、クラウドが提供している技術ごとに実現可能な対策が異なるため、一概に説明することは難しいですが、ここでは簡単な分類に基付いてセキュリティ対策を考えてみたいと思います。
クラウドの種類によって提供範囲が異なる
まず、現在のクラウド技術を「欲しい資源を必要な時に好きなだけ制限なしに使える」ことを前提に、次の3種類に分類できると考えてみます。
(1)既存のデータセンターをクラウド化したもの
AmazonEC2とAmazon S3は、今までハードウエア単位であったサーバーという資源を、仮想マシンに置き換えて提供することでクラウドとしてサービスを提供しています。セキュリティについては、既存のサーバーやネットワークへの対策を応用して対応できます。
(2)アプリケーション実行環境をクラウド化したもの
Microsoft Azure、Google App Engineは、アプリケーションを実行する環境、すなわちオペレーション環境をクラウドとしてサービス化しています。セキュリティについては、不正アクセス対策やアプリケーションの脆弱(ぜいじゃく)性への対策を行っていく必要があります。
(3)RDBMSをクラウド化したもの
米Salesforce.comが提供するForce.comは、言わばRDBMSをオンライン化したものと表現することができます。また、その上で構築できるアプリケーションは、今までMicrosoft Accessなどで実現してきた業務システムをクラウドに置き換えたものと言えます。セキュリティについては、「アプリケーション実行環境をクラウド化したもの」で説明した対策を同様に行っていく必要があります。
また、クラウド特有のセキュリティの問題点の1つとして、データの所在がユーザー側から見て具体的ではないという点が挙げられます(図3)。また、多くのサービスが国を跨(また)いで提供されるため、サーバーの設置された国の法律に準じた運用をしなければならず、企業であれば自社のセキュリティ要件を満たすことができないことも考えられます。
そのほかに、マッシュアップされたWebサービスなどは、責任の所在があいまいになるという点でセキュリティ対策が難しくなると考えられます。
■まとめ
本来、セキュリティというと大変広い領域を扱う概念ですが、今回はユーザーとして、もしくはソフトウエアの開発者としての、身近なセキュリティを取り上げてみました。このほかにも、物理的な不正アクセスやソーシャル・エンジニアリングなどによるリスクも大きな脅威になります。
次回からは、それぞれの項目の具体的な問題と対応策を、オープンソース・ソフトウエアなどを例に挙げながら説明します。
【参考文献】
※不正プログラムやボットネットの“時間貸し”ビジネスが確立
(http://internet.watch.impress.co.jp/docs/news/20091006_319769.html)(アクセス:2009/10)
※「スパムメールは採算が取れるうちは根絶されない」京大高倉助教授
(http://internet.watch.impress.co.jp/cda/news/2006/02/28/11055.html)(アクセス:2009/10)