JP2008507055A - アンチウィルス迅速化のための安全な記憶域追跡 - Google Patents

アンチウィルス迅速化のための安全な記憶域追跡 Download PDF

Info

Publication number
JP2008507055A
JP2008507055A JP2007521925A JP2007521925A JP2008507055A JP 2008507055 A JP2008507055 A JP 2008507055A JP 2007521925 A JP2007521925 A JP 2007521925A JP 2007521925 A JP2007521925 A JP 2007521925A JP 2008507055 A JP2008507055 A JP 2008507055A
Authority
JP
Japan
Prior art keywords
area
scan
code
read
security
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007521925A
Other languages
English (en)
Other versions
JP4627547B2 (ja
Inventor
チャレナー、デイヴィッド、キャロル
カリディス、ジョン、ピーター
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2008507055A publication Critical patent/JP2008507055A/ja
Application granted granted Critical
Publication of JP4627547B2 publication Critical patent/JP4627547B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/564Static detection by virus signature recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/80Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】セキュリティを損なわずに加速スキャン時間を可能にする装置、プログラム製品、および方法を提供すること。
【解決手段】コンピュータ・システムは、最後のウィルス・スキャン以後に記憶装置のどのファイルまたは記憶域が変更されているかを確実に追跡できるセキュリティ・サブシステムを含む。その場合、信頼できる情報を使用して、ウィルスなどの望ましくないコードまたはデータならびに無効または損なわれたレジストリ項目に関するスキャンを加速することができる。ウィルスの場合、変更されているファイルまたは記憶域は、ウィルス定義のスーパーセットと照らし合わせてスキャンされる。変更のないファイルまたは記憶域は、ウィルス定義のサブセットと照らし合わせてスキャンされる。
【選択図】 図1

Description

本発明は、望ましくないコードまたは悪意あるコードに関する加速スキャンを可能にする方法、プログラム製品(program product)、コンピュータ・システム、およびその他の情報処理システムに関し、詳細には、最後のウィルス・スキャン以後に、どのファイルまたは記憶位置が変化したかを確実に追跡し、変化したファイルまたは変化していないが新しいウィルスに関するスキャンが行われていないファイルのみをスキャンすることにより、加速ウィルス・スキャンを可能にするコンピュータ・システムに関する。
初期のコンピュータは「独立型(stand alone)」であり、他のコンピュータと通信することができなかったが、今日ではほとんどのコンピュータが、データの共用、電子メール、プログラムのダウンロード、動作の調整などを含む様々な目的のために他のコンピュータと通信することができる。この通信は、ローカル・エリア・ネットワーク(LAN:Local Area Network)または広域ネットワーク(WAN:Wide Area Network)にログオンすることによって達成される。この視野の拡大は明白な恩恵を有するが、特にウィルスによる弊害に対する暴露の増加という犠牲を払って手に入るものである。
ウィルスとは、その生物学上の相当物に類似して、通常、本来は健全な1つのコードまたはデータに感染するプログラミング・コードである。ウィルスは、感染したコンピュータを非効率的に動作させるかまたは完全に故障させるなどの望ましくない事象を引き起こす。多くのウィルスのもう1つの狡猾な特徴は、ネットワーク上の他のコンピュータに伝搬する能力である。
ファイル・インフェクタ(infector)、システム(またはブートレコード)・インフェクタ、ワーム、およびマクロ・ウィルスを含む、少なくとも4つの主要クラスのウィルスを検出することができる。ファイル・インフェクタはそれ自体をプログラム・ファイルに付加する。プログラムがロードされると、ウィルスもロードされ、ウィルスがその弊害を実行できるようにする。システム・インフェクタは、オペレーティング・システムのレジストリまたはハード・ディスク内のマスタ・ブート・レコードなどの特定のハードウェアに感染する。マスタ・ブート・レコード感染は、多くの場合、その後のリブート時にハード・ディスクを動作不能にし、コンピュータのブートを不可能にすることになる。ワーム・ウィルスは、メモリまたはネットワーク帯域幅を消費し、その結果、コンピュータを非応答性にする。マクロ・ウィルスは、最も一般的なウィルスの中に含まれ、ワード・プロセッサ・プログラムに感染する。
もう1つの一般的なタイプのウィルスは、ブラウザおよび電子メールにねらいを定めている。このようなウィルスの1つはサービス妨害(DoS:Denial of Service)という攻撃を引き起こす。DoSウィルスは、Webサイトが訪問者を受け入れられないようにする。通常、このような攻撃は、多数の感染したコンピュータに強制的に(無意識に)Webサイトをヒットさせた結果として、Webサイトのバッファをオーバフローさせる。
ウィルスを阻止するために、アンチウィルス・プログラムが作成され、新しいウィルスに対して効果的になるように絶えず更新される。このようなアンチウィルス・プログラムは、物理媒体(CD−ROMなど)上で配布されるか、またはインターネットなどのネットワークからダウンロードされる。アンチウィルス・プログラムは、コンピュータ・システムの各記憶装置上のデータと、すべての既知のウィルス・タイプに関するすべての既知のウィルス紋(virus signature)を含むウィルス定義ファイルとを比較する。このプロセスは「スキャン(scanning)」と呼ばれる。典型的には、更新の迅速配備を行うために、このような更新もダウンロードされる。
しかし、ウィルス・スキャンを完了するために必要な時間は、ますます受け入れがたいものになり、問題となっている。受け入れがたいスキャン時間の一因となる2つの要因は、スキャンされるデータの量と、識別子を含むウィルス定義ファイルのサイズである。これらの要因はいずれも、際限なく増大しているように思われる。デスクトップ・システムが1テラバイトに近いディスク容量を有することは、まもなく一般的なことになるであろう。ウィルスを作成するハッカーは、それを行う動機付けが増進しているように思われ、速度を増してそれを行っている。一方では、スキャン・プロセスに必要な時間はディスク・アクセス速度との関連の方が強いので、ハード・ディスクのスキャンに要する時間はプロセッサ処理速度が増加しても大幅に増加することはない。スキャン時間の増加によって引き起こされる問題は、時間とともにより深刻かつより目立つものになるであろう。これらの要因を考慮すると、単にウィルス・スキャンが最終的に完了までに24時間を超える長い時間を要することになるという理由だけで、毎日のウィルス・スキャンが近い将来、不可能になることは予見できることである。さらに、ワークステーションは、スキャン・プロセスが行われている間、使用不能になる可能性がある。したがって、生産性は影響を受け、最終的なコスト分析により、その問題を矯正するためにシステム・コストの追加が正当化されることが明らかになるであろう。
もう1つの背景分野は、共通のハードウェア・プラットフォーム上に同時に存在する種々のオペレーティング・システムのために、または使用可能なハードウェア・リソースを完全に利用するために作成されたアプリケーションを実行する必要性から発生した仮想計算機および仮想計算機モニターを伴うものである。仮想計算機モニターは、1960年代後半以後に研究の主題となり、「仮想計算機モニター」(VMM:Virtual Machine Monitor)として知られるようになった。当業者であれば、たとえば、1974年発行のIEEE Computer、第7巻、第6号に掲載されたR.P.Goldbergによる「Survey of Virtual Machine Research」を参照されたい。1970年代には、もう1つの例として、International Business Machines社がそのVM/370システムに使用するために仮想計算機モニターを採用した。
仮想計算機モニターは、同文献で「ハイパーバイザ(hypervisor)」と呼ばれることもあり、ハードウェアの上で直接実行される1つの薄い(thin)ソフトウェアであり、その計算機のすべてのハードウェア・リソースを仮想化する。仮想計算機モニターのインターフェースはその計算機のハードウェア・インターフェースと同じであるので、オペレーティング・システムはVMMの存在を判別することができない。その結果として、ハードウェア・インターフェースが基礎となるハードウェアとの1対1の互換性を有するときに、同じオペレーティング・システムが仮想計算機モニターの上またはロー・ハードウェア(raw hardware)の上のいずれかで実行することができる。その場合、オペレーティング・システムの複数インスタンスを実行するか、または複数リソースからなる小さいサブセットのみが必要である場合は単にオペレーティング・システム・カーネルのインスタンスを実行することが可能である。各インスタンスは仮想計算機と呼ばれる。複数の仮想計算機の全域でオペレーティング・システムを複製することができるか、あるいは、各仮想計算機ごとに明確に異なるオペレーティング・システムを使用することができる。いずれにしても、仮想計算機は完全に自律型であり、ハードウェア割込みなどのハードウェア・リソースへのアクセスのために仮想計算機モニターに依存する。
1974年発行のIEEE Computer、第7巻、第6号に掲載されたR.P.Goldbergによる「Survey of Virtual Machine Research」 1986年発行のRay Duncanによる「Advanced MS−DOS: The Microsoft guide for Assembly Language and C programmers」(ISBM0−914845−77−2) www.trustedcomputinggroup.orgの「TCG TPM Specification Version 1.2」
セキュリティを損なわずに加速スキャン時間を可能にする装置、プログラム製品、および方法が必要である。さらに、このような短縮スキャン時間を達成できるプラットフォームを提供する装置が必要である。さらに、この装置によって提供される安全なプラットフォームを使用して、より効率よく安全にスキャンを実行するプログラム製品および方法が必要である。
以下に示すように、開示されている諸実施形態は、上記の必要性を満足し、追加の目的を達成しようとするものである。本発明は、最後のウィルス・スキャン以後に記憶装置のどのファイルまたは記憶域が変更されたかを追跡することができる方法、プログラム製品、およびシステムを提供する。さらに、前のスキャンに関する変数を保管するための安全な領域が提供される。その後、その情報を使用して、スキャンしたファイルの数を削減するかまたはスキャンに使用した望ましくないコードの識別子の数を削減するかあるいはその両方を行うことにより、望ましくないコードまたはデータに関するスキャンを加速することができる。
前述の課題は、本発明の一実施形態により、プロセッサおよびプロセッサによって第1のオペレーティング・システム下で実行されるコードを保管するためのメイン・メモリと、第1のオペレーティング・システム下で実行されるコードにとってアクセス不能である安全なメモリを有するセキュリティ・システムと、第1の領域と読取り/書込み領域とに細分される記憶装置とを含むシステムによって対処される。第1の領域は、通常読取り専用状態(normal read-only state)と書込み可能状態(writeable state)との間にセキュリティ・システムの制御下で安全に構成可能である。セキュリティ・システムは、少なくとも1つの信頼できる変数(trusted variable)を安全なメモリ内に維持する。信頼できる変数は、記憶装置上での悪意あるコードに関する最後のスキャンの発生を識別し、信頼できる変数を参照し、関連結果を報告することにより、最後のスキャンに関連する状況に関する要求に応答する。加えて、セキュリティ・システムは、第1の領域を書込み可能状態に構成するための提供された要求に応答して、安全なメモリから認証手順を呼び出す。
前述の課題に対処する本発明の一実施形態により、最後のスキャン以後に記憶装置の一領域に書込みが行われたかどうかを確実に判断するためにセキュリティ・サブシステムに照会するステップを含む方法が提供される。セキュリティ・サブシステムは、オペレーティング・システムから実行されているコードにとってアクセス不能であるメモリを含む。この判断は、セキュリティ・サブシステムによるアクセス不能メモリへの参照により信頼に資するものである。この方法は、最後のスキャン以後にその領域に書込みが行われたという照会による信頼できる判断に応答して、望ましくないコードの識別子についてその領域をスキャンするステップをさらに含む。
本発明の一実施形態により、最後のスキャン以後に記憶装置の一領域に書込みが行われたかどうかを確実に判断するためにセキュリティ・サブシステムに照会するステップを含む方法が提供される。セキュリティ・サブシステムは、オペレーティング・システムから実行されているコードにとってアクセス不能であるメモリを含む。この判断は、セキュリティ・サブシステムによるアクセス不能メモリへの参照により信頼に資するものである。この方法は、望ましくないコードの前の識別子が最後のスキャンに含まれていたかどうかを判断するステップと、(1)最後のスキャン以後にその領域に書込みが行われていないという照会による判断に応答し、さらに(2)前の識別子が最後のスキャンに含まれていたという判断に応答して、望ましくないコードの前の識別子に関するその領域のスキャンを迂回するステップとをさらに含む。
本発明の一実施形態により、最後のスキャン以後に記憶装置の一領域に書込みが行われたかどうかを確実に判断するためにセキュリティ・サブシステムに照会するステップを含む方法が提供される。セキュリティ・サブシステムは、オペレーティング・システムから実行されているコードにとってアクセス不能であるメモリを含む。この判断は、セキュリティ・サブシステムによるアクセス不能メモリへの参照により信頼に資するものである。この方法は、最後のスキャン以後に第1の領域に書込みが行われたという前記照会による信頼できる判断に応答して、望ましくないコードの既知の識別子について第1の領域をスキャンするステップと、望ましくないコードの前の識別子が最後のスキャンに含まれていたかどうかを判断するステップと、(1)最後のスキャン以後に第1の領域に書込みが行われていないという前記照会による判断に応答し、さらに(2)前の識別子が最後のスキャンに含まれていたという判断に応答して、望ましくないコードの前の識別子に関する第1の領域のスキャンを迂回するステップとをさらに含む。
本発明の一実施形態では、悪意あるコードについて記憶装置の読取り/書込み領域内のファイルをスキャンするステップを含む方法が提供される。記憶装置は、第1の領域と読取り/書込み領域とに細分される。第1の領域は、通常読取り専用状態と書込み可能状態との間に安全に構成可能である。領域の構成は、オペレーティング・システム下で実行されるコードにとってアクセス不能である安全なメモリを有するセキュリティ・システムの制御下にある。この方法は、悪意あるコードがまったく検出されない少なくとも1つのファイルを正常にスキャンしたときに、第1の領域を書込み可能状態に構成するためにセキュリティ・システムの第1のセキュリティ手段(security measure)を起動し認証するステップであって、その認証が安全なメモリから実行されるステップと、読取り/書込み領域内の正常にスキャンされたファイルを第1の領域に書き込むステップと、正常にスキャンされたファイルの書込み後に第1の領域を読取り専用状態に構成するステップとをさらに含む。
本発明の様々な実施形態は、本発明の諸実施形態のいずれかによるプロセスを実行するようコンピュータ(またはその他の電子装置)をプログラミングするために使用できる命令がそこに保管されている機械可読媒体を含むことができるコンピュータ・プログラム製品として提供することができる。
次に、添付図面に関連して、例証としてのみ、本発明を説明する。
本発明の好ましい一実施形態が示されている添付図面に関連して、以下により詳細に本発明を説明するが、以下に示す説明の冒頭にあたり、当業者であれば、依然として本発明の好都合な結果を達成しながら本明細書に記載する本発明を変更できることを理解されたい。したがって、以下に示す説明は、本発明に対する制限としてではなく、当業者に向けられた広く教示的な開示として理解されたい。
次に、複数の図面全体を通して同様の番号が同様の要素またはステップを示す添付図面をより詳細に参照して、本発明の好ましい一実施形態を説明する。本明細書全体を通して「一実施形態」、「1つの実施形態」、または同様の言い回しに対する言及は、その実施形態に関して記載した特定の特徴、構造、または特性が本発明の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書全体を通して「一実施形態では」、「1つの実施形態では」、および同様の言い回しの句が出現する場合、いずれも同じ実施形態に言及している可能性があるが、必ずそうであるわけではない。
図1は、ウィルスなどの悪意あるコードを含む望ましくないコードに関する加速スキャンを可能にするリソースを取り入れている本発明の好ましい一実施形態によるコンピュータ・システムのブロック図である。図1に描写されている例示的な実施形態は、ニューヨーク州アーモンクのインターナショナル・ビジネス・マシーンズ社(IBM)から販売されているThinkCentreまたはThinkPadシリーズのパーソナル・コンピュータのうちの1つなどのデスクトップ・コンピュータ・システム、またはIntellistationなどのワークステーション・コンピュータにすることができるが、以下の説明から明らかになるように、本発明は、任意のデータ処理システムにおけるウィルス・スキャンなどの効力およびセキュリティの増加に適用可能である(ThinkCentre、ThinkPad、およびIntellistationはインターナショナル・ビジネス・マシーンズ社の商標である)。
図1に図示されている通り、コンピュータ・システム100は少なくとも1つのシステム・プロセッサ42を含み、このシステム・プロセッサ42はプロセッサ・バス44によって読取り専用メモリ(ROM:Read-Only Memory)40およびシステム・メモリ46に結合されている。システム・プロセッサ42は、IBM社によって生産されたPowerPC(商標)系列のプロセッサのうちの1つを含むことができ、電源投入時にROM40内に保管されているブート・コード41を実行し、その後、システム・メモリ46に保管されているオペレーティング・システムおよびアプリケーション・ソフトウェアの制御下でデータを処理する汎用プロセッサである。システム・プロセッサ42は、プロセッサ・バス44およびホスト・ブリッジ48を介して周辺装置相互接続(PCI:Peripheral Component Interconnect)ローカル・バス50に結合されている。
PCIローカル・バス50は、アダプタおよびブリッジを含む複数の装置の接続をサポートする。このような装置の中には、コンピュータ・システム100とLAN10とのインターフェースとなるネットワーク・アダプタ66と、コンピュータ・システム100とディスプレイ69とのインターフェースとなるグラフィックス・アダプタ68が含まれる。PCIローカル・バス50上の通信はローカルPCIコントローラ52によって支配され、次にこのローカルPCIコントローラ52はメモリ・バス54を介して不揮発性ランダム・アクセス・メモリ(NVRAM:non-volatile random access memory)56に結合されている。ローカルPCIコントローラ52は、第2のホスト・ブリッジ60を介して追加のバスおよび装置に結合することができる。EIDEディスク・コントローラ72は、プロセッサ42を含む任意のその他のシステム・コンポーネントによってディスク・ドライブ200との間で行われるアクセスまたは参照を支配する。
コンピュータ・システム100は産業標準構成(ISA:Industry Standard Architecture)バス62をさらに含み、このISAバス62はISAブリッジ64を介してPCIローカル・バス50に結合されている。ISAバス62には入出力(I/O:input/output)コントローラ70が結合され、この入出力コントローラ70は、コンピュータ・システム100と、キーボードおよびマウスなどの付加周辺装置との間の通信を制御する。加えて、入出力コントローラ70は、シリアル・ポートおよびパラレル・ポートを介してコンピュータ・システム100による外部通信をサポートする。
当業者には、オペレーティング・システムおよびファイル・システム全般に関する実用的な知識がある。FATファイル・システムについては、FATファイル・システムの構造を記載している1986年発行のRay Duncanによる「Advanced MS−DOS: The Microsoft guide for Assembly Language and C programmers」(ISBM0−914845−77−2)の第8章が参照により本明細書に組み込まれる。好ましい実施形態ではFATファイル・システムが使用されているが、本発明の精神および範囲を逸脱せずに、その他のファイル・システムを使用することができる。
本明細書で使用されるクラスタは、ディスク・ドライブ200上のデータにアクセスするためにオペレーティング・システムのファイル・システム・ドライバによって使用される論理装置である。各論理クラスタは、通常連続する複数の物理セクタを含む。各FATパーティションは、1つのファイル・ディレクトリと、ファイル・アロケーション・テーブルの2つのコピーと、1つのデータ領域とを含むものと推定される。ファイルのディレクトリは、各ファイルの名前と、開始クラスタ、関連日付などを含むその属性とを含む。ファイル・アロケーション・テーブルは、各ファイルを含むクラスタのリンク・リストを含む。
システム・メモリ46から実行されるオペレーティング・システムは、事前割振りクラスタ内に直接、コンピュータ・ファイルを保管するか、またはファイルが大きすぎて単一クラスタ内に収まらないときには、ファイルを複数フラグメントに分割し、これらのフラグメントをハード・ディスク200上の個別クラスタ内に保管することにより、コンピュータ・ファイルを保管する。FATファイル・システムにより、オペレーティング・システムは、ファイルの各フラグメントの位置およびシーケンスを追跡することができ、オペレーティング・システムは、どのクラスタが割り当てられておらず、新しいファイルに使用可能であるかを識別することもできる。コンピュータ100がファイルを参照する場合、FATファイル・システムは、ファイル・システム・ドライバによって組み立てられた1つのユニット内にファイルの各フラグメントを再組み立てするための基準として機能する。
ほとんどのユーザの場合、コンピュータ・システム内に保管されたデータの大部分が時間の経過につれて変化しないことが発見されている。ウィルス・スキャンなど、望ましくないコードまたは悪意あるコードに関するスキャンは、典型的には、週単位で実行されている。このスキャンは、頻繁に更新されるウィルス定義ファイルに関して実行される。しかし、時間の経過につれて、ウィルス定義ファイル自体が主として、ウィルス紋、コード・フラグメント、データ・フラグメント、ハッシュなどの変化していないウィルス識別子から構成される。したがって、すでに発見されているように、スキャン活動の大部分は、変化していないデータと照らし合わせて変化していない識別子がスキャンされるものである。本発明の様々な態様および実施形態は、通常はデータの大部分がそうであるが、どのデータが最後の正常スキャン以後に変化していないデータであるかをスキャン・アプリケーションが安全に判断することができるプラットフォームを提供し、識別子の大部分である変化していない識別子のスキャンを迂回することにより、ウィルスなどの望ましくないコードについてコンピュータ・システムをスキャンするために必要な時間の量を削減することを目指している。
図2は、保護領域202と、読取り/書込み領域204と、本発明の好ましい一実施形態によりデータ参照の安全な追跡および安全なデータ保護を可能にするように適合された統合ドライブ・エレクトロニクス(integrated drive electronics)201とを有するディスク・ドライブ200の簡易概略側面図である。他の実施形態では、ディスク・ドライブ200が従来のディスク・ドライブであり、安全な追跡および安全なデータ保護の機能がシステム内の他の場所に設けられることが示されるであろう。しかし、図2に図示されている好ましい実施形態では、コンピュータ・システム内に蓄積されたデータの大部分が最後のウィルス・スキャンに関して変化していないので、個別ディスクまたはプラッタ(platter)202の大部分は、悪意あるコードについて正常にスキャンされた変化していないデータ用に予約されている。ディスク・ドライブ・プラッタ204の個別ディスクは、最後の正常スキャン以後に書き込まれたデータ用に予約されている。ドライブ200の内部では、統合ドライブ・エレクトロニクス201は、プラッタ204上の新たに書き込まれたファイルのキャッシュを維持し、通常動作中、保護プラッタ202を読取り専用アクセス・モードに保持する。ドライブ200の外部では、統合ドライブ・エレクトロニクス201は、ディスク・ドライブ全体が書込み可能であると思われるファイル・システム・ドライバへの従来のインターフェースを提示する。この構成は、(1)オペレーティング・システムから実行される悪意あるコードが保護データ領域202を変更することができず、(2)ファイルの日付および属性データを信頼することができるプラットフォームを提供する。追加の実現詳細については、説明が続くにつれて提供されるはずである。
ディスク・ドライブ200に関して本明細書に記載されていない実現詳細は、従来のものであると見なされる。大体は、ハード・ディスクの構造に関する詳細は、このような詳細が本発明を完全に理解するために不要である程度に省略されている。
図3は、本発明の好ましい実施形態で使用されるディスク・ドライブ200の統合ドライブ・エレクトロニクス201の拡大ブロック図であり、統合ドライブ・エレクトロニクスの周辺のその他のハードウェアを含んでいる。ハード・ディスク200の統合ドライブ・エレクトロニクス201は、コネクタ307および306を介してケーブル308によりシステム100に結合する。コネクタ306はハード・ディスク200と一体化しており、コネクタ307はケーブル308の一部を形成する。インターフェース304は、低レベルの接続インターフェースを処理し、ATA規格に適合する標準的なチップとして実現され、一般にディスク・コントローラ72などのEIDEコントローラとのインターフェースを取るためにハード・ディスク上で検出される。好ましい実施形態ではIDEドライブが使用されているが、本発明の範囲を逸脱せずに、SCSIドライブおよびその他の記憶装置を使用することができる。コントローラ301は、この実施形態のセキュリティおよび保護機能を処理し、本明細書に記載し、流れ図に関連して記載する通りに機能する。コントローラ301は、H8などのマイクロコントローラとして実現することができ、安全なメモリ302に結合されている。安全なメモリ302はコントローラ301のみによってアドレス可能であり、したがって、システム・メモリ46からシステム・プロセッサ42によって実行されるオペレーティング・システム下で実行されるウィルスは安全なメモリ302にアクセスすることができない。入出力コマンドにより、コントローラ301は安全メモリ302の不揮発性部分にウィルス・スキャン固有の変数を保管する。さらに、コントローラ301は、安全なメモリ302から認証コードを実行して、好ましい実施形態のセキュリティおよび保護機能の使用を要求するアンチウィルス・スキャン・ソフトウェア・アプリケーションに認証サービスを提供する。不揮発性部分に加えて、安全なメモリ302は、不揮発性部分より高速でそこから認証コードを実行するため、ならびに一時変数などを保管するためのランダム・アクセス・メモリ部分を含む。たとえば、流れ図の説明で参照するように、読取り専用アクセス・モードから読取り/書込みアクセス・モードに保護領域202を変更するために、コントローラ301によって認証が要求される。
一実施形態では、流れ図に示されているような所定の安全な動作およびサービスを認証するために、コントローラ301および安全なメモリ302によってデジタル署名方式が実現される。安全な動作またはサービスは、たとえば、ウィルス・スキャナなどのアプリケーションによって要求される。このアプリケーションは秘密鍵と公開鍵を有するものと推定され、コントローラ301はアプリケーションの公開鍵情報に内々に関与しているものと推定される。この方式により、アプリケーションは、コントローラ301から認証を要求する安全なサービスを要求する。これに応答して、コントローラ301は、ワンタイム(使い捨て)乱数N1を生成し、アプリケーションにN1を伝達する。これに応答して、アプリケーションは、ハッシュ・メッセージ認証コード(HMAC:Hashed Message Authentication Code)機能を使用してN1とアプリケーションの秘密鍵とを組み合わせ、対応するワンタイム・パスワードP1を生成することにより、デジタル署名を行う。SHA−1は、安全なハッシュ方法として使用され、辞書攻撃に対する免疫があると現在、考えられている。次にアプリケーションはコントローラ301にP1を伝達する。これに応答して、コントローラ301は、所定かつ合意に達したSHA−1 HMACおよびアプリケーションの公開鍵の知識があれば、P1を暗号化解除し、パスワードP1の認証性を検証する。検証された場合、アプリケーションは、要求されている安全なリソースへのアクセスが可能になる。
その他の認証技法を使用することもできる。一実施形態では、ハードウェア支援デジタル署名技法が使用される。公開鍵は、ディスク・ドライブ200上(または他の諸実施形態に記載されているように他の位置)のコントローラ301に知られることになり、秘密鍵はTCG TPMまたはスマート・カード内などの何らかの場所を安全に保持するであろう。TPMの詳細に関心のある読者のために、インターネット上のwww.trustedcomputinggroup.orgで「TCG TPM Specification Version 1.2」を見つけることができる。その場合、TPMまたはスマート・カードに対する認証は、網膜眼球スキャン(retinal eye scan)または指紋認識サブシステムなどの安全な経路またはバイオメトリックを介して行われ、その結果、必要な許可を生成することができるであろう。
同様に、コントローラ301の機能が仮想計算機モニターに組み込まれている図13に図示されている仮想計算機モニター実施形態の場合、仮想計算機モニターにキーボードおよび画面(図13には図示せず)を制御させ、パスワード認証を可能にするアプリケーションを直接実行させるか、またはこのようなアプリケーションが実行される安全な仮想計算機を提供させることにより、認証を行うことができるであろう。この場合も、このパスワードは、ハードウェア・コントローラに直接渡されない可能性があり、むしろ、辞書攻撃に対する追加の保護を提供するために乱数とともに使用される可能性がある。
一実施形態では、認証媒体から認証検査を可能にするハードウェアへの直接経路は、ウィルスに対する免疫がある、直線的なパスワード(straight password)を入力するための安全な「信頼できる経路(trusted path)」を提供できるであろう。この実施形態では、ウィルスはボタンを物理的に「押す(push)」手段を備えていないので、パスワードの代わりに、ボタン程度に単純なものを使用することができるであろう。
単純性が望ましい一実施形態では、単純なパスワードを使用することができ、そのようなパスワードが役に立つであろう。しかし、直線的なパスワード程度に単純な方式は、このような認証を聴取する特別に設計されたウィルスまたはトロイによって破られる可能性がある。それにもかかわらず、直線的なパスワードは、最低レベルのセキュリティを提供し、リスクを最小限にするためにウィルス・スキャンの直後に実行することができる。
このプラットフォームは、認証コードの実行という形での安全なメモリへの参照によるか、安全なメモリ302に保管されているタイム・スタンプ、ファイル、またはクラスタ属性などの保管変数への参照により、悪意あるコードから手の届かない安全なメモリ302への参照により信頼に資するものである。
安全なメモリが使用不能である代替一実施形態では、タイム・スタンプなどの信頼できる変数が暗号化された形で安全ではないメモリ(insecure memory)(図示せず)に保管される。この手法は、本当にアクセス不能であるメモリの使用ほど安全ではない可能性があるが、最低レベルの機能性を提供する。信頼できる変数をあてにするスキャン・プログラムは、この実施形態の安全ではないメモリにアクセスし、信頼できる変数を入手し、標準的な暗号化解除技法を使用してその認証性を判断することができる。この暗号方式がセキュリティを提供する限り、変数の内容は悪意あるコードにとって使用不能である。悪意あるコードがこの実施形態の安全ではないメモリに保管されている信頼できる変数を蹂躙する場合、標準的な暗号化解除技法により、このような蹂躙の検出が可能になる。信頼できる変数を暗号化解除したときにスキャン・プログラムによって不正行為が検出された場合、本明細書に記載する加速技法は迂回され、ディスク・ドライブに保管されたすべてのファイルについて悪意あるコードに関するスキャンが実行される。
次に、図3に図示されている実施形態の説明に戻ると、コントローラ301は、コントローラ301がないときにATAインターフェース304が行うと思われるものと同じ方法で低レベル回路305へのインターフェースを取る。低レベル・ドライブ回路305は、スピンドル・モータの始動および回転速度、アクチュエータの運動、エラー訂正、ヘッド電流およびビット・コード化プロトコルを含む保護プラッタ202および読取り/書込みプラッタ204に対する読取りおよび書込み電流を含む、低レベル・ディスク・ドライブ機能を制御する。
一実施形態では、安全なメモリ302の不揮発性部分またはその下位部分は、ハード・ディスクそのものの上の保護セクタまたはトラックとして実現することができる。
図4は、保護領域および読取り/書込み領域に関する代替レイアウトを有する本発明の一実施形態による個別ディスク・ドライブ・プラッタの平面図である。図4に図示されている実施形態では、保護領域および読取り/書込み領域を個別プラッタとして分割するのではなく、個別ディスクのいずれか1つまたはすべてのディスクの表面を保護領域402および読取り/書込み領域404に分割することができる。最後の正常スキャン以後に書き込まれたファイルは外部読取り/書込みトラック404にキャッシュされる。最後のスキャンで正常にスキャンされたファイルは内部保護トラック402内に維持される。
図5は、保護領域および読取り/書込み領域に関する代替レイアウトを有する本発明の一実施形態による個別ディスク・ドライブ・プラッタの平面図である。図5に図示されている実施形態では、保護領域および読取り/書込み領域を個別プラッタまたは個別トラックとして分割するのではなく、安全なメモリ302内にテーブルを維持することにより、コントローラ301によって保護領域502および読取り/書込み領域504を論理的に追跡する(説明する)ことができる。したがって、保護領域と読取り/書込み領域との分割は、他の実施形態のように物理的である必要も連続している必要もない。コントローラ301によって追跡される領域は、クラスタ(論理)またはセクタ(物理)あるいはクラスタ・グループまたはセクタ・グループあるいは個別トラックにすることもできる。しかし、ディスク上のディレクトリがクラスタとして維持され、領域を追跡するために使用されるテーブルの不揮発性部分は、通常は安全なメモリ302内に実現されるものであるが、ハード・ディスク自体の上のディレクトリに含めることができるので、クラスタの追跡は最も都合の良いものである。他の実施形態と同様に、どのファイルが変化しているかに関する判断は、メイン・プロセッサ42の制御下でオペレーティング・システムから実行されるウィルスによってアクセス不能である安全なメモリ302内に維持されるテーブルへの参照により信頼に資するものである。
コントローラ301および安全なメモリ302は、事実上、アンチウィルス・スキャンの効率を改善するためにアンチウィルス・スキャン・アプリケーションがアンチウィルス・パラメータを確実に決定できるセキュリティ・サブシステム・プラットフォームを形成する。アンチウィルス・プログラムはクラスタではなくファイルのレベルで機能し、オペレーティング・システムのファイル・システム・ドライバは本質的にファイルではなくクラスタを書き込むので、コントローラ301は、クラスタと、最後の正常スキャン以後に書き込まれたクラスタ用のファイル名とを相関させる。これは、ステージング読取り/書込み領域204内にキャッシュされるファイルについて対応するファイル名を入手するためにファイル・システム・ドライバによって書き込まれる各クラスタごとにハード・ディスク・パーティション上のディレクトリおよびファイル・アロケーション・テーブルを参照することによって実行される。以下に詳述するように、読取り/書込み領域204内に保管されたこれらのファイルは、悪意あるコードについて正常にスキャンされると、最終的に保護領域の一部分に移動または変換されることになる。
一実施形態では、キャッシングに代わるものとして、ディスク全体が読取り/書込みモードで存続することができる。この実施形態では、コントローラ301および安全なメモリ302は、安全なメモリ302に書き込まれたクラスタのリストを維持することにより、最後のウィルス・スキャン以後にハード・ディスクのどの領域が変化したかを安全に追跡するように動作する。最後のウィルス・スキャン以後に変化したファイルのリストは、上述の通り、ディレクトリからアンチウィルス・ソフトウェアのために導き出すことができる。この実施形態は、保護領域を有するキャッシュ付き実施形態に関してレベルを低下させたセキュリティを提供する。
図6は、保護領域に対する変更が行われない通常モードで動作している間に読取り/書込み領域内のデータをキャッシュするロジックの流れ図である。図6に図示されているロジックは図3のコントローラ301で実現される。キャッシング・プロセスは、602でハード・ディスクへの参照がオペレーティング・システムのファイル・システム・ドライバから受信されたときに始まる。604でその参照が書込み参照であるか読取り参照であるかを判断するために第1の照会が行われる。604でその参照が書込み参照であるという判断が行われた場合、606でデータが読取り/書込み領域204に書き込まれる。604でその参照が読取り参照である場合、608でデータが読取り/書込み領域204内に存在するかどうかに関する第2の判断が行われる。608でデータが読取り/書込み領域内に存在すると判断された場合、610でデータが読取り/書込み領域204から読み取られる。さもなければ、608でデータが読取り/書込み領域204内に存在しないと判断された場合、データは保護領域202から読み取られる。
図7は、本発明の一実施形態により、最後のウィルス・スキャン以後に書き込まれたすべてのファイルをスキャンするためのロジックを描写する流れ図である。図7の点線の右側に示されているプロセスは、読取り/書込み領域204内のファイルをスキャンするプロセス中にアンチウィルス・ソフトウェアによって実行される。点線の左側に示されているプロセスは、アンチウィルス・ソフトウェア・アプリケーションによって行われたアクションに応答してハード・ディスク200の統合ドライブ・エレクトロニクス201のコントローラ301によって実行される。同じ規則が図8および図9に使用され、すなわち、右側にアプリケーションのアクションが示され、左側にコントローラ301の応答が示されている。701でアンチウィルス・ソフトウェアがまず、最後のウィルス・スキャン以後に書き込まれたファイルのディレクトリを要求する。これに応答して、702でコントローラ301が読取り/書込み領域204内のファイルのディレクトリを送信する。次に704でアンチウィルス・ソフトウェアはすべての既知のウィルス識別子と照らし合わせてウィルスについて各ファイルをスキャンする。悪意あるコードの識別子またはシグニチャは通常、ハッシュの形を取るが、コード・フラグメント、データ・フラグメント、およびオペレーティング・システムのレジストリをスキャンするためのレジストリ項目を含むその他の形を取ることもできる。読取り/書込み領域204内でウィルスが検出された場合、706で修正アクションが行われる。ウィルス・スキャンの正常完了後、707でアンチウィルス・ソフトウェアは読取り/書込み領域204内のファイルについて新しい正常ウィルス・スキャン完了日付を安全にログ記録する。新しい正常ウィルス・スキャン完了日付を安全にログ記録するための要求は安全なメモリ302への書込みを伴うので、708でコントローラ301は最初に認証手順によってこのような要求に応答する。認証手順708は、本明細書で前に述べた認証手順のいずれかにすることができる。708で認証が成功した場合、709でコントローラ301は読取り/書込み領域204について安全なメモリ302にタイム・スタンプを書き込む。このタイム・スタンプは、最後の正常ウィルス・スキャンが完了した時間を表し、後続スキャン時に追加スキャンを最小限にするために後で使用される。次に、710でアンチウィルス・ソフトウェアは正常にスキャンされたファイルのキャッシュ・フラッシュを要求する。要求710に応答して、712でコントローラ301は認証ルーチンを実行する。712で認証が成功した場合、713で保護領域202のアクセス・モードが読取り/書込みモードに変更され、714で読取り/書込み領域204からのファイルが保護領域に移動される。移動プロセスの一部として、スキャンされたファイルを保護領域202に正常に書き込んだ後、正常にスキャンされたファイルが読取り/書込み領域204から削除される。次に、715で保護領域202のアクセス・モードが読取り専用アクセス・モードに変更され、アンチウィルス・ソフトウェアに確認(acknowledge)が返される。したがって、最後のスキャン以後に変化したファイルのみという少数のファイルに対して、すべての識別子という多数の識別子がスキャンされる。
図8は、本発明の一実施形態により、保護領域内の変化していないファイルをスキャンするためのロジックを描写する流れ図である。802でアンチウィルス・ソフトウェアがまず、最後のウィルス・スキャン以後に書込みが行われていないファイルのディレクトリを要求する。これに応答して、804でコントローラ301が保護領域202内のファイルのディレクトリを返す。これらのファイルは、前のスキャンに含まれていた識別子と照らし合わせてスキャンする必要はない。したがって、806でアンチウィルス・ソフトウェアは、前のスキャンに含まれておらず、新たに導入された識別子のみと照らし合わせて保護領域202内のファイルのすべてをスキャンする。これらの新しい識別子は、典型的には、週単位でインターネットからダウンロードされ、ウィルス定義ファイル内の識別子セットのうちの少数を表す。たとえば、ウィルスが検出された場合のように、808で修正アクションが必要である場合、修正アクション808は、通常動作モード下で読取り専用モードに設定されている保護領域202上のデータに関して行う必要がある。したがって、修正アクション808を行うために、保護領域202を書込み可能モードに変更することが必要である。したがって、808で修正アクションが必要である場合、812でアンチウィルス・ソフトウェアはアクセス・モード変更動作を認証し、812で認証が成功した場合、813で保護領域202が読取り/書込みモードに変更される。次に、814でコントローラ301は保護領域202内で修正アクション808を実行することを許可する。この修正アクションに続いて、815でコントローラ301は保護領域202のアクセス・モードを読取り専用アクセス・モードに戻す。ウィルス・スキャンが完了し成功すると、818でアンチウィルス・ソフトウェアは、セキュリティ・サブシステムからこのようなログを要求することにより、保護領域202に関する新しい正常完了日付を安全にログ記録する。このような要求を受信すると、819でコントローラ301は認証ルーチンを呼び出し、成功である場合、820で保護領域202について安全なメモリ302に正常スキャン完了タイム・スタンプを書き込む。最後のスキャン日付以後にどの識別子が新たに導入されたかを判断する際に806でスキャン中に参照されるのはこのタイム・スタンプである。タイム・スタンプは、コントローラ301のみによってアクセス可能であり、システム・プロセッサ42によってオペレーティング・システム下で実行される悪意あるコードによってアクセス不能である安全なメモリ302に保管されるので、この判断は信頼することができる。タイム・スタンプが安全なメモリ302に正常に書き込まれた後、アンチウィルス・ソフトウェアに確認が返される。したがって、(タイム・スタンプによって検証された)最後のスキャン以後に新たにダウンロードされた識別子のみという少数の識別子は、保護領域202内に存在する変化していないファイルという大多数のファイルに対してスキャンされる。
図9は、本発明の一実施形態により、保護領域内の変化していないファイルのサブセットをスキャンするためのロジックを描写する流れ図である。この実施形態は、図8のものに類似しており、新しい識別子がダウンロードされたときに保護領域内のすべてのファイルより少ないファイルのスキャンを可能にする。これは、906で保護領域202内のどのファイルが、あるウィルスが出現したことが分かった日付より新しいかを識別することによって実施される。したがって、識別子は、インターネットからダウンロードされたときに、適用可能であれば、このような最初に分かった日付情報を含むことになるであろう。保護領域は通常動作中に読取り専用アクセス・モードに維持され、認証された手順のみにより変更できるので、保護領域202内のファイルの日付は信頼することができる。次に、アンチウィルス・ソフトウェアは、ウィルスの最初に分かった日付とファイルの変更日付とを比較し、ウィルスの最初に分かった日付後に作成または変更されたファイルのみをスキャンすることができる。
図7、図8、および図9の諸実施形態の場合、オペレーティング・システムから実行されるコードは保護領域202への読取りアクセスを行えるが、保護領域202は通常、書込みのためにアクセス可能ではないので、保護領域202をセキュリティ・サブシステムの一部と見なすことは、本明細書に記載した発明の概念と相反するものではない。これらの領域は、アンチウィルス・スキャンが完了し、いかなる既知のウィルスもシステム内で活発に実行されていないとアンチウィルス・ソフトウェアが判断した直後の書込みのためにのみ使用可能である。したがって、図9に示す例の場合、906のファイル日付の識別は、日付を判断するためにアンチウィルス・ソフトウェアによって保護領域202を直接読み取ることにより実行することができる。保護領域202への書込みアクセスは通常、オペレーティング・システムから実行されるコードに対して許可されないので、これらの日付は信頼することができる。
図10は、それぞれの領域内でウィルス・スキャンを正常実行するたびに、その後、安全なメモリ302にタイム・スタンプが保管される本発明の好ましい実施形態による読取り/書込み領域および保護領域のそれぞれに1つずつのタイム・スタンプ項目の表1002である。領域0は保護領域202に対応する。領域1は読取り/書込み領域204に対応する。これらのタイム・スタンプは、それぞれの領域内のスキャンのためにどの識別子を使用すべきかをアンチウィルス・ソフトウェアが安全に判断できるように維持される。読取り/書込み領域204内に保管されたファイルの日付は信頼することができないことに留意されたい。したがって、読取り/書込み領域204に対応するタイム・スタンプは、キャッシュされたステージング領域が保護領域202にフラッシュされた最後の時間を表している。図7に図示されている通り、読取り/書込み領域204内に保管されたすべてのファイルはすべての既知の識別子と照らし合わせてスキャンされる。
図11は、コントローラと安全なメモリがハード・ディスク200自体の中ではなくディスク・コントローラ72内に位置する本発明による一実施形態のブロック図である。したがって、この実施形態では、ディスク・ドライブ200は完全に従来の構造のものである。保護領域202および読取り/書込み領域204は、この実施形態ではコントローラ1101によって論理的に維持される。この実施形態のコントローラ1101は、領域202および204の維持に関してならびにアンチウィルス・ソフトウェアの要求および照会に応答する際に、上述した諸実施形態内のコントローラ301に従って機能する。さもなければ、コントローラ1101用の入出力インターフェースおよびプロトコルは、その位置のために、上述のコントローラ301とは異なっている。安全なメモリ1102は、オペレーティング・システム下で実行されるコードにとってアクセス不能であり、したがって、上述の諸実施形態の安全なメモリ302と同様に、図11の実施形態に対する信頼に資するものである。
図12は、コントローラ1201と安全なメモリ1202がIDEケーブル308内に組み込まれている本発明による一実施形態のブロック図である。したがって、セキュリティ・サブシステムは、本発明から逸脱せずに、システム全体にわたって位置することができる。実際に、セキュリティ・サブシステムのコントローラおよび安全なメモリのコンポーネントは、同じサブアセンブリ上に位置する必要はない。
図13は、ハードウェアで実現されるコントローラの代わりに安全なメモリとその他の保護機能を実現するために仮想計算機モニターが使用される本発明の一実施形態により仮想化ソフトウェアを実行するコンピュータ・システム内の抽象化層を示すシステム仮想化層図である。この実施形態によれば、特殊ハードウェアは不要である。抽象化の最低レベルにはハードウェア層1300があり、これはコンピュータ・システムの物理的ハードウェア層である。仮想計算機モニター層1302は、ハードウェア層1300の上に位置する中間層であり、コンピュータ・システム上で実行されるソフトウェアによるシステム・メモリ46およびディスク・コントローラ72へのすべてのアクセス試行を阻止する。上述の諸実施形態のいずれかにより、コントローラ301の諸機能が仮想計算機モニター自体の一部として実行されるのは、仮想計算機モニター層1302の内部である。このため、コンピュータ・システムは、仮想計算機モニターが提供するすべてのセキュリティおよび分離機能を利用する。抽象化の最高レベルには、最終的にオペレーティング・システムおよびソフトウェア・アプリケーションを実行する仮想計算機1304および1306が存在する。仮想計算機は、他の仮想計算機の存在を把握しないように構成される。同様に、システム・メモリ46は、いずれかのオペレーティング・システムから実行されるコードによって直接アクセス可能ではない安全なメモリを割り振るように仮想計算機モニター1302によって仮想化され、この仮想の安全なメモリは、システムの電源が投入されている間、安全なメモリ302に類似して機能する。したがって、たとえば、仮想計算機1のOS−1 1304から実行されるウィルスは、認証手順の改ざんまたは信頼できる変数へのアクセスを行えなくなる。計算機の電源が切断されている間、暗号化データを安全ではない不揮発性メモリに保存し復元する既知の方法のいずれかを使用して、安全な変数、認証コードなどを任意の不揮発性メモリに安全に保管しなければならない。したがって、本明細書に記載した諸実施形態はハードウェア実現例に限定されない。
図14は、読取り/書込み領域から保護領域へのファイルの移動が物理的ではなく論理的に実行される本発明の一実施形態により、最後のウィルス・スキャン以後に書き込まれたすべてのファイルをスキャンするためのロジックを描写する流れ図である。この実施形態は好ましくは、図5に図示されているように論理的に構成された保護領域および読取り/書込み領域によって実現される。読取り/書込み領域内にデータをキャッシュし、そのキャッシュを保護領域にフラッシュするのではなく、この実施形態では、必要に応じて、保護領域を読取り/書込み領域に、読取り/書込み領域を保護領域に、安全に変換する。以下に注記した場合を除き、図14に図示されているプロセスは図7に図示されているプロセスに類似している。アンチウィルス・ソフトウェアはまず、最後のウィルス・スキャン以後に書き込まれたファイルのディレクトリを要求する。これに応答して、1402でコントローラ301は変化したファイルのディレクトリを送信する。これは、図5に図示されているように読取り/書込み領域504内のファイルのディレクトリになる。この実施形態では、アンチウィルス・ソフトウェアは、ファイルが読取り/書込み領域から保護領域に論理的にまたは物理的に移動されたかどうかに関する具体的な知識を持つ必要はない。要求1410は、正常にスキャンされたファイルのキャッシュ・フラッシュまたは変換に関するものにすることができる。要求1410に応答して、コントローラ301は認証ルーチンを実行する。認証が成功した場合、1414で読取り/書込み領域504内の正常にスキャンされたファイルが論理的な保護領域502に変換されるかまたは付加される。次に、アンチウィルス・ソフトウェアに確認が返される。2つの領域間のディスク空間の割振りは動的なものであり、したがって、いずれか一方の領域が空間を使い果たす可能性は低い。新しいファイルが保護領域502に追加されると、それぞれの記憶位置は、「論理的」保護領域502を定義するテーブルに追加される。保護領域502の無限の成長を防止するために、保護領域に新たに追加されたファイルの前のコピー(すなわち、保護領域内に現在存在するコピー)は、論理的保護領域から削除し、論理的「読取り/書込み」領域に追加し、任意選択で空または消去済みとしてマークを付けることができる。このプロセスを使用すると、図7に図示されているプロセスのように、最後のスキャン以後に変化したファイルのみという少数のファイルに対して、すべての識別子という多数の識別子がスキャンされる。
図14に図示されている実施形態は、図13に関して記載した通り、仮想計算機マネージャとして実現することができる。
スキャンすべき領域が最初に読取り専用状態になった後で保護領域への書込みまたは変換が行われるその他の実施形態も可能である。代わって、スキャンされたときに、ファイルがスキャンされたときからファイルが書き込まれるかまたは変換されるまでの間に実行されるウィルスからの攻撃をファイルが受けないように、スキャンすべき領域を最初に読取り専用ステージング領域に移動することができる。しかし、この代替実施形態は、提示されている他の諸実施形態より多くのディスク空間を占有する。本発明の一実施形態は、本発明の諸実施形態のいずれかによるプロセスを実行するようコンピュータ(またはその他の電子装置)をプログラミングするために使用できる命令がそこに保管されている機械可読媒体を含むことができるコンピュータ・プログラム製品として提供することができる。この機械可読媒体としては、フレキシブル・ディスケット、光ディスク、CD−ROM、光磁気ディスク、ROM、RAM、EPROM、EEPROM、磁気または光学カード、あるいは電子命令を保管するために適したその他のタイプの媒体/機械可読媒体を含むことができるが、これらに限定されない。その上、本発明の一実施形態はコンピュータ・プログラム製品としてダウンロードすることもでき、そのプログラムは通信リンク(たとえば、モデムまたはネットワーク接続)を介して搬送波またはその他の伝搬媒体に実施された電子信号としてリモート・コンピュータから要求側コンピュータに転送することができる。
本明細書に示されている諸ステップの順序は、例示のみを目的としており、本明細書に記載した発明の概念を実現する際に異なる順序のステップを使用して可能になるその他の諸実施形態に関して制限的なものと解釈してはならない。特許請求の範囲における諸ステップの順序付けは、明瞭さを改善するためのものであり、任意の特定の順序のステップを実行することを示すものではない。
図面および明細書には本発明の好ましい一実施形態が示されており、具体的な用語が使用されているが、このように示されている説明では、制限のためではなく、総称的かつ記述的な意味でのみ用語を使用する。
悪意あるコードに関する加速スキャンを可能にするリソースを取り入れている本発明の好ましい一実施形態によるコンピュータ・システムのブロック図である。 保護領域と、読取り/書込み領域と、本発明の好ましい一実施形態によりデータ参照の安全な追跡および安全なデータ保護を可能にするように適合された統合ドライブ・エレクトロニクスとを有するディスク・ドライブの簡易概略側面図である。 本発明の好ましい実施形態で使用されるディスク・ドライブの統合ドライブ・エレクトロニクスの拡大ブロック図であり、統合ドライブ・エレクトロニクスの周辺のその他のハードウェアを含む図である。 保護領域および読取り/書込み領域に関する代替レイアウトを有する本発明の一実施形態による個別ディスク・ドライブ・プラッタの平面図である。 保護領域および読取り/書込み領域に関する代替レイアウトを有する本発明の一実施形態による個別ディスク・ドライブ・プラッタの平面図である。 保護領域に対する変更が行われない通常モードで動作している間に読取り/書込み領域内のデータをキャッシュするロジックの流れ図である。 本発明の一実施形態により、最後のウィルス・スキャン以後に書き込まれたすべてのファイルをスキャンするためのロジックを描写する流れ図である。 本発明の一実施形態により、保護領域内の変化していないファイルをスキャンするためのロジックを描写する流れ図である。 本発明の一実施形態により、保護領域内の変化していないファイルのサブセットをスキャンするためのロジックを描写する流れ図である。 それぞれの領域内でウィルス・スキャンを正常実行するたびに、その後、安全なメモリにタイム・スタンプが保管される本発明の好ましい実施形態による読取り/書込み領域および保護領域のそれぞれに1つずつのタイム・スタンプ項目の図表である。 コントローラと安全なメモリがディスク・コントローラ内に位置する本発明による一実施形態のブロック図である。 コントローラと安全なメモリがIDEケーブル内に位置する本発明による一実施形態のブロック図である。 ハードウェアで実現されるコントローラの代わりに安全なメモリとその他の保護機能を実現するために仮想計算機モニターが使用される本発明の一実施形態により仮想化ソフトウェアを実行するコンピュータ・システム内の抽象化層を示すシステム仮想化層図である。 読取り/書込み領域から保護領域へのファイルの移動が物理的ではなく論理的に実行される本発明の一実施形態により、最後のウィルス・スキャン以後に書き込まれたすべてのファイルをスキャンするためのロジックを描写する流れ図である。

Claims (36)

  1. 最後のスキャン以後に記憶装置の一領域に書込みが行われたかどうかを確実に判断するためにセキュリティ・サブシステムに照会するステップであって、前記セキュリティ・サブシステムが信頼できる変数を含み、前記判断が前記セキュリティ・サブシステムによる前記信頼できる変数への参照により信頼に資するものであるステップと、前記最後のスキャン以後に前記領域に書込みが行われたという前記照会による信頼できる判断に応答して、望ましくないコードの識別子について前記領域をスキャンするステップとを含む方法。
  2. 最後のスキャン以後に記憶装置の一領域に書込みが行われたかどうかを確実に判断するためにセキュリティ・サブシステムに照会するステップであって、前記セキュリティ・サブシステムが信頼できる変数を含み、前記判断が前記セキュリティ・サブシステムによる前記信頼できる変数への参照により信頼に資するものであるステップと、望ましくないコードの前の識別子が前記最後のスキャンに含まれていたかどうかを判断するステップと、前記最後のスキャン以後に前記領域に書込みが行われていないという前記照会による判断に応答し、さらに前記前の識別子が前記最後のスキャンに含まれていたという判断に応答して、前記望ましくないコードの前記前の識別子に関する前記領域のスキャンを迂回するステップとを含む方法。
  3. 最後のスキャン以後に記憶装置の第1の領域に書込みが行われたかどうかを確実に判断するためにセキュリティ・サブシステムに照会するステップであって、前記セキュリティ・サブシステムがオペレーティング・システムから実行されているコードにとってアクセス不能であるメモリを含み、前記判断が前記セキュリティ・サブシステムによる前記アクセス不能メモリへの参照により信頼に資するものであるステップと、前記最後のスキャン以後に前記第1の領域に書込みが行われたという前記照会による信頼できる判断に応答して、望ましくないコードの既知の識別子について前記第1の領域をスキャンするステップと、前記望ましくないコードの前の識別子が前記最後のスキャンに含まれていたかどうかを判断するステップと、前記最後のスキャン以後に前記第1の領域に書込みが行われていないという前記照会による判断に応答し、さらに前記前の識別子が前記最後のスキャンに含まれていたという判断に応答して、前記望ましくないコードの前記前の識別子に関する前記第1の領域のスキャンを迂回するステップであって、前記スキャン迂回の結果として迂回領域が形成されるステップとを含む方法。
  4. 前記前の識別子および前記既知の識別子は悪意あるコードの識別子であり、前記最後のスキャンは前記悪意あるコードに関する前のスキャンである、請求項3に記載の方法。
  5. 前記識別子は、シグニチャ、コード・フラグメント、データ・フラグメント、ハッシュ、および前記オペレーティング・システムのレジストリ内のレジストリ項目からなるグループから選択される、請求項4に記載の方法。
  6. 前記悪意あるコードに関する前記前のスキャンが実行された時間に関連し、前記アクセス不能メモリのために信頼される信頼できるスキャン・タイム・スタンプを前記セキュリティ・サブシステムから要求するステップと、新しい識別子日付に出現したことが分かっている前記悪意あるコードに関連する新しい識別子と照らし合わせて前記迂回領域をスキャンするステップであって、前記新しい識別子日付に関連する新しい識別子タイム・スタンプが前記信頼できるスキャン・タイム・スタンプより前であるという判断に応答して、前記迂回領域の前記スキャンが行われるステップとをさらに含む、請求項4に記載の方法。
  7. 悪意あるコードについて記憶装置のスキャン領域内のファイルをスキャンするステップであって、前記記憶装置が第1の領域と前記スキャン領域とに細分され、前記第1の領域が通常読取り専用状態と書込み可能状態との間に安全に構成可能であり、前記構成がオペレーティング・システム下で実行されるコードにとってアクセス不能である安全なメモリを有するセキュリティ・システムの制御下にあるステップと、前記悪意あるコードがまったく検出されない少なくとも1つのファイルを正常にスキャンしたときに、前記第1の領域を前記書込み可能状態に構成するために前記セキュリティ・システムの第1のセキュリティ手段を起動し認証するステップであって、前記認証が前記安全なメモリから実行されるステップと、前記スキャン領域内の正常にスキャンされたファイルを前記第1の領域に書き込むステップと、前記正常にスキャンされたファイルの前記書込み後に前記第1の領域を前記読取り専用状態に構成するステップとを含む方法。
  8. 前記正常にスキャンされたファイルの前記書込み後に前記正常にスキャンされたファイルを前記スキャン領域から削除するステップをさらに含む、請求項7に記載の方法。
  9. 前記第1のセキュリティ手段に関する前記認証は、パスワード、デジタル署名、およびバイオメトリックからなるグループから選択された認証である、請求項8に記載の方法。
  10. 前記第1の領域および前記スキャン領域が論理的に細分される、請求項7に記載の方法。
  11. 前記第1の領域および前記スキャン領域が物理的に細分される、請求項7に記載の方法。
  12. 前記物理的に細分された領域はそれぞれ前記記憶装置上の連続する領域である、請求項11に記載の方法。
  13. 前記第1のセキュリティ手段の前記認証が仮想計算機モニターの制御下で実行される、請求項7に記載の方法。
  14. 前記安全なメモリが前記オペレーティング・システムを実行するメイン・プロセッサにとってさらにアクセス不能であるようなハードウェアで前記セキュリティ・システムが実現され、前記ハードウェアが、記憶コントローラ、記憶装置ケーブル、および前記記憶装置からなるグループから選択された位置に物理的に位置する、請求項7に記載の方法。
  15. プロセッサおよび前記プロセッサによってオペレーティング・システム下で実行されるコードを保管するためのメイン・メモリと、前記プロセッサによって前記オペレーティング・システム下で実行される前記コードにとってアクセス不能である安全なメモリを有するセキュリティ・システムと、前記プロセッサおよび前記セキュリティ・システムに動作可能に結合され、第1の領域と読取り/書込み領域とに細分される記憶装置であって、前記第1の領域が通常読取り専用状態と書込み可能状態との間に前記セキュリティ・システムの制御下で安全に構成可能である記憶装置とを含み、前記セキュリティ・システムが、前記記憶装置上での悪意あるコードに関する最後のスキャンの発生を識別する少なくとも1つの信頼できる変数を前記安全なメモリ内に維持し、前記信頼できる変数を参照し、関連結果を報告することにより、前記最後のスキャンに関連する状況に関する要求に応答し、前記セキュリティ・システムが、前記第1の領域を前記書込み可能状態に構成するための提供された要求に応答して認証手順を呼び出し、前記認証が前記安全なメモリから実行される装置。
  16. 前記認証は、パスワード、デジタル署名、およびバイオメトリックからなるグループから選択される、請求項15に記載の装置。
  17. 前記第1の領域および前記読取り/書込み領域が論理的に細分される、請求項15に記載の装置。
  18. 前記第1の領域および前記読取り/書込み領域が物理的に細分される、請求項15に記載の装置。
  19. 前記物理的に細分された領域はそれぞれ前記記憶装置上の連続する領域である、請求項18に記載の装置。
  20. 前記セキュリティ・システムは仮想計算機モニターとして実現される、請求項15に記載の装置。
  21. 前記安全なメモリは前記プロセッサにとってさらにアクセス不能であるようなハードウェアで前記セキュリティ・システムが実現され、前記ハードウェアは、記憶コントローラ、記憶装置ケーブル、および前記記憶装置からなるグループから選択された位置に物理的に位置する、請求項15に記載の装置。
  22. 記憶装置を第1の領域と読取り/書込み領域とに細分するステップであって、前記第1の領域が通常読取り専用アクセス・モードと書込み可能アクセス・モードとの間に安全に構成可能であり、前記アクセス・モードを前記第1の領域に構成しようとする試みに応答して、前記記憶装置がセキュリティ手段を課すステップと、アクセスされているデータが前記読取り/書込み領域から欠落している場合に前記第1の領域への読取りアクセスを指図し、アクセスされているデータが前記読取り/書込み領域内にある場合に前記読取り/書込み領域への読取りアクセスを指図し、前記読取り/書込み領域への書込みアクセスを指図することにより、前記記憶装置へのアクセスをキャッシュするステップと、悪意あるコードについて前記読取り/書込み領域内のファイルをスキャンするステップと、前記悪意あるコードがまったく検出されない少なくとも1つのファイルを正常にスキャンしたときに、前記第1の領域を前記書込み可能アクセス・モードに構成するために前記記憶装置上の第1のセキュリティ手段を起動するステップと、前記読取り/書込み領域内の正常にスキャンされたファイルを前記第1の領域に書き込むステップと、前記第1の領域を前記読取り専用アクセス・モードに構成するために前記記憶装置上の第2のセキュリティ手段を起動するステップと、前記正常にスキャンされたファイルを前記読取り/書込み領域から削除するステップとを含む方法。
  23. 前記書込み可能アクセス・モードは読取り/書込みモードである、請求項22に記載の方法。
  24. コンピュータ可読プログラム・コードがそこに保管されているコンピュータで使用可能な媒体を含む製品であって、前記製品内の前記コンピュータ可読プログラム・コードが、最後のスキャン以後に記憶装置の一領域に書込みが行われたかどうかを確実に判断するためにセキュリティ・サブシステムに照会し、前記最後のスキャン以後に前記領域に書込みが行われたという前記照会による信頼できる判断に応答して、望ましくないコードの識別子について前記領域をスキャンするために有効であり、前記コンピュータ可読プログラム・コードが、前記判断への信頼に資する安全な変数にアクセスすることができない製品。
  25. コンピュータ可読プログラム・コードがそこに保管されているコンピュータで使用可能な媒体を含む製品であって、前記製品内の前記コンピュータ可読プログラム・コードが、最後のスキャン以後に記憶装置の一領域に書込みが行われたかどうかを確実に判断するためにセキュリティ・サブシステムに照会し、望ましくないコードの前の識別子が前記最後のスキャンに含まれていたかどうかを判断し、前記最後のスキャン以後に前記領域に書込みが行われていないという前記照会による判断に応答し、さらに前記前の識別子が前記最後のスキャンに含まれていたという判断に応答して、前記望ましくないコードの前記前の識別子に関する前記領域のスキャンを迂回するために有効であり、前記コンピュータ可読プログラム・コードが、前記信頼できる判断への信頼に資する安全な変数にアクセスすることができない製品。
  26. コンピュータ可読プログラム・コードがそこに保管されているコンピュータで使用可能な媒体を含む製品であって、前記製品内の前記コンピュータ可読プログラム・コードが、最後のスキャン以後に記憶装置の第1の領域に書込みが行われたかどうかを確実に判断するためにセキュリティ・サブシステムに照会し、前記最後のスキャン以後に前記第1の領域に書込みが行われたという前記照会による信頼できる判断に応答して、望ましくないコードの既知の識別子について前記第1の領域をスキャンし、前記望ましくないコードの前の識別子が前記最後のスキャンに含まれていたかどうかを判断し、前記最後のスキャン以後に前記第1の領域に書込みが行われていないという前記照会による判断に応答し、さらに前記前の識別子が前記最後のスキャンに含まれていたという判断に応答して、前記望ましくないコードの前記前の識別子に関する前記第1の領域のスキャンを迂回し、前記スキャン迂回の結果として迂回領域が形成されるために有効であり、前記コンピュータ可読プログラム・コードが、前記信頼できる判断への信頼に資する安全なメモリに直接アクセスすることができない製品。
  27. 前記前の識別子および前記既知の識別子は悪意あるコードの識別子であり、前記最後のスキャンは前記悪意あるコードに関する前のスキャンである、請求項26に記載の製品。
  28. 前記識別子は、シグニチャ、コード・フラグメント、データ・フラグメント、ハッシュ、および前記オペレーティング・システムのレジストリ内のレジストリ項目からなるグループから選択される、請求項27に記載の製品。
  29. 前記コードは、前記悪意あるコードに関する前記前のスキャンが実行された時間に関連し、前記アクセス不能メモリのために信頼される信頼できるスキャン・タイム・スタンプを前記セキュリティ・サブシステムから要求し、新しい識別子日付に出現したことが分かっている前記悪意あるコードに関連する新しい識別子と照らし合わせて前記迂回領域をスキャンし、前記新しい識別子日付に関連する新しい識別子タイム・スタンプが前記信頼できるスキャン・タイム・スタンプより前であるという判断に応答して、前記迂回領域の前記スキャンが行われるためにさらに有効である、請求項27に記載の製品。
  30. コンピュータ可読プログラム・コードがそこに保管されているコンピュータで使用可能な媒体を含む製品であって、前記製品内の前記コンピュータ可読プログラム・コードが、悪意あるコードについて記憶装置のスキャン領域内のファイルをスキャンし、前記記憶装置が第1の領域と前記スキャン領域とに細分され、前記第1の領域が通常読取り専用状態と書込み可能状態との間に安全に構成可能であり、前記構成がオペレーティング・システム下で実行されるコードにとってアクセス不能である安全なメモリを有するセキュリティ・システムの制御下にあり、前記悪意あるコードがまったく検出されない少なくとも1つのファイルを正常にスキャンしたときに、前記第1の領域を前記書込み可能状態に構成するために前記セキュリティ・システムの第1のセキュリティ手段を起動し認証し、前記認証が前記安全なメモリから実行され、前記スキャン領域内の正常にスキャンされたファイルを前記第1の領域に書き込み、前記コードが前記正常にスキャンされたファイルを書き込んだ後に前記第1の領域を前記読取り専用状態に構成するために有効である製品。
  31. 前記コードは、前記正常にスキャンされたファイルを書き込んだ後に前記正常にスキャンされたファイルを前記スキャン領域から削除するためにさらに有効である、請求項30に記載の製品。
  32. 前記第1のセキュリティ手段に関する前記認証は、パスワード、デジタル署名、およびバイオメトリックからなるグループから選択された認証である、請求項31に記載の製品。
  33. 前記第1の領域および前記スキャン領域が論理的に細分される、請求項30に記載の製品。
  34. 前記第1の領域および前記スキャン領域が物理的に細分される、請求項30に記載の製品。
  35. 前記物理的に細分された領域はそれぞれ前記記憶装置上の連続する領域である、請求項34に記載の製品。
  36. 前記第1のセキュリティ手段の前記認証は仮想計算機モニターの制御下で実行される、請求項30に記載の製品。
JP2007521925A 2004-07-20 2005-05-12 アンチウィルス迅速化のための安全な記憶域追跡 Expired - Fee Related JP4627547B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/894,588 US7581253B2 (en) 2004-07-20 2004-07-20 Secure storage tracking for anti-virus speed-up
PCT/EP2005/052192 WO2006008199A2 (en) 2004-07-20 2005-05-12 Secure storage tracking for anti-virus speed-up

Publications (2)

Publication Number Publication Date
JP2008507055A true JP2008507055A (ja) 2008-03-06
JP4627547B2 JP4627547B2 (ja) 2011-02-09

Family

ID=34979552

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007521925A Expired - Fee Related JP4627547B2 (ja) 2004-07-20 2005-05-12 アンチウィルス迅速化のための安全な記憶域追跡

Country Status (7)

Country Link
US (1) US7581253B2 (ja)
JP (1) JP4627547B2 (ja)
CN (1) CN101002156B (ja)
DE (1) DE112005001739B4 (ja)
GB (1) GB2437562B (ja)
TW (1) TWI420300B (ja)
WO (1) WO2006008199A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011170504A (ja) * 2010-02-17 2011-09-01 Fujitsu Ltd ファイル検疫装置およびファイル検疫方法
JP2021082036A (ja) * 2019-11-20 2021-05-27 株式会社バッファロー 情報処理装置、ウイルス駆除方法、および、コンピュータプログラム

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7624443B2 (en) * 2004-12-21 2009-11-24 Microsoft Corporation Method and system for a self-heating device
US7409719B2 (en) * 2004-12-21 2008-08-05 Microsoft Corporation Computer security management, such as in a virtual machine or hardened operating system
US7581250B2 (en) * 2005-02-17 2009-08-25 Lenovo (Singapore) Pte Ltd System, computer program product and method of selecting sectors of a hard disk on which to perform a virus scan
US7743417B2 (en) * 2005-02-28 2010-06-22 Hitachi Global Storage Technologies Netherlands B.V. Data storage device with code scanning capability
US7660797B2 (en) * 2005-05-27 2010-02-09 Microsoft Corporation Scanning data in an access restricted file for malware
US7636946B2 (en) * 2005-08-31 2009-12-22 Microsoft Corporation Unwanted file modification and transactions
US7930749B2 (en) * 2006-05-11 2011-04-19 Eacceleration Corp. Accelerated data scanning
EP1870829B1 (en) 2006-06-23 2014-12-03 Microsoft Corporation Securing software by enforcing data flow integrity
US20080155264A1 (en) * 2006-12-20 2008-06-26 Ross Brown Anti-virus signature footprint
US8561204B1 (en) * 2007-02-12 2013-10-15 Gregory William Dalcher System, method, and computer program product for utilizing code stored in a protected area of memory for securing an associated system
US8898355B2 (en) * 2007-03-29 2014-11-25 Lenovo (Singapore) Pte. Ltd. Diskless client using a hypervisor
US7941657B2 (en) * 2007-03-30 2011-05-10 Lenovo (Singapore) Pte. Ltd Multi-mode mobile computer with hypervisor affording diskless and local disk operating environments
US8533847B2 (en) * 2007-05-24 2013-09-10 Sandisk Il Ltd. Apparatus and method for screening new data without impacting download speed
US8214895B2 (en) * 2007-09-26 2012-07-03 Microsoft Corporation Whitelist and blacklist identification data
US8307443B2 (en) * 2007-09-28 2012-11-06 Microsoft Corporation Securing anti-virus software with virtualization
US20090094698A1 (en) * 2007-10-09 2009-04-09 Anthony Lynn Nichols Method and system for efficiently scanning a computer storage device for pestware
JP5392494B2 (ja) * 2007-10-09 2014-01-22 日本電気株式会社 ファイルチェック装置、ファイルチェックプログラムおよびファイルチェック方法
US8014976B2 (en) * 2007-10-24 2011-09-06 Microsoft Corporation Secure digital forensics
US8091115B2 (en) * 2008-10-03 2012-01-03 Microsoft Corporation Device-side inline pattern matching and policy enforcement
US20100115619A1 (en) * 2008-11-03 2010-05-06 Michael Burtscher Method and system for scanning a computer storage device for malware incorporating predictive prefetching of data
US8401521B2 (en) * 2008-11-25 2013-03-19 Broadcom Corporation Enabling remote and anonymous control of mobile and portable multimedia devices for security, tracking and recovery
US20100153474A1 (en) * 2008-12-16 2010-06-17 Sandisk Il Ltd. Discardable files
US8205060B2 (en) * 2008-12-16 2012-06-19 Sandisk Il Ltd. Discardable files
US8849856B2 (en) * 2008-12-16 2014-09-30 Sandisk Il Ltd. Discardable files
US9015209B2 (en) * 2008-12-16 2015-04-21 Sandisk Il Ltd. Download management of discardable files
US9020993B2 (en) 2008-12-16 2015-04-28 Sandisk Il Ltd. Download management of discardable files
US9104686B2 (en) 2008-12-16 2015-08-11 Sandisk Technologies Inc. System and method for host management of discardable objects
US8375192B2 (en) * 2008-12-16 2013-02-12 Sandisk Il Ltd. Discardable files
US20100235473A1 (en) * 2009-03-10 2010-09-16 Sandisk Il Ltd. System and method of embedding second content in first content
US20100235900A1 (en) * 2009-03-13 2010-09-16 Assa Abloy Ab Efficient two-factor authentication
US9032058B2 (en) * 2009-03-13 2015-05-12 Assa Abloy Ab Use of SNMP for management of small footprint devices
US7591019B1 (en) * 2009-04-01 2009-09-15 Kaspersky Lab, Zao Method and system for optimization of anti-virus scan
US8745743B2 (en) * 2009-06-09 2014-06-03 F-Secure Oyj Anti-virus trusted files database
US20100333155A1 (en) * 2009-06-30 2010-12-30 Philip David Royall Selectively using local non-volatile storage in conjunction with transmission of content
GB2471716A (en) * 2009-07-10 2011-01-12 F Secure Oyj Anti-virus scan management using intermediate results
US8499304B2 (en) * 2009-12-15 2013-07-30 At&T Mobility Ii Llc Multiple mode mobile device
US8463802B2 (en) 2010-08-19 2013-06-11 Sandisk Il Ltd. Card-based management of discardable files
US8549229B2 (en) 2010-08-19 2013-10-01 Sandisk Il Ltd. Systems and methods for managing an upload of files in a shared cache storage system
KR101217709B1 (ko) 2010-12-31 2013-01-02 주식회사 안랩 악성코드 탐지 장치 및 방법
US8788849B2 (en) 2011-02-28 2014-07-22 Sandisk Technologies Inc. Method and apparatus for protecting cached streams
US9298910B2 (en) 2011-06-08 2016-03-29 Mcafee, Inc. System and method for virtual partition monitoring
US9110595B2 (en) 2012-02-28 2015-08-18 AVG Netherlands B.V. Systems and methods for enhancing performance of software applications
US8656494B2 (en) 2012-02-28 2014-02-18 Kaspersky Lab, Zao System and method for optimization of antivirus processing of disk files
US8938796B2 (en) 2012-09-20 2015-01-20 Paul Case, SR. Case secure computer architecture
GB2506622A (en) * 2012-10-04 2014-04-09 Ibm Anti-virus data management
CN104317952B (zh) * 2014-11-13 2017-10-13 北京奇虎科技有限公司 移动终端中存储空间的扫描方法和装置
US9355248B1 (en) 2015-01-26 2016-05-31 Red Hat, Inc. Container and image scanning for a platform-as-a-service system
US9654497B2 (en) 2015-04-04 2017-05-16 International Business Machines Corporation Virus-release-date-based priority virus scanning
US9858418B2 (en) 2015-05-29 2018-01-02 International Business Machines Corporation Reducing delays associated with restoring quarantined files
CN105320886B (zh) * 2015-09-22 2018-04-06 北京奇虎科技有限公司 检测移动终端中是否存在恶意软件的方法和移动终端
CN106909845A (zh) * 2015-12-23 2017-06-30 北京奇虎科技有限公司 一种程序对象扫描的方法和装置
KR20190103292A (ko) * 2017-01-04 2019-09-04 게르하르트 슈바르츠 비대칭 시스템 및 네트워크 아키텍쳐
US10511631B2 (en) 2017-01-25 2019-12-17 Microsoft Technology Licensing, Llc Safe data access through any data channel
CN109922045B (zh) * 2019-01-30 2021-07-02 赵东升 一种信息处理装置的控制方法
WO2023049215A1 (en) 2021-09-22 2023-03-30 Illumina, Inc. Compressed state-based base calling
WO2023183937A1 (en) 2022-03-25 2023-09-28 Illumina, Inc. Sequence-to-sequence base calling

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09231067A (ja) * 1996-02-23 1997-09-05 Hitachi Inf Syst Ltd コンピュータウィルスの侵入防止方法
WO2000028420A1 (en) * 1998-11-09 2000-05-18 Symantec Corporation Antivirus accelerator for computer networks
JP2003091429A (ja) * 2001-09-17 2003-03-28 Tomoki Noguchi データ一括保護システム
JP2003196111A (ja) * 2001-12-26 2003-07-11 Hitachi Ltd 電子署名を用いたウィルスチェック方法
JP2003216445A (ja) * 2002-01-23 2003-07-31 Hitachi Ltd コンピュータウイルスのチェック方法
JP2004199213A (ja) * 2002-12-17 2004-07-15 Hitachi Ltd 情報処理システム

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9003890D0 (en) 1990-02-21 1990-04-18 Rodime Plc Method and apparatus for controlling access to and corruption of information in computer systems
EP0510244A1 (en) 1991-04-22 1992-10-28 Acer Incorporated Method and apparatus for protecting a computer system from computer viruses
US5367682A (en) 1991-04-29 1994-11-22 Steven Chang Data processing virus protection circuitry including a permanent memory for storing a redundant partition table
CN1068212A (zh) 1992-03-11 1993-01-20 邵通 微机硬盘读写控制器
US5649095A (en) * 1992-03-30 1997-07-15 Cozza; Paul D. Method and apparatus for detecting computer viruses through the use of a scan information cache
JPH09138733A (ja) 1995-11-14 1997-05-27 Hokkaido Nippon Denki Software Kk 磁気ディスク装置の保護方式
GB9605338D0 (en) 1996-03-13 1996-05-15 Arendee Ltd Improvements in or relating to computer systems
US6802028B1 (en) * 1996-11-11 2004-10-05 Powerquest Corporation Computer virus detection and removal
US5969632A (en) * 1996-11-22 1999-10-19 Diamant; Erez Information security method and apparatus
US6021510A (en) * 1997-11-24 2000-02-01 Symantec Corporation Antivirus accelerator
US6067618A (en) 1998-03-26 2000-05-23 Innova Patent Trust Multiple operating system and disparate user mass storage resource separation for a computer system
BR9911409A (pt) 1998-06-22 2001-09-04 Colin Constable Sistema virtual para armazenamento de dados (vds)
US6711583B2 (en) * 1998-09-30 2004-03-23 International Business Machines Corporation System and method for detecting and repairing document-infecting viruses using dynamic heuristics
US6272533B1 (en) 1999-02-16 2001-08-07 Hendrik A. Browne Secure computer system and method of providing secure access to a computer system including a stand alone switch operable to inhibit data corruption on a storage device
EP1056010A1 (en) 1999-05-28 2000-11-29 Hewlett-Packard Company Data integrity monitoring in trusted computing entity
TW452733B (en) 1999-11-26 2001-09-01 Inventec Corp Method for preventing BIOS from viruses infection
US6763466B1 (en) * 2000-01-11 2004-07-13 Networks Associates Technology, Inc. Fast virus scanning
US6735700B1 (en) * 2000-01-11 2004-05-11 Network Associates Technology, Inc. Fast virus scanning using session stamping
CN1187685C (zh) * 2000-01-11 2005-02-02 神达电脑股份有限公司 感染计算机病毒文件的追踪检测方法
US6609219B1 (en) 2000-01-24 2003-08-19 Hewlett-Packard Development Company, L.P. Data corruption testing technique for a hierarchical storage system
US7216366B1 (en) * 2000-11-17 2007-05-08 Emc Corporation Storage based apparatus for antivirus
CA2454107C (en) * 2000-12-29 2005-12-20 Valt.X Technologies Inc. Apparatus and method for protecting data recorded on a storage medium
WO2002093334A2 (en) 2001-04-06 2002-11-21 Symantec Corporation Temporal access control for computer virus outbreaks
US6922774B2 (en) * 2001-05-14 2005-07-26 The United States Of America As Represented By The National Security Agency Device for and method of secure computing using virtual machines
US7340774B2 (en) * 2001-10-15 2008-03-04 Mcafee, Inc. Malware scanning as a low priority task
US7266843B2 (en) * 2001-12-26 2007-09-04 Mcafee, Inc. Malware scanning to create clean storage locations
US20040158730A1 (en) * 2003-02-11 2004-08-12 International Business Machines Corporation Running anti-virus software on a network attached storage device
US7134006B2 (en) * 2003-06-03 2006-11-07 Gateway Inc. Method and system for changing software access level within or outside a host protected area

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09231067A (ja) * 1996-02-23 1997-09-05 Hitachi Inf Syst Ltd コンピュータウィルスの侵入防止方法
WO2000028420A1 (en) * 1998-11-09 2000-05-18 Symantec Corporation Antivirus accelerator for computer networks
JP2003091429A (ja) * 2001-09-17 2003-03-28 Tomoki Noguchi データ一括保護システム
JP2003196111A (ja) * 2001-12-26 2003-07-11 Hitachi Ltd 電子署名を用いたウィルスチェック方法
JP2003216445A (ja) * 2002-01-23 2003-07-31 Hitachi Ltd コンピュータウイルスのチェック方法
JP2004199213A (ja) * 2002-12-17 2004-07-15 Hitachi Ltd 情報処理システム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011170504A (ja) * 2010-02-17 2011-09-01 Fujitsu Ltd ファイル検疫装置およびファイル検疫方法
JP2021082036A (ja) * 2019-11-20 2021-05-27 株式会社バッファロー 情報処理装置、ウイルス駆除方法、および、コンピュータプログラム
JP7315844B2 (ja) 2019-11-20 2023-07-27 株式会社バッファロー 情報処理装置、ウイルス駆除方法、および、コンピュータプログラム

Also Published As

Publication number Publication date
CN101002156A (zh) 2007-07-18
US20060021032A1 (en) 2006-01-26
US7581253B2 (en) 2009-08-25
GB2437562A (en) 2007-10-31
JP4627547B2 (ja) 2011-02-09
DE112005001739T5 (de) 2007-06-14
TW200609723A (en) 2006-03-16
DE112005001739B4 (de) 2019-10-24
CN101002156B (zh) 2010-05-05
TWI420300B (zh) 2013-12-21
GB2437562B (en) 2008-10-08
WO2006008199A2 (en) 2006-01-26
GB0701190D0 (en) 2007-02-28
WO2006008199A3 (en) 2006-04-13

Similar Documents

Publication Publication Date Title
JP4627547B2 (ja) アンチウィルス迅速化のための安全な記憶域追跡
US7581252B2 (en) Storage conversion for anti-virus speed-up
KR101487865B1 (ko) 판독전용 영역과 판독/기록 영역, 분리형 매체 구성부품, 시스템 관리 인터페이스, 네트워크 인터페이스를 가진 컴퓨터 기억장치
US7693838B2 (en) Method and apparatus for securely accessing data
US20090125902A1 (en) On-demand disposable virtual work system
US20100005531A1 (en) Isolated multiplexed multi-dimensional processing in a virtual processing space having virus, spyware, and hacker protection features
US20060230454A1 (en) Fast protection of a computer's base system from malicious software using system-wide skins with OS-level sandboxing
US9396329B2 (en) Methods and apparatus for a safe and secure software update solution against attacks from malicious or unauthorized programs to update protected secondary storage
US20080168545A1 (en) Method for Performing Domain Logons to a Secure Computer Network
JP2010527075A (ja) マルウェア検出のための信頼できる動作環境
US11403180B2 (en) Auxiliary storage device having independent recovery area, and device applied with same
JP2010527060A (ja) コンピュータ・システムの操作を防止するための方法及びデータ処理システム
WO2005116804A2 (en) Isolated multiplexed multi-dimensional processing in a virtual processing space having virus, spyware, and hacker protection features
US9219728B1 (en) Systems and methods for protecting services
US20170053118A1 (en) Changed Block Tracking Driver for Agentless Security Scans of Virtual Disks
WO2007022687A1 (fr) Système et procédé de contrôle de sécurité de système d’exploitation
KR20070030931A (ko) 안티-바이러스 속도 향상을 위한 안전 저장 추적 방법
KR20030090568A (ko) 단말기 내의 자원 보호 시스템 및 방법
JP4564477B2 (ja) シンクライアント、シンクライアントシステム、及びプログラム
GB2441909A (en) Scanning files in subdivided storage area for malicious code
US20230195494A1 (en) Hypervisor assisted security of dangling volumes for containers
US20220374534A1 (en) File system protection apparatus and method in auxiliary storage device
US20240126882A1 (en) Instructions to process files in virtual machines

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100302

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100928

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101102

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101105

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131119

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131119

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131119

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131119

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees