JP6686309B2 - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
JP6686309B2
JP6686309B2 JP2015140631A JP2015140631A JP6686309B2 JP 6686309 B2 JP6686309 B2 JP 6686309B2 JP 2015140631 A JP2015140631 A JP 2015140631A JP 2015140631 A JP2015140631 A JP 2015140631A JP 6686309 B2 JP6686309 B2 JP 6686309B2
Authority
JP
Japan
Prior art keywords
file
update
attribute
signal
unit
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.)
Expired - Fee Related
Application number
JP2015140631A
Other languages
English (en)
Other versions
JP2017021704A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015140631A priority Critical patent/JP6686309B2/ja
Priority to US15/161,325 priority patent/US20170017552A1/en
Publication of JP2017021704A publication Critical patent/JP2017021704A/ja
Application granted granted Critical
Publication of JP6686309B2 publication Critical patent/JP6686309B2/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
    • 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/1453Management of the data involved in backup or backup restore using de-duplication of the data
    • 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
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1748De-duplication implemented within the file system, e.g. based on file segments
    • 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
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、情報処理装置及び情報処理装置制御方法に関する。
一般的にプログラムは、OS(Operating System)のファイルシステムを経由してファイルにアクセスする。以後、ファイルシステムを利用するプログラムを、「利用プログラム」と呼ぶ。すなわち、利用プログラムがファイルを読み書きする動作においては、ファイルシステム、デバイスドライバ、ハードウェアであるストレージの順又はその逆で制御やデータが伝送される。ファイルシステムは、ストレージに格納されたデータやその関連情報をファイルという扱いやすい形で利用プログラムに見せるOSの基本的な機能を有する。
ファイルシステムは、ファイルを管理するためにファイルの状態を表す各種情報に加えて属性情報を管理している。各種情報には、例えばファイル名、アクセス権、ファイルサイズ及び更新日時が含まれる。また、属性情報には、例えば読み取り専用か否か、アーカイブ要因か否か、システムファイルか否か、隠しファイルか否かを示す情報が含まれる。
例えば、ファイルがアーカイブ要因か否かを表すアーカイブ属性のフラグは、ファイルの作成時及び更新時にファイルシステムによって自動的にフラグをオンにされ、そのファイルはアーカイブ属性を有することが示される。また、利用プログラムは、ファイルシステムの専用コマンドを呼び出してアーカイブ属性をオフにすることができる。
この属性を使用する利用プログラムにバックアップソフトがある。バックアップソフトにおける増分バックアップや差分バックアップは、アーカイブ属性がオンのファイルだけをコピーし、コピー後にコピーされたファイルのバックアップ属性をオフにするモードである。このモードにより、全てのファイルをコピーする通常のバックアップと異なり、更新のあったファイルのみをコピーすることができ、バックアップ時間を短縮することができる。
また、近年コンピュータの安全性の確保は重要な課題であり、そのためにウイルス対策ソフトの導入は欠かせないものとなっている。このウイルス対策ソフトも、ファイルから読み取ったデータをウイルスパターンと比較するスキャン処理を行うことでコンピュータに対する脅威を検出する利用プログラムである。
なお、ファイルに更新日時という属性を設け、ファイルシステムがプログラムからレコードの読込要求に対してデータとともに更新日時エリアの内容も取得し、読込日時と更新日時との比較により排他制御を行う従来技術がある。また、ウイルス対策として、新たに更新されたファイルを示す更新ファイルリストを作成し、更新ファイルリストに示されたファイルに対してだけウイルスチェックを行うことで、短時間で検疫を終わらせる従来技術がある。
特開平11−065910号公報 特開2011−170504号公報
しかしながら、最近ではハードディスクなどで構成されるストレージの容量は増大を続けており、スキャン処理が完了するまでに数時間以上かかることも珍しくない。この点、スキャン処理は、コンピュータの処理能力の一部を使用するため、本来のコンピュータの使用目的としての業務や操作の処理が延伸してしまう。そのため、全ファイルをスキャンする完全スキャンを行った場合、ストレージの容量が大きいシステムでは、数時間以上の間、本来実行したい利用プログラムの処理速度が遅くなるおそれがある。
そこで、ファイルの内容が変更されたことを示す更新属性をファイル毎に付与し、ウイルス対策ソフトに更新属性がオンであるファイルのみスキャンさせる方法が考えられる。この方法を用いれば、スキャン処理時間を短くすることができる。例えば、更新属性として、アーカイブ属性を用いることもできる。
このようにウイルス対策ソフトがファイルの更新情報を利用して効率的に処理を行う方法に対して、ファイルシステムの構造を知るウイルスが、スキャンを逃れるためにファイルの更新情報を改ざんするおそれがある。具体的には、ウイルスがOSの特権モードを奪いコンピュータを乗っ取った場合、更新属性を変更することができてしまい、ウイルスは自己が感染したファイルをウイルス対策ソフトが行うスキャンの対象外としてしまうことが考えられる。
また、別の問題としてデータのバックアップツールと共存できないことが挙げられる。更新属性としてアーカイブ属性を使用した場合、バックアップ実行により属性がオフされてしまうので、ウイルス対策ソフトは、バックアップ実行前にスキャンを終わらせなければ、更新ファイルを漏れなくスキャンすることが困難になる。これらのように、アーカイブ属性などのファイル属性を用いて更新のあったファイルのみをスキャンする技術では、信頼性が低く有効なスキャンを行うことが困難である。
また、更新ファイルリストに示されたファイルに対してだけウイルスチェックを行う従来技術を用いても、ウイルスが更新ファイルリスト自体を書き換えることが考えられ、ウイルスがスキャンを逃れるおそれがある。
開示の技術は、上記に鑑みてなされたものであって、更新されたファイルに対して確実に処理を実行する情報処理装置及び情報処理装置制御方法を提供することを目的とする。
本願の開示する情報処理装置は、一つの態様において、更新情報管理部は、周期的にパルスを発生する素子からのパルス信号を基に生成され且つ所定間隔でオンとなるリセット信号と、特定データの更新に応じてオンとなるセット信号とが入力されるRSラッチを有し、前記RSラッチは、前記セット信号がオンであり且つ前記リセット信号がオフの時に更新情報の付加を示す信号を出力し、前記セット信号及び前記リセット信号の双方がオフのとき前記更新情報の維持を示す信号を出力し、前記リセット信号がオンのときに前記更新情報の削除を示す信号を出力し、前記RSラッチが前記更新情報の付加を示す信号を出力した場合、前記更新情報を前記特定のデータに付加し且つ所定のプログラムによる前記更新情報の削除を抑制し、前記RSラッチが前記更新情報の削除を示す信号を出力した場合、前記特定のデータに付加された前記更新情報を削除し、前記RSラッチが前記更新情報の維持を示す信号を出力した場合、前記特定のデータに対する前記更新情報の状態を維持する。処理実行部は、前記更新情報が付加されている場合に、前記特定のデータに対して所定の処理を行う。
本願の開示する情報処理装置及び情報処理装置制御方法の一つの態様によれば、更新されたファイルに対して確実に処理を実行することができるという効果を奏する。
図1は、情報処理装置のハードウェア構成図である。 図2は、情報処理装置で動作するソフトウェア及びファイルの状態を表す図である。 図3は、属性情報の一例を表す図である。 図4は、情報処理装置のブロック図である。 図5は、差分スキャンの概要を説明するための図である。 図6は、リセット指示部の模式的な回路図である。 図7は、付加指示部、テーブル管理部及び更新検出テーブルの模式的な回路図である。 図8は、付加指示部の入出力を説明するための図である。 図9は、SRラッチの真理値表の図である。 図10は、更新検出テーブルとスキャンとの関係を表すタイミングチャートである。 図11Aは、更新属性フラグのオフのタイミングとスキャンタイミングが近接している場合のタイミングチャートである。 図11Bは、更新属性フラグのオフのタイミングとスキャンタイミングが十分離れている場合のタイミングチャートである。 図12は、ファイル管理の処理のフローチャートである。 図13は、ファイル更新時処理のフローチャートである。 図14は、属性読取処理のフローチャートである。 図15は、更新情報管理処理のフローチャートである。 図16は、属性更新処理のフローチャートである。 図17は、更新情報管理部による更新属性フラグの設定処理のフローチャートである。 図18は、SRラッチにおける出力決定処理のフローチャートである。 図19は、実施例1に係る情報処理装置を用いた場合のウイルス検出の効果を説明するための図である。 図20は、実施例2に係るクロック発生部の模式的な回路図である。
以下に、本願の開示する情報処理装置及び情報処理装置制御方法の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する情報処理装置及び情報処理装置制御方法が限定されるものではない。
図1は、情報処理装置のハードウェア構成図である。本実施例に係る情報処理装置1は、CPU(Central Processing Unit)2、メモリ3、更新検出テーブル回路4、インタフェース5、ストレージ6、アドレスバス7及びデータバス8を有する。
メモリ3及び更新検出テーブル回路4は、アドレスバス7及びデータバス8を介してCPU2に接続している。また、ストレージ6は、インタフェース5、アドレスバス7及びデータバス8を介してCPU2に接続している。
インタフェース5は、アドレスバス7及びデータバス8とストレージ6とを接続するためのインタフェースである。
ストレージ6は、例えばハードディスクなどの副記憶装置である。ストレージ6には、OS(Operating System)が格納される。また、ストレージ6には、OSが提供するファイルシステムを利用する利用プログラムを含む各種プログラムが格納されている。ストレージ6には、利用プログラムとして、例えば、ウイルス検出ソフトが格納さている。また、ストレージ6には、CPU2により実行されたOS及び利用プログラムを含む各種プログラムによりデータの読み出し及び書き込みが行われる。例えば、ウイルス検出ソフトは、ストレージ6に格納されたデータを読み出し、ウイルスチェックを行う。
メモリ3は、例えばDRAM(Dynamic Random Access Memory)などの主記憶装置である。メモリ3には、CPU2により各種プログラムが展開され、プロセスが生成される。
CPU2は、ストレージ6からOSを読み出しメモリ3に展開して実行する。CPU2は、OSを実行することでデバイスドライバ及びファイルシステムを提供する。また、CPU2は、ストレージ6から利用プログラムを含む各種プログラムを読み出し実行する。
CPU2は、アドレスバス7を用いて利用するアドレスの送受信をメモリ3、更新検出テーブル回路4及びストレージ6との間で行う。また、CPU2は、データバス8を用いてファイルの送受信をメモリ3、更新検出テーブル回路4及びストレージ6との間で行う。例えば、CPU2は、メモリ3、更新検出テーブル回路4及びストレージ6に対して、アドレスバス7で送信したアドレスにデータバス8で送信してファイルのデータを書き込ませる。また、CPU2は、アドレスバス7で送信したアドレスに格納されるファイルをメモリ3、更新検出テーブル回路4及びストレージ6から読み出す。また、CPU2は、ストレージ6のファイルを更新した場合、更新検出テーブル回路4におけるファイルが更新されたか否かを表す更新属性のフラグをオンにする。更新属性のフラグがオンになっているファイルは、更新があったファイルとして認識される。このファイルが、「特定のデータ」の一例にあたる。
更新検出テーブル回路4は、ハードウェアで構成されるテーブルである。このように、更新検出テーブル回路4は、例えば、EEPROM(Electrically Erasable Programmable Read Only Memory)のようなメモリ素子である。
更新検出テーブル回路4は、ストレージ6に格納されたファイルが更新されたか否か、すなわち更新属性を有するか否かを表す更新情報を格納するテーブルである。具体的には、更新検出テーブル回路4は、各ファイルに対応する更新属性のフラグを有する。以下では、更新検出テーブル回路4における更新属性のフラグを、「更新属性フラグ」という。
更新検出テーブル回路4の更新属性フラグがオンであれば、そのファイルが更新されたことを表す。逆に、更新検出テーブル回路4の更新属性フラグがオフであれば、そのファイルに更新が無いことを表す。例えば、CPU2によって実行されるウイルス対策ソフトは、更新検出テーブル回路4に格納された更新情報を取得し、更新されたファイルをスキャンしてウイルスの検出を行う。
更新検出テーブル回路4は、ストレージ6のファイルの更新があった場合に、CPU2からの指示を受け更新されたファイルに対応する更新属性フラグをオンにする。また、更新検出テーブル回路4では、更新属性フラグがオンになった後に所定の時間が経過した場合、OSから独立して更新属性フラグがオフになる。この更新検出テーブル回路4における更新属性フラグのオンオフは、後で詳細に説明する。
図2は、情報処理装置で動作するソフトウェア及びファイルの状態を表す図である。ストレージ6には、ファイルテーブル61及びファイルのデータ62が格納される。ファイルテーブル61の情報及びデータ62の組み合わせが1つのファイルを指す。
ファイルテーブル61には、例えば、ファイル名及びデータ位置が格納される。また、ファイルテーブル61には、属性情報611が格納される。属性情報611は、対応するファイルの各種属性を表す情報である。具体的には、属性情報611は、図3に示すように各属性のフラグが割り当てられたビットの値によりファイルがそれぞれの属性を有するか否かを表す。図3は、属性情報の一例を表す図である。
図3に示すように、例えば、属性情報611は、読取専用か否かを表すフラグであるRo(Read Only)のフラグ、隠しファイルであるか否かを表すHd(Hidden)のフラグ及びアーカイブであるか否かを表すAc(Archive)のフラグを有する。また、本実施例では、更新されたファイルであるか否かを表す更新情報に対応するビットとして、ビット612が確保されている。ビット612には、属性情報611の空きビットを用いる。たとえば、属性情報611が8ビットの場合、読取専用属性には、ビット位置を16進数で表すと0x80が割り当てられている。また、隠しファイル属性には、0x20が割り当てられている。また、アーカイブ属性には、0x02が割り当てられている。そして、それ以外の場所は空きビットである。そこで、本実施例では、更新属性にあたるビット612として、0x01が割り当てられている。また、属性情報611のそれ以外の空きビットには、0がセットされる。
例えば、Roのフラグがオンであれば、ファイルは読取専用属性を有する。また、Hdのフラグがオンであれば、ファイルは隠しファイル属性を有する。また、Acのフラグがオンであれば、ファイルはアーカイブ属性を有する。更新属性のフラグについては、ビット612はリザーブされているだけであり、属性情報611上でのオンオフが禁止されており、フラグの値は属性情報611に格納されない。
また、ファイルテーブル61に格納されたファイル名に対応するデータ62は、ファイルテーブル61のデータ位置で示される位置に格納される。
更新検出テーブル回路4は、各ファイルに対応する更新属性フラグ41を有する。本実施例では、ファイルテーブル61と同じエントリ順序を有する。例えば、図2のようにファイルテーブル61のエントリが並んでいる場合、更新検出テーブル回路4の更新属性フラグ41のエントリは上から順に同じエントリとして点線で表されるように1対1で対応する。すなわち、ファイルテーブル61の上からn番目のエントリ番号をn番とすると、更新検出テーブル回路4の更新属性フラグ41のn番目のエントリ番号がn番となる。
さらに、図2に示すように、情報処理装置1では、OS92が動作し、そのOS92において、ファイルシステム93及びデバイスドライバ94が動作する。ここで、OS92、ファイルシステム93及びデバイスドライバ94は、CPU2によってメモリ3上に展開されプロセスを生成する。また、利用プログラム91もメモリ3上に展開され動作する。そして、利用プログラム91は、ファイルシステム93及びデバイスドライバ94を介して、ストレージ6に格納されたファイルテーブル61のデータ位置で示されるデータ62にアクセスする。ファイルシステム91は、実際にはデバイスドライバ94を介してファイルにアクセスするが、以下では説明の都合上、ファイルシステム91が直接ファイルにアクセスするように説明する。
ファイルシステム93は、特定のファイルのデータ62を更新した場合に、その特定のファイルのファイルテーブル61上のエントリに対応する更新検出テーブル回路4の更新属性フラグ41のエントリをオンにする。また、ファイルシステム93は、利用プログラム91であるウイルス検出ソフトから属性情報611の取得を受ける。そして、ファイルシステム93は、属性情報611を取得するとともに対応する更新属性フラグ41の値を取得する。その後、ファイルシステム93は、属性情報611のビット612に更新属性フラグ41の値を格納し、利用プログラム91であるウイルス検出ソフトに送信する。利用プログラム91であるウイルス検出ソフトは、取得した属性情報611に格納された更新属性フラグ41の値から更新されたファイルを特定し、特定したファイルについてウイルスチェックを行う。
また、ファイルシステム93は、利用プログラム91の指示を受けて、ファイル作成処理、ファイル削除処理、データ書込処理、データ読出処理、属性設定処理、属性更新処理、属性読取処理及びファイル更新時処理などを行う。この利用プログラム91、OS92、ファイルシステム93及びデバイスドライバ94を含む情報処理装置1のCPU2により実行される各種プログラムが、「所定のプログラム」の一例にあたる。
次に、図4を参照して、情報処理装置1が有する各機能の詳細について説明する。図4は、情報処理装置のブロック図である。
図4に示すように、情報処理装置1は、利用プログラム実行部101、データ読書処理部102、ファイル情報管理部103、属性読取部104及び更新情報管理部105を有する。データ読書処理部102、ファイル情報管理部103及び属性読取部104は、ファイルシステム93により実現される。
利用プログラム実行部101は、図1のCPU2及びメモリ3により実現される。具体的には、CPU2及びメモリ3により実行される図2の利用プログラム91の動作によりその機能が発揮される。
利用プログラム実行部101は、ファイル作成の指示をファイル情報管理部103へ指示する。その後、利用プログラム実行部101は、エラー応答又は処理完了の応答をファイル情報管理部103から受ける。
また、利用プログラム実行部101は、データ書込指示をデータ読書処理部102及びファイル情報管理部103へ出力する。さらにこの場合、利用プログラム実行部101は、データが更新されたファイルの更新属性フラグ41のオンをファイル情報管理部103へ指示する。その後、利用プログラム実行部101は、エラー応答又は処理完了の応答をデータ読書処理部102及びファイル情報管理部103から受ける。
また、利用プログラム実行部101は、データ読出の指示をデータ読書処理部102及びファイル情報管理部103へ出力する。その後、利用プログラム実行部101は、エラー応答又は読み出されたデータをデータ読書処理部102から受信する。
また、利用プログラム実行部101は、ファイル削除をデータ読書処理部102及びファイル情報管理部103に指示する。その後、利用プログラム実行部101は、データ読書処理部102及びファイル情報管理部103からエラー応答又は処理完了の応答を受ける。
また、利用プログラム実行部101は、属性設定の場合、属性を変更するファイルの情報を含む属性設定の指示をファイル情報管理部103へ出力する。その後、利用プログラム実行部101は、エラー応答又は処理完了の応答をファイル情報管理部103から受ける。
また、利用プログラム実行部101は、属性読取をファイル情報管理部103及び属性読取部104に指示する。その後、利用プログラム実行部101は、指定した属性の情報を属性読取部104から取得する。
ここで、利用プログラム実行部101の動作について、利用プログラム91であるウイルス検出ソフトを実行する場合を特に説明する。利用プログラム実行部101は、一定期間毎に全てのファイルに対してウイルスチェックを行う完全スキャンを実行する。例えば、利用プログラム実行部101は、1週間に1度完全スキャンを行う。具体的には、利用プログラム実行部101は、全てのファイルのデータ62の読み出しをデータ読書処理部102に指示する。そして、利用プログラム実行部101は、読み出された全てのファイルのデータ62をスキャンしウイルスの検出を実行する。
また、完全スキャンに加えて、利用プログラム実行部101は、完全スキャンの実行頻度よりも高い頻度となる所定期間毎に更新されたファイルのみをスキャンする差分スキャンを実行する。例えば、利用プログラム実行部101は、24時間ごとに差分スキャンを実行する。
具体的には、利用プログラム実行部101は、ファイルの更新属性の読み取りをファイル情報管理部103及び属性読取部104に指示する。その後、利用プログラム実行部101は、各ファイルの更新属性を属性読取部104から取得する。そして、利用プログラム実行部101は、各ファイルの更新属性から更新されたファイルを特定する。次に、利用プログラム実行部101は、特定したファイルのデータ62の読み出しをデータ読書処理部102及びファイル情報管理部103へ指示する。その後、利用プログラム実行部101は、更新されたファイルのデータ62をデータ読書処理部102から取得する。そして、利用プログラム実行部101は、更新されたファイルのデータ62のスキャンを行いウイルスの検出を実施する。この利用プログラム実行部101が、「処理実行部」の一例にあたる。
ここで、図5を参照して、完全スキャン及び差分スキャンの概要について説明する。図5は、差分スキャンの概要を説明するための図である。状態301が完全スキャン時の状態を表し、状態302が差分スキャン時の状態を表す。図5では、ウイルス対策ソフト200から各ファイルに延びている矢印がスキャンを行っていることを示す。
状態301に示すように、完全スキャンの場合、ウイルス対策ソフト200は、ストレージ6に格納された全てのファイルA〜Fのデータ62をスキャンする。ここでは、完全スキャン後、ファイルBが削除され、ファイルC及びEが更新され、ファイルGが新たに作成された場合で説明する。状態302における色がついているファイルが更新されたファイルである。ウイルス対策ソフト200は、差分スキャンの場合、更新されたファイルC及びE、並びに、新しく作成されたファイルGのデータ62のみをスキャンする。このように、差分スキャンでは、あらたに作成されたファイルを含む更新されたファイルのデータ62のみがスキャン対象となるので、情報処理装置1は、完全スキャンに比べて負荷を抑えつつ短時間でスキャンを行うことができる。この差分スキャンが、「所定の処理」の一例にあたる。
データ読書処理部102は、図1のCPU2及びメモリ3により実現される。具体的には、CPU2及びメモリ3により実行される図2のファイルシステム93の動作によりその機能が発揮される。
データ読書処理部102は、データ書込の指示を利用プログラム実行部101から受ける。さらに、データ読書処理部102は、データ書込を行うファイルのデータ62のデータ位置の情報をファイル情報管理部103から取得する。そして、データ読書処理部102は、ストレージ6の取得したデータ位置にあるデータ62に対してデータ書込を行う。その後、データ読書処理部102は、処理が完了した場合には処理完了の応答を利用プログラム実行部101へ送信する。また、処理が完了せずにエラーが発生した場合、データ読書処理部102は、エラー応答を利用プログラム実行部101へ送信する。
また、データ読書処理部102は、データ読出の指示を利用プログラム実行部101から受ける。さらに、データ読書処理部102は、データ読出を行うファイルのデータ62のデータ位置の情報をファイル情報管理部103から取得する。そして、データ読書処理部102は、指定されたファイルのデータ62をストレージ6の取得したデータ位置から読み出す。その後、データ読書処理部102は、読み出したデータ62を利用プログラム実行部101へ送信する。また、処理が完了せずにエラーが発生した場合、データ読書処理部102は、エラー応答を利用プログラム実行部101へ送信する。
また、データ読書処理部102は、ファイル削除の指示を利用プログラム実行部101から受ける。さらに、データ読書処理部102は、消去を行うファイルのデータ62のデータ位置の情報をファイル情報管理部103から取得する。そして、データ読書処理部102は、ストレージ6の取得したデータ位置に格納されたデータを消去する。その後、データ読書処理部102は、処理が完了した場合には処理完了の応答を利用プログラム実行部101へ送信する。また、処理が完了せずにエラーが発生した場合、データ読書処理部102は、エラー応答を利用プログラム実行部101へ送信する。
ファイル情報管理部103は、図1のCPU2及びメモリ3により実現される。具体的には、CPU2及びメモリ3により実行される図2のファイルシステム93及びデバイスドライバ94の動作によりその機能が発揮される。ファイル情報管理部103は、各ファイルの属性の設定及び変更を含むファイルテーブル61の管理を行う。以下にファイル情報管理部103の処理の詳細について説明する。
ファイル情報管理部103は、ファイルの識別情報を含む属性設定の指示を利用プログラム実行部101から受ける。ただし、更新属性フラグ41は、ファイルの更新時に自動的にオンされ、所定期間経過後自動的にオフされるものである。そのためファイル情報管理部103が受ける属性設定の指示の中には、更新属性フラグ41の明示的なオンオフの指定は含まれない。
その後、ファイル情報管理部103は、ファイルテーブル61の中から指定されたファイルの識別情報に対応するエントリ番号を特定する。そして、ファイル情報管理部103は、ファイルテーブル61上の特定したエントリにおける属性情報611の設定を行う。具体的には、ファイル情報管理部103は、属性情報611における指定された属性のフラグのオンオフを指定された値に設定する。その後、ファイル情報管理部103は、設定完了の応答を利用プログラム実行部101に出力する。
また、ファイル情報管理部103は、ファイルの作成の指示を利用プログラム実行部101から受ける。次に、ファイル情報管理部103は、ファイルテーブル61の中の空きエントリを特定する。そして、空きエントリがあれば、ファイル情報管理部103は、特定したエントリにファイルの識別子などを登録する。また、ファイル情報管理部103は、作成したファイルの更新属性以外の属性情報の設定を行う。さらにファイル情報管理部103は、新しくファイルを作成したエントリのエントリ番号、書込データの情報及びライトイネーブル(Write Enable)信号を更新情報管理部105の付加指示部151へ出力する。ここで、書込データは、更新属性フラグ41をオンにするデータであり、値が「1」すなわちHighの値を有するデータである。その後、ファイル情報管理部103は、設定完了の応答を利用プログラム実行部101に出力する。また、空きエントリが無い場合、ファイル情報管理部103は、エラーの応答を利用プログラム実行部101へ出力する。
また、ファイル情報管理部103は、データ書込の場合、ファイルの識別情報とともにデータ書込の指示を利用プログラム実行部101から受ける。そして、ファイル情報管理部103は、ファイルテーブル61の中から取得したファイルの識別情報に対応するエントリ番号を特定する。その後、ファイル情報管理部103は、特定したエントリ番号を有するエントリからデータ位置を取得し、データ読書処理部102へ出力する。次に、ファイル情報管理部103は、ファイルテーブル61の特定したエントリにおける更新日時などの情報を更新する。さらに、ファイル情報管理部103は、特定したエントリ番号、書込データの情報及びライトイネーブル信号を更新情報管理部105の付加指示部151へ出力する。
また、ファイル情報管理部103は、データ読出の場合、ファイルの識別情報とともにデータ読出の指示を利用プログラム実行部101から受ける。そして、ファイル情報管理部103は、ファイルテーブル61の中から取得したファイルの識別情報に対応するエントリ番号を特定する。その後、ファイル情報管理部103は、特定したエントリ番号を有するエントリからデータ位置を取得し、データ読書処理部102へ出力する。
また、ファイル情報管理部103は、ファイル削除の場合、ファイルの識別情報とともにファイル削除の指示を利用プログラム実行部101から受ける。そして、ファイル情報管理部103は、ファイルテーブル61の中から取得したファイルの識別情報に対応するエントリ番号を特定する。その後、ファイル情報管理部103は、特定したエントリ番号を有するエントリからデータ位置を取得し、データ読書処理部102へ出力する。さらに、ファイル情報管理部103は、特定したエントリ番号を有するエントリに格納された情報を削除する。その後、ファイル情報管理部103は、処理完了の応答を利用プログラム実行部101へ出力する。
さらに、ファイル情報管理部103は、属性読取の場合、ファイルの識別情報とともに属性読取の指示を利用プログラム実行部101から受ける。そして、ファイル情報管理部103は、ファイルテーブル61の中から取得したファイルの識別情報に対応するエントリ番号を特定する。その後、ファイル情報管理部103は、特定したエントリ番号を有するエントリからデータ位置を取得し、属性読取部104及び更新情報管理部105へ出力する。
属性読取部104は、図1のCPU2及びメモリ3により実現される。具体的には、CPU2及びメモリ3により実行される図2のファイルシステム93の動作によりその機能が発揮される。
属性読取部104は、属性読取の指示を利用プログラム実行部101から受ける。さらに、属性読取部104は、ファイル情報管理部103から属性を読み取るファイルのエントリ番号をファイル情報管理部103から取得する。
読み取る属性として更新属性以外が指定された場合、属性読取部104は、取得したエントリの属性情報611の中から、指定された属性のフラグの値を読み取る。そして、属性読取部104は、読み取った各属性のフラグの値を利用プログラム実行部101へ出力する。
これに対して、読み取る属性として更新属性が指定された場合、属性読取部104は、更新情報管理部105の更新検出テーブル154の取得したエントリに対応する更新属性フラグ41の値を取得する。次に、属性読取部104は、取得した更新属性フラグ41の値を特定したエントリの属性情報611のビット612に格納された更新属性のフラグを表す値とする。そして、属性読取部104は、更新属性のフラグを表す値を利用プログラム実行部101へ出力する。
更新情報管理部105は、更新検出テーブル回路4によって実現される。更新情報管理部105は、付加指示部151、リセット指示部152、テーブル管理部153及び更新検出テーブル154を有する。本実施例では、付加指示部151〜更新検出テーブル154は、ハードウェア回路である。
リセット指示部152は、所定の周期でテーブル管理部153に対して周期をずらした2つのリセット信号である第1リセット信号及び第2リセット信号を出力する。図6は、リセット指示部の模式的な回路図である。図6に示すように、リセット指示部152は、クロック生成部521、T型FF(Flip Flop)522、遅延付加部523、並びに、AND回路524及び525を有する。このリセット指示部152が、「削除指示部」の一例にあたる。
クロック生成部521は、周期的にクロックパルスを出力する。例えば、クロック生成部521は、情報処理装置1が有するRTC(Real Time Clock)素子からクロックを受信し、24時間毎にクロックパルスを発生する。ただし、クロックパルスの周期は完全スキャンの周期より短ければよく、ウイルススキャンの処理負荷とウイルス検出の確度とのバランスから決定されることが好ましい。クロックパルスの周期が短ければ、ウイルススキャンの頻度があがり、ウイルス検出の確度が向上するが、情報処理装置1の処理負荷が上昇する。クロック生成部521は、生成したクロックパルスをT型FF522及び遅延付加部523へ出力する。図6では、クロック生成部521が出力するクロックパルスを「CLK(Clock)」として表している。
T型FF522は、クロックパルスの入力をクロック生成部521から受ける。T型FF522は、互いに反転した2つの信号である第1タイミング信号及び第2タイミング信号を出力する。図6では、第1タイミング信号を「T−Q1」と表し、第2タイミング信号を「T−Q2」と表している。そして、T型FF522は、クロックパルスの立ち上がりのタイミングで第1タイミング信号及び第2タイミング信号を反転させる。すなわち、第1タイミング信号及び第2タイミング信号は24時間毎に反転する。T型FF522は、第1タイミング信号をAND回路524へ出力する。また、T型FF522は、第2タイミング信号をAND回路525へ出力する。
遅延付加部523は、信号遅延用の一般素子である。遅延付加部523は、クロックパルスの入力をクロック生成部521から受ける。そして、遅延付加部523は、入力されたクロックパルスに所定の遅延を与えて遅延クロックパルスを生成する。例えば、遅延付加部523は、クロックパルスに4分の1周期の遅延を与えて遅延クロックパルスを生成する。そして、遅延付加部523は、遅延クロックパルスをAND回路524及び525へ出力する。図6では、遅延クロックパルスを「DCLK」と表している。
AND回路524は、第1タイミング信号の入力をT型FF522から受ける。また、AND回路524は、遅延クロックパルスの入力を遅延付加部523から受ける。次に、AND回路524は、第1タイミング信号と遅延クロックパルスとの論理積を求める。そして、AND回路524は、求めた論理積の値を有する第1リセット信号をテーブル管理部153へ出力する。図6では、第1リセット信号は「RST1」と表されている。第1リセット信号は、クロックパルス信号の2倍のインターバルを有する。
AND回路525は、第2タイミング信号の入力をT型FF522から受ける。また、AND回路525は、遅延クロックパルスの入力を遅延付加部523から受ける。次に、AND回路525は、第2タイミング信号と遅延クロックパルスとの論理積を求める。そして、AND回路525は、求めた論理積の値を有する第2リセット信号をテーブル管理部153へ出力する。図6では、第2リセット信号は「RST2」と表されている。第2リセット信号は、クロックパルス信号の2倍のインターバルを有する。
ここで、第1タイミング信号及び第2タイミング信号は、クロックパルスのインターバルの2倍の周期をもつ、互いにパルスタイミングが半周期ずれた信号である。そして、第1タイミング信号と第2タイミング信号の周期は48時間である。さらに、遅延クロックパルスは、24時間毎に入力される。そこで、AND回路524が第1リセット信号を出力した後、24時間後にAND回路525が第2リセット信号を出力し、その24時間後にAND回路524が第1リセット信号を出力する処理が繰り返される。第1タイミング信号及び第2タイミング信号は、更新属性フラグ41のリセットのタイミングを与える信号である。
次に、図7を参照して、付加指示部151、テーブル管理部153及び更新検出テーブル154について説明する。図7は、付加指示部、テーブル管理部及び更新検出テーブルの模式的な回路図である。
付加指示部151は、更新属性を付加する指示、すなわち、更新属性フラグ41のオンの指示をテーブル管理部153へ出力する。図7に示すように、付加指示部151は、AND回路511を有する。
ここで、図8を参照して、付加指示部の入出力について説明する。図8は、付加指示部の入出力を説明するための図である。AND回路511は、Highの値を有する書込データ及び当該データの有効信号の入力をファイル情報管理部103から受ける。データの有効信号は、High/Lowが確定した書込データであることを保証する期間を示す信号である。本実施例では、次のように生成する。メモリアクセスにおいて一般的な信号であるバスクロック401と一般的なライトイネーブル信号402の論理積を求め、求めた信号を反転させることで、データの有効信号403が求められる。そして、AND回路511は、書込データ(WRITE DATA)404と算出したデータの有効信号403との論理積を求める。その後、AND回路511は、求めた論理積の値を有する設定信号405をテーブル管理部153へ出力する。図7及び8では、設定信号が「SET」として表されている。
テーブル管理部153は、付加指示部151から受信した更新属性フラグ41をオンする指示及びリセット指示部152から受信した第1リセット信号及び第2リセット信号を用いて、更新属性フラグ41の設定を行う。テーブル管理部153は、SR(Set Reset)ラッチ531及び532を有する。このテーブル管理部153が、「管理部」の一例にあたる。
SRラッチ531は、S(Set)の入力ポートに対して、設定信号の入力を付加指示部151から受ける。また、SRラッチ531は、R(Reset)の入力ポートに対して、第1リセット信号の入力をリセット指示部152から受ける。そして、SRラッチ531は、図9で示す真理値表にしたがい第1属性信号を出力する。図9は、SRラッチの真理値表の図である。
具体的には、設定信号及び第1リセット信号がLowであれば、SRラッチ531は出力中の第1属性信号を保持する。また、設定信号がLowであり第1リセット信号がHighであれば、SRラッチ531は第1属性信号としてLowの信号を出力する。また、設定信号がHighであり第1リセット信号がLowであれば、SRラッチ531は第1属性信号としてHighの信号を出力する。さらに、設定信号及び第1リセット信号がHighの場合、SRラッチ531は第1属性信号としてLowの信号を出力する。図6では、第1属性信号を「U1」で表している。
SRラッチ532は、Sの入力ポートに対して、設定信号の入力を付加指示部151から受ける。また、SRタッチ532は、Rの入力ポートに対して、第2リセット信号の入力をリセット指示部152から受ける。そして、SRラッチ532は、SRラッチ531と同様に図9で示す真理値表にしたがい第2属性信号を出力する。図6では、第2属性信号を「U2」で表している。
更新検出テーブル154は、更新属性フラグ41をファイルの数分有する。更新検出テーブル154は、ファイル情報管理部103から受信したエントリ番号に対応するファイルの更新属性フラグ41のオンオフを、テーブル管理部153から受信した第1属性信号及び第2属性信号を用いて設定し、設定値を属性読取部104へ出力する。
更新検出テーブル154は、アドレスデコーダ542及びOR回路541を有する。ここで、図7では、選択された状態のOR回路541のみを記載しているが、更新検出テーブル154は、ファイルの数分のOR回路541を有する。そして、ファイルの数分のOR回路541は、1つの回路で構成される。
アドレスデコーダ542は、エントリ番号の入力をファイル情報管理部103から受ける。そして、アドレスデコーダ542は、取得したエントリ番号をOR回路541を表すアドレスに変換する。その後、アドレスデコーダ542は、取得したアドレスで表されるOR回路541を選択する。
OR回路541の中で、アドレスデコーダ542により選択されたOR回路541が以下の処理を行う。OR回路541は、第1属性信号の入力をSRラッチ531から受ける。また、OR回路541は、第2属性信号の入力をSRラッチ532から受ける。そして、OR回路541は、第1属性信号及び第2属性信号の論理積を求め、求めた論理積の値を更新属性フラグ41の値として属性読取部104へ出力する。
ここで、AND回路511は、上述したように、書込データとデータ有効信号の論理積の値を設定信号として出力する。そこで、例えば、悪意のプログラムが更新属性フラグ41をオフにしようとした場合について考える。その場合、AND回路511は、更新属性フラグ41をオフにするためにLowの値を有する書込データの書き込みが指示される。書込データがLowの値を有する場合、AND回路511は、Lowの値を有する設定信号を出力する。しかし、SRラッチはSの入力ポートへの信号入力において、AND回路511の出力がHighからLowへ変化する動作は存在しない。すなわち、更新属性フラグ41は、ファイルシステム93を含むCPU2によって実行されるプログラムによってオフにされることはない。つまり、更新情報管理部105は、ファイルシステム93を含むCPU2によって実行されるプログラムによる属性情報の削除を抑制しているといえる。言い換えれば、更新情報管理部105は、更新属性フラグ41のオフをファイルシステム93、ひいてはOS92から独立して行うといえる。
次に、図10を参照して、更新検出テーブル154とスキャンとのタイミングについて説明する。図10は、更新検出テーブルとスキャンとの関係を表すタイミングチャートである。図10は、横軸で時間の経過を表している。図10の各グラフは、左端に示した種類の信号の変化を表す。以下においてスキャン動作の説明の対象とするファイルを対象ファイルという。また、ここでは24時間間隔で差分スキャンを行う場合で説明する。
クロックパルス(CLK)は、24時間毎に出力される。そして、遅延クロックパルス(DCKL)は、所定の遅延が与えられてパルスタイミングがずらされている。
第1タイミング信号(T−Q1)は、クロックパルスの立ち上がりから次の立ち上がりまでの2倍を1周期、すなわち48時間を1周期とするパルス信号である。また、第2タイミング信号(T−Q2)は、第1タイミング信号を反転させた信号である。
そして、第1リセット信号(RST1)は、第1タイミング信号がHighの期間において、遅延クロックパルスがHighになったタイミングでHighの値を持つ。また、第2リセット信号(RST2)は、第2タイミング信号がHighの期間において、遅延クロックパルスがHighになったタイミングでHighの値を持つ。すなわち、第1リセット信号及び第2リセット信号は、いずれもクロックパルスの2倍のインターバル、すなわち48時間のインターバルをもつ。また、第1リセット信号と第2リセット信号とは、図10に示すように第1及び第2タイミング信号の半周期分のずれ、すなわち24時間のずれを有する。
ここでは、設定信号(SET)が時刻T1及びT4のタイミングでSRラッチ531及び532に入力された場合で説明する。T1以前には設定信号が入力されておらず、タイミング201におけるスキャンでは、対象ファイルは更新されておらず、スキャンの対象にならない。
時刻T1で設定信号が入力されたため、それ以降第1属性信号(U1)及び第2属性信号(U2)は、Highの値を有する状態に遷移する。
そして、時刻T1の後、時刻T2で第2リセット信号はLowの値を有する状態に遷移する。これにより、SRラッチ532から出力される第2属性信号がLowの値を有する状態に遷移する。しかしこの状態では、第1リセット信号はLowの値のままなので、更新属性フラグ41であるOR回路541は、Highの値を出力し続ける。すなわち、対象ファイルの更新属性フラグ41がオンの状態が保持される。
そして、タイミング202では対象ファイルの更新属性フラグ41がオンになっているので、対象ファイルはスキャンの対象となり、ウイルスの検出が行われる。
次に、時刻T3で第1リセット信号はLowの値を有する状態に遷移する。これにより、SRラッチ531から出力される第1属性信号がLowの値を有する状態に遷移する。この場合、第2リセット信号もLowの値を有するので、更新属性フラグ41であるOR回路541は、時刻T3でLowの値に遷移する。すなわち、対象ファイルの更新属性フラグ41がオフの状態となる。
そして、タイミング203では対象ファイルの更新属性フラグ41がオフになっているので、対象ファイルはスキャンの対象から外れる。
また、時刻T4で設定信号が入力されたため、それ以降第1属性信号及び第2属性信号は、Highの値を有する状態に遷移する。
そして、時刻T4の後、第1リセット信号及び第2リセット信号のいずれもがLowの値となる以前のタイミング204では、対象ファイルの更新属性フラグ41がオンであるので、対象ファイルはスキャンの対象となり、ウイルスの検出が行われる。
次に、時刻T5で第1リセット信号はLowの値を有する状態に遷移する。これにより、SRラッチ531から出力される第1属性信号がLowの値を有する状態に遷移する。しかしこの状態では、第2リセット信号はLowの値のままなので、更新属性フラグ41であるOR回路541は、Highの値を出力し続ける。すなわち、対象ファイルの更新属性フラグ41がオンの状態が保持される。
そして、タイミング205では対象ファイルの更新属性フラグ41がオンになっているので、対象ファイルはスキャンの対象となり、ウイルスの検出が行われる。すなわち、この場合は、1回の更新に対して、2回のウイルススキャンが行われることになる。
その後、時刻T6で第2リセット信号はLowの値を有する状態に遷移する。これにより、SRラッチ532から出力される第2属性信号がLowの値を有する状態に遷移する。この場合、第1リセット信号もLowの値を有するので、更新属性フラグ41であるOR回路541は、時刻T6でLowの値に遷移する。すなわち、対象ファイルの更新属性フラグ41がオフの状態となる。これにより、それ以降のタイミング206で行われるスキャンでは、対象ファイルは、スキャン対象から外れる。
このように、更新属性フラグ41は、最低でも第1リセット信号と第2リセット信号との周期のずれの期間は更新属性フラグ41がオンの状態が保持される。本実施例では、更新属性フラグ41は、最低でも24時間はオンの状態が保持される。そこで、スキャンタイミングを第1リセット信号と第2リセット信号との周期のずれの期間より短くすることで、更新されたファイルのスキャンを確実に行うことができる。この更新属性フラグ41がオンの状態の継続期間が、「所定期間」の一例にあたる。
そして、第1リセット信号と第2リセット信号との周期のずれの期間は、第1及び第2タイミング信号の半周期の期間にあたる。また、第1及び第2タイミング信号の1周期は、クロックパルスの周期の2倍である。したがって、第1リセット信号と第2リセット信号との周期のずれの期間は、クロックパルスの周期にあたる。言い換えれば、クロックパルスの周期が、ファイルの更新情報を保持する期間を与える。そこで、スキャンタイミングは、クロックパルスの周期より短くすれば、ウイルス検出ソフトはファイルの更新を見逃すことなく、更新されたファイルのスキャンが確実に行われる。
さらに、図11A及び11Bを参照して、ウイルス検出ソフトによるスキャンタイミングの条件について説明する。図11Aは、更新属性フラグのオフのタイミングとスキャンタイミングが近接している場合のタイミングチャートである。また、図11Bは、更新属性フラグのオフのタイミングとスキャンタイミングが十分離れている場合のタイミングチャートである。図11A及び11Bは、横軸で時間の経過を表す。また、図11A及び11Bでは、第1及び第2属性信号を組み合わせて更新属性フラグ41のオンオフの状態を表している。
更新属性フラグ41がオフになるタイミングとスキャンのタイミングが近接する場合、ウイルス検出ソフトの動作期間によりチェック漏れが生じるおそれがある。例えば、図11Aに示すように、時刻T01でスキャンが開始されると対象ファイルの更新属性フラグ41はオンであるので、本来であればスキャン対象となることが好ましい。しかし、ウイルス検出ソフトの動作期間が時間TSであり、時刻T03で処理が終わるとすると、その間の時刻T02で、対象ファイルの更新属性フラグ41がオフになってしまう。ウイルス検出ソフトが、時刻T02までに対象ファイルの更新属性フラグ41の確認を終えていなければ、対象ファイルはスキャンの対象外になってしまう。
さらに、本実施例のように、更新属性フラグ41がオフになるタイミングが1日1回であり、スキャンのタイミングも1日1回の場合、毎回スキャン漏れのおそれが発生し、信頼性の高いウイルスの検出ができなくなる。
そこで、このリスクを回避するために、図11Bのようにウイルス対策ソフトの動作開始の時刻T11から動作終了の時刻T12までの期間TSの後に更新属性フラグ41のオフの時刻T13が来るように、スキャンのタイミングを設定すればよい。すなわち、更新属性フラグ41がオフになる時刻T13から期間TSよりも十分前にウイルス対策ソフトが起動されることが好ましい。これにより、ウイルス検出ソフトの動作期間内に更新属性フラグ41がオフにならないようにすることができ、スキャン漏れを低減することができる。
例えば、更新属性フラグ41がオフになる周期及びスキャンの周期が24時間毎であり、ウイルス対策ソフトの最大処理時間が4時間である場合について考える。この場合、更新属性フラグ41をオフにする時刻が0時とされたならば、ウイルス対策ソフトの起動時刻は、5時や18時に設定されることが好ましい。
また、更新情報管理部105の目的の1つは、更新属性フラグ41をオンにする書き込み操作、すなわちHighのデータの書き込み操作により更新検出テーブル154をHighの信号を保持する状態とすることである。また、更新情報管理部105の他の目的は、リセットの操作により更新検出テーブル154をLowの信号を保持する状態とすることである。一般的なメモリは、Lowのデータの書き込み操作により、Lowのデータを保持する状態に遷移するが、更新情報管理部105は、この機能を有さない。その代わりに、更新情報管理部105は、OSに依存しないリセット信号により、更新検出テーブル154をLowのデータを保持する状態に遷移させる。
ここで、SRラッチ531及び532において、Highのデータの書き込み操作とリセット操作のタイミングが重なった場合、更新検出テーブル154が保持する値が不安定になるおそれがある。具体的には以下のような理由による。すなわち、本実施例に係る更新情報管理部105は、SRラッチ531及び532の出力を用いて、Highのデータを保持する状態に遷移する。しかし、SRラッチ531及び532では、Sの入力ポートにHighの信号が入力されるタイミングとRの入力ポートにLowの信号が入力されるタイミングとが重なると、出力は不安定になり、Highのデータを出力しないという誤った状態が生じるおそれがある。
そこで、本実施例では、SRラッチ531とSRラッチ532という2系統を配置し、その論理和を更新検出テーブル154の出力とすることで、更新検出テーブル154が保持する値が不安定となる状態の発生を抑制する。すなわち、SRラッチ531及び532の一方が不安定であっても、他方は必ずHighの値を出力する。そのため、SRラッチ531の出力とSRラッチ532の出力との論理和を更新属性フラグ41の値とすることで、リセットのタイミングに依らず、設定信号がHighの場合には更新属性フラグ41がオンになる。
次に、図12を参照して、本実施例に係る情報システムによるファイル管理の流れについて説明する。図12は、ファイル管理の処理のフローチャートである。図12のファイル管理の処理は、CPU2及びメモリ3により実行されるファイルシステム93によって行われる。以下では、ファイルシステム93に対応する図4の各部を動作主体として説明する。
ファイル情報管理部103は、利用プログラム実行部101により指示された操作がファイル作成か否かを判定する(ステップS101)。操作がファイル作成の場合(ステップS101:肯定)、ファイル情報管理部103は、ストレージ6に格納されたファイルテーブル61における空きエントリの検出を行う(ステップS102)。
そして、ファイル情報管理部103は、ファイルテーブル61に空きエントリがあるか否かを判定する(ステップS103)。空きエントリがない場合(ステップS103:否定)、ファイル情報管理部103は、エラーを利用プログラム実行部101に出力し(ステップS104)、ステップS121へ進む。
これに対して、空きエントリがある場合(ステップS103:肯定)、ファイル情報管理部103は、指定されたファイルの識別情報をファイルテーブル61の空きエントリに設定する(ステップS105)。さらに、ファイル情報管理部103は、属性更新処理を行う(ステップS106)。その後、ファイル情報管理部103は、ステップS114へ進む。
一方、操作がファイル作成でない場合(ステップS101:否定)、ファイル情報管理部103は、利用プログラム実行部101から受信したファイルの識別情報に対応するエントリ番号のファイルテーブル61からの取得を実行する(ステップS107)。
そして、ファイル情報管理部103は、ファイルの識別情報に対応するエントリ番号を取得したか否かを判定する(ステップS108)。エントリ番号を取得できない場合(ステップS108:否定)、ファイル情報管理部103は、エラーを利用プログラム実行部101へ出力する(ステップS109)。その後、処理はステップS121へ進む。
これに対して、エントリ番号が取得できた場合(ステップS108:肯定)、ファイル情報管理部103は、取得したエントリ番号を有するエントリからデータ位置を取得し、データ読書処理部102へ出力する。そして、データ読書処理部102及びファイル情報管理部103は、利用プログラム実行部101から指示された操作がファイル削除か否かを判定する(ステップS110)。指示された操作がファイル削除の場合(ステップS110:肯定)、データ読書処理部102及びファイル情報管理部103は、特定したエントリ番号を有するエントリを解放する(ステップS111)。具体的には、データ読書処理部102は、取得したエントリ番号を有するエントリに登録された情報を削除する。また、ファイル情報管理部103は、ストレージ6上の取得したデータ位置のデータ62を削除する。その後、データ読書処理部102及びファイル情報管理部103は、処理を終了する。
これに対して、指示された操作がファイル削除でない場合(ステップS110:否定)、データ読書処理部102及びファイル情報管理部103は、利用プログラム実行部101から指示された操作がデータ書込か否かを判定する(ステップS112)。指示された操作がデータ書込の場合(ステップS112:肯定)、データ読書処理部102は、ストレージ6上のファイル情報管理部103から通知されたデータ位置にデータ62を書き込む(ステップS113)。また、ファイル情報管理部103は、ファイル更新時処理を実行する(ステップS114)。その後処理は、ステップS121へ進む。
これに対して、指示された操作がデータ書込でない場合(ステップS112:否定)、データ読書処理部102は、利用プログラム実行部101から指示された操作がデータ読出か否かを判定する(ステップS115)。指示された操作がデータ読出の場合(ステップS115:肯定)、データ読書処理部102は、ストレージ6上のファイル情報管理部103から通知されたデータ位置からデータ62を読み出す(ステップS116)。その後、処理はステップS121へ進む。
これに対して、指示された操作がデータ読出でない場合(ステップS115:否定)、ファイル情報管理部103は、利用プログラム実行部101から指示された操作が属性設定か否かを判定する(ステップS117)。指示された操作が属性設定の場合(ステップS117:肯定)、ファイル情報管理部103は、属性更新処理を実行する(ステップS118)。その後、処理はステップS121へ進む。
これに対して、指示された操作がデータ属性設定でない場合(ステップS117:否定)、属性読取部104は、利用プログラム実行部101から指示された操作が属性取得であることを確認する(ステップS119)。そして、属性読取部104は、属性読取処理を実行する(ステップS120)。
その後、ファイル情報管理部103は、ファイルテーブル61の特定したエントリ番号を有するエントリのアクセス日時を現在の日時に更新する(ステップS121)。
次に、図13を参照して、ファイル更新時処理について説明する。図13は、ファイル更新時処理のフローチャートである。図13のフローチャートは、図12におけるステップS114において実行される処理の一例にあたる。
ファイル情報管理部103は、更新情報管理処理を実行する(ステップS201)。
その後、ファイル情報管理部103は、利用プログラム実行部101が指定した識別情報に対応するファイルテーブル61におけるエントリのアーカイブ属性をオンにする(ステップS202)。
次に、図14を参照して、属性読取処理について説明する。図14は、属性読取処理のフローチャートである。図14のフローチャートは、図12のステップS120において実行される処理の一例にあたる。
属性読取部104は、利用プログラム実行部101に指定された識別情報に対応するファイルテーブル61の属性情報を取得する(ステップS301)。
次に、属性読取部104は、更新情報管理処理を実行する(ステップS302)。そして、属性読取部104は、更新情報管理部105から更新属性フラグ41のオンオフの情報を取得する。
そして、属性読取部104は、更新情報管理部105から取得した更新属性フラグ41がオンか否かを判定する(ステップS303)。更新情報管理部105から取得した更新属性フラグ41がオンの場合(ステップS303:肯定)、属性読取部104は、ファイルテーブル61から取得した属性情報の更新属性フラグ41をオンに設定する(ステップS304)。
これに対して、更新情報管理部105から取得した更新属性フラグ41がオフの場合(ステップS303:否定)、属性読取部104は、ファイルテーブル61から取得した属性情報の更新属性フラグ41をオフに設定する(ステップS305)。
その後、属性読取部104は、属性情報を利用プログラム実行部101へ出力する(ステップS306)。
次に、図15を参照して、更新情報管理処理について説明する。図15は、更新情報管理処理のフローチャートである。図15のフローチャートは、図13のステップS201及び図14のステップS302において実行される処理の一例にあたる。ここで、図15の更新情報管理処理は、CPU2及びメモリ3によって実行される更新情報アクセス用のデバイスドライバ94及び更新検出テーブル回路4によって行われる。以下では、更新情報アクセス用のデバイスドライバ94及び更新情報管理部105にあたる回路に対応する図4の各部を動作主体として説明する。
更新検出テーブル154は、エントリ番号の入力をファイル情報管理部103から受ける。そして、更新検出テーブル154は、取得したエントリ番号を自身が有するOR回路541の何れかを表すアドレスに変換する(ステップS401)。
次に、ファイル情報管理部103及び属性読取部104は、属性の書込処理か否かを判定する(ステップS402)。
属性の書込処理の場合(ステップS402:肯定)、ファイル情報管理部103は、ライトイネーブル信号及び書込データを更新情報管理部105へ出力する。更新情報管理部105は、エントリ番号に対応するOR回路541の値をオンに設定する(ステップS403)。
これに対して、属性の読取処理の場合(ステップS402:否定)、属性読取部104は、更新属性フラグ41の値を更新検出テーブル154から取得する(ステップS404)。
次に、図16を参照して、属性更新処理について説明する。図16は、属性更新処理のフローチャートである。図16のフローチャートは、図12のステップS106及びS118において実行される処理の一例にあたる。
ファイル情報管理部103は、利用プログラム実行部101が指定した識別情報に対応するエントリ番号を取得する。そして、ファイル情報管理部103は、指定されたファイルが読取専用か否かを判定する(ステップS501)。指定されたファイルが読取専用でない場合(ステップS501:否定)、ファイル情報管理部103は、取得したエントリ番号を有するエントリの読取専用属性のフラグをオフにする(ステップS502)。これに対して、指定されたファイルが読取専用の場合(ステップS501:肯定)、ファイル情報管理部103は、取得したエントリ番号を有するエントリの読取専用属性のフラグをオンにする(ステップS503)。
次に、ファイル情報管理部103は、指定されたファイルが隠しファイルかを判定する(ステップS504)。指定されたファイルが隠しファイルでない場合(ステップS504:否定)、ファイル情報管理部103は、取得したエントリ番号を有するエントリの隠しファイル属性のフラグをオフにする(ステップS505)。これに対して、指定されたファイルが隠しファイルの場合(ステップS504:肯定)、ファイル情報管理部103は、取得したエントリ番号を有するエントリの隠しファイル属性のフラグをオンにする(ステップS506)。
次に、ファイル情報管理部103は、指定されたファイルがアーカイブかを判定する(ステップS507)。指定されたファイルがアーカイブでない場合(ステップS507:否定)、ファイル情報管理部103は、取得したエントリ番号を有するエントリのアーカイブ属性のフラグをオフにする(ステップS508)。これに対して、指定されたファイルがアーカイブの場合(ステップS507:肯定)、ファイル情報管理部103は、取得したエントリ番号を有するエントリのアーカイブ属性のフラグをオンにする(ステップS509)。
次に、図17を参照して、更新情報管理部105による更新属性フラグ41の設定処理ついて説明する。図17は、更新情報管理部による更新属性フラグの設定処理のフローチャートである。ここでは、Highの信号の値を1とし、Lowの信号の値を0として説明する。
付加指示部151のAND回路511は、書込データが1であり、且つ、書き込み可能、すなわちデータ有効信号が入力されているか否かを判定する(ステップS601)。書込データが1であり、且つ、書き込み可能である場合(ステップS601:肯定)、AND回路511は、値が1の設定信号(SET)を、テーブル管理部153のSRラッチ531及び532へ出力する(ステップS602)。
これに対して、書込データが0、又は、書き込み禁止の場合(ステップS601:否定)、AND回路511は、値が0の設定信号(SET)を、テーブル管理部153のSRラッチ531及び532へ出力する(ステップS603)。
SRラッチ531は、設定信号(SET)の入力をAND回路511から受ける。また、SRラッチ531は、第1リセット信号(RST1)の入力をリセット指示部152から受ける。そして、設定信号(SET)及び第1リセット信号(RST1)を基に第1属性信号(U1)を生成する処理を実行し、生成した第1属性信号(U1)を更新検出テーブル154のOR回路541へ出力する(ステップS604)。ここで、図17における「ラッチ(S,R)」は、括弧内のSがSの入力ポートに入力される信号を表し、括弧内のRがRの入力ポートに入力される信号を表し、それらの信号を用いて出力を生成し、出力する処理を表す。
SRラッチ532は、設定信号(SET)の入力をAND回路511から受ける。また、SRラッチ532は、第2リセット信号(RST2)の入力をリセット指示部152から受ける。そして、設定信号(SET)及び第2リセット信号(RST2)を基に第2属性信号(U2)を生成する処理を実行し、生成した第2属性信号(U2)を更新検出テーブル154のOR回路541へ出力する(ステップS605)。
OR回路541は、第1属性信号(U1)及び第2属性信号(U2)のいずれもが0であるか否かを判定する(ステップS606)。第1属性信号(U1)及び第2属性信号(U2)のいずれかが1の場合(ステップS606:否定)、OR回路541は、更新属性フラグ41の値として1を出力し、更新属性フラグ41をオンにする(ステップS607)。
これに対して、第1属性信号(U1)及び第2属性信号(U2)のいずれも0の場合(ステップS606:肯定)、OR回路541は、更新属性フラグ41の値として0を出力し、更新属性フラグ41をオフにする(ステップS608)。
次に、図18を参照して、SRラッチ531及び532における出力決定処理について説明する。図18は、SRラッチにおける出力決定処理のフローチャートである。ここでは、SRラッチ531及び532を区別しないため、「SRラッチ530」と表す。また、ここでは、Sの入力ポートに入力された信号を「S」、Rの入力ポートに入力された信号を「R」とする。そして、SRラッチ530の出力を「Q」と表す。
SRラッチ530は、Rの入力ポートに「1」が入力されたか否かを判定する(ステップS701)。Rの入力ポートに「1」が入力されていない場合(ステップS701:否定)、SRラッチ530は、0を出力する(ステップS702)。
これに対して、Rの入力ポートに「1」が入力された場合(ステップS701:肯定)、SRラッチ530は、Sの入力ポートに「1」が入力されたか否かを判定する(ステップS703)。Sの入力ポートに「1」が入力されていない場合(ステップS703:否定)、SRラッチ530は、1を出力する(ステップS704)。
これに対して、Sの入力ポートに「1」が入力された場合(ステップS703:肯定)、SRラッチ530は、出力の値を保持する。
次に、図19を参照して、本実施例に係る情報処理装置を用いた場合のウイルス検出の効果について説明する。図19は、実施例1に係る情報処理装置を用いた場合のウイルス検出の効果を説明するための図である。
グラフ411は、週に1回の完全スキャンのみを行う場合のウイルス駆除の状態を表す。グラフ412は、更新属性フラグ41がオンの状態を24時間保証し、24時間毎に差分スキャンを行う場合の本実施例に係る情報処理装置を用いた場合のウイルス駆除の状態を表す。グラフ413は、更新属性フラグ41がオンの状態を48時間保証し、24時間毎に差分スキャンを行う場合の本実施例に係る情報処理装置を用いた場合のウイルス駆除の状態を表す。さらに、グラフ412及び413では、一点鎖線のタイミングでリセット信号が出力されるものとする。すなわち、グラフ412及び413では、ウイルス侵入後2つ目の一点鎖線で更新属性フラグ41がオフになる。
また、太線の縦軸がスキャンの実行を表す。また、黒丸が、各ウイルスに対応するパターンの入手タイミングを表す。また、ファイルが更新されたことにより、ウイルスが侵入したものとする。
また、グラフ411〜413ともに横軸で時間を表す。さらに、横軸のメモリは24時間単位で記載されている。また、グラフ411〜413のそれぞれの縦方向の各段は、上からウイルスVAの侵入状態、ウイルスVBの侵入状態、ウイルスVCの侵入状態及びウイルスVDの侵入状態を表す。無地の領域がウイルスに侵入されていない状態を示す。また、色がついている領域がウイルスに侵入されている状態を示す。グラフ411〜413のいずれも、ウイルスVA〜VDの侵入のタイミングは同じである。
完全スキャンのみを行う場合は、グラフ411のように、週に1回のタイミング421で全てのファイルがスキャンされる。この場合、情報処理装置1は、タイミング421以前にウイルスVA〜VDのパターンを入手しているので、ウイルスVA〜VDを全て駆除できる。ただし、ウイルスVA〜VDの侵入期間が長くなっている。
これに対して、24時間保証で差分スキャンを24時間ごとに行う場合、グラフ412に示すように、ウイルスVAが侵入した次のタイミング422のスキャンでウイルスVAは駆除される。ただし、次のスキャンのタイミング423まで更新属性フラグ41はオンの状態が維持される。そのため、タイミング423では、既にウイルスが駆除されたファイルに対して再度スキャンが行われる。また、ウイルスVBが侵入した後のタイミング424のスキャンでは、ウイルスVBのパターンが入手できていないため、ウイルスVBを駆除することは困難である。さらに、タイミング425では、既に一点鎖線を2本通過しており、更新属性フラグ41がオフになっている。そのため、タイミング425及び426では差分スキャンが行われず、ウイルスVBは駆除されない。ウイルスVBは、完全スキャンを待って駆除されることになる。また、ウイルスVCは、侵入直後のスキャン425によって駆除される。しかし、その後、1度スキャンしたファイルへのスキャンが発生する。また、ウイルスVDは、侵入直後のスキャンではパターンが入手されていないため駆除されず、完全スキャンで駆除されることになる。
一方、48時間保証で差分スキャンを24時間ごとに行う場合、グラフ413に示すように、ウイルスVA、VC及びVDについては、24時間保証の場合と同様である。これに対して、ウイルスVBについては、タイミング427の時点で更新属性フラグ41はオンの状態が維持されているので、スキャンが行われ駆除される。
このように、完全スキャンのみを行う場合に比べて、完全スキャンの間に差分スキャンを行うことで、迅速にウイルスを駆除でき、リスクを低減することができる。また、完全スキャンよりも差分スキャンは負荷も低く短時間で完了するので、情報処理装置1の他の処理への影響を抑えることができる。
また、更新属性フラグ41のオンの状態の継続期間を長くすることで、ウイルスの検出確率を向上させることができる。一方、更新属性フラグ41のオンの状態の継続期間を短くすることで、既にウイルスが駆除されたファイルに対する再度のスキャンを回避でき、処理負荷を低減することができる。このように、更新属性フラグ41のオンの状態の継続期間は、リスクと処理負荷とを考慮して決定することが好ましい。また、上述したように更新属性フラグ41のオンの状態の継続期間は、クロックパルスの周期により決定することができる。
なお、更新属性フラグ41のオンの状態の継続期間は、スキャンのタイミングと関係を持たないため、グラフ412及び413のウイルスVAに対するスキャンのように同じファイルを複数回スキャンする冗長性を有する。ここで、例えば、情報処理装置1の1日の更新ファイル数を939個とし、全体のファイル数を136577個として考えると、ストレージ6に格納されたファイル数に対する更新ファイルの比率は1日あたり0.7%である。この場合、差分スキャンにおけるスキャンするファイル数も0.7%となる。例えば、完全スキャンで2時間を要するファイル量の場合、1日の差分スキャンの時間は1分未満となる。したがって、スキャンする回数が2倍になっても、差分スキャンによる影響は少なく、スキャン時間を十分に短縮することができる。したがって、差分スキャンが上述した冗長性を有していてもスキャン時間は十分短縮される。
以上に説明したように、本実施例に係る情報処理装置では、ファイルが更新されたことを表す更新属性フラグがファイル更新時にオンにされ、ソフトウェアからの削除を抑制し、所定期間経過後にてオフされる。そして、更新属性フラグがオンのファイルに対してのみ処理が行われる。このように、更新属性フラグはソフトウェアによりオフされないので、更新されたファイルに対して確実に処理を実行することができる。
特にウイルススキャンの場合、ウイルスによる改ざんを受けることなく所定期間更新されたファイルであることを示し続けることができる。また、本実施例に係る情報処理装置は、更新属性フラグがオンのファイルに対して差分スキャンを行うことで、短時間で信頼性の高いウイルス検出を行うことができる。さらに、差分スキャンを完全スキャンの間に定期的に行うことで、確実且つ迅速にウイルスを駆除でき、リスクを低減することができる。
次に、実施例2について説明する。本実施例に係る情報処理装置は、クロックパルスの周期を変更できることが実施例1と異なる。本実施例に係る情報処理装置も、図4,6及び7で表される。以下の説明では、各部の実施例1と同様の機能については説明を省略する。
図20は、実施例2に係るクロック発生部の模式的な回路図である。クロック生成部521は、図20に示すように、RTC601、カウンタ602、セレクタ603及びディップスイッチ604を有する。
ディップスイッチ604は、例えば、操作者によるスイッチの操作により、2ビットの情報をセレクタ603に与える。具体的には、ディップスイッチ604は、操作者からの指示にしたがい、信号#1として0又は1及び信号#2として0又は1をセレクタ603に入力する。これにより、ディップスイッチ604は、4種類の信号をセレクタ603へ入力する。
RTC601は、周期的にパルス信号をカウンタ602へ出力する。例えば、RTC601は、24時間毎にパルス信号をカウンタ602へ出力する。
カウンタ602は、出力ポートQA〜QDを有する。カウンタ602は、周期的なパルス信号の入力をRTC601から受ける。そして、カウンタ602は、パルス信号をカウントし、カウント回数に応じたそれぞれ異なる周期的なタイミングで各出力ポートQA〜QDからパルス信号を出力する。以下では、出力ポートQA〜QDから出力されるパルス信号を、それぞれ信号QA〜QDという。
例えば、次のようにカウンタ602は、信号QA〜QDを出力する。カウンタ602は、パルス信号の1回のカウント毎に信号QAを出力する。また、カウンタ602は、パルス信号の2回のカウント毎に信号QBを出力する。また、カウンタ602は、パルス信号の3回のカウントごとに信号QCを出力する。また、カウンタ602は、パルス信号の4回のカウントごとに信号QDを出力する。これにより、カウンタ602は、24時間周期で信号QAを出力し、48時間周期で信号QBを出力し、72時間周期で信号QCを出力し、96時間周期で信号QDを出力する。
セレクタ603は、入力ポートD1〜D4を有する。また、セレクタ603は、ディップスイッチ604から入力された信号に対応して入力ポートD1〜D4の何れに入力された信号を選択するかを予め記憶する。
セレクタ603は、各入力ポートD1〜D4で、信号QA〜QDの入力を受ける。そして、セレクタ603は、ディップスイッチ604から入力された信号にしたがって入力ポートD1〜D4に入力された信号から1つの信号を選択する。そして、セレクタ603は、選択した信号をクロックパルスとしてT型FF522及び遅延付加部523へ出力する。
ここで、本実施例では、4種類の信号からクロックパルスとして用いる信号を選択したが、選択候補とする信号の種類の数に特に制限はない。
このように、本実施例に係る情報処理装置1では、ディップスイッチ604の操作によりクロックパルスの周期が変更される。すなわち、操作者は、ディップスイッチ604を操作することで、更新属性フラグ41のオンの状態の継続期間を変更することができる。
以上に説明したように、本実施例に係る情報処理装置は、ディップスイッチの操作により更新属性フラグをオンにしておく期間を変更することができ、システム環境に応じた差分スキャンを容易に実現することができる。
ここで、以上の各実施例では更新属性を用いたウイルススキャンについて説明したが、各実施例に係る機能は、更新属性を用いる処理であれば他の処理に用いてもよい。例えば、他の利用プログラムへの適応例として次のような処理がある。1つには、本実施例で説明した機構はアーカイブ属性を用いないことからバックアップソフトと共存でき、バックアップ系のプログラムに用いることができる。また、最近のファイルのみ処理したいプログラムに適用することで、そのプログラムは、日付のチェックを省いて処理を行うことができる。
また、更新属性フラグ41のオンの状態の継続期間は、本実施例では時間で判断したが、これに限らず、例えば、各種スイッチ及びセンサの信号入力と併用してもよい。例えば、更新属性フラグ41のオンの状態の継続期間は、ディップスイッチからの情報に加えて、温度センサの情報を組み合わせてもよい。例えば、負荷が高い状態では情報処理装置内部の温度が高いため、温度センサにより計測された温度が所定値より高ければ、スキャンの頻度を減らすために更新属性フラグ41のオンの状態を短くしてもよい。また、更新検出テーブル回路4は、ハードウェアだけで構成してもよいし、ROM(Read Only Memory)を用いてファームウェアを使用してもよいし、専用のコンピュータを用いてもよい。
1 情報処理装置
2 CPU
3 メモリ
4 更新検出テーブル回路
5 インタフェース
6 ストレージ
7 アドレスバス
8 データバス
41 更新属性フラグ
61 ファイルテーブル
62 データ
91 利用プログラム
92 OS
93 ファイルシステム
94 デバイスドライバ
101 利用プログラム実行部
102 データ読書処理部
103 ファイル情報管理部
104 属性読取部
105 更新情報管理部
151 付加指示部
152 リセット指示部
153 テーブル管理部
154 更新検出テーブル
511 AND回路
521 クロック生成部
522 T型FF
523 遅延付加部
524,525 AND回路
531,532 SRラッチ
541 OR回路

