Next Previous Contents

1. 序文

最初のMorrisワームから、新しいMicrosoft SQL slammerに至るまで、ネットワーク上のワームは、感染が以前よりも拡大し、広がるスピードも早くなってきています。ワームは、その他の攻撃よりも、より大きいダメージを与えています。Linuxでは、もっとも最近のワームは「Aache ssl slapper worm」で、2002年の9月に検出され、24時間に13,000以上のホストに感染しました[1]。

1.1 ワームの定義

ワームは、それ自身のコピーを作成するプログラムです。たとえば、あるディスクドライブ上から、他のディスクドライブにコピーされたり、emailやその他の転送方法を使用して、自分自身をコピーしていきます。ワームはコンピューターにダメージを与えたり、コンピューターのセキュリティを破壊してきますく[2]。

ワームの定義から、ワームは常に自分自身を、感染したマシンから、他に拡散していこうとすることがわかります。

1.2 ワームの振る舞い

それでは、通常のアプリケーションと、ワームに攻撃されているアプリケーションの振る舞いが、どのように異なるかを見てみましょう。通常は、アプリケーションはリモートクライアントからの接続を強化し、リクエストに従ってサービスを提供して、結果を送り返します。しかし、アプリケーションがワームに攻撃されているときには、通常のオペレーションとは異なり、アプリケーションはワームを増殖させていこうとして、外部に接続をしていきます。

つまり、違いは、攻撃されているときに、アプリケーションは外部に接続を使用とする点です。もし、アプリケーションのネットワーク接続を制限できれば、ワームの感染拡大を防止し、感染を、そのアプリケーションの中だけにとどめることが出来ます。

1.3 3段階のワーム拡散防止

ファイアーウォール

完璧に構成されたファイアーウォールは、第一段階でワームを止めることが出来ます。例えば、SQL Slammerワームは1344ポートを攻撃しますが、もしファイアーウォールがこのポートをフィルターしていれば、そのワームは内部ネットワークに拡散することは出来ません。しかし、ポートへのアクセスが開かれている場合、すなわちHTTPやSMTPなどのような場合には、この種類の攻撃をファイアーウォールによってブロックするのは容易ではありません。例えば、ファイアーウォールはApache SSL ワームがDMZ内部のApache httpdサーバーに攻撃を掛けることをブロックすることは出来ません。

ネットワークベースのIDS

ネットワークベースのIDSは、ワーム拡散を防止するための第二段階です。ほとんどのIDS製品は、既知の攻撃及び未知の攻撃を、異常ベースと、シグネチャーベースのテクノロジーによって検出するような方法を提供しています。例えば、NIDSはCodeRedやApache SSL slapperを容易に検出しDrop出来ます。しかしNIDSは、RFC上は有効な、未知の攻撃を防止することは困難です。

アンチウィルスと、ホストベースのIDS

この最後の段階は、ホスト上です。アンチウィルスはディスクにアクセスしているワームをチェック出来ますが、SQL Slammerワームのようにディスクアクセスをしないワームは防止できません。ホストベースのIDSは、このような攻撃をプロセス監視により防止できます。例えば、本来SQLプロセスは、外部のポート1344に接続に行かないので、全ての、外部のポート1344に接続に行くネットワーク接続を許可しないようにできます。

この三段階のどれが掛けても、ワームの活動を防止することは出来ません。

LIDSは、この中の3番目の段階のもので、ネットワークアクセスプロセスに制限を掛けることによりワームの拡散を防止しています。


Next Previous Contents