実はこんなに奥の深い「ファイアウォール」(3/4 ページ)

» 2004年11月19日 14時50分 公開
[ITmedia]

 では、状態についてあらためて見てみよう。図3は、TCPプロトコルのコネクション確立までの手順を状態と状態遷移で表した例である。丸で表された部分が状態であり、ある条件にしたがって、次または異なる状態へ遷移していく。

図3 図3●TCPコネクションの遷移

 TCPのコネクション確立の例では、まず、コネクション要求を待つ状態がある。これがTCP3ハンドシェークの最初のステップであるSYNパケットを受け取ることにより、SYN Ackのパケットを返し、SYN Ackに対するACKを待つ状態へ遷移している。

 ステートフル・インスペクションでは、この状態をステート・テーブルとして保持している。「今の状態」を把握しているため、次に届くべきパケットを予測し、正しいパケットかそのステートに合致したパケットかそうでないかを見分けることにより、通信の正常な遷移を追跡していくことが可能だ。

 この例ではTCPの3wayハンドシェークを取り上げたが、実際には、セッションが確立した後のTCPプロトコルやUDP、ICMPといった他のネットワークプロトコルの状態や、特定アプリケーシのプロトコルの状態のテーブルを多数作成しながら、これを追跡しセキュリティを実施している(図4)。

図4 図4●ステートフル・インスペクション方式

さまざまな“ステートフル”

 現在市場で見られるファイアウォール製品やブロードバンドルータのセキュリティ機能を確認してみると、その多くが“ステートフル”インスペクションや“ステートフル”パケット・フィルタリングといった手法を採用しているようだ。では、これら“ステートフル”採用型製品のすべてが、同一のセキュリティレベルとネットワーク利用環境を提供してくれるかとなると、そうも言えない。

 ステートフル・インスペクションの基本原理は前述したとおりだが、実装のレベルは各社のモデルによって大きく異なる。極端な例では、TCPの3wayハンドシェークを追跡しているだけのモデルも存在する。その違いと、セキュリティへの影響について、もう少し詳しく説明したい。

 図5は、セキュリティエンジンの性能に関係する条件を示したものだ。検査技術の性能は、検査範囲、深さ、判断する知識量によって大きく異なってくる。具体的には、

1. IPパケットについて:ヘッダ情報、TCP、UDP、ICMPといったネットワークプロトコルのヘッダ情報、アプリケーションのプロトコルやデータが含まれるデータ部の情報を、どのレベルまで見ているか

2. データについて:パケット単体なのか、複数のパケットを再構成した情報なのかといった詳細度

3. アプリケーション:どのような種類のアプリケーションを追跡できるのか。状態を作り、追跡できる対応アプリケーション数

4. ナレッジ:パケットの情報から正常、不正を見極める判断のための知識(ナレッジ)をどれだけ持っているか

 さらに、状態および状態遷移のイメージに関しても、いかに多くの状態を保有しているか、また、ある状態から次に遷移していく条件をどれくらい多く持っているかによって、セキュリティ検査の詳細度は異なってくる。

図5 図5●セキュリティエンジンの違い

 このような条件、さらにはそれを満たしている度合いによって、ネットワークレベルなのか、アプリケーションレベルを含むマルチレイヤなのかという“ステートフル”の違いが歴然としてくる。

ステートフル・インスペクションの発展

 アプリケーション・レベルの検査性能を拡張したステートフル・インスペクションの発展系として、「ディープ・パケット・インスペクション」や「アプリケーション・インテリジェンス」と呼ばれる技術がある。

 これらは、OSやアプリケーションの脆弱性を利用した攻撃やワームなどを検出、防御することを視野に入れたものだ。アプリケーションレベルの多くの情報を取り扱い、アプリケーションプロトコルの厳密なチェックやデータの内容をチェックする。

 今では多くの製品がこれらの技術も実装するようになってきた。しかしながらやはり、さまざまな点から検証していくと、同一のセキュリティレベルを提供するものではない。違いを見極めるポイントとしては、

1. アプリケーションレベルの詳細な情報を検査するには、多くのデータ部を必要になる。その、パケットを再構成しデータ部をつなぎ合わせる量の違い

2. 詳細な検査が適用できるアプリケーションやアプリケーションデータの種類

3. アプリケーションのプロトコルや振る舞いをどの程度まで詳細に熟知しているか

4. 正常性または異常性を判断する情報として、主にシグネチャを利用するか、脆弱性の根本原因を見極めるか。タイプによって防御の有効期間などに差が生じる

5. 状態情報の観点から、データストリームの検査によっていかに多くの状態と遷移条件を持っているか。これにより正確性と有効範囲に違いが生じる

 また、ステートフルなセキュリティ検査においては、図6に示した新しい検査条件や判断知識をいかに容易かつ迅速に取り込めるかの拡張性能も重要になる。これは、新たな脆弱性、攻撃に対する継続した防御を実現するうえで重要なポイントである。

脅威を封じ込める活用と応用

 何年もの間、多くの組織はセキュリティの強化点として、外部との境界部分を重要視してきた。セキュリティ問題の発生源の大半は内部からであるといった指摘を認識しながら、断片的な対策に限られていたのが実情である。また、外部との境界部分についても、保険的な導入意識が多く、“安全”ではなく“安心”で満足していた組織も多いのではないだろうか。

 しかし、現在では外部、内部を問わず脅威の発生源が存在している。特に、流行とまでいえる情報流出に対する関心は高い。また、ワームの拡散による被害拡大といった問題についても、有効な策を講じる必要がある。これについては、優れた内部セキュリティソリューションの検討に加え、境界やエンドポイントといった関連する要素をトータルに考えていくことで、最善の防御対策を構成できるだろう。

内部ネットワークの防御

 例えば、内部のコンピュータが複合的なワームに感染し、他のコンピュータに感染を拡げることを目的とする通信を大量に発生させたとする。この時の急務な課題は、内部ネットワークや外部ネットワークへの拡散をいかに最小化するかである。

 こうした場合、内部ネットワークにおいてもゲートウェイの集約効果は有益である。内部ネットワークセキュリティ専用のゲートウェイを利用し、物理的または論理的なVLANで区切られた重要なサーバ群や経理、営業などの関連業務別のセグメント間通信を検査することで、被害の影響が他のセグメントへ広がることを防止することが可能だ。また、ワームに感染したトラフィックや疑わしいトラフィック、または無秩序なP2P通信など、ネットワークレベルからアプリケーションレベルまでの通信を監視、制御することで、内部のセキュリティを強化することができる。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