Claims (2)

  1. 周期的にパルスを発生する素子からのパルス信号を基に生成され且つ所定間隔でオンとなるリセット信号と、特定のデータの更新に応じてオンとなるセット信号とが入力されるRSラッチを有し、前記RSラッチは、前記セット信号がオンであり且つ前記リセット信号がオフの時に更新情報の付加を示す信号を出力し、前記セット信号及び前記リセット信号の双方がオフのとき前記更新情報の維持を示す信号を出力し、前記リセット信号がオンのときに前記更新情報の削除を示す信号を出力し、前記RSラッチが前記更新情報の付加を示す信号を出力した場合、前記更新情報を前記特定のデータに付加し且つ所定のプログラムによる前記更新情報の削除を抑制し、前記RSラッチが前記更新情報の削除を示す信号を出力した場合、前記特定のデータに付加された前記更新情報を削除し、前記RSラッチが前記更新情報の維持を示す信号を出力した場合、前記特定のデータに対する前記更新情報の状態を維持する更新情報管理部と、
    前記更新情報が付加されている場合に、前記特定のデータに対して所定の処理を行う処理実行部と、
    を備えたことを特徴とする情報処理装置。
  2. 前記処理実行部は、前記特定のデータに対してウイルス対策処理を行うことを特徴とする請求項1に記載の情報処理装置。
