首页 / 专利库 / 电脑安全 / 计算机病毒 / Method and system for protecting computer system against computer virus

Method and system for protecting computer system against computer virus

阅读:199发布:2021-02-17

专利汇可以提供Method and system for protecting computer system against computer virus专利检索,专利查询,专利分析的服务。并且PURPOSE: To protect a computer system from the attack of a computer virus by detecting the virus and preventing its attack in a boot mode. CONSTITUTION: A set/open switch 16 is set to inhibit the writing operations to a storage 14 before a boot program is loaded and carried out. That is, only the fetching of data of the storage 14 is possible when the switch 16 is set. A computer system 100 can load and carry out the boot program and a basic device after the switch 16 is set. Then the system 100 checks whether its computer is attacked by a virus after theses program and device are carried out. In this case, an interrupt vector loaded in a RAM 12 is compared with its corresponding normal value. The normal value of the interrupt vector which is not infected can be stored in the storage 14.,下面是Method and system for protecting computer system against computer virus专利的具体信息内容。

【特許請求の範囲】
  • 【請求項1】ウィルスによる攻撃に対する保護を備えたコンピュータシステムであって:システムにブーティングプログラムを入力し、データを格納する能力を有する少なくとも1つの格納装置と;ブート時に前記格納装置内のデータにウィルスが影響を与えることを防止するための手段と;から成ることを特徴とするシステム。
  • 【請求項2】前記防止手段が、ブートプログラムのロード前に、データの格納を禁止するための手段から成ることを特徴とする、請求項1に記載のシステム。
  • 【請求項3】前記防止手段が、ブート時にウィルスの存在を検出するための手段からなることを特徴とする、請求項1に記載のシステム。
  • 【請求項4】システムが、一組の割り込みベクタに応答して複数の入力/出力装置と相互作用し、前記検出手段が、前記割り込みベクタが修正されたかどうかを検査するための手段からなることを特徴とする、請求項3に記載のシステム。
  • 【請求項5】プログラムの所定の特性を格納するための手段と、前記格納された特性とシステムにロードされる対応プログラムの特性を比較するための手段とを、さらに含むことを特徴とする、請求項1に記載のシステム。
  • 【請求項6】システム内にブーティングプログラムを入力しデータを格納する性能を有する少なくとも1つの格納装置を備えたコンピュータシステムをウィルスの攻撃から保護するための方法であって:システムをブーティングするステップと;さらにブーティング時に格納装置内のデータにウィルスが影響を与えないように防止するステップと;からなることを特徴とする方法。
  • 【請求項7】前記防止ステップが、前記ブートプログラムのロード前のデータの格納を禁止するためのサブステップから成ることを特徴とする、請求項6に記載の方法。
  • 【請求項8】前記防止ステップが、ブート時にウィルスの存在を検出するステップから成ることを特徴とする、
    請求項6に記載の方法。
  • 【請求項9】前記システムが、一組の割り込みベクタに応答して複数の入力/出力装置と相互作用し、前記検出ステップが前記割り込みベクタが修正されたかどうかを検査するステップからなることを特徴とする、請求項8
    に記載の方法。
  • 【請求項10】さらに、プログラムの所定の特性を格納するステップと前記格納されたプログラムの特性と、システムにロードされる対応プログラムの特性とを比較するステップから成ることを特徴とする、請求項6に記載の方法。
  • 说明书全文

    【発明の詳細な説明】

    【0001】

    【産業上の利用分野】本発明は、コンピュータウィルスとして一般に知られている外敵からコンピュータシステムを保護するための装置及び方法に関する。

    【0002】

    【従来の技術】世界がさらに一層コンピュータ化されるにつれて、データ処理産業の大きな関心の一つはウィルスによるコンピュータシステムに対する攻撃の可能性である。 余り深刻でない場合であっても、コンピュータウィルスによる攻撃があった場合は、組織が通常の動作を回復する前に、データやファイルを複写又は回復する必要がある。 もっと深刻な場合には、ウィルスにより破壊されたデータ及びファイルは回復不能であり、組織の動作は永久に遮断される。 最も深刻な場合には、組織のデータベースの保全が警告なしに攻撃されて、組織は不正確なデータを用いて動作を継続し、結果として、侵害、
    損失及び被害を被る ウィルス問題は、典型的なコンピュータウィルスが、生物ウィルスと同様に、自己複製能を有しており、ネットワークの接続を介して感染可能であるために、増大しつつある。 ウィルスはそれ自体がアプリケーションプログラム及び/又はシステムプログラムに付着する。 さらに、比較的無害なウィルスは、(コンピュータシステム内に常駐している間に変身して)「突然変異」し、破壊的なウィルスになる。

    【0003】ウィルスがコンピュータシステムを攻撃する一つの一般的な方法は、ウィルスがシステムの動作及びI/O装置とやり取り可能なように、システム内の割り込みベクタを変更させることによる。 したがって、従来の抗ウィルス方法は、ウィルスによる割り込みベクタの変更の試みを検出可能なように、割り込みベクタと割り込みプログラム指令にフックを設定することである。

    【0004】他の従来の抗ウィルス方法においては、システム内で実行されるプログラムが、最初に、プログラムが変更されたかどうかを検出するために自己診断を行う。 プログラムが変更され、それが感染であった場合には、システム内のプログラムの実行が禁止される。

    【0005】他の従来の抗ウィルス方法においては、感染しない状態の各ぷろぐらむの所定の特性(例えば、サムチェック)が格納される。 プログラムが実行される前に、これらの特性が再生されて、対応する格納された相手側と比較され、変更されたかどうかが判定される。

    【0006】

    【発明が解決しようとする課題】しかし、これらの従来の方法は3つの理由から満足のいくものではない。 第1
    に、これらの従来の方法の動作は、コンピュータのオペレーティングシステム(例えば、DOS)の支援を必要とする。 オペレーティングシステムは、コンピュータシステムが完全にブートした後にのみ機能可能なので、これらの従来の方法は、コンピュータシステムのブート時、例えば、オペレーティングシステムの組み込み前に攻撃をしかけるウィルスからコンピュータを守ることができない。 第2に、従来の方法は、オペレーティングシステムをバイパスし、ハードウェア、又はBIOS上で直接動作するウィルスを防止することはできない。 第3
    に、現存の抗ウィルスシステムは、オペレーティングシステムのモジュール(例えば、IO.SYS、MSDO
    S. SYSやCOMMAND. COM)に常駐するウィルスを防止することができない。

    【0007】従って、ウィルスがコンピュータシステムに入ることを防止するだけではなく、すでにコンピュータシステムに常駐するウィルスを除去し不能化することにより、コンピュータシステムをウィルスから保護するための装置及び方法に対する必要性が存在する。 さらに、また、システムのブートアップ時にウィルスから保護する必要性が存在する。

    【0008】

    【課題を解決するための手段】ウィルスからコンピュータシステムを保護するための本発明の好適な実施例は、
    システムのブート前にデータをコンピュータシステムの記憶装置に格納することを禁止するための手段と、すでにシステム内にロードされたプログラムの保全性を検査するための手段と、さらに、検査手段に応答して、システム内にロードされたプログラムがウィルスに感染していない場合にデータの記憶装置への格納を可能化するための手段と、から構成される。

    【0009】さらに、本発明の好適な実施例は、コンピュータシステム内にロードされて実行されるプログラムがウィルスに感染していないことを確保するための手段と、システム内に常駐している可能性のあるウィルスを除去するための手段と、から構成される。

    【0010】

    【実施例】図1は、本発明の好適な実施例を含む典型的なコンピュータシステム100のブロック図である。 コンピュータシステム100は、バス11を介して、RA
    M12やROM13や複数のI/O装置などの他の附属装置と相互動作する。 これらのI/O装置14は、データ記憶装置(例えば、フロッピーディスクやハードディスク)、キーボード(図示せず)、モニタ(図示せず)
    などの基本的装置を含んでいる。 I/O装置14は、さらに、テープやCD−ROM(図示せず)のような、1
    又はそれ以上の呼び出し組み込み可能な装置(任意選択)を含んでいる。

    【0011】記憶装置14の1つは、(電源オンのような)起動時にプログラムをブートするために用いることが可能である。 このように用いられるので、このような記憶装置14はブート装置とも呼ばれる。

    【0012】ROM13は、コンピュータシステム10
    0のI/O装置14とインタフェース動作を実行すための基本入出力システム(BIOS)として一般に知られているソフトウェア指令を含んでいる。 さらに、ROM
    13には、ブート装置からブートプログラムをロードするように動作するソフトウェアルーチンが格納されている。 ブートプログラムは、通常は、コンピュータシステム100の電源オン時、又はシステムの初期化が必要とされる場合に、実行される。

    【0013】今日の大部分のコンピュータシステムで行われているように、I/O装置14は割り込みを発生することにより、CPU10と通信を行う。 CPUは割当てられた個々の割り込みコードを介してI/O装置の中から割り込みを識別する。 CPU10のI/O装置に対する応答は、とりわけ、割り込みを発生する装置14に依存している。 割り込みベクタは、異なる割り込み処理ルーチンにCPU10を向けるために設けられる。 例えば、今日の多くのパーソナルコンピュータでは、256
    の割り込みベクタが割当てられている。

    【0014】割り込みベクタは、BIOSの実行によるコンピュータシステム100の起動(又はブート)の間に発生される。 装置割り込みに対するCPU100の応答は時間を経るごとに変化される必要があるので、割り込みベクタも、CPU10を異なる割り込み処理ルーチンに向けることが可能なように、時間を経るごとに修正する必要がある。 割り込みベクタの修正を可能にするために、割り込みベクタはコンピュータシステム100の動作時にRAM12内に格納される。

    【0015】効率とユーザとの親和性を増加させるために、大多数のコンピュータシステムは、典型的にはオペレーティングシステムプログラム(例えば、マイクロソフト社のディスクオペレーティングシステムであるMS
    DOS)により制御される。 オペレーティングシステムは、(IO.SYSのような)基本I/O装置を駆動して、(例えば、MSDOSのような)他のシステム制御モジュールを制御するためのモジュールから構成される。 さらに、オペレーティングシステムは、ユーザにより入力された指令を翻訳するための(MSDOSのCO
    MMAND. COMのような)指令インタプリタを含むことが可能である。

    【0016】図2には、コンピュータシステム100の電源が入れられた従来の初期起動の様子が示されており(ブロック20)、CPU10は通常は最初に、ROM
    13内のBIOSの一部として格納された電源オン自己試験(POST)(ブロック21)を実行する。 POS
    T内に誤差がない場合には、ブートプログラムがブート装置からコンピュータシステム100(ブロック22)
    内にロードされる。 ブートプログラムが誤差なしで実行されると、オペレーティングシステムモジュール(I
    O. SYS)がロードされる(ブロック23)。 このオペレーティングシステムモジュールは、基本I/O装置14のためのソフトウェアドライバである。 気温I/O
    装置14が次いで試験される(ブロック24)。 次いで、オペレーティングシステム(MSDOS.SYS)
    のコア(ブロック25)、組み込み可能な装置に関するソフトウェアドライバ(ブロック26)、及び指令インタプリタ(COMMAND.COM)がロードされて、
    次いで実行される。

    【0017】上述の手順の完了後に、ブーティング動作が終了したものと判断されて、コンピュータシステムは通常の動作の準備を完了する。 それから、1又はそれ以上のアプリケーションプログラムのロード及び実行を含む指令をユーザから受け取ることが可能になる。

    【0018】現在のコンピュータウィルスは、通常は、
    次のように分類可能である。 すなわち、(1)ブート時間感染ウィルス、(2)プログラム感染ウィルス及び(3)システム感染ウィルスである。

    【0019】ブート時間感染ウィルスは典型的には、ブート時にブートプログラムをウィルスプログラムと置き換えることによりコンピュータシステムに影響を与えて、システムを制御する。 どのようにしてウィルスがコンピュータシステムの制御を奪うかについて説明するために、最初に通常のブーティング手順を説明される。

    【0020】コンピュータシステム100が、(感染したフロッピーディスクをフロッピーディスク装置に挿入した場合などに)ウィルスで感染されと、ウィルスはブーティング手順の間に1又はそれ以上の(例えば、ディスク記憶割り込みベクタなどに関する)割り込みベクタを変更し、それらがウィルスプログラムを指摘するようにする。 コンピュータシステム100はBIOSの部分としてウィルスプログラムを認める。 こうして、ウィルスプログラムは、ディスクアクセスに関する割り込み処理プロセスの制御を盗むことが可能になる。 例えば、ユーザがディスクからデータにアクセスする時に、ウィルスプログラムが自己をディスクに複写可能になる。 コンピュータは通常に動作しているように見えるが、コンピュータシステム内のディスクはすでに感染している。

    【0021】プログラム感染ウィルスは通常はアプリケーションプログラム内に常駐している。 それらは、典型的には、割り込みベクタを修正することによりアプリケーションプログラムの実行の間にコンピュータシステムを攻撃して、システムにウィルスプログラムを実行させる。

    【0022】システム感染ウィルスは通常は(IO.S
    YSやMSDOS. SYSなどの)オペレーティングシステムプログラム内に常駐している。 それらはブーティング手順時にシステムを攻撃する。

    【0023】図3は、図2に示したと同様のシステム起動プロセスの流れ図である。 しかし、プロセスは改良されて本発明を組み込んでいる。

    【0024】最初に、システムの電源が入れられて、C
    PUがステップ20で開始する。 システムの電源オン時に、POST(ブロック21)で誤りなしに実行されると、ブーティングプログラムがブーティング装置からコンピュータシステム100に通常通りロードされる(ブロック22)。

    【0025】本発明によれば、ブーティングプログラムがロードされて実行される前に(ブロック23)、設定/開放スイッチ16が記憶装置14への書き込みを禁止するべく設定される(ブロック21A)。 換言すれば、
    設定/開放スイッチ16の設定により、記憶装置(読み出し専用)14からのデータの取り込みだけが可能になる。

    【0026】特定の記憶装置へのデータの格納を禁止するための方法は、いくつかの方法で実行可能である。 例えば、コンピュータシステム100のバス制御器15はバス11を通過する全てのI/O動作を画面表示するので、設定/開放スイッチ16の設定に応答して、指定されたI/O装置14に対する書き込み動作を拒絶することが可能である。

    【0027】代わりに、設定/開放スイッチ16'をR
    OM13に格納されたBIOSに常駐させることが可能である。 全てのI/O動作はBIOSの実行ににより行われるので、BIOSは、設定/開放スイッチ16'の設定によりBIOSが効果的にある装置への書き込み指令を無視するように、実行可能である。

    【0028】さらに、設定/開放スイッチ16の設定は、(揮発性記憶装置に比較して)、不揮発性スイッチ14に対する書き込みのみを禁止すべきである。 これらの装置の内容の保全性のみが保持される必要があるからである。

    【0029】設定/開放スイッチ16を設定することにより、ウィルスはブート時に記憶装置14内のデータ/
    プログラムを攻撃することができなくなる。

    【0030】流れ図は設定/開放スイッチ16の設定がコンピュータシステム100のブート前に正しいことを示しているが、スイッチ16はシステムのブート前のいかなる時点でも(書き込み動作を禁止するべく)設定することが可能である点は、当業者であれば理解できよう。 例えば、設定/開放をシステムの電源オン信号により設定可能である。

    【0031】設定/開放スイッチ16が設定された後に、コンピュータシステム100は、ブートプログラムと基本デバイスに関するロードと実行を開始可能になる(ブロック22及び23)。

    【0032】これらのプログラムがロードされて実行された後に、コンピュータシステム100は、コンピュータがウィルスにより攻撃されたかどうかを検査するであろう(ブロック23A)。 これは、RAM12内にすでにロードされた割り込みベクタを対応する通常の(感染していない)値と比較することにより行われる。 割り込みベクタの通常の(感染していない)値は記憶装置14
    内のどれかに格納可能である。

    【0033】代わりに、割り込みベクタのデフォルト値は通常はBIOSのアドレス範囲を指摘しているため、
    比較は、ベクタ値がかかる好適な範囲内にあるかどうかを検査するだけである。

    【0034】費用対効果の関係次第で、1つだけの又は特定の組の割り込みベクタがチェックされるべきである。 例えば、大部分のブート時感染ウィルスはモニタの割り込みベクタを使用するので、本発明の目的のためには、かかる割り込みベクタが変更されたかをチェックするだけで十分である場合もある。

    【0035】割り込みベクタの値が変更された場合には、コンピュータシステム100は、ブーティングプログラムがウィルスに感染していることをユーザに知らせる信号を発生するような、適切な救済行動を起こす(ブロック2)。 本発明の好適な実施例によれば、ウィルスインディケータ17は不揮発性記憶装置の1つの中に置かれている。 システムがブーティングプログラムを発見すると、ウィルスインディケータが、ブーティング装置が感染したことをユーザに報告するように設定される。
    ウィルスインディケータ17もまた不揮発性記憶装置内に格納される。

    【0036】割り込みベクタが汚染されていない場合には、コンピュータシステムの電源オン動作がシステムドライバ(MSDOS.SYS)(ブロック25)及び組み込み可能なデバイスドライバ(ブロック26)をロードして継続される。 しかし、好適な実施例においては、
    このような各プログラムは、ウィルスが常駐していないと判定された後(ブロック24A及び25A)にのみ、
    ロードされる。

    【0037】別の方法として、感染されていない状態のブーティングプログラムのコピーをコンピュータシステム100内の、ROM13又は不揮発性記憶装置14のいずれかに格納することも可能である。 このコピーはブーティング前にブーティング装置からのブートプログラムを比較するために用いられる。

    【0038】好適な実施例によれば、いくつかのプログラムモジュール(MSDOS.SYS、組み込み可能なデバイスドライバ、及びCOMMAND.COM)はロードされることが必要であるが、これらがロードされる前にこれらのプログラムの安全性をチェックするための手段が設けられているので、設定/開放スイッチ16又は16'は、RAM12内の割り込みベクタが変更されていない場合には、この時点でリセット可能である。 かかる手段が設けられていない場合には、設定/開放スイッチ16又は16'は、ステップ26Cの電源オンプロセスの終わり近くにリセット可能である。

    【0039】好適な実施例では、感染されていない状態のシステムモジュール(MSDOS.SYS及び組み込み可能なデバイスドライバ)のそれぞれのチェックサムが格納される。 これらのモジュールの各々がロードされて実行される前に、対応するチェックサムが計算されて、格納された値と比較されて、オペレーティングシステムモジュールが感染されたかどうかが判定される。 比較により変更がないことが示されると、システムはプログラムをロードして通常の手続を進める。 そうでない場合には、警告信号とウィルスインディケータ17が、ユーザにブーティング装置の交換を報告するように設定される。

    【0040】電源オン手順は、ここでほとんど完了し、
    CPU10の作動準備が完了する。 しかし、システムをファイルタイプ(又は、プログラムタイプ)ウィルスから保護するために、検証プログラムが、プログラムタイプウィルスがコンピュータシステム内に入り込むのを防止するために好適な環境に組み込まれる。 (ブロック2
    6A及び26B)。 検証プログラムは、ユーザがシステムに感染されてない状態の各アプリケーションプログラムに固有の特性(例えば、チェックサム)を与えることを要求する。

    【0041】システムは、ステップ26Bにおいて与えれた特性に対してアプリケーションプログラムの特性をチェックする。 特性が整合した場合にはプログラムの実行が許可される。

    【0042】本発明の別の好適な実施例によれば、ウィルス除去手段が設けられる。 ウィルスクリアリングプログラムは上述のステップで検出されたウィルスを除去する。 ウィルス除去手段は、ブーティングプログラム、オペレーティングシステムモジュール及び組み込み可能なデバイスドライバの良好なコピーを格納する。 ウィルスが前述のブーティングプロセスで検出されると、プログラムの良好なコピーが不揮発性読み出し専用記憶装置から、前のブーティングプロセスで用いられた不良なコピー上に複写される。 上述のウィルス検出方法の1つは、
    検証プログラム及びウィルス除去プログラム内のウィルスの存在を検出するために用いることも可能である。

    【0043】

    【発明の効果】本発明の保護システムによれば、ブーティング手順の間におけるウィルス保護の不利益を減じることが可能である。 保護システムはブーティング手順を制御して、正確にかつ効果的にシステムをコンピュータウィルスの汚染から防止可能である。 さらに、保護システムの好適な実施例によれば、プログラムタイプのウィルスによる被害を防止し可能であり、さらに、ウィルス清浄手段が設けられる。 このような効果は従来の保護システムによって得ることができない。 このように、本発明の保護システムによればコンピュータウィルスに起因する損害を広範囲に保護可能である。

    【0044】もちろん、上述の記載は本発明の好適な実施例に過ぎず、各種の変更及び修正を本発明の真の精神及び広い観点を離れることなく実施することが可能である。

    【図面の簡単な説明】

    【図1】本発明が組み込まれるコンピュータシステムのブロック図である。

    【図2】コンピュータシステムの典型的な電源オン動作の流れ図である。

    【図3】本発明のウィルス防止システムの好適な実施例のブロック図である。

    【符号の説明】

    100 コンピュータシステム 10 CPU 11 バス 12 RAM 13 ROM 14 I/O装置 15 バス制御器 16、16' 設定/開放スイッチ 17 ウィルスインディケータ

    フロントページの続き (51)Int.Cl. 5識別記号 庁内整理番号 FI 技術表示箇所 G06F 11/00 350 M

    高效检索全球专利

    专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

    我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

    申请试用

    分析报告

    专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

    申请试用

    QQ群二维码
    意见反馈