JP7390932B2 - マルウェアについて複数のアーカイブスライスを検査するシステムおよび方法 - Google Patents

マルウェアについて複数のアーカイブスライスを検査するシステムおよび方法 Download PDF

Info

Publication number
JP7390932B2
JP7390932B2 JP2020033308A JP2020033308A JP7390932B2 JP 7390932 B2 JP7390932 B2 JP 7390932B2 JP 2020033308 A JP2020033308 A JP 2020033308A JP 2020033308 A JP2020033308 A JP 2020033308A JP 7390932 B2 JP7390932 B2 JP 7390932B2
Authority
JP
Japan
Prior art keywords
slice
file
slices
archive
blocks
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.)
Active
Application number
JP2020033308A
Other languages
English (en)
Other versions
JP2021018799A (ja
Inventor
ストローゴフ ウラジミール
ストゥパク アナトリー
クラーガ アンドレイ
セルゲエフ アレクセイ
ベロウソフ セルゲイ
プロタソフ スタニスラフ
Original Assignee
アクロニス・インターナショナル・ゲーエムベーハー
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 アクロニス・インターナショナル・ゲーエムベーハー filed Critical アクロニス・インターナショナル・ゲーエムベーハー
Publication of JP2021018799A publication Critical patent/JP2021018799A/ja
Application granted granted Critical
Publication of JP7390932B2 publication Critical patent/JP7390932B2/ja
Active 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/561Virus type analysis
    • 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
    • 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/565Static detection by checking file integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
    • 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/568Computer malware detection or handling, e.g. anti-virus arrangements eliminating virus, restoring damaged files
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)
  • Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)

Description