JP2015140631A 2015-07-14 2015-07-14 情報処理装置 Expired - Fee Related JP6686309B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015140631A JP6686309B2 (ja) 2015-07-14 2015-07-14 情報処理装置
US15/161,325 US20170017552A1 (en) 2015-07-14 2016-05-23 Information processing apparatus and method of controlling information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015140631A JP6686309B2 (ja) 2015-07-14 2015-07-14 情報処理装置

Publications (2)

Publication Number Publication Date
JP2017021704A JP2017021704A (ja) 2017-01-26
JP6686309B2 true JP6686309B2 (ja) 2020-04-22

Family

ID=57775905

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015140631A Expired - Fee Related JP6686309B2 (ja) 2015-07-14 2015-07-14 情報処理装置

Country Status (2)

Country Link
US (1) US20170017552A1 (ja)
JP (1) JP6686309B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109474453B (zh) * 2017-12-28 2022-02-22 北京安天网络安全技术有限公司 基于封闭式壁垒模型的业务应用自动更新方法及系统
US11182048B2 (en) * 2019-05-16 2021-11-23 Microsoft Technology Licensing, Llc Scoped view of file tree
US20230195902A1 (en) * 2021-12-21 2023-06-22 Acronis International Gmbh Systems and methods for protecting data during synchronization
CN114756556B (zh) * 2022-06-15 2022-09-27 建信金融科技有限责任公司 处理账户数据的方法、装置、电子设备和计算机可读介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS607818A (ja) * 1983-06-25 1985-01-16 東芝テック株式会社 ジユ−サ
JPS63126050A (ja) * 1986-11-15 1988-05-30 Fujitsu Ltd メモリバツクアツプ方式
JP3404032B1 (ja) * 2002-04-09 2003-05-06 さくら情報システム株式会社 コンピュータウィルス対策システム及びコンピュータウィルス対策方法
US7401361B2 (en) * 2004-10-13 2008-07-15 Lenovo (Singapore) Pte. Ltd. System and method for reducing virus scan time
JP2006139552A (ja) * 2004-11-12 2006-06-01 Hitachi Ltd ストレージ装置及びストレージ装置のデータライフサイクル管理方法
US7836034B2 (en) * 2005-05-16 2010-11-16 International Business Machines Corporation Method and apparatus for updating first data value before second data value
US7751725B2 (en) * 2005-08-10 2010-07-06 Sumitomo Electric Industries, Ltd. Optical receiver with monitoring unit and a method for detecting consecutive identical state of optical signal
JP4687382B2 (ja) * 2005-10-25 2011-05-25 株式会社日立製作所 ストレージシステムにおけるウイルスチェック方法
JP5028218B2 (ja) * 2007-10-30 2012-09-19 株式会社日立製作所 記憶制御装置、ストレージシステム及び記憶制御装置の制御方法
JP5573216B2 (ja) * 2010-02-17 2014-08-20 富士通株式会社 ファイル検疫装置およびファイル検疫方法
US8392930B2 (en) * 2010-03-11 2013-03-05 Microsoft Corporation Resource contention log navigation with thread view and resource view pivoting via user selections
JP5769301B2 (ja) * 2011-07-27 2015-08-26 住友電工システムソリューション株式会社 検疫制御装置、検疫制御コンピュータプログラム、及び検疫方法
JP2015019320A (ja) * 2013-07-12 2015-01-29 住友電工システムソリューション株式会社 管理システム、管理装置、及びコンピュータプログラム
US9898374B2 (en) * 2014-04-08 2018-02-20 International Business Machines Corporation Recovery of an infected and quarantined file in a primary storage controller from a secondary storage controller
JP6842412B2 (ja) * 2015-06-29 2021-03-17 ソニーセミコンダクタソリューションズ株式会社 システム、アナログデジタル変換器、および、システムの制御方法
US10284453B2 (en) * 2015-09-08 2019-05-07 Uber Technologies, Inc. System event analyzer and outlier visualization

