クラウドセキュリティのメカニズムとテスト:クラウドセキュリティを「見える化」する(2)(2/2 ページ)
仮想化はクラウドへの移行を後押しする大きな理由になりますが、それに伴って生じるセキュリティやパフォーマンスへの影響を、慎重に考慮しなければなりません。この記事では、そのリスクを可視化し、うまく制御していく方法を紹介していきます。(編集部)
●マルウェアの種類
セキュリティメカニズムに対するテストの手順を説明する前に、どういった攻撃について考慮すべきかを検討します。こうした攻撃は多くの場合、これまでの環境に対しても、クラウドデータセンターに対しても同じようにやってきます。
マルウェアは、攻撃の中でも最も数が多く、いくつもの種類があります。
- ウイルス
ウイルスという用語はしばしばマルウェアの代わりに使用されますが、実際にはコンピュータに感染し、ユーザーのアクションによって拡散されるコンピュータプログラムを指します。ウイルスはしばしば、複数のコンピュータからアクセスできる共有ネットワークファイルシステム上に居座ります。
- ワーム
ワームとは、セキュリティの脆弱性を利用して自己拡散するプログラムです。ユーザー操作なしに他のネットワークノードに自ら拡散していきます。ワームは通常スタンドアロンであり、他のプログラムに自らを添付させる必要がありません。ワームは帯域幅を消費したり、ファイルを破損、改ざんしたりすることがあります。
- トロイの木馬
トロイの木馬は、無害のように見えるプログラムですが、悪意のある機能を隠し持っています。これらの機能は多くの場合、リモートで制御されます。長期間、もしくは断続的にしか活動しない場合もあるので、より狡猾です。
トロイの木馬は、以下のことを行う可能性があります。
- ボットネットと呼ばれるリモート制御コンピュータのネットワークの一部としてコンピュータを利用できるようにします。
- ローカルに置かれた情報をスキャンするか、またはWebフォームや電子メールにコードを注入して、ユーザーの個人情報を盗みます。
- 他のマルウェアをインストールします。
- ファイルをダウンロードまたはアップロードして、コンピュータの記憶領域とネットワーク帯域幅を浪費します。
- ファイルを改ざんまたは削除します。
- パスワードやその他の情報を発見するためにキーストロークを記録します。
- ユーザーの画面の内容を送信します。
- ルートキット
ルートキットは、セキュリティソフトウェアが発見できないよう、通常のオペレーティングシステム(OS)に置き換わる自己隠蔽型プログラムです。クラウド環境では、しばしばゲストOSイメージに挿入され、OSの一部として、任意の機能を実行することができてしまいます。例えば、UNIXベースのシステムでログインプログラムを置き換えて、後で使用するために実際のユーザー/パスワードを捕捉するなどの行為を行います。
- スパイウェア
スパイウェアは、ユーザーとコンピュータの情報を収集して転送する、目に見えないマルウェアの一種です。ネットサーフィンの傾向など、さまざまな種類の個人情報を収集するために使用されます。
スパイウェアはまた、他の方法、例えば新たなソフトウェアをインストールし、Webブラウザの処理をリダイレクトしたりすることで、ユーザーによるコンピュータ制御を妨げる場合があります。スパイウェアは、コンピュータの設定を変更することも知られています。その結果、接続速度の低下、ホームページの書き換え、インターネット接続機能の損失、または他のプログラムの機能の損失などを誘因します。
- 悪意のあるアドウェア/スケアウェア
ユーザーを騙してソフトウェアをダウンロードさせたり削除させたりする詐欺行為を行います。マルウェアが含まれている場合もあれば、含まれていない場合もあります。
このようにマルウェアの種類は大別できますが、複数の攻撃タイプが混在するため、現代のマルウェアを分類することは大変困難です。
●DDoS(分散型サービス拒否)攻撃
DoS(サービス拒否)とDDoS攻撃は、IPネットワークを無効にする古くから知られている手法です。これらの攻撃は有名で、長年研究されていますが、いまだにIPネットワークやサービスのパフォーマンスに影響を与えたり、ネットワーク、サービス、または正当なユーザーによるアプリケーションへのアクセスを完全に妨害したりする、ダメージの高い方法です。
定義上はDoS攻撃/DDoS攻撃の意図は、サービスを部分的に制限すること、あるいは完全に中断させることです。こういった企てが単一のホストから開始された場合、DoS攻撃と呼びます。DoS攻撃は、単一のホストと限られたリソースで成功しますが、ほとんどのケースでは、被害者のネットワークに大量の攻撃パケットを送りつけるために、悪意のあるホストの「グループ」が必要となります。この場合はDDoSと呼ばれています。
DDoS攻撃はたいてい、不正なIPおよびTCPパケットを作成することによって行われます。こうしたパケットは基本的なネットワークプロトコルに違反しており、ネットワークの最下層のレベルで行われます。このような攻撃に対する唯一の防御は、攻撃を識別し、防御策を取ることです。例えば、攻撃が特定のIPアドレスから来る場合、そのアドレスからのトラフィックをすべて無視します。
最近では、普通のエンドユーザーのやりとりを巧みに利用した攻撃が一般的になっています。例えば、航空会社のWebサイトの運営が、ユーザーになりすました多数の運行状況要求によって妨げられるようなこともあります。ここでも防衛の唯一の手段は、脅威を認識し、防御策を取ることです。このケースでは、運行状況の問い合わせへの応答を遅くすることで、攻撃を処理できる場合があります。
主なテスト技術の種類
ここまで紹介してきた脅威に対して、ネットワークセキュリティデバイスがどれだけ耐えられるかを検証するのがテストの目的です。テストには、物理的な環境でもクラウドの環境でも、多くの技術が必要となります。
主なテストの種類は以下のようなものです。
- 既知の脆弱性テスト
- 大規模なDoS攻撃のテスト
- サービスメトリクスの総合的な品質を維持した、実環境でのマルチプレイトラフィック
- 暗号化されたトラフィック
- データ漏えいテスト
- ファジング
●既知の脆弱性のテスト
既知の脆弱性のテストは、ネットワークデバイスやソフトウェアで確認されている欠陥を利用して行います。テストでは、大規模なマルウェア、侵入、および脆弱性を利用したその他の攻撃のデータベースを使用します。
全米脆弱性情報データベース(U.S. National Vulnerability Database)は、米国国立標準技術研究所(National Institute of Standards and Technology、略称:NIST)によって管理されています。またMitre Corporationは、“CVE-Common Vulnerabilities and Exposures”と呼ばれる既知の脆弱性のデータベースを提供しています。2012年3月の時点で約5万件の脆弱性がリスト化され、毎日15件以上の新たな脆弱性が追加されています。
CVEや他のデータベースには何千件もの脆弱性があり、すべての攻撃を使用してテストすることはできません。テスターは一般的に、使用しているOSやアプリケーションに対応するサブセット、ごく最近の攻撃、さらに攻撃の中で最も深刻なものを選択します。
セキュリティテストを適切に行うには、ラインレートが高い状態で、多数の既知の脆弱性をセキュリティデバイスに適用する必要があります。セキュリティデバイスは、「良好な」コミュニケーション伝達の適度な速度を維持しつつ、このような攻撃をすべて適切に拒絶する必要があります。
●DDoS攻撃に対するテスト
DoS攻撃は、多くの場合、ハッカーによって乗っ取られた多数の「ゾンビ」コンピュータを使用します。DDoS攻撃のテストには、数千台のコンピュータをシミュレートすることができる試験装置が必要となります。
セキュリティデバイスについては、単独のDoS攻撃であれ、複合型のDoS攻撃であれ、デバイスが無効化されないことを確認するためのテストが必要です。さらに、新たな接続を受け入れ、許容できる水準のパフォーマンスを提供するセキュリティアプライアンスの能力を測定する必要があります。
●ラインレートマルチプレイトラフィック
セキュリティデバイスは攻撃をかわすだけでなく、同時に悪意のないトラフィックを通す必要があります。そのためには、攻撃に対する防御をテストする場合は、実際のマルチプレイトラフィックを踏まえて実行する必要があります。つまり、音声、ビデオ、データ、および通常のトラフィックを構成する他のサービスの組み合わせをアプライアンスに適用し、悪意のあるトラフィックと通常のトラフィックの合計が、アプライアンスのインターフェイスの最大値になるように設定する必要があります。
エンドユーザーの満足度が損なわれないことを確認するためにも、通常の各サービスのQoEを測定する必要があります。例えば、VoIPは非常に小さな帯域幅しか必要としませんが、遅延とジッターの障害はすぐにユーザーの耳で感知されます。
●暗号化されたトラフィック
モバイルやリモートのユーザーがVPNを介して企業に接続し、コラボレーションするシーンは増えており、データの暗号化はますます重要になっています。証明書または他の技術を使用してデータを暗号化することによって、送信者のプライバシーと認証の安全性を確保できます。
しかし、暗号化されたリンクを確立するプロセス、およびその後の暗号化および復号は、セキュリティデバイスに多大な負荷をかけます。パフォーマンステストの際には、実環境における暗号化トラフィックと非暗号化トラフィックの比率がそのまま適用されることが重要です。特に、暗号化接続をいくつ確立できるかは重要で、この性能は、ネットワークが停止した後、いかに早く通常運用を再開できるかに関わってきます。
●データ漏えいテスト
データ漏えいテストでは、データ漏えい防止デバイスが機密情報などの漏えいを検出できるか否かを確認するために、データの逆送信も行います。電子メール、電子メールの添付ファイル、Webメール、Webフォームのデータ、FTP、およびインスタントメッセージング(IM)など、すべての送信手段をテストする必要があります。
●ファジング
ファジング(Fuzzing)とは、OS、インターネットプロトコル、グラフィックツール、およびその他のアプリケーションなど、異なる種類のソフトウェアの未知の脆弱性を検出できるよう設計された興味深い技術です。
ファジングを利用したテストでは、意図的に不正確なデータが送信されます。受信するプログラムは不適切なデータを拒絶することもあれば、正確に処理することもあります。しかし、ソフトウェアの不具合があれば、ソフトウェアの動作を停止させたり、システムを他のセキュリティ攻撃にさらしてしまう可能性があります。データファジングは、不規則な修正を加えたり、あるいは特定のファイルやプロトコルフィールドに対して適用できます。
次回は、こうしたテスト手法の具体的な適用例を、米国での事例を紹介しながら説明していきます。
Copyright © ITmedia, Inc. All Rights Reserved.