(57)【要約】  コンピューティング・デバイスのメモリにおいてウィルスをスキャンする方法であって、その方法において、実行可能としてマークされたメモリページのみがスキャンされる必要がある。書込み可能から実行可能へページを変更するＡＰＩを介してか、又は、実行可能なページが修正されたというカーネルの通知を介することを、スキャンのトリガとすることができる。本発明は、より従前のファイルシステムのスキャンを余分なものとする点で、効率的である。このことは、電力を節約し、デバイスをより速く実行させる。また、他の方法ではできなかったウィルスの検出を、実行段階において実現することができる。【選択図】図１
2009520293.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティング・デバイスを動作させる方法であって、
ａ．前記デバイス上で、非実行可能なメモリから実行可能なメモリを分離し、
ｂ．実行可能なメモリのみからの任意のコードの実行を許可し、
ｃ．マルウェア用に、前記デバイス上で前記実行可能なメモリのみをスキャンすることができる第１のソフトウェア・エンティティを用いる、
ことによって、前記デバイスが実行可能なマルウェアから保護される、方法。
【請求項２】
前記コンピューティング・デバイス上の前記メモリは、実行可能か、または、非実行可能として設定され得るページを含んでいる、請求項１に記載の方法。
【請求項３】
前記第１のソフトウェア・エンティティは、前記デバイス上の実行可能なメモリの内容が変更されたという通知に応じて、マルウェア用に、前記デバイス上の前記実行可能なメモリをスキャンする、請求項１又は２に記載の方法。
【請求項４】
前記通知は、実行可能なメモリの単一のページが変更されたことであり、前記第１のソフトウェア・エンティティは、変更された前記ページのみをスキャンすることによって応答する、請求項３に記載の方法。
【請求項５】
未処理(outstanding)の通知、若しくは、スキャンされるべきページの要求は、それらが処理されるまでキューに保持される、請求項４に記載の方法。
【請求項６】
変更された実行可能なメモリからコードを実行しようとするソフトウェア・アプリケーションは、前記変更されたメモリがマルウェア用にスキャンされるまで、そのように行うことを阻止される、請求項３乃至５のいずれか１項に記載の方法。
【請求項７】
変更された実行可能なページにおけるマルウェアの検出は、内容を実行しようとするソフトウェア・アプリケーションを中断させる、請求項６に記載の方法。
【請求項８】
変更された実行可能なコードにおけるマルウェアの検出は、前記マルウェアを含むとして検出された前記メモリを一掃させる、請求項６又は７に記載の方法。
【請求項９】
前記コンピューティング・デバイスは、書き込み可能なメモリが実行されることができず、実行可能なメモリが書き込まれることができないように構成され、第２のソフトウェア・エンティティは、前記メモリにおけるページを、書き込み可能か、又は、実行可能としてマークすることができる、請求項２に記載の方法。
【請求項１０】
少なくとも１つの書き込み可能なメモリページからコードを実行しようとするソフトウェア・アプリケーションは、前記ページが実行可能とされるべきということを前記第２のソフトウェア・エンティティに要求し、
前記第１のソフトウェア・エンティティが最初に読み出し専用として前記ページをマークし、その後、マルウェア用に前記ページをスキャンするまで、前記第２のソフトウェア・エンティティは前記要求を満たさない、請求項９に記載の方法。
【請求項１１】
メモリページにおけるマルウェアの検出は、前記メモリページに、実行可能よりもむしろ書き込み可能としてマークさせる、請求項１０に記載の方法。
【請求項１２】
メモリページにおけるマルウェアの前記検出は、内容を実行しようとするソフトウェア・アプリケーションを中断させる、請求項１０又は１１に記載の方法。
【請求項１３】
メモリページにおけるマルウェアの検出は、前記ページの前記内容を一掃させる、請求項１０乃至１２のいずれか１項に記載の方法。
【請求項１４】
請求項３乃至８のいずれか１項に記載の方法と請求項９乃至１３のいずれか１項に記載の方法との組み合わせを含み、コンピューティング・デバイスを動作させる方法。
【請求項１５】
請求項１乃至１４のいずれか１項に記載の方法を実行するようにプログラムされたコンピューティング・デバイス。
【請求項１６】
請求項１乃至１４のいずれか１項に記載の方法に従って、コンピューティング・デバイスを動作させるオペレーティング・システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピューティング・デバイスを動作させるための方法に関し、特に、コンピューティング・デバイス内の悪意のあるソフトウェアをスキャンする改良された方法に関するものである。
【背景技術】
【０００２】
本発明のコンテキストにおいて、「コンピューティング・デバイス」という用語は、限定なしで、デスクトップ型とラップトップ・コンピュータ、パーソナル・デジタル・アシスタント（ＰＤＡ）、移動電話機、スマートフォン、デジタルカメラ及びデジタル音楽プレイヤを含むものである。この用語は、また、他の多くの産業用及び家庭用電子機器と共に、既述した少なくとも１つのクラスの装置の機能性を組み入れた集中型装置も含むものである。
【０００３】
特に、コンピューティング・デバイスがネットワーク上で別の装置に接続されている場合、コンピューティング・デバイスに影響を与える悪意のあるプログラム（即ち、マルウェア）に関連して大きなリスクが存在するという一般的認識が現在、広く行き渡っている。このようなマルウェアは、一般に、ウィルスと命名されていることが全ての例について共通している。しかし、セキュリティの専門家は、多数の様々な種類のマルウェアを区別している。直近のインターネット記事（非特許文献１）は、１１の異なるタイプを識別し、これについて説明しているが、この中には、ウィルス、ワーム、ワビット（Wabbit）、トロージャン（Trojans）、バックドア（Backdoors）、スパイウェア、エクスプロイト（Exploits）、ルートキット（Rootkits）、キー・ロガー（Key Loggers）、ダイアラ（Dialers）及びブラウザハイジャッカー（Browser Hijackers）が含まれている。
【０００４】
マルウェアは、様々な方法でコンピューティング・デバイスの中へ入り込むことができる。感染源を運ぶソフトウェアをインストールした結果、デバイスのユーザがトリックにかかって多数の感染が生じることになる。インストール可能なソフトウェア・パッケージ及びマクロのような別のコード項目の証明、認証及び検証によって、デバイスの中へ入り込むこのような経路は比較的容易にモニタすることができる。しかしながら、ユーザは、必ずしも常時インストール段階で与えられる信頼できないソフトウェアの危険性についての警告に注意を払っているというわけではない。さらに、マルウェアは、インストール可能な、実行可能ファイルのみに限定されるわけではなく、電子メール及び電子メールの付属物のような別の手段を経由して拡散する可能性もある。
【０００５】
このため、コンピューティング・デバイスはますますアンチウィルス・ソフトウェアを装備するようになる。このようなソフトウェアは、従来、フッキングによりホストオペレーティングシステムのファイルシステムの中へ入り込むか、若しくは、ファイルをディスクへ書き込んだり、ディスクから読み出したりするとき、ファイルのスキャンを行うことによって作動するものであった。このスキャン中、これらのファイルは、マルウェアを識別するために署名または指紋(fingerprint)として使用することができる一意の一連のバイトを探索する。ほとんどのパーソナルコンピュータ・ユーザは、この方法が有効なものであれば、この種類のソフトウェア用のウィルス定義ファイルを最新のものに維持する必要があることを認知している。
【０００６】
オン・ザ・フライ（on-the-fly）をスキャンする過程は誤りに陥りやすい（例えば、リムーバブルな媒体上の潜在的なマルウェアの感染を検出することができない）ため、アンチウィルス・ソフトウェアのほとんどのタイプは、より深いバッチモードにおいて定期的に実行されることが多い。その間に、ファイルシステム全体の全ての内容は、上記の指紋を探索することで解析される。
【０００７】
しかしながら、ファイルシステムのみをスキャンするアンチウィルス・ソフトウェアは、全てのマルウェアを捕まえることができない。ファイルシステムとは別のデバイスが感染しうる経路となる他の方法があることが知られている。コンピューティング・デバイス上でコードを実行可能にするために、マルウェアによって利用され得るセキュリティホールは、コンピューティング・デバイスを制御するオペレーティングシステムと、共通に用いるソフトウェア・パッケージとのいずれかにおいて定期的に見出されることが知られている。
【０００８】
非特許文献２での記事は、多くのそのような「エクスプロイト」（セキュリティ上の弱点）を一覧にしており、これには、バッファ・オーバフロー、整数オーバフロー、メモリ破壊、フォーマット・ストリング攻撃、レース・コンディション（race condition）、クロスサイト・スクリプト（cross-site scripting）、クロスサイト要求偽造、ＳＱＬ注入バグ（SQL injection bugs）が含まれている。多くのルートを介してデバイスに進入するマルウェアは、それ全体がメモリの中に存在しながら、ファイルシステムのスキャンによっては検出できないことがある。このタイプのマルウェアの一例は、コミュニケーション・スタックの脆弱性を利用して、ある機械のメモリから他の機械のメモリに伝播する、いわゆるワーム（worm）であろう。
【０００９】
そのような理由で、アンチウィルス・ソフトウェアは、一般的に、ファイルシステムの内容と同様に、揮発性メモリ（ＲＡＭ）の内容をチェックする。その結果、メモリ常駐のマルウェアの様々なタイプの署名を探索する。
【００１０】
全てのコンピューティング・デバイスは、単にデスクトップやラップトップ・コンピュータだけでなく、潜在的に、マルウェア攻撃にさらされていることに留意すべきである。バッテリ駆動の移動型端末を含む他のコンピューティング・デバイス上でセキュリティホールが利用される。特に、明らかなこととして、電源を投入されるかまたは長時間スタンバイのままであり、不揮発性のフラッシュメモリの技術をしばしば用いる、スマートフォン等の移動型コンピューティング・デバイスにとって、ワームのようなメモリベースのマルウェアは、揮発性のダイナミックＲＡＭを搭載したコンセントを介した主電源（mains-power）を用いるコンピュータ上にあるよりも、より危険である。これは、主電源を用いるコンピュータは、メモリ常駐型のマルウェアを一掃するように定期的に電源を落とすことに頼ることができるためである。
【非特許文献１】インターネット〈http://en.wikipedia.org/wiki/Malware〉
【非特許文献２】インターネット〈http://en.wikipedia.org/wiki/Exploit_(computer_science)〉
【発明の開示】
【発明が解決しようとする課題】
【００１１】
現在のアンチウィルス・ソフトウェアは、ファイルシステムのスキャンに大きく依存している。しかしながら、この目的のために用いられる既存の方法には問題がある。
【００１２】
・バッチスキャンが実行されるまで、うまく隠された多様なウィルスを検出できない場合がある。
【００１３】
・もし、ウィルスがディスクに書き込まれることに全く頼っていない場合には（例えば、完全なネットワークウィルス）決して検出できない。
【００１４】
・オーバーヘッドをすべてのファイルアクセスに付加する（組み込まれた実行ファイルを含む場合に、非実行ファイルに対してさえもである）
・オペレーティングシステムレベルにおける十分な実行は、スキャナにファイルシステムドライバとの共存を要求する。そのこと自身が、セキュリティの脆弱性をオープンできてしまう。もし、ウィルス攻撃がスキャナ自身を攻撃するのであれば、ファイルシステム全体への自由なアクセスを得る場合がある。
【００１５】
・特に、深いスキャンは、多くの実行ファイルや他の呼び出されることのないファイルの多くのスキャンとなってしまう。このことは、デバイスの動作のスピードを遅くすると同様に電力消費の点において、十分に効率的でない。バッテリ駆動のデバイス上で、電力の不必要な使用は、デバイス機能に対して致命的である。一方、コンセントを介した電源駆動のデバイス上でさえも推奨されるものでない。というのも、エネルギの浪費は、地球温暖化や環境破壊の原因となるからである。
【００１６】
上述したように、ファイルシステム単体でのスキャンはメモリのマルウェアを検出できないということが認識されているので、現在のアンチウィルス・ソフトウェアは、たいていデバイスメモリもスキャンする。しかしながら、メモリをスキャンする既存の方法は、欠点も有している。
【００１７】
・アンチウィルス・ソフトウェアが最初にロードしたときか、決められた時間間隔においてメモリスキャンがトリガされた箇所で、メモリの特定部分がスキャンされるまでに、任意のマルウェアが実行される場合がある。
【００１８】
・メモリの内容への変更によってメモリスキャンがトリガされた箇所で、全てのそのような変更を積極的にスキャンする必要がある。その結果、パフォーマンスが極度に悪化してしまう。
【００１９】
・デバイスメモリの全体をスキャンする必要がある。コンピューティング・デバイスが何ギガバイトものメモリを有するときに、そのことが顕著なオーバーヘッドとなる。このことは、上記の問題を悪化させる。
【００２０】
・実装がページングを要求するシステムにおいて（仮想メモリの部分がディスク上に維持される）、スキャナは、パフォーマンスがより低下しないように、メモリのどの部分がスワップファイルにおいて実際に存在しているかを認知する必要がある。
【００２１】
・メモリをスキャンすることは、特にバッテリ駆動のデバイスにとっては重荷となる。というのも、メモリを継続してスキャンするスキームは、電力消費の大きな増加を引き起こす可能性があるからである。さらには、上記で指摘されたように、ディスクのスキャンに関して、いかなる不要な電力使用も、バッテリ駆動のデバイスの機能に致命的となる。一方で、コンセントを介した電源駆動のデバイス上でさえも、それは、推奨されるものではない。というのも、エネルギの浪費は、地球温暖化と環境汚染を引き起こしてしまうからである。
【課題を解決するための手段】
【００２２】
マルウェアの署名や指紋のスキャンと同様の詳細な方法論を維持つつ、本発明は、既存のアンチウィルス・ソフトウェア・スキャンニング・ソリューションよりも強固かつ効率的な、悪意のあるコード感染を検出して駆除するシステムを実装するために、コンピュータ・デバイスをどのように構成するかということを開示している。
【００２３】
本発明の第１の観点によると、コンピューティング・デバイスを動作する方法が提供され、その操作方法は、以下によって、実行可能なマルウェアから保護される。
ａ．デバイス上で、実行可能なメモリを非実行可能なメモリと分離する。
ｂ．実行可能なメモリのみからの任意のコードの実行を許可する。
ｃ．マルウェア用に、デバイス上で実行可能なメモリのみをスキャンすることができる第１のソフトウェア・エンティティを用いる。
【００２４】
本発明の第２の観点によると、第１の観点による方法に従って動作するように構成されたコンピューティング・デバイスが提供される。
【００２５】
本発明の第３の観点によると、第１の観点による方法に従って、コンピューティング・デバイスを動作させるオペレーティングシステムが提供される。
【発明を実施するための最良の形態】
【００２６】
以下、本発明の実施形態を、添付の図面を参照し、さらなる例を通して、説明する。
【００２７】
本発明の背景となる認識は、ディスク上に格納されている実行可能コードが、それ自身は、事実上、無害であるということである。コードがメモリにロードされたときにさえ、害を及ぼさないままである。コードが実行されたときにのみ、コードは害を及ぼす機会を与えられたということになる。それゆえ、まさに実行しようとするコードを識別する方法を見出すことができるならば、メモリ内容全体をスキャンすることや、ファイルシステムのリード・ライトをスキャンすることや、マルウェアを検索する中でファイルシステム全体を深くスキャンすることを完全に免除することが極めて可能である。まさに実行されようとするコードを識別することによって、スキャンニング・プロセスは、より効率的となる。
【００２８】
本発明の実施の基本は、コンピューティング・デバイス用に、実行コードを含むメモリ部分と単にデータを含む部分とを区別することができる中央処理装置（ＣＰＵ）を用いることである。また、そのようなコンピューティング・デバイスにおけるアンチウィルス・ソフトウェア用に、コードを含むメモリの一部分の内容に変更があった場合に通知されるようなメカニズムが提供されるということである。
【００２９】
適切なプロセッサは、USAのカリフォルニアのサンタクララのインテル社によって設計されたインテルＩＡ−３２に準拠するメカニズムとともに、英国のケンブリッジのＡＲＭ社によって設計されたＡＲＭアーキテクチャ・バージョン６（ＡＲＭｖ６）に準拠するメカニズムを含んでいる。メモリ管理機能を含む多くの他のプロセッサに共通して、それらのＣＰＵは、アクセス可能なメモリをページに分割する。しかしながら、http://www.arm.com/pdfs/ARMv6_Architecture.pdfと、http://cache-www.intel.com/cd/00/00/14/93/149307_149307.pdfで述べられているように、ページは、非実行可能として、マークされる。そのようなケースにおいて、ページは実行コードとして用いられることができない。ＡＲＭアーキテクチャは、メモリの各ページ用にＸＮビットを設定することによって、このことをアーカイブに格納している。ここで、ＸＮは、Ｅｘｅｃｕｔｅ  Ｎｅｖｅｒを表している。一方、インテルは、Ｅｘｅｃｕｔｅ  Ｄｉｓａｂｌｅビットを設定することによって、メモリページのマーキングをアーカイブに格納している。
【００３０】
注目すべきことは、Ｅｘｅｃｕｔｅ  Ｄｉｓａｂｌｅビットが、マルウェアにデータページにおいてコードを実行させないように提供されていることを公表している一方、明らかに、スタックやバッファ・オーバーフローのようなマルウェアの利用による攻撃を防ぐことを目的としている。そのようなメカニズムの使用のインテルの開示においては、本発明において開示されているような、ウィルス・スキャン固有の電力の浪費を低減したり効率を改善したりするためのどのようなヒントもない。
【００３１】
本発明の１つの実施形態は、図１に示されている。また、コンピューティング・デバイス用のオペレーティングシステム（若しくは、匹敵する任意の制御ソフトウェア）は、非実行可能メモリページのタイプをサポートする。本実施形態において、デフォルト設定では、実行コードが必要とされるまで、全てのメモリが非実行可能としてマークされ、明白にマークされていない場合は、実行可能としてマークされる。そのようなマークされないということが実行されると、即時の効果として、ウィルス・チェック用のスキャン検索スペースが大きく低減されることが分かる。というのも、実行可能としてマークされたメモリのページだけが、ウィルスをベースとしたネイティブ・コード用にスキャンされる必要があるからである。なお非実行可能ページとしてマークされたメモリのページは無視される。とういうのも、それらが含むコードは実行することができず、悪意のある害を及ぼす原因になり得ないからである。
【００３２】
しかしながら、本発明の更なる実施形態として、メモリの実行可能なページの１つの内容に変更があった場合に、オペレーティングシステムを介するか又は直接に、アンチウィルス・ソフトウェアに通知するというメカニズムを提供する。このことは、メモリの再スキャンを必要なときのみに実行することを可能にする。そのことによって、完全なメモリスキャンの必要を最小限にすることができる。
【００３３】
このような通知のメカニズムが実行されるような多くの方法が存在する。２つ（排他的でない）の示唆される方法を以下に示す。
【００３４】
１．Ｉｎｔｅｒａｃｔｉｖｅ（対話型）：この方法は、図２に示されていて、上述したＡＲＭとインテルアーキテクチャを含む多くのプロセッサが付加的に、メモリページを書き込み防止もしくは読み出し専用としてマークすることができるという事実を利用している。アプリケーション・プログラミング・インタフェース（ＡＰＩ）は、コンピューティング・デバイス上のクライアント・アプリケーションに提供され、デバイス上で実行できるように割り当てられるべきメモリ領域を呼び出す必要がある。本実施形態において、メモリ領域が割り当てられた場合に、同時に、関連するメモリページ用に、非実行可能なビットがオフにトグルされ、書き込み防止のビットがオンにトグルされる。用いられるべきメモリの全てのページが、それゆえ、書き込み可能か実行可能な状態である。ページは、同時に、書き込み可能と実行可能になることはできない。また、デバイスは、それゆえ、実行可能なページへの書き込みを許可することはない。従って、悪意のあるコードを含むことができるクライアント・アプリケーションは、必要とされるページに書き込まれることができる。その理由として、それらは、書き込み可能としてトグルされているからである。しかしながら、クライアント・アプリケーションが書き込み可能から実行可能までトグルされることを任意のページに要求する場合には、そのページは、直ちに、読み出し専用としてマークされ、スキャンされるべきページのリストに追加される。アンチウィルス・ソフトウェアが、成功裏にスキャンを完了した後のみに、クライアントＡＰＩコールは、リターンする。もし、スキャンの結果がクリーンである場合には、そのページは、その後、読み出し専用と同様に実行可能としてマークされる。関連するページのクライアント・コードがデバイス上で実行でき、しかし、新たなコードはページに書き込まれない。その理由として、そのページは読み出し専用としてマークされているからである。しかしながら、スキャンがいかなる疑わしいコードを検出した場合には、状態の変更は失敗し、そのページは、書き込み可能および非実行可能としてマークされた状態に戻るであろう。付随的に、メモリページの全体の内容は、その後、一掃されるであろう。
【００３５】
殆どのコンピューティング・デバイス上の既存の殆どのソフトウエアにとって、プログラムローダは、上記のＡＰＩを用いるように修正される必要がある唯一のエンティティである。プログラムローダを回避するようないかなる試みも、必然的に失敗するであろう。そのような試みとして、例えば、非実行可能なページからコードを実行しようとすることが挙げられる。
【００３６】
２．Ｒｅｓｐｏｎｓｉｖｅ（応答型）：これは、ＡＰＩの変更を全く必要としない。また、実行可能なページが書き込まれることを許可する。しかしながら、実行可能なページが修正されたときはいつでも、ウイルススキャナは、オペレーティングシステムを介して通知される。また、その後、ページをスキャンすることについて設定する。もし、悪意あるコードが発見された場合には、スキャナは、このことを、非実行可能のページフラグを設定するカーネルに示す（また、付随的に、ページの内容を一掃する）。よりよい応答として、実行される疑わしいコードのリスクがない場合に、スキャンは非同期に進められることができる。もし、ウィルス・スキャンが成功裏に完了する前に、そのページにおけるコードを実行しようとする場合に、オペレーティングシステムのカーネルは、任意のスレッドを一時停止することができる。
【００３７】
実行可能なページの内容を修正しようとするいかなる試みがされた場合にも、割り込みをトリガすることができるメモリマネージャ内で、特別な例外処理を設定することによって、応答型モードが実行されるようにしてもよい。示唆されるメカニズムは、ページフォルトのメカニズムに類似したメカニズムとして、当業者によく知られている。しかしながら、通知の他の方法が可能であり、本発明は、示唆されたそのメカニズムに限定されない。
【００３８】
上述の実施形態は、説明上の目的のために提供されたのみであって、本発明が、特定の実施形態に限定されることを示唆するわけではない。本発明は、ここで開示された発明の範囲から逸脱することなく、多くの異なるオペレーティングシステムやコンピューティング・デバイス上で、多くの方法によって実行されることができる。
【００３９】
上述から、幾つかの利点が本発明の使用を通して生じることが分かる。
【００４０】
・ファイルスキャンが、ほとんど余分なものとなる。
【００４１】
・実行され得る全てのコードがスキャンされ、マルウェアがないものとして証明されることができる。そのことは、メモリページが書き込まれることがない場合に、再び、スキャンされる必要がない。
【００４２】
・このことは、ファイルシステムのウィルス・スキャナ・フックによりポーズ（pose）された非効率性とセキュリティ・リスクを取り除く。
【００４３】
・実行可能としてマークされたメモリのみがスキャンが必要とされる。
【００４４】
・ウィルス・スキャナは、バイナリ・ファイル・フォーマットにおける、また、それ上で用いられる任意の圧縮アルゴリズムにおけるいかなる変更も認識する必要がない。
【００４５】
・ウイルス性のコードの自己修正は、自動的に正確に同じである再スキャン要求を前提とするであろう。
【００４６】
・メモリスキャンＡＰＩは、同様のセキュリティリスクまたはオーバーヘッドをファイルシステム・プラグインとしてポーズしない。それは、頻度は低いものの比較的呼び出される（実行可能コードのロードは、ディスクがアクセスされるよりも頻度は低い）。また、それは、ＲＡＭページが多くのプロセスに対して明白とされ得るという事実のために、メモリの境界を跨って極めて効果的に実行される。ＡＰＩの誤用の結果は、自由なファイルシステムのアクセスよりもむしろ、サービスの否定（ロードされるコードの否定）による結果にすぎない。実行可能なコードのみがこのスキャナに明らかにされ、ロードされた全てのファイルが明らかにされるわけではない。
【００４７】
・ユーティリティと信頼性における利益と同様に、本発明を通して得られる特別な効率性は、電力を節約するということである。バッテリ駆動のデバイスにとって、このことは、バッテリの１セットもしくは単一のチャージ上での使用を長くすることができる。また、全てのコンピューティング・デバイス用の電力を節約することは、エネルギの浪費を低減し、地球温暖化と環境の汚染を低減することと直接的に考えられている。
【００４８】
本発明は特定の実施形態に関して述べられているが、付加された請求項の範囲に特定された本発明の範囲において、いくつかの変形例が実現されてもよい。
【図面の簡単な説明】
【００４９】
【図１】本発明におけるウイルススキャンの方法を示すフロー・ダイアグラムである。
【図２】メモリページが実行可能及び読み出し専用としてマークされた場合における、ウィルス・スキャンの方法を示すフロー・ダイアグラムである。
【図３】本発明において、メモリの修正された実行可能なページがスキャンされた場合における、ウィルス・スキャンの方法を示すフロー・ダイアグラムである。
【図１】
2009520293.tif 000003
【図２】
2009520293.tif 000004
【図３】
2009520293.tif 000005
【国際調査報告】
2009520293.tif 000006
2009520293.tif 000007
2009520293.tif 000008