Also Published As

Publication number Publication date
US20170017552A1 (en) 2017-01-19
JP2017021704A (ja) 2017-01-26

Similar Documents

Publication Publication Date Title
JP6686309B2 (ja) 情報処理装置
CN105511969B (zh) 一种跨进程的线程间进行互斥的方法
JP6054010B2 (ja) データ判定装置、データ判定方法及びプログラム
KR101972295B1 (ko) 침입 검지 장치 및 기억 매체에 저장된 침입 검지 프로그램
JP7038185B2 (ja) レジスタ内容のインテグリティを検証するシステム、および、その方法
US9910608B2 (en) Storage system with update frequency based replication
US20140059093A1 (en) Information processing method and apparatus for garbage collection
US10223110B2 (en) Central processing unit and arithmetic unit
US20160266924A1 (en) Apparatus and method for identifying a virtual machine having changeable settings
JP2016118815A (ja) 不揮発性メモリ装置
US20160110122A1 (en) Data archiving system and method
US10620872B2 (en) Replicating data in a data storage system
JP2010146308A (ja) 情報処理装置
US9594667B2 (en) Enhancing weak consistency
KR100284430B1 (ko) 프로그램 갱신 방법 및 장치
US11392191B2 (en) Apparatus, method, and recording medium for shifting a power mode to a power saving mode based on an interrupt signal
JP2010176660A (ja) 仮想ハードディスクへのファイル属性情報の安全な管理の拡張
WO2015090081A1 (zh) 一种路由信息的老化方法、装置及计算机存储介质
US11836033B2 (en) Information processing apparatus and control method for controlling information processing apparatus
CN111738718A (zh) 区块链更新方法、装置、存储介质及电子设备
WO2021015707A1 (en) Storage hash values
US11836048B2 (en) Information processing apparatus
JP7259436B2 (ja) 情報処理装置、情報処理方法、情報処理プログラム、及び情報処理システム
CN115349123A (zh) 感染范围确定装置和感染范围确定程序
CN111240580B (zh) 数据迁移方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180413

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190311

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191015

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191216

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200316

R150 Certificate of patent or registration of utility model

Ref document number: 6686309

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees