筑波大学大学院博士課程 システム情報工学研究科修士論文 イントラネットにおける ウイルス感染制御戦略の動的解析 金 海龍 (社会システム工学専攻) 指導教官 住田 2006年1月 潮 概要 情報技術は、今や産業・経済活動から国民生活、行政活動に必要不可欠な社会基盤として の地位を占めるまでに浸透・発展した。もし、情報システムが破壊されたり、インターネッ トが停止したりすることがあれば、それは、われわれの生活や産業活動を麻痺させるほどの 一大事となる。しかし、現実にインターネットの急速な普及に伴い、コンピュータウイルス に感染する被害が増えている。 今までのコンピュータウイルス対策としては、アンチウイルスソフトやファイアウォール などが使われてきた。アンチウイルスソフトにおいては、既知ウイルススキャン(Known Virus Scanning ,KVS)と呼ばれる識別パターンに基づいてウイルスを検出するパターンマッチング 方式が中小企業、個人ユーザーを中心に使われ、現在主流となっている。しかし、新種・亜 種の発生から最新のパターンファイルが入手されるまでにウイルスに感染してしまう可能性 がある、或いはウイルス蔓延時多くのユーザーがパターン更新するためサーバーの負荷増大 により新規パターンファイルの入手が困難になってしまう、など新たな問題を引き起こして いる。 こうした問題に対処するため、本研究では動的にワクチンを投入する三つのアンチウイル スシステム:①IP 方式、②PV 方式及び③CV 方式を提案する。本研究で取り扱うワクチンは 自ら繁殖能力を持ち、ウイルスの動きによってネット上に拡散して侵入したウイルスを駆除 する特徴を持つ。ここで、ウイルスを駆除する過程において増殖したワクチンとウイルスが かける通信負荷コスト及びウイルスに感染されることによるコストの総和をシステム総コス トとして、3 方式それぞれについて比較分析し、最終的に IP 方式と PV 方式による連立方式 を新たに第 4 の方式として提案した。数値実験によって IP,PV,CV 各 3 方式及び連立方式の性 能評価を行ったが、その結果、連立方式はそれを構成する互いの方式の短所を補うことがで きるために 4 方式の中でコストを最も低く抑えられるということが明らかとなった。 目次 第1章 序論1 1.1 研究背景1 1.2 用語の定義2 1.3 研究目的3 1.4 論文の構成3 第2章 先行研究4 第3章 主動アンチウイルスシステムモデル 5 3.1 CV(counterattack as be infected with virus)方式 6 3.2 PV(propagate as be infected with virus)方式9 3.3 IP(independence propagation)方式 14 第4章 連立システムの提案 21 第5章 結論 29 謝辞 30 参考文献 31 i 図目次 グラフ グラフ グラフ グラフ グラフ グラフ グラフ 3-1 18 3-2 19 3-3 19 3-4 20 3-5 20 4-1 27 4-2 28 ii 第1章 1.1 序論 研究背景 インターネットの急速な普及に伴い、コンピュータウイルスによる被害がますます深刻に なってきている。電子メールや Web サイトの閲覧を通じてコンピュータウイルスの感染被害 が広がる一方、システムのセキュリティホールを悪用しユーザーや管理者が全く気づかない うちに感染させるネットワーク・ワームも近年猛威を振るっている。2003 年 1 月には、SQL Slammer ワームにより、韓国のインターネットが一時停止している。日本におけるウイルス 届出件数1の年別推移を見ると、1999 年の届出件数合計 3,645 件に対し 2004 年は 52,151 件 となっており、5 年間で約 14 倍に増加している。 ウイルスは、その挙動によって感染型と拡散型に大別できる。感染型は感染活動を行って 増殖するウイルスで宿主を必要とし、感染対象によってさらに細分化される。拡散型(ワー ム)は宿主が不要であり、電子メール、共有ファイル、パケット通信などによって拡散する。 他のタイプのウイルスとしては、単体行動型のトロイの木馬、論理爆弾、時限爆弾などが考 えられ、自身では感染も拡散もしないが単体で不正な処理を行う。 従来のウイルス対策では、主にアンチウイルスソフトの導入や一般ユーザーへの啓蒙など の受動的防御手段を採ってきた。アンチウイルスの方式はジェネリック方式とパターンマッ チング方式の二つに大別される[1]。ジェネリック方式はウイルスコードの推定に基づいてア クセスを監視し、疑わしいアクセスがあった場合には警報を鳴らす方式である。新種・亜種 発見の際にスキャナを更新する必要がないので、更新までの間もしくはネットダウン時に、 ウイルスに対して無防備となることがない。しかし、ウイルスでないものをウイルスと検知 したりウイルスを検知できず通過させてしまう誤検知が起こるなどの問題がある。パターン マッチング方式は、既知ウイルススキャン(Known Virus Scanning ,KVS)と呼ばれるもので、 識別パターンに基づいてウイルスを検出する方式であり、現在主流となっている。新種のウ イルスや亜種が発見された時には、分析によって適合する識別パターンを抽出し、次にスキ ャナを修正することでその特定が可能となる。これが新種・亜種ウイルスへの対応となる。 しかし、新種・亜種の発生から最新のパターンファイルが入手されるまでの間にウイルスに 感染してしまう、或いはウイルス蔓延時のネットワーク負荷増大(ネットダウン)により新 規パターンファイルの入手が困難になってしまう、また、パターンファイルの更新は、ユー ザーに頼って行っているため、ユーザーはパターンファイルの更新をしない、或いは、更新 するとしても、定期的かつ自動的には更新しない2ということが問題となる。 インターネットはTCP/IPを共通のプロトコルとするネットワークの連合体で、インターネ ット全体を中央管理するシステムは存在しない。従って、ウイルスに対する防御策を講じる 責任は、各イントラネットが負うことになる。イントラネット内へのウイルス感染を防ぐ効 果的な方法の一つとして、イントラネットのゲートでのアンチウイルスソフトによるウイル ス感染有無のチェックが考えられる。しかし、パソコンの持ち込みやファイルの交換などに より、イントラネット内にも感染が広がる可能性がある。一旦、イントラネット内で感染が 起こると、ゲートでのアンチウイルスソフトによる防御のみでは、感染の拡大を防ぎきれな 1 「ウイルス届出件数の推移」情報処理推進機構 IPA http://www.ipa.go.jp 2 調査会社の株式会社サイバーブレインズ 2004年「ウイルス対策ソフトの利用状況」より、ウイルス対策ソフトのパターン ファイルの更新率は85.6%、定期または自動更新率は67.8%となっている。 1 い。そこで、イントラネット上のコンピュータが相互配信による新しいパターンファイルを イントラネット上で拡散させ、イントラネット全体を防御する方式が有効になると考えられ る。 1.2 用語の定義 本論文で使用する用語を、[2,3,4]を参考にして以下の通り定義する。 コンピュータウイルス: コンピュータウイルス: (以下「 以下「ウイルス」 ウイルス」とする。 とする。) 第三者のプログラムやデータベースに対して意図的に何らかの被害を及ぼすように作られた プログラムであり、次の機能を一つ以上有するもの。 (1) 自己伝染機能 自らの機能によって他のプログラムに自らをコピーし又はシステム機能を利用して自らを他 のシステムにコピーすることにより、他のシステムに伝染する機能。 (2) 潜伏機能 特定時刻、一定経過時間、処理回数等の条件を記憶させて、発病するまで存在を隠す機能。 (3) 発病機能 プログラム、データ等の破壊を行ったり、設計者の意図しない動作をする機能。 ワクチン: ワクチン: ウイルスを検出・駆除するためのソフトウェア。ウイルススキャナ、アンチウイルスなどと も呼ばれる。 感染: 感染: ウイルスが他のファイルやシステムに自分自身をコピーすること。通常、それらのファイル やシステムが実行される際にウイルスのコピーが動作するよう対象を改変する。この感染機 能を持つ不正プログラムが狭義のウイルスであり、感染動作を行わず、単独で伝搬、拡散す るものをワームと呼ぶ。 ウイルス検出 ウイルス検出: 検出: あるファイルやシステムがウイルスに感染しているか、あるいはウイルスファイルそのもの かどうかを判断すること。 ウイルス対策 ウイルス対策: 対策: ウイルスの検出・駆除や、ウイルスの感染を防止するための方策。一般的にはワクチンを用 いる。 駆除: 駆除: ウイルスに感染しているファイルやシステムから、ウイルスのみをきれいに取り除くこと。 ウイルスによっては感染の際に対象のファイルに上書きするなど、元のファイルを壊してし まうことがあるが、その場合はウイルス部分のみを安全に取り除くことはできないため、フ ァイル全体を削除したり、原本のファイルを再インストールするなどして復旧する必要があ る。 2 未知ウイルス 未知ウイルス: ウイルス: 新種、または既存のウイルスを改変した亜種または変種と呼ばれるウイルスで、その機能が 未分析のもの。機能が分析済みで、命名され、検出方法が確立されたウイルスは既知ウイル スと呼ばれる。 1.3 研究目的 本研究では、アンチウイルスソフトに関して、以下の三つの仮定を考える。①侵入したウ イルスの源を捜索できる、②新規パターンはウイルスと同じ手法によりイントラネット上で 拡散する、③新規パターン3を更新すれば、新種ウイルスに対応できる。従来のパターンマッ チング方式の欠点を克服し、システム負荷と新種ウイルスに感染する可能性の低減を目指し てイントラネット全体を防御するために、動的にワクチンを投入する三つのアンチウイルス 方式を提案する。すなわち、①IP 方式、②PV 方式及び③CV 方式の三方式である。本研究の 特徴は、ワクチンが自ら繁殖能力を持ち、ネット上に拡散して侵入したウイルスを駆除する ことができる点にある。ここで、ウイルスを駆除する過程において増殖したワクチンとウイ ルスがかける通信負荷コスト及びウイルスに感染されることによるコストの総和をシステム コストと捉え、数理的に解析することによって三つの方式それぞれに対して評価を行う。さ らに、IP 方式と PV 方式の連立による新方式(IP-PV 方式)を第 4 の方式として提案し、数値 実験によって IP,PV,CV,IP-PV の 4 方式について性能比較評価を行う。 1.4 論文の構成 本論文は、以下のように構成されている。第二章では、パターンマッチング方式における 先行研究を紹介する。第三章では、アンチウイルスシステムの三つの方式(IP,PV,CV)を定 義し、それぞれについてシステムコストの評価式を確立する。第四章では、第三章で提案し た三方式に基づいて新たに連立方式 IP-PV を提案し、分析する。第五章で本研究の結論を述 べる。 3 以下から、新規パターンをワクチンと呼ぶ 3 第2章 先行研究 現在、アンチウイルスを題材にした、様々な研究が行われている。 [5,6,7,8]はコンピュータウイルスなどの malicious mobile code のインターネット上での拡 散を分析、防御する研究をした。[9,10,11]日立、NTT DATA、IBM が提案したアンチウイル スソリューションでは、外部のコンピュータが社内イントラネットに接続する場合は、まず 検疫エリアに接続され、検疫エリア内に設置された専用の認証サーバー、検疫サーバー、ウ イルスファイル配布サーバーなどによる診断を受ける。ここでウイルスの有無、ウイルス対 策、セキュリティホールの有無などが詳しくチェックされ、基準に適合したコンピュータだ けがイントラネットへの接続を許可される仕組みである。ただし、コストなどが原因で、中 小企業での普及は困難である。 [12]は、感染源の発見を困難にするコンピュータウイルスへの対策を提唱している。その コンピュータウイルスは、発信元アドレスの偽装により感染源を発見され難くすることによ って感染拡大をはかっている。感染メールの観測サーバーへの到着間隔や到着数を観測する ことによって、ウイルスの感染源がサーバーからどの程度の距離があるかを推定する分析方 法を提案した。ただし、具体的なアンチウイルス対策は提案していない。 またパターンマッチング方式とは、ウイルスの特徴的なコード列(パターン)が検査対象 プラグラム内に存在するかどうかを調べる方式である。近年は、検出手法について研究が盛 んである。[13]はすべてのファイル、ディスク及びネットワーク送信中の何万ものディジタ ル指紋を探索することにより、悪意のあるコードを検知する検出手法を提案した。各指紋と は特定のウイルス検体から抽出された短いコード列である。与えられた指紋を発見した場合、 その指紋を含むファイルが感染していることが報告される。この方式では、的中率、処理ス ピードなどの課題がある。 [14]はウイルスのインターネット上での蔓延に対して、自ら繁殖できるワクチンの投入ア ンチウイルスシステムを提案した。ワクチンはネットを監視し、ウイルスを発見すると自ら 増殖し、ウイルスに感染しているコンピュータへ送信され、そのウイルスを駆除する。そし て、ワクチン自らがまた増殖し、そのコンピュータに繋がっている他のコンピュータへ送信 される。最終的にはワクチンの増殖により、インターネット上のウイルスを完全に駆除する。 しかし、ワクチンのインターネット配信では、信頼性が低いため、配信先のコンピュータに 拒否される可能性がある。また、大量の配信は、インターネットへの通信負荷になり兼ねな い。 4 第3章 主動アンチウイルスシステムモデル 本研究では、従来のパターンマッチング方式の欠点を克服するために、新たな主動アンチ ウイルスシステムを提案する。今までのパターンマッチング方式では、新しいパターンを更 新するか否かは、ユーザーに依存している。本研究では、新しいパターンが作られると、サ ーバーが少数のユーザーへ送信し、そして、イントラネット上のコンピュータも互いに送信 することによって、最新パターンをイントラネット上に普及させるという方式を扱う。 従来のパターンマッチング方式 主動パターンマッチング方式 ユーザー アンチウイルスサービスを提供するサーバー ユーザーのアップデート請求 新しいパターンファイルの配布 図 3.1 主動パターンマッチング方式と従来パターンマッチング方式の比較 主動アンチウイルスシステムとして、ワクチンの投入方法の違いによる三つの方式を提案 する。 CV(counterattack as be infected with virus)方式:ウイルスに感染した場合に のみ、ワクチンは自ら繁殖する。繁殖したワクチンはウイルスの送信元へ転送され る。 PV(propagate as be infected with virus)方式:ウイルスに感染した場合に、繁 殖したワクチンはウイルスの送信元に転送される。転送されたワクチンはウイルス の送信元でもまた繁殖し、そこで再び繁殖したワクチンはウイルスの送信元に繋が っている他のコンピュータへランダムに転送される。 IP(independence propagation)方式:ワクチンはウイルスのような繁殖過程をも つが、その繁殖過程はウイルスのそれとは独立である。 本研究では、ウイルスの感染被害によって生起するコスト、そしてワクチンとウイルスが 増殖し他のコンピュータへ送信することによる通信コストを用いて、新しいモデルのシステ ム・コストを評価する。 1. ウイルスの感染被害コスト(Cv (t ) : (cost by virus)で表す)は、t 期においてウイルスに感 染しているコンピュータの数を xv (t ) とするとき、次の通り定義する。 C v (t ) = hv ( xv (t ) ) (1) 2. ウイルスとワクチンがネット上に拡散することによる通信負荷コストを次の通りに定 義する。 5 C com (t ) = hw ( y v (t ) + y w (t )) (2) このコストは、t-1 期~t 期の間に、生まれたウイルスとワクチンの総数である。(本 研究はウイルスとワクチンのサイズが同じであると設定する) 従って、システム総コストは、(1)と(2)の和として、 Cost (t ) = C v (t ) + C com (t ) (3) によって与えられる。各方式に共同使われる関数を、以下のように定義する K : イントラネットに設置されているコンピュータの総数 xv (t ) :t 期において、ウイルスに感染しているコンピュータの数 yv (t ):t-1 期~t 期の間に繁殖したウイルスの数 xw (t ):t 期において、ワクチンを導入しているコンピュータの数 y w (t ):t-1 期~t 期の間に繁殖したワクチンの数 rv :ウイルスの繁殖率 rw :ワクチンの繁殖率、本研究では調整可能とする xv 0 = xv (0) xw0 = xw (0) β:繁殖したウイルスとワクチンがネット上のコンピュータに転送される確率 Cost (t ) :t 期におけるシステム総コスト Cv (t ) :t 期におけるウイルス感染被害コスト Ccom (t ) :t-1 期~t 期の間に発生するウイルス・ワクチン通信負荷コスト 本研究では、ウイルスの増殖率 rv が与えられたとき、システム総コストを最小にするよう な最適なワクチンの増殖率 rw を決定することを目指す。 3.1 CV(counterattack as be infected with virus)方式 CV 方式において、以下の事柄を仮定する。 I. ウイルスに感染した場合のみ、ワクチンを繁殖させる。 II. 感染したウイルスの送信元をワクチンは探索できる。 III. 探索したアドレスへ増殖したワクチンを送り返す。 IV. 転送されたワクチンは転送先のウイルスを駆除する。また、同時にパターンファイル は更新される。 V. ワクチンを装備したコンピュータはウイルスに感染されることがない。 VI. ウイルスの繁殖過程は制御できない。(死滅しない限り繁殖し続ける) VII. このプロセスは、ネット上のウイルスが絶滅するまで続けられる。 CV 方式におけるウイルス駆除プロセスを次ページの図 3.2 で示す。 t:0 期 初期は、イントラネット内ワクチンを装備したコンピュータとウイルスに感染したコンピ ュータの数はそれぞれ x wCV (0) = x wCV0 , xvCV (0) = xvCV0 とする。 t:1 期 ワクチン: ワクチン: t:0~t:1 の間にワクチンは繁殖しないため、xwCV (1) = xwCV (0) , ywCV (1) = 0 が成立する。 ウイルス: ウイルス: t:0~t:1 の間に繁殖するウイルスは y vCV (1) = rv x vCV (0) となる。現存するウイルスは、その送 6 t:0 t:1 t:2 t期にワクチンを導入しているコンピュータ。 t期にウイルスに感染しているコンピュータ。 t期の図にある は、tからt+1期のワクチンのアクションです。 t期の図にある は、tからt+1期のウイルスのアクションです。 図 3.2 CV 方式におけるウイルス駆除プロセス 信先によって結果が 3 つに異なる。まず、ワクチンのいるコンピュータ(最新パターンをも らって、アンチウイルスをアップデートしたので、新種ウイルスに対応できるようになって いる)に送信された場合には、すぐに駆除されるからこのコンピュータを感染されたものと してはカウントしない。次に既にウイルスに感染したコンピュータに送信された場合には、 新たな感染とはならないので、感染されたコンピュータとしてカウントしない。最後にウイ ルスもワクチンもいないところに送信された場合には、そのコンピュータを感染されたもの としてカウントする。したがって t:1 期にウイルスに感染されているコンピュータの総数は xvCV (0) + xwCV (0) ) + xvCV (0) K となる。これは、t:0 期に感染されたコンピュータの数と t:1 期に増殖したウイルスに感染 したコンピュータを合わせた結果である。ここで、τ 期に、ワクチンとウイルスいずれもい ないところに送られたウイルスを LCV v →e (τ ) (virus → empty) で表すとすると xvCV (τ − 1) + xwCV (τ − 1) CV LCV ) v →e (τ ) = rv β xv (τ − 1)(1 − xvCV (1) = rv β xvCV (0)(1 − K CV xvCV (1) = LCV v →e (1) + xv ( 0) と書ける。 (図 3.2 参照のこと) :ワクチンとウイルス何れもいないところに送られたウイルス LCV v → e (τ ) τ期にワクチンを導入しているコンピュータ。 τ期にウイルスに感染しているコンピュータ。 図 3.2 コスト: コスト: t:1 期にウイルスとワクチンがネット上に拡散することによる通信負荷コストは、 CV Ccom (1) = hwCV ( yvCV (1) + y wCV (1)) = hwCV yvCV (1) 7 となる。 t:1 期におけるウイルス感染被害コストは CvCV (1) = hvCV ( xvCV (1) ) で与えられる。 t:2 期 ワクチン: ワクチン: ウイルスに感染すると、ワクチンが自ら繁殖し、増殖したワクチンをウイルスの送信元へ送 信する。その数は、t:1 期にワクチンがいるところに送られたウイルスと同じである。よっ て CV xwCV (2) = rv β xvCV (0) xw (0) + xwCV (1) K が成立する。τ 期に汚染されたウイルスの源に送り返されたワクチンは τ-1 期にワクチン を装備しているコンピュータに送られたウイルスの数と同じである。 それを LCV で表すと v → w (τ ) (virus → vaccine) CV LCV v → w (τ ) = rv β xv (τ − 2) xwCV (τ − 2) CV ( LCV v → w (0) = Lv → w (1) = 0) K と書ける。これは、t:2 期に繁殖したワクチンの数でもある。よって CV xwCV (2) = LCV v → w ( 2) + xw (1) ywCV (2) = LCV v → w ( 2) が成立する。 ウイルス: ウイルス: t:1 期~t:2 期の間に繁殖されたウイルスの数は y vCV (2) = rv x vCV (1) である。増殖したウイルスに 感染したコンピュータは LCV ワクチンの増殖よりワクチンに駆除されたウイルス4 v →e ( 2) であり、 は LCV v → w ( 2)であるので、t:2 期にウイルスに感染しているコンピュータの総数は CV CV xvCV (2) = LCV v →e ( 2) − Lv → w ( 2) + xv (1) となる。 コスト: コスト: t:2 期の通信コストは Ccom (2) = hw ( yv (2) + y w (2)) = hw (rv xvCV (1) + LCV v→ w ( 2)) となる。 t:2 期におけるウイルス感染被害コストは CvCV (2) = hvCV ( xvCV (2) ) となる。 まとめ( まとめ(CV 方式) 方式) ワクチン: ワクチン: t:0,t:1,t:2 期におけるワクチンを導入しているコンピュータの総数は xwCV (0) = xwCV0 xwCV (1) = xwCV (0) xwCV (2) = rv βxvCV (0) xwCV (0) CV + xwCV (1) = LCV v → w ( 2) + x w (1) K 実際にはワクチンを装備するコンピュータの数はイントラネットにあるコンピュータの総数 K を超えないので、τ 期においてワクチンを導入しているコンピュータの数は xwCV (τ ) = min{ f wCV ( xwCV (τ )), K } 4 繁殖したワクチンがウイルスに感染したコンピュータに送られ、そのコンピュータにいるウイルスを駆除するよるウイルス に感染しているコンピュータの数を減る。以下と同じ。 8 CV where f wCV ( xwCV (τ )) = LCV v → w (τ ) + xw (τ − 1) となる。 ウイルス: ウイルス: t:0,t:1,t:2 期におけるウイルスに感染しているコンピュータの数は xvCV (0) = xvCV0 CV xvCV (1) = LCV v→e (1) + xv (0) CV CV xvCV (2) = LCV v →e ( 2) − Lv → w ( 2) + xv (1) である。実際にはウイルスに感染しているコンピュータの数は K − xwCV (τ ) を超えないので、 τ 期におけるウイルスに感染しているコンピュータの数は xvCV (τ ) = min{ f vCV ( xvCV (τ )), ( K − xwCV (τ ))} CV CV where f vCV ( xvCV (τ )) = LCV v →e (τ ) − Lv → w (τ ) + xv (τ − 1) となる。 コスト: コスト: τ 期に発生した通信負荷コストは CV Ccom (τ ) = hwCV ( yvCV (τ ) + y wCV (τ )) = hwCV (rv xvCV (τ − 1) + LCV v → w (τ )) 、 τ 期におけるウイルス感染被害コストは CvCV (τ ) = hvCV ( xvCV (τ )) と与えられる。従ってシステム総コストは CV Cost CV (τ ) = CvCV (τ ) + Ccom (τ ) CV CV = hv ( xv (τ )) + hwCV (rv xvCV (τ − 1) + LCV v → w (τ )) となる。 全部をまとめると以下の通りとなる。 CV 方式 (4) yvCV (τ ) = rv xvCV (τ − 1) x CV (τ − 2) ywCV (τ ) = βyvCV (τ −1) w K x CV (τ − 1) + xwCV (τ − 1) CV CV L v→e (τ ) = βyv (τ − 1)(1 − v ) K LCV v→w (τ ) = ywCV (τ ) (5) xvCV (τ ) = min{ f vCV ( xvCV (τ )), ( K − xwCV (τ ))} (1) (2) (3) CV CV where f vCV ( xvCV (τ )) = LCV v →e (τ ) − Lv→w (τ ) + xv (τ − 1) (6) xwCV (τ ) = min{ f wCV ( xwCV (τ )), K} CV where f wCV ( xwCV (τ )) = LCV v → w (τ ) + xw (τ − 1) (7) Cost CV (τ ) = hvCV ( xvCV (τ )) + hwCV ( yvCV (τ ) + y wCV (τ )) 3.2 PV(propagate as be infected with virus)方式 PV 方式において、以下の事柄を仮定する I. ワクチンを装備したコンピュータでは、ウイルスに感染した場合に、ワクチンを繁殖 させる。 II. 感染したウイルスの送信元をワクチンは探索できる。 9 III. IV. V. VI. VII. VIII. 探索したアドレスへ増殖したワクチンを送り返す。 転送されたワクチンは転送先のウイルスを駆除する。また、同時にパターンファイル を更新する。さらに、ワクチンは一定の増殖率に従ってランダムに他のコンピュータ へ送り込まれる。 転送されたワクチンは、転送先のコンピュータがウイルスに感染している場合のみ増 殖し、再びランダムに他のコンピュータへ転送される。 ワクチンを装備したコンピュータはウイルスに感染することはない。 ウイルスの繁殖過程は制御できない。(死滅しなければ繁殖し続ける) このプロセスは、ネット上のウイルスが絶滅するまで続けられる。 PV 方式のウイルス駆除するプロセスを下図で示す。時間0でのウイルスに感染したコンピュ ータの数量とウイルスの繁殖率が与えられたとき、システム総コストを最小化するワクチン の繁殖率を決定することが主要な問題となる。 t:0 t:1 t:2 t:3 t期にワクチンを導入しているコンピュータ。 t期にウイルスに感染しているコンピュータ。 t期の図にある は、tからt+1期のワクチンのアクションです。 t期の図にある は、tからt+1期のウイルスのアクションです。 図 3.3 PV 方式のウイルス駆除するプロセス t:0 期 初期は、イントラネット内ワクチンを導入しているコンピュータとウイルスに感染したコン ピュータの数はそれぞれ xwPV (0) = xwPV0 xvPV (0) = xvPV0 とする。 t:1 期 ワクチン: t:0~t:1 の間にワクチンは繁殖しないため xwPV (1) = xwPV (0) y wPV (1) = 0 が成立する。 ウイルス: t:0~t:1 の間に繁殖するウイルスは y vPV (1) = rv β xvPV (0) となる。繁殖したウイルスは、ワクチ ンを導入したコンピュータ(最新パターンをもらって、アンチウイルスをアップデートした ので、新種ウイルスに対応できるようになっている)に送られると、すぐに駆除される。ま た、既にウイルスに感染したコンピュータに送られると、新たな感染被害にならないので、 t:1 期にウイルスに感染されているコンピュータの総数は xvPV (1) = rv βxvPV (0)(1 − xvPV (0) + xwPV (0) ) + xvPV (0) K となる。これは t:0 期にウイルスに感染されたコンピュータの数と t:1 期に増殖したウイル スに感染されたコンピュータの数を合わせた結果である。ここで、CV 方式と同じように、τ 10 期にワクチンとウイルスのどちらもないコンピュータに送られたウイルスを LPV v →e (τ ) (virus → empty)で表すとすると PV LPV v →e (τ ) = rv β xv (τ − 1)(1 − xvPV (τ − 1) + xwPV (τ − 1) PV )( Lv→e (0) = 0) K PV xvPV (1) = LPV v→e (1) + xv (0) と書ける。 コスト t:1 期の通信負荷コストは PV C com (1) = hwPV ( y vPV (1) + y wPV (1)) = hwPV (rv βx vPV (0)) となる。 t:1 期におけるウイルス感染被害コストは PV C vPV (1) = hvPV ( xvPV (1)) = hvPV ( LPV v →e (1) + x v (0)) と与えられる。 t:2 期 ワクチン: ワクチン: ワクチンが導入されたコンピュータに、ウイルスが感染しようとすると、逆にワクチンを繁 殖させ、それをウイルスの源へ送信する。その数は、t:1 期にワクチンがいるところに送ら れたウイルスと同じである。よって xwPV ( 2) = rv βxvPV (0) xwPV (0) + xwPV (1) K が成立する。τ 期に汚染されたウイルスの源に送り返されたワクチンは τ-1 期にワクチン が い た と こ ろ に 送 ら れ た ウ イ ル ス の 数 と 同 じ で あ る 。 CV 方 式 と 同 じ よ う に それを LPV で表すと v → w (τ ) (virus → vaccine) PV LPV v → w (τ ) = rv β xv (τ − 2) xwPV (τ − 2) K PV ( LPV v → w (0) = Lv → w (1) = 0) と書ける。 これは、t:2 期に繁殖したワクチンの数でもあり、よって y wPV (2) = LPV v→ w ( 2) PV xwPV (2) = LPV v → w ( 2) + xw (1) が成立する。 ウイルス: ウイルス: t:1 期~t:2 期の間に繁殖されたウイルスの数は y vPV (2) = rv xvCV (1) である。 増殖したウイルスに感染したコンピュータは LPV であり、ワクチンの増殖により駆除され v→e ( 2) PV たウイルスはLv→ w (2) であるので、t:2 期にウイルスに感染しているコンピュータの総数は PV PV xvPV (2) = LPV v →e ( 2) − Lv → w (2) + xv (1) となる。 コスト: コスト: t:2 期の通信負荷コストは PV C com (2) = hwPV ( y vPV (2) + y wPV (2)) = hwPV (rv βxvPV (1) + LPV v → w ( 2)) となる。 t:2 期におけるウイルス感染被害コストは PV PV C vPV (2) = hvPV ( x vPV (2)) = hvPV ( LPV v →e ( 2) − Lv → w ( 2) + x v (1)) となる。 t:3 期 ワクチン: ワクチン: 11 以外、t:2 期にウイルスの送信元に送り返されたワクチンは自ら繁殖させることよっ LPV v → w (3) て、その数は rw LPV v → w ( 2) となる。この内、まだワクチンを装備していないコンピュータに送ら れる数は rwβLPV v→w (2)(1− xwPV (2) ) K である。よって PV y wPV (3) = LPV v→ w (3) + rw Lv→ w ( 2) PV xwPV (3) = LPV v → w (3) + rw β Lv → w ( 2)(1 − xwPV (2) ) + xwPV (2) K が成立する。 ウイルス: ウイルス: t:2 期~t:3 期の間に繁殖されたウイルスの数は y vPV (3) = rv x vCV (2) である。 t:3 期に新たにウイルスに感染したコンピュータは LPV v → e (3) である。 また、t:3 期にワクチンに駆除された数は PV LPV v → w (3) + rw β Lv→ w ( 2) である。よって xvPV ( 2) K PV PV xvPV (3) = LPV v →e (3) − Lv → w (3) − rw β Lv → w ( 2) xvPV (2) + xvPV (2) K が成立する。 τ期に、駆除された全てウイルスを LPV で表すとすると、上記の計算によって、以下の通 kill (τ ) りになる。 LPV kill (0) = 0 LPV kill (1) = 0 PV LPV kill ( 2) = Lv → w ( 2) PV PV LPV kill (3) = Lv → w (3) + rw β Lv → w ( 2) xvPV (2) xvPV (2) PV = LPV v → w (3) + rw β Lkill ( 2) K K x PV (τ − 1) PV PV v 従って LPV kill (τ ) = Lv → w (τ ) + rw β Lkill (τ − 1) K が成立する。これを xvPV (3) に代入すると PV PV xvPV (3) = LPV v→e (3) − Lkill (3) + xv ( 2) となる。 コスト: コスト: t:3 期の通信負荷コストは PV PV C com (3) = hwPV ( y vPV (3) + y wPV (3)) = hwPV (rv βxvPV (2) + LPV v → w (3) + rw Lv → w ( 2)) PV = hwPV (rv βx vPV (2) + LPV v → w (3) + rw L kill ( 2)) となる。 t:3 期におけるウイルス感染被害コストは PV PV C vPV (3) = hvPV ( xvPV (3)) = hvPV ( LPV v →e (3) − Lkill (3) + x v ( 2)) となる。 t:4 期 ワクチン: ワクチン: 繁殖して他のコンピュータへ転送されるワクチンは、転送先がウイルスに感染したコンピュ ータである場合のみ繁殖し続ける。よって、t:3 期においてウイルスに感染しているコンピ ュータに送られたワクチンのみ繁殖する。従って、 PV y wPV (4) = LPV v → w ( 4) + rw Lkill (3) PV xwPV (4) = LPV v → w ( 4) + rw β Lkill (3)(1 − xwPV (2) ) + xwPV (3) K 12 が成立する。τ-1~τ期の間に繁殖し、ワクチンをまだ装備していないコンピュータに転送 (vaccine → no vaccine) で表すと、以上の計算を踏まえて、 されるワクチンの数を LPV w→ n (τ ) PV PV LPV w→ n (0) = Lw→n (1) = Lw→ n ( 2) = 0 xwPV (2) xwPV (2) ) = rw βLPV ( 2 )( 1 − ) kill K K xwPV (3) PV ( 4 ) = β ( 3 )( 1 − ) LPV r L w→ n w kill K PV LPV w→ n (3) = rw β Lv → w ( 2)(1 − となる。まとめると PV LPV w→ n (τ ) = rw β Lkill (τ − 1)(1 − となる。 xwPV ( 4) に代入すると xwPV (τ − 1) ) K PV PV xwPV (4) = LPV v → w ( 4) + Lw→ n ( 4) + xw (3) となる。 ウイルス: ウイルス: t:3 期~t:4 期の間に繁殖されたウイルスの数は y vPV (4) = rv x vCV (3) である。t:4 期に新たにウイ ルスに感染したコンピュータは LPV v→e ( 4) である。そして、t:4 期にワクチンに駆除されたのは PV PV LPV kill ( 4) = Lv → w ( 4) + rw β Lkill (3) である。故に xvPV (3) K PV PV xv (4) = LPV v →e ( 4) + Lkill ( 4) + xv (3) が成立する。 コスト: コスト: t:4 期の通信負荷コストは PV PV C com (4) = hwPV ( y vPV (4) + y wPV (4)) = hwPV ( rv βx vPV (3) + LPV v → w ( 4) + Lkill (3)) となる。 t:4 期におけるウイルス感染被害コストは PV PV C vPV (3) = hvPV ( x vPV (3)) = hvPV ( LPV v →e ( 4) + Lkill ( 4) + x v (3)) と与えられる。 まとめ( まとめ(PV 方式) 方式) ワクチン: t:0,t:1,t:2,t:3,t:4 期におけるワクチンを装備しているコンピュータの数は xwPV (0) = xwPV0 xwPV (1) = xwPV (0) xwPV (0) PV + xwPV (1) = LPV v → w ( 2) + x w (1) K PV x w ( 2) PV PV PV xwPV (3) = LPV ) + xwPV (2) = LPV v → w (3) + rw β Lv → w ( 2)(1 − v → w (3) + Lw → n (3) + x w ( 2) K PV PV xwPV (4) = LPV v → w ( 4) + Lw → n ( 4) + x w (3) xwPV (2) = rv βxvPV (0) 実際にはワクチンを装備するコンピュータの数はイントラネットにあるコンピュータの総数 Kを超えないので、τ 期においてワクチンを装備しているコンピュータの数は xwPV (τ ) = min{ f wPV ( xwPV (τ )), K } PV PV where f wPV ( xwPV (τ )) = LPV v → w (τ ) + Lw→ n (τ ) + x w (τ − 1) となる。 ウイルス: t:0,t:1,t:2,t:3,t:4 期におけるウイルスに感染しているコンピュータの数は xvPV (0) = xvPV0 13 PV xvPV (1) = LPV v → e (1) + xv (0) PV PV xvPV (2) = LPV v →e ( 2) − Lv → w ( 2) + xv (1) PV PV xvPV (3) = LPV v →e (3) − Lv → w (3) − rw β Lv → w ( 2) PV PV xvPV ( 4) = LPV v →e ( 4) − Lkill ( 4) + xv (3) xvPV (2) PV PV + xvPV ( 2) = LPV v →e (3) − Lkill (3) + xv ( 2) K 実際にはウイルスに感染しているコンピュータの数は K − xwPV (τ ) を超えないので、τ 期にお けるウイルスに感染しているコンピュータの数は xvPV (τ ) = min{ f vPV ( xvPV (τ )), ( K − xwPV (τ ))} PV PV where f vPV ( xvPV (τ )) = LPV v →e (τ ) − Lkill (τ ) + xv (τ − 1) で与えられる。 コスト: コスト: τ 期に発生した通信負荷コストは PV Ccom (τ ) = hwPV ( yvPV (τ ) + y wPV (τ )) PV = hwPV ( rv xvPV (τ − 1) + LPV 、 v → w (τ ) + rw Lkill (τ − 1) τ 期におけるウイルス感染被害コストは CvPV (τ ) = hvPV ( xvPV (τ )) となる。従ってシステム総コストは PV Cost PV (τ ) = CvPV (τ ) + Ccom (τ )) PV PV PV = hv ( xv (τ )) + hwPV (rv xvPV (τ − 1) + LPV v → w (τ ) + rw Lkill (τ − 1)) となる。 全部をまとめると以下の通りとなる。 PV 方式 (1) yvPV (τ ) = rv xvPV (τ − 1) xwPV (τ − 2) xvPV (τ − 1) PV + rw β LPV ( Lkill (0) = LPV kill (τ − 1) kill (1) = 0) K K PV x (τ − 2) y wPV (τ ) = rv β xvPV (τ − 2) w + rw LPV kill (τ − 1) K xvPV (τ − 1) + xwPV (τ − 1) PV LPV ) v →e (τ ) = β yv (τ )(1 − K xwPV (τ − 2) PV LPV v (τ − 1) v → w (τ ) = β y K xwPV (τ − 1) PV LPV ) w→n (τ ) = rw β Lkill (τ − 1)(1 − K PV ( 2) LPV v (τ − 1) kill (τ ) = β y (3) ( 4) (5) ( 6) (7) xvPV (τ ) = min{ f vPV ( xvPV (τ )), ( K − xwPV (τ ))} (8) PV PV where f vPV ( xvPV (τ )) = LPV v → e (τ ) − Lkill (τ ) + xv (τ − 1) PV PV x (τ ) = min{ f w ( xw (τ )), K } PV w PV PV where f wPV ( xwPV (τ )) = LPV v → w (τ ) + Lw→ n (τ ) + xw (τ − 1) (9) Cost PV (τ ) = hvPV ( xvPV (τ )) + hwPV ( yvPV (τ ) + y wPV (τ )) 3.3 IP(independence propagation)方式 IP 方式において、以下の事柄を仮定する I. ワクチンはウイルスとは独立した繁殖過程として取り扱う。 II. ネット上で蔓延するウイルスはワクチンが装備されたコンピュータに送られたら、そ のワクチンに駆除される。 14 III. IV. ネット上で拡散するワクチンがウイルスに感染したコンピュータに送り込まれると、 そこにいるウイルスを駆除する。 ウイルスの繁殖過程は制御できない。(ワクチンがあっても、死滅しなければ繁殖) IP 方式のウイルス駆除するプロセスを下図で示す。ワクチンの繁殖過程は自動的に止ま らないので、適当な時期に中止させる制御方式が必要となる。 t:0 t:1 t:2 t期にワクチンを導入しているコンピュータ。 t期にウイルスに感染しているコンピュータ。 t期の図にある は、tからt+1期のワクチンのアクションです。 t期の図にある は、tからt+1期のウイルスのアクションです。 図 3.4 IP 方式のウイルス駆除するプロセス t:0 期 初期は、イントラネット内ワクチンを装備したコンピュータとウイルスに感染したコンピュ ータの数をそれぞれ xwIP (0) = xwIP0 , xvIP (0) = xvIP0 とする。 t:1 期 ワクチン: ワクチン: t:0~t:1 の間にワクチンが独立的に繁殖し、ネット上に拡散する。 y wIP (1) = rw xwIP (0) xwIP (1) = rw βxwIP (0)(1 − xwIP (0) ) + xwIP (0) K が成立する。 τ-1~τ期の間に繁殖し、ワクチンをまだ装備していないコンピュータに転送されるワクチ (vaccine → no vaccine) で表すと ンは PV 方式と同じように LIP w→n (τ ) LIP w → n ( 0) = 0 LIP = rw β xwIP (0)(1 − w→n (1) xwIP (0) ) K と書ける。 IP 方式では、ワクチンはウイルスと独立して増殖することから、各ステップの繁殖方式は 同じものとなり、 IP LIP w→ n (τ ) = rw β x w (τ − 1)(1 − x wIP (τ − 1) ) K である。従って IP x wIP (1) = LIP w → n (1) + x w (0) が成立する。 ウイルス: ウイルス: ウイルスは独立に繁殖し、ネット上で蔓延する。しかし、ワクチンが導入されたコンピュー タに送られると、駆除される。前の二つ方式と同じように、τ 期にワクチンとウイルス何れ 15 もいないコンピュータに送られたウイルスを LIPv→e (τ )(virus → empty) で表すとすると y vIP (1) = rv xvIP (0) IP xvIP (1) = LIP v→e (1) − rw β x w (0) xvIP (0) + xvIP (0) K となる。 τ 期にネット上での拡散するワクチンに駆除されるウイルスを LIPw→v (τ )(vaccine → virus ) で表 すと LIP w → v ( 0) = 0 IP LIP w→v (1) = rw β x w (0) xvIP (0) K と書ける。 IP 方式では、ワクチンとウイルスは独立して増殖するので、各ステップの繁殖、駆除プロセ スは同じである。よって IP IP LIP w→v (τ ) = rw β x w (τ − 1) となる。よって xv (τ − 1) K IP IP x vIP (1) = LIP v →e (1) − Lw→v (1) + x v (0) が成立する。 コスト: コスト: t:1 期の通信負荷コストは IP C com (1) = h wIP ( y vIP (1) + y wIP (1)) = hwIP ( rv xvIP (0) + rw x wIP (0)) 、 t:1 期におけるウイルス感染被害コストは C vIP (1) = hvIP ( xvIP (1)) IP IP = hvIP ( LIP v→e (1) − Lw→v (1) + xv (0)) となる。 t:2 期 ワクチン: ワクチン: 1 期と同様に 2 期でも独立に繁殖し、ネット上に拡散する。従って、 y wIP (2) = rw xwIP (1) x wIP (1) ) K IP x wIP (2) = LIP w→ n (2) + x w (1) IP LIP w→ n ( 2) = rw β x w (1)(1 − となる。 ウイルス: ウイルス: 前期のステップと変わっていないので yvIP (1) = rv xvIP (0) IP IP x vIP ( 2) = LIP v →e ( 2) − L w→v ( 2) + x v (1) となる。 コスト: コスト: t:2 期の通信コストは IP C com (2) = hwIP ( y vIP (2) + y wIP (2)) = h wIP ( rv x vIP (1 ) + r w x wIP (1 )) 、 t:2 期にウイルスに感染被害コストは CvIP ( 2) = hvIP ( xvIP ( 2)) IP IP = hvIP ( LIP v →e ( 2) − Lw→v ( 2) + x v (1)) となる。 16 まとめ( まとめ(IP 方式) 方式) ワクチン: ワクチン: t:0,t:1,t:2 期におけるワクチンを装備しているコンピュータの数は x wIP (0) = x wIP0 IP x wIP (1) = LIP w→ n (1) + x w (0) IP x wIP (2) = LIP w→ n ( 2) + x w (1) である。実際にはワクチンを装備するコンピュータの数はイントラネットにあるコンピュー タの総数Kを超えないので、τ 期においてワクチンを導入しているコンピュータの総数は x wIP (τ ) = min{ f wIP ( x wIP (τ )), K } IP where fwIP(xwIP(τ )) = LIP w→n (τ ) + xw (τ −1) となる。 ウイルス: ウイルス: t:0,t:1,t:2 期におけるウイルスに感染しているコンピュータの数は x vIP (0) = xvIP0 IP IP xvIP (1) = LIP v → e (1) − L w→v (1) + x v (0) IP IP xvIP (2) = LIP v →e ( 2) − L w→v ( 2) + x v (1) である。実際にはウイルスに感染しているコンピュータの数はK − x wIP (τ )を超えないので、τ 期におけるウイルスに感染しているコンピュータの総数は IP IP f vIP ( xvIP (τ )) = LIP v →e (τ ) − Lw→v (τ ) + xv (τ − 1) where xvIP (τ ) = min{f vIP (xvIP (τ )),(K − xwIP (τ ))} となる コスト: コスト: τ 期に発生した通信負荷コストは IP C com (τ ) = hwIP ( y vIP (τ ) + y wIP (τ )) = hwIP ( rv xvIP (τ − 1) + rw x wIP (τ − 1)) 、 τ 期におけるウイルス感染被害コストは C vIP (τ ) = hvIP ( xvIP (τ )) IP IP = hvIP ( LIP v →e (τ ) − Lw→v (τ ) + xv (τ − 1)) となる。従ってシステム総コストは IP Cost IP (τ ) = C vIP (τ ) + C com (τ ) IP IP = hv ( x v (τ )) + hwIP ( y vIP (τ ) + y wIP (τ )) = hvIP ( x vIP (τ )) + hwIP (rv xvIP (τ − 1) + rw x wIP (τ − 1)) となる。 全部まとめると以下の通りとなる IP 方式 IP w IP w (1) x (τ ) = rw x (τ − 1) ( 2) y vIP (τ ) = rv xvIP (τ − 1) xvIP (τ − 1) + x wIP (τ − 1) ) K x wIP (τ − 1) IP τ β τ (4) LIP ( ) = y ( )( 1 − ) w→ n w K IP xv (τ − 1) IP (5) LIP w→v (τ ) = β y w (τ ) K IP (3) LIP v →e (τ ) = β y v (τ )(1 − 17 (6) x wIP (τ ) = min{ f wIP ( x wIP (τ )), K } IP where f wIP ( x wIP (τ )) = LIP w→ n (τ ) + x w (τ − 1) (7) xvIP (τ ) = min{ f vIP ( xvIP (τ )), ( K − x wIP (τ ))} IP IP where f vIP ( xvIP (τ )) = LIP v → e (τ ) − L w→ v (τ ) + x v (τ − 1) (8) Cost IP (τ ) = hvIP ( x vIP (τ )) + hwIP ( y vIP (τ ) + y wIP (τ )) 三つの方式に対して数値計算を行い、システム総コストを中心に比較分析を行った(グラ フ 3.1~グラフ 3.5 参照)。イントラネット上の全てのコンピュータは相互に繋がっており、 任意のコンピュータは、イントラネット上にある全てのコンピュータへ直接送信できると仮 定する。また、イントラネット内の全てのコンピュータは使用されている(ON 状態にある) システム環境と仮定する。各パラメータの初期値は、グラフ別に示す。IP 方式は、イントラ ネットがウイルスに感染する初期(ネット上のウイルスに感染しているコンピュータの割合 が低い場合)においては、ウイルスの駆除と通信負荷の抑制の両面で優れており、そのシス テム総コストは CV 方式や PV 方式よりかなり低い。しかし、CV 方式と PV 方式はウイルスが 絶滅すると、ワクチンの動きも自動的に止まるのに対し、IP 方式は独立増殖よるため自動的 に停止できない。その結果、ワクチンがネット上にある程度増殖すれば、PV 方式と CV 方式 のコストは IP 方式より低くなることが判明した。言葉を変えると、環境条件に対応して各方 式独自の強み、弱みがあることが分かった。 t期にウイルスに侵害されているコンピュータ 12000 10000 8000 CV PV IP 6000 4000 2000 0 0 t= 2 t= 4 t= 6 t= 8 t= 10 t= 12 t= 14 t= 16 t= 18 t= グラフ 3-1 初期状態においてウイルスに感染しているコンピュータが少ない場合、イントラネット上のウイルス に感染したコンピュータの数の推移を CV,PV,IP の 3 方式で比較した。ただし、初期状態は 3 方式共に 同一、ワクチンの繁殖率は PV、IP 方式共に同一とした。そして、初期状態をそれぞれ xv (0) = 100 , xw (0) = 10 , K = 10,000 , β = 0.7 , rw = 2 と設定した。 18 rv = 2, 35000 t期に発生したコスト 30000 25000 20000 CV PV IP 15000 10000 5000 t= 18 t= 16 t= 14 t= 12 t= 10 t= 8 t= 6 t= 4 t= 2 t= 0 0 グラフ 3-2 初期状態でウイルスに感染しているコンピュータが少ない場合、イントラネット上において CV、PV、 IP3 方式のシステム総コストの推移を比較した。ただし、初期状態は 3 方式共に同一、ワクチンの繁 殖率は PV、IP 方式共に同一とした。そして、システム総コストと初期状態をそれぞれ Cost (t ) = Cv (t ) + Ccom (t ) rv = 2 , xv (0) = 100 , xw (0) = 10 , K = 10,000 , β = 0.7 , rw = 2 と設定 した。 10000 8000 CV PV IP 6000 4000 2000 グラフ 3-3 19 14 t= 13 t= 12 t= 11 t= 10 t= t= 9 8 t= 7 t= 6 t= 5 t= 4 t= 3 t= 1 2 t= t= 0 0 t= t期 にウイルスに侵 害 され ている コンピュータ 12000 初期状態でウイルスに感染しているコンピュータが多い場合、イントラネット上においてウイルスに 感染したコンピュータの数の推移を CV、PV、IP の 3 方式で比較した。ただし、初期状態は 3 方式共に 同一、ワクチンの繁殖率は PV、IP 方式共に同一とした。そして、初期状態をそれぞれ xv (0) = 5000, rv = 2 , xw (0) = 10 , K = 10,000 , β = 0.7 , rw = 2 と設定した。 t期に発生したシステム総コスト 35000 30000 25000 CV PV IP 20000 15000 10000 5000 t= 0 t= 1 t= 2 t= 3 t= 4 t= 5 t= 6 t= 7 t= 8 t= 9 t= 10 t= 11 t= 12 t= 13 t= 14 0 グラフ 3-4 初期状態でウイルスに感染しているコンピュータが多い場合、イントラネット上においてコストの推 移を CV,PV,IP の 3 方式の比較。ただし、初期状態は 3 方式共に同一、ワクチンの繁殖率は PV、IP 方 式共に同一とした。そして、コストと初期状態をそれぞれ Cost (t ) = Cv (t ) + Ccom (t ), rv = 2 , xw (0) = 10 xv (0) = 5000 , K = 10,000 , β = 0.7 , rw = 2 と設定した 250000 最小トータルコスト 200000 CV PV IP 150000 100000 50000 0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 =1 )=5 =10 =15 =20 =25 =30 =35 =40 =45 =50 =55 =60 =65 =70 ) (0 (0 0 ) 0 ) 0 ) 0 ) 0 ) 0 ) 0 ) 0 ) 0 ) 0 ) 0 ) 0 ) 0 ) xw xw xw( xw( xw( xw( xw( xw( xw( xw( xw( xw( xw( xw( xw( グラフ 3-5 CV,PV,IP の 3 方式で比較した。トータルコストは xw (0) を変化させる時の最小トータルコストを T Cost (t ) = Cv (t ) + Ccom (t ) 、∑ Cost T = min{t : xv (t ) = 0} である。初期状態はそれぞれ xv (0) = 100 0 rv = 2 , xw (0) = 10 , K = 10,000 , β = 0.7 , rw = 2 と設定した。 20 第4章 連立システムの提案 第3章までの議論より、ウイルス感染の初期においては IP 方式が CV 方式や PV 方式よりは るかに優れているが、ワクチンが増殖するに従い、その優位性がどんどん失われ、ある水準 を超えると逆転することが明らかになった。本章では、各方式の利点を引き出し、より効率 的にウイルスを駆除するために、ウイルス駆除プロセスを単体方式ではなく、環境の変化に 従って方式を切り替える連立方式を提案する。この連立方式は、二段階で構成される。第一 段階では、IP 方式を採用する。第二段階では、ワクチンの増殖に伴い適切な時点で PV 方式 に切り替える。 連立方式を実現するためには、まず、IP 方式から PV 方式への切替時期( N * とする)を 決定する必要がある。さらに、IP 方式(第一段階)と PV 方式(第二段階)におけるワクチン の増殖率をそれぞれ選択しなければならない。この課題を克服するために、以下の四つのア ルゴリズムを導入する。 IP― IP―PV 方式の 方式の構成 まず、 x (0) を予測する。本研究ではイントラネットがウイルスに感染し始めた時期、つ まりネット上のコンピュータの総数に対してウイルスに感染したコンピュータの割合が低い 状態を仮定する。 IP v Algorithm1 xvIP ( N * ) ≤ α v K ⇒ N * このアルゴリズムでは、ある α v ∈ (0, 1) に対して、 N * 期にウイルスに感染しているコンピュ ータの総数が必ず α v K 以下となるように N * を決定する。 Algorithm2 xvPV ( N * + 2) − xvPV ( N * + 1) ≤ λ ⇒ x wIP ( N * ) このアルゴリズムでは、ある λ ∈ (0, K ) に対して、PV 方式切替後、 N * + 1 期から N * + 2 期ま でのウイルスの増加数が λ を超えないように xwIP ( N * ) を決定する。 Algorithm3 x wIP (0), N * , x wIP ( N * ) ⇒ rwIP このアルゴリズムでは、( xwIP (0), N * ) 一致するように rwIP を決定する。 が与えられたとき、xwIP ( N * ) が Algorithm2 の結果と Algorithm4 xvPV ( N * ), xwPV ( N * ), rv ⇒ rwPV このアルゴリズムでは、N * 期から T 期まで PV 方式を実施するとき、そのシステム総コスト が最小になるように rwPV を決定する。 以下に、各アルゴリズムの詳細を記す。 21 Algorithm 1 Input xvIP (0), α v K Output N * Procedure * xvIP ( N * ) = (1 + rv β ) N xvIP (0) ≤ α v K ⇒ N * log( 1 + rv β ) + log x vIP ( 0 ) ≤ log α v K ⇒ N * ≤ log( α v K ) − log x vIP ( 0 ) log( 1 + r v β ) 最後の不等式を満たす最大の N * を求める。 Algorithm2 lgorithm2 Input xvIP ( N * ), λ ( xvPV ( N * ) = α v K ) Output x wPV ( N * ) Procedure xvPV ( N * + 2) − xvPV ( N * + 1) ≤ λ PV 方式の定義に従って * PV * PV * xvPV ( N * + 2) = LPV v →e ( N + 2) − Lkill ( N + 2) + xv ( N + 1) = rv β x vPV ( N * + 1)(1 − x vPV ( N * + 1) + x wPV ( N * + 1) x PV ( N * ) ) − rv β x vPV ( N * ) w + x vPV ( N * + 1) K K xvPV ( N * + 1) = rv β xvPV ( N * )(1 − xvPV ( N * ) + xwPV ( N * ) ) + xvPV ( N * ) K PV * PV * PV * それぞれを g(xw (N )) = xv (N + 2) − xv (N +1) ≤ λ に代入し、結果として得られる 不等式を満たす最小の xwPV ( N * ) を決定する。 22 Algorithm3 lgorithm3 Input m, n (m ≤ rwIP ≤ n) Output rwIP Procedure 1 (1) xw (0) : given set rw1 ← m, rw 2 ← n, rw ← (rw1 + rw 2 ) 2 loop1 : (2)compute w( N * , rw ) = xw ( N * ) |rw (3) If w( N * , rw ) > α w K set rw 2 ← rw Go to Loop2 (4) If w( N * , rw ) < α w K set rw1 ← rw (5) Loop2 : If rw1 − rw 2 < ε stop 1 else rw ← (rw1 + rw 2 ) 2 go to loop1 アルゴリズム3 アルゴリズム3のフローチャート rwIP1 ← m, rwIP2 ← n, rwIP ← 1 IP ( rw1 + rwIP2 ) 2 w( N * , rwIP ) = xwIP ( N * ) |rw w( N * , rwIP ) < α w K 1 rw ← (rw1 + rw2 ) 2 No Yes rwIP1 ← rwIP rw1 − rw 2 < ε Yes Stop 23 No rwIP2 ← rwIP Algorithm4 lgorithm4 Input m, n(m ≤ rwPV ≤ n) Output rwPV Procedure 1 PV PV PV (1) Cost ( N * ) : given set rwPV ← (rwPV 1 ← m, rw 2 ← n, rw 1 + rw 2 ) 2 loop1 : T PV ( 2) compute C( N * , T , rwPV (t) |r PV 1 ) = ∑ Cost N T compute C( N * , T , rwPV2 ) = ∑ Cost PV (t) |r PV N T = min{t : xvPV (t ) = 0} |r PV w1 * w2 * w1 T = min{t : xvPV (t ) = 0} |r PV w2 * PV PV PV (3) If C( N * , T , rwPV Go to Loop2 1 ) > C( N , T , rw 2 ) set rw1 ← rw * PV PV PV (4) If C( N * , T , rwPV 1 ) < C( N , T , rw 2 ) set rw 2 ← rw loop 2 : PV If rwPV 1 − rw 2 < ε stop 1 PV else rwPV ← (rwPV 1 + rw 2 ) 2 go to loop1 アルゴリズム4 アルゴリズム4のフローチャート フローチャート 1 PV PV PV rwPV ← (rwPV 1 ← m, rw2 ← n, rw 1 + rw 2 ) 2 T PV C( N * , T , rwPV (t) |r PV 1 ) = ∑ Cost w1 T = min{t : xvPV (t ) = 0} |r PV C( N * , T , rwPV2 ) = ∑ Cost PV (t) |r PV T = min{t : xvPV (t ) = 0} |r PV N* T N* 1 PV rwPV ← (rwPV 1 + rw 2 ) 2 w1 w2 w2 * PV C( N * , T , rwPV 1 ) > C( N , T , rw 2 ) No Yes No PV set rwPV 1 ← rw PV rwPV 1 − rw 2 < ε Yes Stop 24 MinCost ← C( N * , rw ) IP-PV 方式と前章で提案した三つの方式に対して数値計算を行い、システム総コストを中 心に比較分析を行った。ネットワーク構造は第3章で述べたのと同じであり、四つのアルゴ リズムに必要とされるパラメータの値を表 4.1 に、アルゴリズムから導出される結果を表 4.2 にまとめておく。グラフ 4-1 では、イントラネット内全てのコンピュータが使用されている システム環境と仮定し、ウイルスを全て駆除するまでに必要となる時間と発生したシステム 総コストを、四方式のそれぞれについて示す。PV 方式と CV 方式は 10 期までに全てのウイル スを駆除することはできなかったが、IP 方式は 4 期、IP-PV 方式では 6 期までにウイルスを 全て駆除することができた。システム総コストを比較すると、CV 方式および PV 方式は 10 期 までにそれぞれ 18 万、10 万、IP 方式および IP-PV 方式はウイルスを全部駆除するまでにそ れぞれ 3 万、4 万となった。この結果から、IP 方式と IP-PV 方式は、コストとウイルスを全 部駆除するまでに費やす時間両方ともに関して、CV 方式と PV 方式より優れていることが分 かった。 以上の分析は、イントラネットに接続された全てのコンピュータが常にオンの状態にある ことを前提としているが、これは必ずしも現実的ではない。イントラネット上の全てのコン ピュータにワクチンが投入されるためには、全てのコンピュータが少なくとも 1 度以上使用 される必要があり、それには少なくとも 10 時間が必要であると仮定し、再度数値計算を行っ た。前者ではワクチン増殖率を8と設定し、後者ではそれを2と設定した。グラフ 4-2 に結 果を示す。システム総コストを見ると、IP-PV 方式が 4 万くらいでほぼ変化してないのに比 べ、IP 方式は 13 万と大幅に増加した。その原因は、IP 方式が独立増殖することによって、 環境の変化に対応できないことにある。IP―PV 方式では、PV 方式に切り替えるとイントラネ ット上のウイルスが少なくなるにつれ、ワクチンの増殖も少なくなる。これに対し、IP 方式 では、ウイルスの数量が変化しても変わらず、一貫して増殖し続ける。よって、ウイルスの 駆除過程(或いはワクチンの普及過程)が長期化すると、IP 方式のトータルコストはさらに 大幅に増加する。よって、IP-PV 方式は現実的には最も実行性の高い方式であると言える。 四つのアルゴリズムに必要とされるパラメータ αv 0.1 xv ( 0) 10000 100 100 xwIP (0) 10 rv 2 0.5 1 10 K λ ε m n 表 4.1 四つのアルゴリズムから求めたパラメータ rwIP 10 8 4 5130 PV w r N* rwIP ( N * ) 表 4.2 25 本研究提案した各方式の比較 特徴 CV PV IP 長所 短所 ウイルスに感染した場合の ワクチンよる無駄な通信コ ワ ク チ ン と ウ イ ル み繁殖し、ウイルスの源へ ストが低い。 ス共に少ない場合 送り返す。 ウイルスが絶滅したら、ワ は、ウイルスの蔓延 クチンの増殖も停止する。 に対して、無力であ る。 ウイルスに感染した場合繁 ワクチンよる無駄な通信コ ワ ク チ ン と ウ イ ル 殖し、ウイルスの源へ送り ストが低い。ウイルスが絶 ス 共 に 少 な い 場 合 返す。そして送信先のコン 滅したら、ワクチンの増殖 は、ウイルスの蔓延 ピュータで繁殖し、他のコ も停止する。 に対して、無力であ ンピュータへ送信する。送 る。 られたワクチンは、送信先 のコンピュータがウイルス に感染している場合のみ、 繁殖し続ける。 ウイルスと独立して増殖す ワクチンが導入初期でも迅 自 動 的 に 停 止 で き る。 速にウイルスを駆除でき ない。ワクチンの増 る。ウイルスを全部駆除す 殖に従って、ワクチ るまでに費やす時間が短 ン よ る 通 信 コ ス ト い。 は大幅に増える。 IP-PV 初期は IP 方式で行う、適当 ワクチンが導入し始めの初 ネ ッ ト 上 に す べ て な時期で PV 方式に切り替 期でも迅速でウイルスを駆 の コ ン ピ ュ ー タ が える。 除できる。ウイルスが絶滅 使 用 さ れ て い る 状 したら、ワクチンの増殖も 態において、ウイル 停止する。 スを全部駆除する まで費やす時間は IP 方式より長い。 26 200000 180000 t期までのシステム総コスト 160000 140000 120000 CV PV IP IP-PV 100000 80000 60000 40000 20000 0 1 t= 2 t= 3 t= 4 t= 5 t= 6 t= 7 t= 8 t= 9 t= 10 t= グラフ 4-1 イントラネット内全てのコンピュータが使用されている状態を仮定し、数値計算した結果 である。ウイルスが完全に駆除されるまでに掛かる時間は IP 方式が4期、 IP-PV 方式が6期、 PV、CV 方式では 10 期までにウイルスを完全に駆除することができなかった。仮定された条 件の下では IP 方式、IP-PV 方式の順に優れていることが明らかになった。初期条件では表 IP , xv (0) = 100 -PV 方式は表 1、表 2 を参照する、CV、PV、IP 方式の初期状態はそれぞれ rv = 2 IP PV IP PV xw (0) = 10 , K = 10,000 , β = 0 .7 , rw = 7.5 , rw = 8と設定した。rw = 7.5 , rw = 8 と設定した理 由は、イントラネット内全てのコンピュータが使用されている状態で、システム総コストを 最小化するためである。 27 200000 180000 t期までのシステム総コスト 160000 140000 120000 CV PV IP IP-PV 100000 80000 60000 40000 20000 10 t= 9 t= 8 t= 7 t= 6 t= 5 t= 4 t= 3 t= 2 t= t= 1 0 グラフ 4-2 イントラネット上全てのコンピュータがワクチンを投入できる状態になるには少なくとも 10 時間が必要と仮定し、数値計算を行った結果である。さらに IP 方式の最大稼動時間は 10 期と設定する。PV,CV 両方式は、またウイルス駆除プロセスが未完成である。IP 方式では、 駆除時間が長期化するにつれて、システム総コストを大幅に増加させることが明らかになっ た。これに対して、IP-PV 方式は、PV 方式に切り替えると、ウイルスの動きに従って増殖す るので、ウイルスが少なくなるにつれて、ワクチンの増殖も少なくなる。さらにウイルスが 絶滅すると、ワクチンの増殖も停止する。イントラネット上全てのコンピュータが使用され ているという状態は現実的には考えられないので、そのような状況においては IP-PV 方式が IP 方式より優れると結論付けられる。初期条件では表 IP-PV 方式は表1、表2を参照する、 CV、PV、IP 方式の初期状態は rv = 2 , xv (0) = 100 , xw (0) = 10 , K = 10,000 , β = 0.7 , rwPV = 2 , rwPV = 8 と設定した理由は、IP 方式の最大稼動時間を 10 rwPV = 2 , rwPV = 8 と設定した。 期としたとき、システム総コストを最小化するためである。 28 第5章 結論 本研究では、従来のパターンマッチング方式の欠点を補うために、動的にワクチンを投入 するアンチウイルスシステムを提案した。第 3 章は、ワクチン投入方式より、三つの方式を 提案し、数値計算を行った。従来のユーザーに依存したパターンマッチング方式では、最新 パターンの更新率が85%であるが、我々が提案した各方式ではワクチンが主動的に増殖す るため短時間でのイントラネット全般配布が可能である。そして、最新パターンの更新は、 イントラネット上で行うので、パターン提供サーバーへの負荷が低減し、多くのユーザーが 一斉にパターン更新することによるネットの混雑を回避できる。また提案した各方式につい てお互いの利点、欠点をまとめた。第4章では IP-PV 方式の連立システムを提案した。数値 計算を行い、各方式の特徴、長所、短所を述べた。最終的に、連立システムは、現実的に最 も実行性のある方式であることが明らかとなった。 29 謝辞 本研究を行うにあたって、多くの方々にお世話になりました。指導教官の住田教授からは、 普段のゼミなど研究に対する直接的なご指導に加え、勉強会、合宿、食事会などでもお世話 になり、全人的な教育を受けました。心より感謝しています。また多くの懇切な指導を頂い た有馬先生にも深く感謝いたします。普段の交流を通じて貴重な意見やアドバイスを頂いた 安達氏、並川氏、高橋君をはじめ住田研究室のメンバーにも深く感謝しています。 30 参考文献 [1] David Harley, Robert Slade and Urs E.Gattiker: Viruses Revealed Understand and Counter Malicious Software. McGraw-Hill Companies,2001 [2]経済産業省「コンピュータウイルス対策基準」 http://www.meti.go.jp/policy/netsecurity/CvirusCMG.htm [3] IPA「ウイルス検出技術関する調査」独立行政法人 情報処理推進機構 2004 [4] 早稲田大学メディアネットワークセンター「セキュリティ用語集」 http://www.waseda.jp/mnc/GUIDE/security.pdf [5] Roger A.Grimes Malicious Mobile code. O’REILLY,2001 [6] Carey Nachenberg. Computer virus-antivirus coevolution. Commun. ACM, Vol. 40, No. 1, pp. 46-51, 1997. [7] Prabhat K. Singh and Arun Lakhotia. Analysis and detection of computer viruses and worms: an annotated bibliography. SIGPLAN Not., Vol. 37, No. 2,pp. 29-35, 2002. [8] Harold Thimbleby, Stuart Anderson, and Paul Cairns. A framework for modelling Trojans and computer virus infection. The Computer Journal, Vol. 41, No. 7, pp. 445-458, 1998. [9] HITACHI「ネットワーク世界の安全を支える先進のセキュリティ・ソリューション」 Hitachi Cable News VOL.359 FEBRUARY 2005 [10] NTTデータ「NTTデータが提案するワーム対策ソリューション」2005.2 http://www.nttdata.co.jp/netcom/pdf/nc04_ss_03.pdf [11] IBM 「自己防御型セキュリティー・ソリューション」2004.12 http://www-1.ibm.com/services/jp/index.wss/offering/ns/a1010066 [12]豊泉 洋「発信元偽装メール型ウイルスの感染源分析法」 http://www.f.waseda.jp/toyoizumi/research/papers/Toyoizumi2004a.pdf [13] SecurityFocus Behavior Blocking: The Next Step in Anti-Virus Protection http://www.securityfocus.com/infocus/1557 [14] Hiroshi Toyoizumi and Atsuhi Kara. Predators:good will mobile codes combat against computer viruses. In Proceedings of the 2002 workshop on New security paradigms, pp. 11-17. ACM Press, 2002. 31
© Copyright 2024 Paperzz