本開示は、一般に、保存されたアーカイブ内のウイルスおよびマルウェアの検出の分野に関しており、より具体的には、マルウェアについてアーカイブスライスを検査することによりバックアップアーカイブをスキャンするシステムおよび方法に関する。
一般的に、リカバリーのためのアーカイブのバックアップおよびストレージは、スケジュールに応じて定期的に行われる。バックアップが悪意のあるソフトウェアで汚染されているかもしれない、ということがよくある。そのため、複数の会社が、バックアップの前や、バックアップ中や、レストアの前などに、マルウェアのスキャンを行うソフトウェアを、しばしば自動化してきた。新しいタイプのマルウェアの出現によりアンチウイルスデータベースがしばしばアップデートされるため、ウイルスおよびマルウェアのスキャンは、周期的にかつ定期的に行われるべきである。しかしながら、大きなアーカイブの完全なスキャンは相当の時間および計算リソースを要するが、それらはしばしば利用できないか、時間とリソースを効率的に使用することができない。(ネットワークまたは用いられる通信チャネルのスピードおよび/またはチャネルに負荷の重さ次第で)クラウド内のアーカイブへのアクセスのスピードがローカルストレージデバイスにアクセスするよりも著しく遅いため、アーカイブがローカルではなくクラウドストレージに保存される場合、アーカイブのスキャンは、特に危険となる。さらに、あらゆる問題、たとえばウイルスおよび/または悪意のあるファイルがアーカイブ内で見つかるようなことが起こる場合、アーカイブは損傷または感染しているものとみなされ、システムリカバリーに使用したりファイルおよびデータを抽出したりすることには、全く適さないであろう。
従来、感染したデータをレストアされることを回避するために、保存中に、複数の新しいスライスがアーカイブに加えられるときに、および/またはデータをレストアする前に、アンチウイルススキャナーでアーカイブが周期的にスキャンされる。しかしながら、現在、アーカイブ内の任意の時点をスキャンするためのソリューションがない。代わりに、全アーカイブをスキャンするソリューションが強いられる。その上、アーカイブ内で現在損傷しているまたは感染しているデータを修復することができない。
開示の態様は、保存されたアーカイブ内のウイルスおよびマルウェアの検出の分野に関する。特に、開示の態様は、複数のアーカイブスライスを検査することにより複数のバックアップアーカイブをスキャンする方法およびシステムを説明する。
例示的な一態様において、方法は、バックアップアーカイブ内の複数のスライスのうちの、第1スライスをディスクにマウントすることを含み、ここで当該第1スライスは第1時刻でのユーザーデータのイメージである。当該方法は、複数のスライスのうちの、第2スライスの複数のブロックと、マウントされた第1スライスの複数のブロックとを比較することによって、マウントされた第1スライスの修正ブロックを検出することをさらに含み、ここで、当該第2スライスは第1時刻よりも前に取り込まれたユーザーデータのイメージである。当該方法は、検出された修正ブロックに対応する、マウントされた第1スライス内の少なくとも1つのファイルをディスクのファイルシステム上で識別することと、ウイルスおよび悪意のあるソフトウェアについて少なくとも1つのファイルをスキャンすることとを含む。少なくとも1つのファイルが感染していることを検出したことに応じて、当該方法は、当該少なくとも1つのファイルを除く、マウントされた第1スライスのユーザーデータを備える治癒スライスを生成することを含む。
いくつかの態様において、治癒スライスを生成することは、マウントされた第1スライスから少なくとも1つのファイルを取り除くことを含む。
いくつかの態様において、第2スライスに対する複数の修正ブロックは、マウントされた第1スライスのために存在し、治癒スライスを生成することは、第2スライスのコピーを生成することと、複数の修正ブロックに対応するとともに当該少なくとも1つのファイルを含まない全ファイルを、第2スライスのコピーに転送することと、を含み、ここで、第2スライスのコピーは治癒スライスである。
いくつかの態様において、第2スライスは、マウントされた第1スライスよりも前または同時にディスクにマウントされる。
いくつかの態様において、当該方法は、新しい治癒スライスをバックアップアーカイブに加えることを含む。
いくつかの態様において、当該方法は、第3スライスをウイルスおよび悪意のあるソフトウェアについてスキャンすることを含み、ここで、第3スライスは、バックアップアーカイブ内の複数のスライスのうちの、第2スライスの生成時刻よりも前に取り込まれたユーザーデータのイメージである。第3スライス内で感染したファイルを検出したことに応じて、当該方法は、データリカバリーに不適切なものとして、第3スライスの生成時刻の後に取り込まれた複数のスライスのサブセットをマークすることを含み、ここで、サブセットは、第2スライスおよび第1スライスを備える。
いくつかの態様において、当該方法は、感染したファイルに対応する第3スライスのブロックを識別することと、第2スライスおよび第1スライスをディスクにマウントすることと、ブロックを追跡することと、第2スライスおよび第1スライスのいずれかに感染したファイルが存在するかを特定することとを含む。特定(すなわち、感染したファイルが少なくとも1つのスライス上に存在すること)に基づいて、当該方法は、それぞれの治癒スライスを生成することによって、第2スライスおよび第1スライスのいずれかから感染したファイルを取り除くことを含む。
いくつかの態様において、1または複数の仮想ディスクとして複数のスライスをマウントすることができる。
いくつかの態様において、少なくとも1つのファイルおよび修正ブロックの対応は、バックアップアーカイブのブロックマップを用いて特定される。
ハードウェアプロセッサーを備えるシステムで上述の方法を実施してもよいことに注意すべきである。代わりに、非一時的コンピューター読取可能媒体の、コンピューターが実行可能なインストラクションを用いて、方法を実施してもよい。
例示の態様の上記の簡単な概要は、本開示の基本的な理解を提供するのに役立つ。本概要は、想定されるすべての態様の広い概観ではなく、すべての態様の重要なまたは重大なエレメントを識別するものでも、本開示のいくつかのまたはすべての態様の範囲を描写するものでもない。その唯一の目的は、以下の開示のより詳細な説明の前置きとして簡単な形式で、1または複数の態様を提示することにある。前述のことを達成するために、本開示の1または複数の態様は、特許請求の範囲において記載されて例示的に指示される特徴を含む。
本明細書の一部に組み込まれ、本明細書の一部を構成する添付図面は、本開示の1または複数の例示の態様を示し、詳細な説明とともに、それらの原理および実施態様を説明するのに役立つ。
図1は、本開示の例示的な態様に従って、複数のアーカイブスライスを検査することにより複数のバックアップアーカイブをスキャンするシステムのブロック図である。 図2は、本開示の例示的な態様に応じて、複数のアーカイブスライスを検査することにより複数のバックアップアーカイブをスキャンするシーケンスのブロック図である。 図3は、本開示の例示的な態様に応じて、複数のアーカイブスライスを検査することにより複数のバックアップアーカイブをスキャンする方法のフロー図である。 図4は、本開示の例示的な態様に従って、複数のアーカイブスライスを検査することにより複数のバックアップアーカイブをスキャンする方法を示すフローチャートである。 図5は、例示的な態様に応じて、開示されたシステムおよび方法を実施することができるコンピューターシステムのブロック図である。
マルウェアについて複数のアーカイブスライスを検査するシステム、方法、およびコンピュータープログラム製品の文脈において、例示的な態様がここで記載される。以下の説明が例示的であるに過ぎず、いかなる方法においても限定を意図していないことを、当業者は認識するであろう。本開示の利益を有する当業者は、他の態様を容易に思い付くであろう。以下、添付図面に示されるような例示の態様の実施態様に詳細に言及する。同じまたは同様の項目を表すために、図面および以下の説明の全体を通じて、可能な範囲で同じ参照指標が用いられる。
図1は、本開示の例示的な態様に従って、複数のアーカイブスライスを検査することにより複数のバックアップアーカイブをスキャンするシステム100のブロック図である。
システム100は、コンピューティングデバイス102と、アーカイブスキャナー110と、ディスク120と、クラウドアーカイブ130とを備える。クライアントコンピューティングデバイス102は、ラップトップコンピューター、タブレットコンピューター、モバイルデバイス、または同様のものなどの任意のタイプのモバイルコンピューティングデバイスであってもよい。また、コンピューティングデバイス102は、コンピューティングデバイス102に保存されるユーザーデータのバックアップを行うバックアップモジュール104を含み、ユーザーデータは、コンピューティングデバイス102のディスクの全体のバックアップイメージ、デバイス102にインストールされるソフトウェア、パーソナルドキュメントなどのユーザーアプリケーションデータ、または同様のものを含んでもよい。
また、バックアップモジュール104は、コンピューティングデバイス102にローカルに保存されないデータを検索してもよい。例示的な態様において、バックアップモジュール104は、クラウドアーカイブ130へ、あるいは代わりにコンピューティングデバイス102に関連する物理ディスク上のローカルアーカイブへ、複数のバックアップスライス106のセットとしてユーザーデータを保存し、および/またはクラウドアーカイブ130から、あるいは代わりにコンピューティングデバイス102に関連する物理ディスク上のローカルアーカイブから、バックアップスライス106のセットとしてユーザーデータを検索する。複数のバックアップスライス106は、クラウドアーカイブ130内のバックアップアーカイブ108にまとめて保存される。それぞれのバックアップスライスは、特定の時点でのコンピューティングデバイス102のユーザーデータまたは物理ディスクのイメージである。時が経つにつれて、クラウドアーカイブ130は、それぞれが複数のバックアップスライスを備える、異なるコンピューティングデバイスについての多くのバックアップアーカイブ108を含む。
バックアップモジュール104は、ネットワーク101(例えば、インターネット)上で、クラウドアーカイブ130と通信する。場合により、バックアップモジュール104がバックアップアーカイブ108からデータをレストアしたい場合、スキャンが行われる。バックアップアーカイブ108のサイズが大幅に(例えば、500GBなどの所定の閾値を超えて)増加したとき、行われるスキャンのリクエストは、大量の時間およびリソースを取ってもよい。アーカイブ108がローカルに保存される場合、バックアップモジュール104は、他の場所で必要とされてもよいコンピューティングデバイス102の大量のリソースを取ってもよい。そのようなリソースは、ストレージスペース、メモリー(例えば、RAM)、および処理能力を有していてもよい。
リソースの過剰な消費を回避するために、ローカルおよび/またはクラウドプラットフォームで、クラウドアーカイブ130は、いくつかの例示的な態様に応じて、アーカイブスキャナー110によって周期的なスキャンを受ける。アーカイブスキャナー110は、アーカイブマウンターサービス112と、アーカイブAPI114と、アーカイブマウントドライバー116とを備える。ある態様においては、アーカイブスキャナー110は、ネットワーク101上のサービスとして実行しているが、ある態様においては、アーカイブスキャナー110は、コンピューティングデバイス102上で実行していてもよい。その上、他の構成が想定され、当該構成において、アーカイブスキャナーは、異なるサーバーまたは同じサーバーでクラウドアーカイブ130として作動してもよい。
クラウドアーカイブからデータを検索するときに、コンピューティングデバイス102などのコンピューティングデバイスが偶発的に感染しないことを保証するために、アーカイブスキャナー110は、バックアップアーカイブ108でアンチウイルスおよびマルウェアのスキャンを行う。アーカイブスキャナー110を実行しているデバイス(例えば、サーバー)は、物理ディスク120を有していてもよい。例示的な態様において、デバイスは、ホストマシンおよび仮想マシンを備えていてもよい。例示的な態様において、アーカイブスキャナー110は、バックアップアーカイブ108をスキャンするリクエストを受信する。アーカイブAPI114は、バックアップアーカイブ108に保存される複数のスライスから、複数の新しい修正ブロックを検索するために用いられる。アーカイブマウントドライバー116は、バックアップアーカイブ108から、アーカイブスライスをマウントするリクエストを受信し、アーカイブスキャナー110がディスクとしてアーカイブを処理することが可能となる。アーカイブマウントドライバー116は、アーカイブスライスを仮想ディスク122としてマウントしてもよい。いくつかの態様に応じて、アーカイブマウントドライバー116は、変更が行われた場合、マウントされたスライスにおけるデータへの変更をセーブできるようにする。
例示的な態様において、アーカイブスキャナー110は、最新スライスが生成されてからの、複数の最新スライスにおけるすべての修正ブロックを検出する。次に、アーカイブスキャナー110は、1または複数のスライス内の複数のファイルと、マウントされたディスク上の複数のデータブロックとの対応を特定するために、アーカイブAPI114を用いる。そのような特定は、ブロックマップを用いて行われてもよい。また、一度対応が生成されると、複数の修正ブロックと連携する、マウントされた仮想ディスク122上の複数のファイルは、新しいまたは修正されたものとみなされる。このため、仮想ディスク122上のこれらの新しいファイルを、感染、ウイルス、および悪意のあるソフトウェアについてスキャンすることができる。感染および/または損傷した複数のファイルならびにマルウェアを仮想ディスク122から取り除くために、アーカイブスキャナー110によって、アーカイブAPI114をさらに起動することができる。最後に、アーカイブスキャナー110は、クラウドアーカイブ130に保存された(またはコンピューティングデバイス102のローカルのストレージデバイスに保存された)バックアップアーカイブ108内の新しい治癒スライスとして、仮想ディスク122をセーブすることができる。いくつかの他の態様において、既存のスライスが取り除かれて新しい治癒スライスに置き換えられてもよい。
ブロックマップを形成する態様は、特定のOSおよびファイルシステムに依存する。例えば、WindowsのNTFSにおいて、複数のファイルは、マスターファイルテーブル(Master File Table:MFT)に常駐する(MFTレコード内に保存される)ことができるか、またはボリュームストレージスペースに保存されて非常駐にすることができる。一態様において、非常駐ファイルの、割り当てられた複数のブロックは、システムファンクションコール、例えば、「FSCTL_GET_RETRIEVAL_POINTERS API」を用いて検索されてもよい。MFT常駐ファイルブロックマップは、MFTアロケーションおよび一般にMFTレコードナンバーである既知のファイル識別子の分析で特定されてもよい。MFTレコードナンバーは、MFT常駐ファイルの複数のブロックの検査および認識を可能にする。また、ファイルでもある全MFTがなければ、システムファンクション、例えば、「FSCTL_GET_RETRIEVAL_POINTERS」の助力によって、MFTアロケーションの分析を特定することができる。他のファイルシステムは、ファイルブロックマップを構築する独自の特別なアルゴリズムを要求することができる。
感染したスライスを発見するために、バックアップアーカイブ108内の1または複数の古いスライスをスキャンするように、アーカイブスキャナー110を構成してもよい。そのような感染さもなければ破損したスライスが一度識別されると、アーカイブスキャナー110は、感染したスライスと、後に(一時的に)取り込まれた複数のスライスとを、感染しており、いかなるコンピューティングデバイスのデータリカバリーにも不適切なものとしてマークする。したがって、バックアップモジュール104は、感染したとしてマークされる複数のスライスをレストアしようとするいかなる試みもブロックするように構成される。その上、これにより、感染のタイプと、破損において関与してきたかもしれない要因とに関するさらなる分析のために用いることができる破損の時刻をアーカイブスキャナー110が確立することが可能になる。いくつかの態様において、コンピューティングデバイス102の過去の属性を、クラウドアーカイブ130または他の場所で保存することができ、破損/感染の原因のセットを確立するために、破損の時刻とともに分析することができる。将来の感染またはマルウェアの攻撃を防ぐためにこの分析を用いることができる。
図2は、開示の例示的な態様に応じて、複数のアーカイブスライスを検査することにより複数のバックアップアーカイブをスキャンするシステムおよび方法のシーケンスを示すブロック図である。
例示的な態様において、アーカイブマウンターサービス112、アーカイブAPI114、ならびにクラウドアーカイブ130およびローカルアーカイブ200は、ユーザーメモリー(User Memory:UM)スペース内に配置されてもよいが、アーカイブマウントドライバー116は、カーネルメモリー(Kernel Memory:KM)スペース内に配置されてもよい。クラウドアーカイブ130またはローカルアーカイブ200にアクセスするために、アーカイブスキャナー110は、アーカイブマウンターサービス112とコンタクトをとる。アーカイブマウンターサービス112は、アーカイブをディスク(例えば、仮想ディスク)にマウントするために、マウントドライバー116を用いる。
図2を参照して、マウントドライバー116は、クラウドアーカイブ130内の複数のスライス(例えば、スライス202~206)のうちの、第1時刻での(例えば、コンピューティングデバイス102上の)ユーザーデータのイメージである第1スライス202をディスク120にマウントする。そして、アーカイブAPI114は、複数のスライスのうちの、第2スライス204の複数のブロックと、マウントされた第1スライスの複数のブロックとを比較することによって、マウントされた第1スライスの修正ブロックを検出する。ここで、第2スライス204は第1時刻よりも前に取り込まれたユーザーデータのイメージである。例えば、第1スライス202は、時刻tに生成されていてもよい。第2スライス204は、時刻t-1に生成されていてもよい。
そして、アーカイブAPI114は、複数の変更されたブロックを見つけるために、それぞれのスライスのそれぞれのマウントされたディスクの複数のブロックを比較してもよい。修正ブロックが見つかると、アーカイブマウンターサービス112は、検出された修正ブロックに対応するマウントされた第1スライス内の少なくとも1つのファイルをディスクのファイルシステム上で識別する。そして、アーカイブスキャナー110は、ウイルスおよび悪意のあるソフトウェアについて少なくとも1つのファイルをスキャンする。少なくとも1つのファイルが感染していることを検出したことに応じて、アーカイブスキャナー110は、当該少なくとも1つのファイルを除く、マウントされた第1スライスのユーザーデータを備える治癒スライスを生成する。この生成プロセスは、マウントされた第1スライス202から当該少なくとも1つのファイルを取り除くことを含んでもよい。複数の修正ブロックがスライス204に対してスライス202内で見つけられるいくつかの場合において、生成プロセスは、第2スライス204のコピーを生成することと、複数の修正ブロックに対応するとともにいかなる感染したファイルも含まない全ファイルを第2スライスのコピーに転送することとを伴う(ここで、第2スライスのコピーは治癒スライスである)。
いくつかの態様において、アーカイブスキャナー110は、ウイルスおよび悪意のあるソフトウェアについて、バックアップアーカイブ内の複数のスライスのうちの第3スライス206を任意にスキャンしてもよい。第3スライス206は、第2スライスの生成時刻よりも前(すなわち、t-N)に取り込まれたユーザーデータのイメージであってもよい。第3スライス206で、感染したファイルを検出したことに応じて、アーカイブスキャナー110は、第3スライスの生成時刻の後に取り込まれた複数のスライスのサブセットを、データリカバリーに不適切なものとしてマークしてもよい。この特定の例において、第1スライス202および第2スライス204の両方がサブセットに含まれる。
いくつかの態様において、アーカイブスキャナー110は、感染したファイルに対応する第3スライス206のブロックを識別してもよい。アーカイブスキャナー110は、第2スライス204および第1スライス202をディスク120にマウントしてもよい。アーカイブスキャナー110は、ブロックを追跡し、第2スライスおよび第1スライスのいずれかに、感染したファイルが存在するかを特定してもよい。例えば、感染したファイルは、第2スライス204に存在するかもしれないが、ユーザーは、第1スライス202から、感染したファイルを既にマニュアルで取り除いていてもよい。感染したファイルは第1スライス202には存在しないため、第3スライス206および第2スライス204のみ治癒する必要がある。これにより、複数のスライスのクリーンなセットをバックアップアーカイブが有することが保証され、当該セットからユーザーはバックアップを行うことができる。
いくつかの態様において、複数の感染したスライスをアーカイブが含む場合、アーカイブスキャナー110は、複数のスライスをスキャンすることによって、(スライス生成時刻に基づいて)感染がいつ発生したか、および感染源またはマルウェアの出所を特定するためにこれらのスライスを発見してもよい。
図3は、本開示の例示的な態様に従って、アーカイブスライスを検査することによるバックアップアーカイブのスキャン方法300を示すフローチャートである。
方法は、302で開始し、304へ進む。
304で、アーカイブスキャナー110のコンポーネントは、複数のアーカイブスライスを検査することによって、バックアップアーカイブをスキャンする。アーカイブスキャナーのコンポーネントは、例えば、仮想ディスクをマウントすることによって、バックアップアーカイブからディスクへ最新スライスをマウントする。いくつかの態様において、仮想ディスクは、アーカイブスキャナー110を実行するサーバー上でマウントされてもよいが、本開示はその構成に限定されない。
306で、アーカイブAPI114は、最新スライスが生成されてからの、複数の最新スライスにおけるすべての修正ブロックを検出することをリクエストされる。例示的な態様において、API114は、複数の修正ブロックを特定するために、スライスがマウントされる仮想ディスクの複数の下位ブロックを検査する。他の態様において、最新スライスの複数のブロックを、コンピューティングデバイスの以前の複数のバックアップのために以前に生成された複数のスライスの複数のブロックと比較することによって、修正ブロックが検出される。スライスによって異なる複数のブロックは、複数のブロックの修正されたセットを備える。
308で、アーカイブスキャナー110は、1または複数のスライス内の複数のファイルと、マウントされたディスク上の複数のデータブロックとの対応を特定する。いくつかの態様において、アーカイブスキャナー110は、マウントされている特定のバックアップスライスのブロックマップを確立するかまたは読み取り、ブロックマップは、どのブロックがどのファイルに対応するかを示す。
310で、アーカイブスキャナー110は、ディスクのファイルシステム上で、複数の修正データブロックを識別することによって複数の修正されたファイルを特定する。複数の修正データブロックが識別されているので、どのファイルが修正データブロックに対応するのかを識別するためにブロックを用いることができる。
312で、ウイルスおよび悪意のあるソフトウェアについて前のバックアップスライスが完了したので、アーカイブスキャナー110は、ファイルシステム上の複数の修正されたファイルをスキャンする。
314で、アーカイブスキャナー110は、感染および/または損傷した複数のファイルならびにマルウェアを仮想ディスクから取り除いてもよい。そして、仮想ディスクを、最新スライスとしてセーブすることができ、クラウドアーカイブ130またはローカルディスクでバックアップアーカイブ108へ再挿入することができる。
方法は320で終了する。
図4は、本開示の例示的な態様に従って、複数のアーカイブスライスを検査することにより複数のバックアップアーカイブをスキャンする別の方法400を示すフローチャートである。
方法は、402で開始し、404へ進む。
404で、アーカイブスキャナー110は、方法300で仮想ディスクにマウントされたバックアップイメージをスキャンする。例示的な態様において、示されるように、バックアップイメージまたはアーカイブイメージは、仮想ディスクとしてマウントされてもよく、または他の態様において、スライスを物理ディスクへレストアする。
406で、複数の感染したファイルは、識別されてマークされる。いくつかの態様において、ブロックマップまたは他の方法を用いて方法300で識別される、複数の修正ブロックに基づいて複数のファイルが識別される。ブロックマップは、マウントされたイメージ上の複数のブロックと複数のファイルとの対応を示す。このため、複数の修正ブロックが識別されるとき、アーカイブスキャナー310は、複数の修正ファイルを識別することができる。
408で、マウントされたバックアップイメージ上にある、いかなるマルウェアも、仮想ディスク上の複数のファイルに対してウイルスおよびマルウェアのスキャンを行うことによって識別される。
410で、複数の感染したファイルおよびマルウェアは、アーカイブスキャナー110によってディスク(例えば、仮想ディスク)のファイルシステムから取り除かれる。いくつかの態様において、複数の感染したファイルおよび/またはマルウェアは、仮想ディスクまたは他の場所に隔離される。複数の感染したファイルを仮想ディスクの隔離状態に移動することは、隔離状態を有する、治癒スライスを生成することを要求することに注意すべきである。
412で、仮想ディスクを新しいスライスとして転送することによって、複数の感染したファイルおよびマルウェアを除外して、新しいスライスがアーカイブスキャナー110によって生成される。新しいスライスは、新しい仮想ディスクもしくは仮想ディスク122などの他の場所に、または図2に示すようなクラウドアーカイブ130(例えば、最新スライス202)に保存される。
414で、アーカイブスキャナーは、バックアップアーカイブ(例えば、アーカイブ108)内の最新スライスのトップに、新しく生成された治癒スライスを加える。いくつかの代替の態様において、新しく生成されたスライスは、最新スライスまたは感染したスライスに置き換えてもよい。
方法は420で終了する。
図5は、複数のアーカイブスライスを検査することにより複数のバックアップアーカイブをスキャンするシステムおよび方法の態様が例示的な態様に従って実施されるコンピューターシステム20を示すブロック図である。コンピューターシステム20は、前述のシステム100の任意のコンポーネントに対応し得ることに注意すべきである。コンピューターシステム20は、複数のコンピューティングデバイスの形式で、または、例えば、デスクトップコンピューター、ノートブックコンピューター、ラップトップコンピューター、モバイルコンピューティングデバイス、スマートフォン、タブレットコンピューター、サーバー、メインフレーム、組み込みデバイス、および他の形式のコンピューティングデバイスの単一のコンピューティングデバイスの形式にすることができる。
示すように、コンピューターシステム20は、中央処理装置(Central Processing Unit:CPU)21と、システムメモリー22と、CPU21に関連するメモリーを含む様々なシステムコンポーネントを接続するシステムバス23とを含む。システムバス23は、バスメモリーまたはバスメモリーコントローラーと、ペリフェラルバスと、他のバスアーキテクチャーと相互に作用することができるローカルバスとを備えてもよい。バスの例は、PCI、ISA、PCI-Express、HyperTransport(商標)、InfiniBand(商標)、Serial ATA、IC、および他の適切なインターコネクトを含んでもよい。(プロセッサーとも呼ばれる)CPU21は、単一のまたは複数のコアを有するプロセッサーの単一のまたは複数のセットを含むことができる。プロセッサー21は、本開示の技術を実施する、1または複数の、コンピューターが実行可能なコードを実行してもよい。システムメモリー22は、ここで用いられるデータおよび/またはプロセッサー21によって実行可能なコンピュータープログラムを保存するための任意のメモリーであってもよい。システムメモリー22は、ランダムアクセスメモリー(Random Access Memory:RAM)25などの揮発性メモリー、およびリードオンリーメモリー(Read Only Memory:ROM)24やフラッシュメモリーなどの不揮発性メモリー、またはその任意の組み合わせを含んでもよい。ベーシックインプット/アウトプットシステム(Basic Input/Output System:BIOS)26は、ROM24を使用するオペレーティングシステムをロードする際のものなどのコンピューターシステム20のエレメント間の情報の転送のためのベーシックプロシージャーを保存してもよい。
コンピューターシステム20は、1または複数のリムーバブルストレージデバイス27、1または複数のノンリムーバブルストレージデバイス28、またはその組み合わせなどの1または複数のストレージデバイスを含んでもよい。1または複数のリムーバブルストレージデバイス27およびノンリムーバブルストレージデバイス28は、ストレージインターフェイス32を通じてシステムバス23に接続される。一態様において、ストレージデバイスおよび対応するコンピューター読取可能記憶媒体は、コンピューターインストラクション、データ構造、プログラムモジュール、およびコンピューターシステム20の他のデータのストレージのための電力独立モジュールである。システムメモリー22、リムーバブルストレージデバイス27、およびノンリムーバブルストレージデバイス28は、様々なコンピューター読取可能記憶媒体を用いてもよい。コンピューター読取可能記憶媒体の例は、キャッシュ、SRAM、DRAM、ゼロキャパシターRAM、ツイントランジスターRAM、eDRAM、EDO RAM、DDR RAM、EEPROM、NRAM、RRAM、SONOS、PRAMなどのマシンメモリーと、フラッシュメモリー、またはソリッドステートドライブ(Solid State Drives:SSDs)もしくはフラッシュドライブなどの他のメモリー技術と、磁気カセット、磁気テープ、およびハードディスクドライブまたはフロッピーディスクなどの磁気ディスクストレージと、コンパクトディスク(CD-ROM)またはデジタルバーサタイルディスク(Digital Versatile Disks:DVDs)などの光ストレージと、所望のデータを保存するために用いられ、コンピューターシステム20によってアクセスされ得る他の媒体とを含む。
コンピューターシステム20のシステムメモリー22、リムーバブルストレージデバイス27、およびノンリムーバブルストレージデバイス28は、オペレーティングシステム35、追加のプログラムアプリケーション37、他のプログラムモジュール38、およびプログラムデータ39を保存するために用いられてもよい。コンピューターシステム20は、インプットデバイス40からデータを通信するためのペリフェラルデバイス46を含んでもよい。インプットデバイス40は、キーボード、マウス、スタイラス、ゲームコントローラー、ボイスインプットデバイス、タッチインプットデバイス、または他のペリフェラルデバイスなどである。他のペリフェラルデバイスは、1または複数のI/Oポートによるプリンターまたはスキャナーなどである。I/Oポートは、シリアルポート、パラレルポート、ユニバーサル・シリアル・バス(Universal Serial Bus:USB)、または他のペリフェラルインターフェイスなどである。また、1または複数のモニター、プロジェクター、または一体型ディスプレーなどのディスプレーデバイス47は、ビデオアダプターなどのアウトプットインターフェイス48を超えてシステムバス23に接続されてもよい。コンピューターシステム20は、ディスプレーデバイス47の他に、スピーカーおよび他の音響映像デバイスなどの他のペリフェラルアウトプットデバイス(図示せず)を備えていてもよい。
コンピューターシステム20は、1または複数のリモートコンピューター49へのネットワーク接続を用いて、ネットワーク環境内で作動してもよい。リモートコンピューター(またはコンピューター)49は、コンピューターシステム20の性質を表す、ほとんどのまたはすべての前述のエレメントを備える、ローカルコンピューターワークステーションまたはサーバーであってもよい。また、他のデバイスは、限定されないが、ルーター、ネットワークステーション、ピアデバイス、または他のネットワークノードなどのコンピューターネットワーク内にあってもよい。コンピューターシステム20は、1または複数のネットワークを通じてリモートコンピューター49と通信するための、1または複数のネットワークインターフェイス51またはネットワークアダプターを含んでもよい。ネットワークは、ローカルエリアコンピューターネットワーク(Local-Area computer Network:LAN)、ワイドエリアコンピューターネットワーク(Wide-Area computer Network:WAN)、イントラネット、およびインターネットなどである。ネットワークインターフェイス51の例は、イーサネットインターフェイス、フレームリレーインターフェイス、ソネットインターフェイス、およびワイヤレスインターフェイスを含んでもよい。
本開示の態様は、システム、方法、および/またはコンピュータープログラム製品であってもよい。コンピュータープログラム製品は、コンピューター読取可能記憶媒体(または媒体)を含んでもよい。コンピューター読取可能記憶媒体(または媒体)は、本開示の態様をプロセッサーに実行させるコンピューター読取可能プログラム命令をそこに有する。
コンピューター読取可能記憶媒体は、コンピューターシステム20などの、コンピューティングデバイスのプロセッサーによってアクセスされ得るインストラクションまたはデータ構造の形式のプログラムコードを保持および保存することができるタンジブルデバイスにすることができる。コンピューター読取可能記憶媒体は、電子ストレージデバイス、磁気ストレージデバイス、光ストレージデバイス、電磁気ストレージデバイス、半導体ストレージデバイス、またはその任意の適切な組み合わせであってもよい。一例として、そのようなコンピューター読取可能記憶媒体は、RAM、ROM、EEPROM、ポータブルコンパクトディスクリードオンリーメモリー(Compact Disc Read-Only Memory:CD-ROM)、デジタルバーサタイルディスク(Digital Versatile Disk:DVD)、フラッシュメモリー、ハードディスク、ポータブルコンピューターディスケット、メモリーステイック、フロッピーディスク、または機械的にコード化されたデバイスさえも備えることができる。機械的にコード化されたデバイスは、パンチカードまたは、インストラクションを記録させる溝における向上した構造などである。ここで用いられるように、コンピューター読取可能記憶媒体は、一時的なシグナルそれ自体として解釈されるべきでない。一時的なシグナル自体は、電波もしくは他の自由に伝播する電磁波、導波路もしくは送信媒体を通じて伝播する電磁波、またはワイヤを通じて送信される電気信号などである。
コンピューター読取可能記憶媒体からそれぞれのコンピューティングデバイスへ、またはネットワークを通じて外部のコンピューターまたは外部のストレージデバイスへ、ここで記載されるコンピューター読取可能プログラム命令をダウンロードすることができる。ネットワークは、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、および/またはワイヤレスネットワークである。ネットワークは、送信銅ケーブル、光送信ファイバー、ワイヤレス送信、ルーター、ファイアウォール、スイッチ、ゲートウェイコンピューター、および/またはエッジサーバーを備えてもよい。それぞれのコンピューティングデバイスにおけるネットワークインターフェイスは、ネットワークからコンピューター読取可能プログラム命令を受信し、それぞれのコンピューティングデバイス内のコンピューター読取可能記憶媒体内のストレージのコンピューター読取可能プログラム命令を転送する。
本開示のオペレーションを実行するコンピューター読取可能プログラム命令は、アセンブリーインストラクション、インストラクションセットアーキテクチャー(Instruction-Set-Architecture:ISA)インストラクション、マシンインストラクション、マシン依存のインストラクション、マイクロコード、ファームウェアインストラクション、状態設定データ、またはソースコードか1または複数のプログラミング言語の任意の組み合わせで書かれたオブジェクトコードであってもよい。プログラミング言語は、オブジェクト指向プログラミング言語および従来の手続き型プログラミング言語を含む。コンピューター読取可能プログラム命令は、ユーザーのコンピューター全体で、スタンドアローンのソフトウェアパッケージとしてユーザーのコンピューターの一部で、ユーザーコンピューターの一部およびリモートコンピューターの一部で、またはリモートコンピューターもしくはサーバー全体で実行してもよい。後者のシナリオにおいて、リモートコンピューターは、LANまたはWANを含む任意のタイプのネットワークを通じてユーザーのコンピューターに接続されてもよく、または接続は、(例えば、インターネットを通じて、)外部のコンピューターに対して行われてもよい。いくつかの態様において、例えば、プログラマブルロジック回路、フィールドプログラマブルゲートアレイ(Field-Programmable Gate Arrays:FPGA)、またはプログラマブルロジックアレイ(Programmable Logic Arrays:PLA)を含む電子回路は、本開示の態様を行うために、電子回路をパーソナライズするコンピューター読取可能プログラム命令の状態情報を利用することによって、コンピューター読取可能プログラム命令を実行してもよい。
様々な態様において、本開示に記載されるシステムおよび方法を、モジュールの観点で扱うことができる。ここで用いられる「モジュール」という用語は、実世界のデバイス、コンポーネント、またはコンポーネントの配置を表す。当該コンポーネントは、アプリケーションスペシフィックインテグレイテッドサーキット(Application Specific Integrated Circuit:ASIC)もしくはFPGAなどによってハードウェアを用いて実施されるか、または、例えば、マイクロプロセッサーシステムと、(実行されている間に)マイクロプロセッサーシステムを特別な目的のデバイスに変換するモジュールの機能を実施するインストラクションのセットなどによってハードウェアおよびソフトウェアの組み合わせとして実施される。また、モジュールは、上記2つの組み合わせとして、ハードウェア単体によって容易になるある機能、ならびにハードウェアおよびソフトウェアの組み合わせによって容易になる他の機能を用いて実施されてもよい。ある実施態様において、モジュールの少なくとも一部、場合により、すべてが、(上記の図5でより詳細に記載されるものなどの)コンピューターシステムのプロセッサー上で実行されてもよい。したがって、それぞれのモジュールは、様々な適切な構成で実現されてもよく、ここで例示されるいかなる特定の実施態様にも限定されるべきではない。
明瞭にするために、すべての定型の特徴がここで記載されているわけではない。本開示の任意の実際の実施態様の開発において、開発者の特定の目的を達成するために、数多くの実施態様特有の決定をしなければならず、当該特定の目的は、様々な実施態様および様々な開発者によって変わることが理解されるであろう。そのような開発努力は、複雑で時間を要するものかもしれないが、本開示の利益を有する当業者にとって日常的な技術業務であることが理解される。
その上、本明細書の語法または術語が、ここで提示される教示および案内の観点で関連技術の当業者の知識と組み合わせて、当業者によって解釈されるように、ここで用いられる語法または術語は、説明の目的であって制限の目的でないことが理解される。さらに、明細書または特許請求の範囲のいかなる用語も、特に明示されていない限り、一般的でないまたは特別な意味があるとみなされることを意図していない。
ここで開示される様々な態様は、例示によってここで示された既知のモジュールと同等の現在および将来において既知のものを包含する。さらに、態様および応用が示されて説明されているが、本開示の利益を有する当業者にとって、ここで開示された発明のコンセプトから外れることなく、上述のものよりも多くの変更が可能であることが明らかであろう。

Claims (20)

  1. コンピューターがマルウェアについて複数のアーカイブスライスを検査する方法であって、
    前記コンピューターが、
    バックアップアーカイブ内の複数のスライスのうちの、第1スライスをディスクにマウントし、ここで、前記第1スライスは第1時刻でのユーザーデータのイメージであり、
    前記複数のスライスのうちの、第2スライスの複数のブロックと、マウントされた前記第1スライスの複数のブロックとを比較することによって、マウントされた前記第1スライスの修正ブロックを検出し、ここで、前記第2スライスは前記第1時刻よりも前に取り込まれた前記ユーザーデータのイメージであり、
    検出された前記修正ブロックに対応する、マウントされた前記第1スライス内の少なくとも1つのファイルを前記ディスクのファイルシステム上で識別
    ウイルスおよび/または悪意のあるソフトウェアについて前記少なくとも1つのファイルをスキャン
    前記少なくとも1つのファイルがウイルスおよび/または悪意のあるソフトウェアに感染したことを検出したことに応じて、前記少なくとも1つのファイルを除く、マウントされた前記第1スライスの前記ユーザーデータを備える治癒スライスを生成する、
    処理を実行する方法。
  2. 前記治癒スライスを生成する処理は、マウントされた前記第1スライスから前記少なくとも1つのファイルを取り除く処理を含む、請求項1に記載の方法。
  3. 前記第2スライスに対する複数の修正ブロックは、マウントされた前記第1スライスのために存在し、
    前記治癒スライスを生成する処理は、
    前記第2スライスのコピーを生成
    前記複数の修正ブロックに対応するとともに前記少なくとも1つのファイルを含まない全ファイルを、前記第2スライスの前記コピーに転送する処理を含み、ここで、前記第2スライスの前記コピーは前記治癒スライスである、請求項1に記載の方法。
  4. 前記第2スライスは、マウントされた前記第1スライスよりも前または同時に前記ディスクにマウントされる、請求項1に記載の方法。
  5. 新しい前記治癒スライスを前記バックアップアーカイブに加える処理前記コンピューターがさらに実行する、請求項1に記載の方法。
  6. 前記バックアップアーカイブ内の前記複数のスライスのうちの、第3スライスをウイルスおよび悪意のあるソフトウェアについてスキャンする処理を前記コンピューターがさらに実行し、ここで、前記第3スライスは前記第2スライスの生成時刻よりも前に取り込まれた前記ユーザーデータのイメージであり、
    前記第3スライス内で感染したファイルを検出したことに応じて、データリカバリーに不適切なものとして、前記第3スライスの生成時刻の後に取り込まれた、前記複数のスライスのサブセットをマークする処理を前記コンピューターがさらに実行し、ここで、前記サブセットは前記第2スライスおよび前記第1スライスを備える、請求項1に記載の方法。
  7. 前記コンピューターが、
    前記感染したファイルに対応する前記第3スライスのブロックを識別
    前記第2スライスおよび前記第1スライスを前記ディスクにマウント
    前記ブロックを追跡すること、および前記第2スライスおよび前記第1スライスのいずれかに前記感染したファイルが存在するかを特定
    それぞれの治癒スライスを生成することによって、前記第2スライスおよび前記第1スライスのいずれかから前記感染したファイルを取り除く、
    処理をさらに実行する、請求項6に記載の方法。
  8. 前記第1スライスは、仮想ディスクとしてマウントされる、請求項1に記載の方法。
  9. 前記少なくとも1つのファイルおよび前記修正ブロックの対応は、前記バックアップアーカイブのブロックマップを用いて特定される、請求項1に記載の方法。
  10. マルウェアについて複数のアーカイブスライスを検査するシステムであって、
    バックアップアーカイブ内の複数のスライスのうちの、第1スライスをディスクにマウントし、ここで、前記第1スライスは第1時刻でのユーザーデータのイメージであり、
    前記複数のスライスのうちの、第2スライスの複数のブロックと、マウントされた前記第1スライスの複数のブロックとを比較することによって、マウントされた前記第1スライスの修正ブロックを検出し、ここで、前記第2スライスは前記第1時刻よりも前に取り込まれた前記ユーザーデータのイメージであり、
    検出された前記修正ブロックに対応する、マウントされた前記第1スライス内の少なくとも1つのファイルを前記ディスクのファイルシステム上で識別し、
    ウイルスおよび/または悪意のあるソフトウェアについて前記少なくとも1つのファイルをスキャンし、
    前記少なくとも1つのファイルがウイルスおよび/または悪意のあるソフトウェアに感染したことを検出したことに応じて、前記少なくとも1つのファイルを除く、マウントされた前記第1スライスの前記ユーザーデータを備える治癒スライスを生成するように構成されるハードウェアプロセッサーを備えるシステム。
  11. 前記ハードウェアプロセッサーは、マウントされた前記第1スライスから前記少なくとも1つのファイルを取り除くことによって、前記治癒スライスを生成するように構成される、請求項10に記載のシステム。
  12. 前記第2スライスに対する複数の修正ブロックは、マウントされた前記第1スライスのために存在し、
    前記ハードウェアプロセッサーは、
    前記第2スライスのコピーを生成することと、
    前記複数の修正ブロックに対応するとともに前記少なくとも1つのファイルを含まない全ファイルを、前記第2スライスの前記コピーに転送し、ここで、前記第2スライスの前記コピーは前記治癒スライスである、ということと、
    によって、前記治癒スライスを生成するように構成される、請求項10に記載のシステム。
  13. 前記第2スライスは、マウントされた前記第1スライスよりも前または同時に前記ディスクにマウントされる、請求項10に記載のシステム。
  14. 前記ハードウェアプロセッサーは、新しい前記治癒スライスを前記バックアップアーカイブに加えるようにさらに構成される、請求項10に記載のシステム。
  15. 前記ハードウェアプロセッサーは、
    前記バックアップアーカイブ内の前記複数のスライスのうちの、第3スライスをウイルスおよび悪意のあるソフトウェアについてスキャンし、ここで、前記第3スライスは前記第2スライスの生成時刻よりも前に取り込まれた前記ユーザーデータのイメージであり、
    前記第3スライス内で感染したファイルを検出したことに応じて、データリカバリーに不適切なものとして、前記第3スライスの生成時刻の後に取り込まれた、前記複数のスライスのサブセットをマークし、ここで、前記第2スライスおよび前記第1スライスを備える、ようにさらに構成される、請求項10に記載のシステム。
  16. 前記ハードウェアプロセッサーは、
    前記感染したファイルに対応する前記第3スライスのブロックを識別し、
    前記第2スライスおよび前記第1スライスを前記ディスクにマウントし、
    前記ブロックを追跡し、前記第2スライスおよび前記第1スライスのいずれかに前記感染したファイルが存在するかを特定し、
    それぞれの治癒スライスを生成することによって、前記第2スライスおよび前記第1スライスのいずれかから前記感染したファイルを取り除くようにさらに構成される、請求項15に記載のシステム。
  17. 前記第1スライスは、仮想ディスクとしてマウントされる、請求項10に記載のシステム。
  18. 前記少なくとも1つのファイルおよび前記修正ブロックの対応は、前記バックアップアーカイブのブロックマップを用いて、前記ハードウェアプロセッサーによって特定される、請求項10に記載のシステム。
  19. マルウェアについてアーカイブスライスを検査する、コンピューターが実行可能なインストラクションを保存する非一時的コンピューター読取可能媒体であって、
    バックアップアーカイブ内の複数のスライスのうちの、第1スライスをディスクにマウントし、ここで、前記第1スライスは第1時刻でのユーザーデータのイメージであり、
    前記複数のスライスのうちの、第2スライスの複数のブロックと、マウントされた前記第1スライスの複数のブロックとを比較することによって、マウントされた前記第1スライスの修正ブロックを検出し、ここで、前記第2スライスは前記第1時刻よりも前に取り込まれた前記ユーザーデータのイメージであり、
    検出された前記修正ブロックに対応する、マウントされた前記第1スライス内の少なくとも1つのファイルを前記ディスクのファイルシステム上で識別し、
    ウイルスおよび/または悪意のあるソフトウェアについて前記少なくとも1つのファイルをスキャンし、
    前記少なくとも1つのファイルがウイルスおよび/または悪意のあるソフトウェアに感染したことを検出したことに応じて、前記少なくとも1つのファイルを除く、マウントされた前記第1スライスの前記ユーザーデータを備える治癒スライスを生成するインストラクションを含む、非一時的コンピューター読取可能媒体。
  20. 前記バックアップアーカイブ内の前記複数のスライスのうちの、第3スライスをウイルスおよび悪意のあるソフトウェアについてスキャンし、ここで、前記第3スライスは前記第2スライスの生成時刻よりも前に取り込まれた前記ユーザーデータのイメージであり
    前記第3スライス内で感染したファイルを検出したことに応じて、データリカバリーに不適切なものとして、前記第3スライスの生成時刻の後に取り込まれた、前記複数のスライスのサブセットをマークし、ここで、前記サブセットは前記第2スライスおよび前記第1スライスを備える、
    ようにするためのインストラクションをさらに備える、請求項19に記載の非一時的コンピューター読取可能媒体。
JP2020033308A 2019-07-16 2020-02-28 マルウェアについて複数のアーカイブスライスを検査するシステムおよび方法 Active JP7390932B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962874548P 2019-07-16 2019-07-16
US62/874,548 2019-07-16
US16/798,709 US11328061B2 (en) 2019-07-16 2020-02-24 System and method of inspecting archive slices for malware
US16/798,709 2020-02-24

Publications (2)

Publication Number Publication Date
JP2021018799A JP2021018799A (ja) 2021-02-15
JP7390932B2 true JP7390932B2 (ja) 2023-12-04

Family

ID=69742910

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020033308A Active JP7390932B2 (ja) 2019-07-16 2020-02-28 マルウェアについて複数のアーカイブスライスを検査するシステムおよび方法

Country Status (4)

Country Link
US (2) US11328061B2 (ja)
EP (1) EP3767509B1 (ja)
JP (1) JP7390932B2 (ja)
CH (1) CH716436B1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11328061B2 (en) 2019-07-16 2022-05-10 Acronis International Gmbh System and method of inspecting archive slices for malware
US11562067B2 (en) * 2019-07-16 2023-01-24 Acronis International Gmbh System and method of inspecting archive slices for malware using empty sparse files
US11372811B1 (en) * 2020-03-31 2022-06-28 Amazon Technologies, Inc. Optimizing disk volume scanning using snapshot metadata
JP2021170196A (ja) * 2020-04-15 2021-10-28 株式会社日立製作所 ストレージシステム及び計算機システム
CH718428A2 (it) 2021-03-15 2022-09-15 Acronis Int Gmbh Sistema e metodo di ispezione di sezioni di archivi per il rilevamento di malware tramite file di tipo sparse vuoti
US11936513B2 (en) * 2021-03-30 2024-03-19 Acronis International Gmbh System and method for anomaly detection in a computer network
US11627154B2 (en) 2021-04-26 2023-04-11 Orca Security LTD. Forward and rearward facing attack vector visualization
US20230195902A1 (en) * 2021-12-21 2023-06-22 Acronis International Gmbh Systems and methods for protecting data during synchronization

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009110225A (ja) 2007-10-30 2009-05-21 Hitachi Ltd 記憶制御装置、ストレージシステム及び記憶制御装置の制御方法
WO2010140222A1 (ja) 2009-06-02 2010-12-09 富士通株式会社 情報処理システム、管理装置および情報処理方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040158730A1 (en) 2003-02-11 2004-08-12 International Business Machines Corporation Running anti-virus software on a network attached storage device
US7222143B2 (en) * 2003-11-24 2007-05-22 Lenovo (Singapore) Pte Ltd. Safely restoring previously un-backed up data during system restore of a failing system
US7797555B2 (en) * 2006-05-12 2010-09-14 Intel Corporation Method and apparatus for managing power from a sequestered partition of a processing system
US7962956B1 (en) * 2006-11-08 2011-06-14 Trend Micro Incorporated Evaluation of incremental backup copies for presence of malicious codes in computer systems
US8484737B1 (en) * 2008-11-10 2013-07-09 Symantec Corporation Techniques for processing backup data for identifying and handling content
US9268689B1 (en) * 2012-03-26 2016-02-23 Symantec Corporation Securing virtual machines with optimized anti-virus scan
US9785647B1 (en) 2012-10-02 2017-10-10 Axcient, Inc. File system virtualization
US11328061B2 (en) 2019-07-16 2022-05-10 Acronis International Gmbh System and method of inspecting archive slices for malware

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009110225A (ja) 2007-10-30 2009-05-21 Hitachi Ltd 記憶制御装置、ストレージシステム及び記憶制御装置の制御方法
WO2010140222A1 (ja) 2009-06-02 2010-12-09 富士通株式会社 情報処理システム、管理装置および情報処理方法

