|
||||||||||||||||||
| 1 2 3 4 次のページ | ||||||||||||||||||
| クライアント/サーバレイヤーのウイルス対策 | ||||||||||||||||||
|
今回はサーバの各レイヤーのウイルス対策で使用されている仕組み・技術を紹介し、その必要性について解説する。ウイルス対策というと、一番はじめに思い浮かぶのがクライアントにおけるウイルス対策であろう。そもそもウイルスが活動を開始するには、一般的に何らかの方法で実行される必要がある。そのため、「実行される場所 = クライアント」の対策は非常に重要である。 サーバ側のウイルス対策を紹介する前に、クライアント側ではどのようなウイルス対策が実現されているのかを紹介する。ウイルス対策の第一歩は、ウイルスが侵入していないかを検索することである。検索方法はいくつかあるが、基本的には手動検索(マニュアル検索)、予約検索(スケジュール検索)、リアルタイム検索の3種類がある。 |
||||||||||||||||||
| 手動検索 | ||||||||||||||||||
|
手動検索と予約検索は基本的に同じ機能であり、検索を手動操作にて行うか、あらかじめ実行する時間を設定するかの違いである。基本的に手動検索はすべてのドライブにあるすべてのファイルに対して、ウイルスに感染しているか否かの判定を行う。したがって、クライアントのハードディスク内にウイルスが存在するかを調べるには手動検索が有効である。 この判定は、検索対象のファイルとウイルスパターンファイルと呼ばれるデータベースを照合することで実現される。実際の照合作業はファイル内のすべてのデータに対してではなく、ファイルの所定の位置にウイルスが有している特定のコードがあるかどうかで行われる。 |
||||||||||||||||||
| リアルタイム検索 | ||||||||||||||||||
|
ハードディスクの大容量化にともない、保存されるファイル数も膨大な数となっているので、全ファイルを検索するのには莫大な時間がかかってしまう。そこで、ウイルスの侵入を常に監視するリアルタイム検索が必要となる。ウイルスの侵入を常に監視できれば、最低限のファイルの検索でウイルスの侵入をチェックできる。リアルタイム検索の技術は、クライアントのファイルへのI/O(入出力)をフック(乗っ取る)することで実現される。 そうはいっても、ファイルI/Oをフックすることは容易ではない。i386系のCPUでは、安全性の高いシステムを実現するために、0〜3までの4段階の特権レベル(privilege level)を設け、これらの特権レベルに応じて、プログラムが実行できる処理に差がつけられている。特権レベルの数値は小さいほど制限が緩く(特権レベルが高く)、大きいほど制限が強い(特権レベルが低い)。 特権レベルが最も高い0を中心として、順にそれよりも低い特権レベルをその外周にリング状に表現できることから、特権リング(privilege ring)と呼ばれる。つまり、リング0(特権レベル0)では何の制限を受けることもなく、すべてのプロセッサ命令を自由に実行でき、またページテーブルなどのクリティカルなデータに対するアクセスが許される。これに対しリング3(特権レベル3)では、システムにとって重大な影響をおよぼすような命令の実行は制限され、クリティカルなデータへのアクセスが制限される。 一般的なアプリケーションは「特権レベル3」で実行される。したがってそのアプリケーションのI/Oをフックするには、アプリケーションと同等の特権レベル3ではなく、それよりも段階の高い特権レベルで実行される必要がある。よって、ウイルス検索のリアルタイム検索は特権レベル0で動作し、すべてのファイルI/Oを検索できるように実装されている必要がある。 ウイルス対策に関しては、ファイルサーバにおいても同じ技術が使用されている。市場に出回っている一部のフリーソフトや安価なウイルス対策製品には、技術的な問題からリアルタイム検索を実装せずに手動検索のみを提供している製品もある。手動検索のみではその時点でのウイルス感染の有無は判明するが、前述の説明からもわかるように、日常の業務でのウイルス対策が万全とは言い難い。 |
||||||||||||||||||
|
1 2 3 4 次のページ |
||||||||||||||||||
|
|
||||||||||||||||||
|
|
||||||||||||||||||
|
||||||||||||||||||
|
|
||||||||||||||||||
|
||||||||||||||||||
|
|
||||||||||||||||||
|
||||||||||||||||||


