「サーバーをインターネットに公開しよう」――。こう考えたとき、ほとんどのユーザーは「オフライン」の状態で十分なセキュリティ対策を施してから、サーバーの公開に踏み切るだろう。Linuxディストリビューションをインストールした直後の状態のまま、公開しようと考えるユーザーはほとんどいないはずだ。

 しかし、クラウドだと事情が異なる。クラウドは「インターネット上に置かれているリソース」を扱うサービス。ユーザーはそれらのリソースをインターネット経由で利用する。クラウド上で新たなサーバーを起動した瞬間から、そのサーバーはインターネットに公開される。

サーバー構築と同時に攻撃対象に

表1●あるクラウドサービスを使い始めてから24時間で受信したパケット数
表1●あるクラウドサービスを使い始めてから24時間で受信したパケット数
いずれもTCPパケットである

 表1を見てほしい。これはあるクラウドで新規にサーバーを作成した直後から24時間に収集したパケットの受信状況である。サーバーのセキュリティは、新規に作成した直後の初期設定のままだ。

 初期状態のサーバーでは「SSH」(ポート番号「22」)と「HTTP」(ポート番号「80」)の2つのサービスが起動している。2つしか起動していないにもかかわらず、様々なポート番号に向けて大量のパケットが飛んできている。

 中でも驚くのは「1234」といった特徴的な並びのポート番号や、Proxyの存在を探っていると見られる「8080」に向けて送られてくるパケットがあることだ。

図1●クラウドでは同じハイパーバイザーにある別のインスタンスが乗っ取られると攻撃されやすくなる
図1●クラウドでは同じハイパーバイザーにある別のインスタンスが乗っ取られると攻撃されやすくなる
同じハイパーバイザー上にあるインスタンス同士は、超高速なLANでつながっていることと同じ環境になっている。このためインスタンスのうち1台が乗っ取られると、残りのインスタンスを短時間に見つけ出されてしまい、しかも短時間により多くの攻撃を仕掛けられてしまう危険がある。
図2●攻撃者はスキャンに掛かる時間差を測定して同じハイパーバイザー上にあるインスタンスをターゲットに絞る
図2●攻撃者はスキャンに掛かる時間差を測定して同じハイパーバイザー上にあるインスタンスをターゲットに絞る
[画像のクリックで拡大表示]

 これらは誰かが何らかの目的を持って意図的に送ってきたものと推測される。ほかにもアプリケーションが利用する上位のポートをまんべんなくスキャンしているような不自然な状況がうかがえる。セキュリティ面を考慮しないで公開してしまうことが、どれほど危険であるかが理解できるだろう。

 しかもクラウドの場合、ひとたび攻撃を受けるとあっと言う間に乗っ取られてしまう可能性が高い(図1)。クラウドは1台のホストマシンを複数のユーザーで共有する形でコンピュータリソースが提供されている。同じホストマシンに構築されたインスタンス*1同士は、通常は同じハイパーバイザー(仮想化ソフト)上で通信する仕組みなので、LANを経由するよりも高速に通信できる。もし隣のインスタンスが乗っ取られていたり悪意を持ったユーザーだったりすると、短時間のうちに多数の攻撃を試行でき、成功する確率が上がる(図2)。

表2●同一ホストマシン上にある2台の仮想マシン間でファイルを転送したときの転送速度
表2●同一ホストマシン上にある2台の仮想マシン間でファイルを転送したときの転送速度
仮想環境はVMware社の「VMware Workstation」で構築した。FTPサーバーを導入している仮想マシンに12798618バイトのバイナリーファイルを用意し、そのファイルを別の仮想マシンからgetコマンドで取得した時の所要時間から算出した。

 実際に、同じコンピュータ上で動作している米VMware社の仮想化ソフト「VMware Workstation」の上で2つのインスタンスを作成し、FTPによるファイル転送速度を測定してみた(表2)。テストは、ファイルやネットワークのI/Oに関して一切のチューニングを施していない状態で実行したが、それでも約500メガビット/秒(Mbps)と高速に通信できていることが分かる。100MbpsのLAN環境に比べて5倍も高速になる。