Also Published As

Publication number Publication date
US11328061B2 (en) 2022-05-10
US11762994B2 (en) 2023-09-19
JP2021018799A (ja) 2021-02-15
CH716436B1 (it) 2023-11-30
US20210019404A1 (en) 2021-01-21
CH716436A2 (it) 2021-01-29
EP3767509C0 (en) 2023-06-07
US20220237288A1 (en) 2022-07-28
EP3767509A1 (en) 2021-01-20
EP3767509B1 (en) 2023-06-07

Similar Documents

Publication Publication Date Title
JP7390932B2 (ja) マルウェアについて複数のアーカイブスライスを検査するシステムおよび方法
US11681591B2 (en) System and method of restoring a clean backup after a malware attack
US8806625B1 (en) Systems and methods for performing security scans
US9870151B1 (en) Backup time deduplication of common virtual disks from virtual machine backup images
US9792436B1 (en) Techniques for remediating an infected file
US9436824B1 (en) System and method for performing antivirus scans of files
US11601443B2 (en) System and method for generating and storing forensics-specific metadata
US8924359B1 (en) Cooperative tiering
US11477232B2 (en) Method and system for antivirus scanning of backup data at a centralized storage
US11550913B2 (en) System and method for performing an antivirus scan using file level deduplication
US11822659B2 (en) Systems and methods for anti-malware scanning using automatically-created white lists
US10489587B1 (en) Systems and methods for classifying files as specific types of malware
US11997132B2 (en) System and method for protecting network resources
US11562067B2 (en) System and method of inspecting archive slices for malware using empty sparse files
EP3519993A1 (en) Tracking access pattern of inodes and pre-fetching inodes
US10089469B1 (en) Systems and methods for whitelisting file clusters in connection with trusted software packages
US9501649B2 (en) Systems and methods for determining potential impacts of applications on the security of computing systems
US11711380B2 (en) Systems and methods for parallel virus and malware scan between agents in a cloud environment
US10339308B1 (en) Systems and methods for remediating computer reliability issues
JP7392013B2 (ja) 空のスパースファイルを使用してアーカイブスライスをマルウェアについて検査するシステムおよび方法
US11281774B2 (en) System and method of optimizing antivirus scanning of files on virtual machines
US20240073224A1 (en) Systems and methods for deduplicating malware scan attempts in a network
US11144637B1 (en) Systems and methods for executing decision trees
US10248787B1 (en) Systems and methods for determining reputations of files

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220822

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230905

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230905

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231010

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: 20231024

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231121

R150 Certificate of patent or registration of utility model

Ref document number: 7390932

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150