JP5392494B2 - ファイルチェック装置、ファイルチェックプログラムおよびファイルチェック方法 - Google Patents

ファイルチェック装置、ファイルチェックプログラムおよびファイルチェック方法 Download PDF

Info

Publication number
JP5392494B2
JP5392494B2 JP2009537052A JP2009537052A JP5392494B2 JP 5392494 B2 JP5392494 B2 JP 5392494B2 JP 2009537052 A JP2009537052 A JP 2009537052A JP 2009537052 A JP2009537052 A JP 2009537052A JP 5392494 B2 JP5392494 B2 JP 5392494B2
Authority
JP
Japan
Prior art keywords
file
check
access control
detecting
write
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
JP2009537052A
Other languages
English (en)
Other versions
JPWO2009048158A1 (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2009537052A priority Critical patent/JP5392494B2/ja
Publication of JPWO2009048158A1 publication Critical patent/JPWO2009048158A1/ja
Application granted granted Critical
Publication of JP5392494B2 publication Critical patent/JP5392494B2/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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow

Landscapes

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

Description

本発明は、コンピュータウイルスに感染したファイルあるいは悪意あるコードに改竄されたファイルを検知することを目的とした、アクセス制御と連動するファイルチェック装置、ファイルチェックプログラムおよびファイルチェック方法に関し、ファイルチェック装置、ファイルチェックプログラムおよびファイルチェック方法に関する。
悪意ある利用者およびプログラムなどファイルの改竄、そして、コンピュータウイルス感染による被害は増加している。改竄検知の方法としては、一方向ハッシュ関数を用いてファイルのハッシュ値を予め計算して記憶しておき、改竄チェックしたいときに再びハッシュ値を計算し、以前のハッシュ値と同じであるかどうかを判断する等の方法がよく知られている。この方法では、チェック時に常にハッシュ値を計算する必要がある。
また、ファイルの改竄などのようなファイルに対する不正なアクセスを防止する技術として、アプリケーションプログラムがアクセス可能なファイルなどのリソースおよび機能へのアクセスを制御する方法がある。例えば、アプリケーションプログラム毎に利用できる機能を規定したセキュリティポリシデータベースを持ち、そのアプリケーションプログラムが利用できるリソースを限定する方法がある。
このアクセス制御方法の一例が、「SELinux徹底ガイド」(中村雄一、水上友宏、上野修一著、日経BP社、2004年3月、pp.24〜41、pp.87,88)に記載されている。この文献に記載されている方法は、SELinux(Security Enhanced Linux)と呼ばれ、注目されている。
PC(パーソナルコンピュータ)等の情報処理装置にSELinuxが導入されると、「SELinuxモジュール」がLinuxカーネルに組み込まれ、「セキュリティ・ポリシ・ファイル」という設定ファイルと、「SELinux拡張コマンド」とが追加される。
プロセスがリソースにアクセスする際には、必ず「SELinuxモジュール」を経由し、以下に述べるような手続きをとる。
第1に、プロセスは、カーネルに対してリソースへのアクセス要求を出す。第2に、カーネルはまず、パーミッションのチェックを行う。ここまでの手続きは通常のLinuxの動作と同じである。第3に、リソースへのアクセス要求が「SELinuxモジュール」に渡される。「SELinuxモジュール」は「セキュリティ・ポリシ・ファイル」を参照し、アクセスが正当であるか否かをチェックする。その際、SELinux独自のアクセス制御が行われる。第4に、アクセスが正当である場合、プロセスはリソースにアクセスする。
また、コンピュータウイルスに感染したファイルのチェック方法として、コンピュータウイルスとなる不正コードまたは不正データのパターンを集めたウイルス定義ファイル(ウイルスチェックデータとも呼ばれる)と、不正コードのチェック対象となる実行プログラムまたはデータとのパターンマッチングを行って、コンピュータウイルスを含んでいるか否かを判断する方法がある。
コンピュータウイルスの数と種類は増え続けているため、ウイルス定義ファイルはコンピュータウイルスのチェックのために絶え間ない更新と増強を必要としている。ウイルス定義ファイルの増強に伴ってウイルス定義ファイル内のパターンデータが肥大化している。このような状況の中、携帯電話機のような比較的非力な(処理能力が低い)コンピュータもコンピュータウイルスに感染した例があり、すべてのコンピュータでコンピュータウイルスに関してのチェックをすることが必要となっている。しかし、肥大化したウイルス定義ファイルに含まれるすべてのコンピュータウイルスのパターンについてチェックすることは負荷が大きい。
このようなチェックによる負荷を軽減する方法がいくつか存在している。関連するファイルチェックの一例が、特開2007−34623号公報に記載されている。
特開2007−34623号公報に記載されている方式では、ウイルスチェックデータを更新する際、更新前ウイルスチェックデータと追加ウイルスチェックデータとを区別して記憶し、更新後チェック済データに対しては、ウイルスチェックを実行しない。また、更新前チェック済データに対しては、追加ウイルスチェックデータのみを使用してウイルスチェックを実行し、未チェックデータに対しては、更新前ウイルスチェックデータおよび追加ウイルスチェックデータを使用してウイルスチェックを実行する。
関連するファイルチェックの他の例が、特開2007−65810号公報に記載されている。特開2007−65810号公報に記載されている方式では、ユーザ端末と接続されるサーバは、検査定義ファイルを保持し、脅威の発生に応じてファイルを更新する。そして、データをサーバに登録する際に、データに対する第1の検査を実行する。サーバは、データをユーザ端末に送信する際、第1の検査より後にファイルが更新されており、ファイルにおいて更新されている脅威の発生推定日時が、データがサーバに登録された日時よりも遅い場合に、ファイルを用いてデータに対する第2の検査を実行する検査部を備える。このような構成を有することにより、検査定義ファイルが更新されても、全てのデータを再検査する必要がない。
関連するファイルチェックのさらに他の例が、特開2004−199213号公報に記載されている。特開2004−199213号公報に記載されている方式では、ホスト計算機上のCPUが管理するファイルシステムに最終スキャン日時と最終更新者の各情報を暗号化して付加し、その情報に応じてホストとスキャンサーバが連携して動作する。最終スキャン日時よりも古いファイルのスキャンを省略することでファイルアクセスを高速化する。
関連するファイルチェックのさらに他の例が、特開2003−216445号公報に記載されている。特開2003−216445号公報に記載されている方式では、FATに格納されたデータリストを用いて、1回目にウイルスチェックが済んだファイルのデータにチェック済みのフラグを付けておき、2回目は前述のフラグが付いていないファイルのデータのみについてウイルスチェックを行うようにする。
関連するファイルチェックのさらに他の例が、特開2003−196111号公報に記載されている。特開2003−196111号公報に記載されている方式では、ウイルスチェックを実施した際、ウイルスチェック結果ファイル及びウイルスチェック署名を作成し、次回のウイルスチェックでは、これらの情報を参照することにより、最適なウイルスチェック処理を行うことを可能とする。
ファイルの改竄およびウイルスチェックにおける関連する技術は、どれか1つ使用すればファイルに関するセキュリティを確保可能となるものではない。改竄チェックやウイルスチェックは、不正なファイルの検知のために使用される。また、アクセス制御は、アプリケーションプログラムから生成されるプロセスが悪意ある利用者に乗っ取られた場合に、そのプロセスの行動範囲やさまざまなリソースへのアクセス範囲を制限し、被害を最小限におさえることを目的として使用される。よって、情報処理装置において、これらの関連する技術を複数組み合わせて使用することで、様々な脅威を排除し、セキュリティを確保することになる。
しかし、それぞれの技術に対して、改竄チェック対象ファイル、ウイルスチェック対象ファイルおよびアクセス制御対象ファイルが存在することになるが、それらがすべて同じファイルである場合、それぞれの技術を用いて同じファイルをチェックすることになり冗長である。
また、チェック対象のファイルの中には、アクセス制御により書き込みを禁止とされ、改竄されない、ウイルス感染が不可能なファイルもある。このようなファイルでさえ、ウイルスチェックによるパターンマッチング処理や、改竄チェックによるハッシュ値計算が行われ、無駄なオーバーヘッドと無駄な電力とを消費することになる。
そこで、本発明は、アクセス制御と連携し、脆弱性、改竄またはコンピュータウイルス感染に関するファイルのチェックに伴う冗長な処理を省き、必要最低限のチェックのみを実施することでチェックに関係する負荷を軽減することができるファイルチェック装置、ファイルチェックプログラムおよびファイルチェック方法を提供することを目的とする。
本発明によるファイルチェック装置は、ファイル内に含まれた不正コードを検出するファイルチェック装置であって、プロセスからファイルへのアクセスを制御するアクセス制御手段と、アクセス制御手段によるアクセス制御によって書込み許可されているファイルを選択するファイル選択手段と、ファイル選択手段が選択したファイル内の不正コードの有無を判定するファイルチェックを行うファイルチェック手段とを備えたことを特徴とする。
本発明によるファイルチェックプログラムは、ファイル内に含まれた不正コードを検出するためのファイルチェックプログラムであって、コンピュータに、プロセスからファイルへのアクセスを制御するアクセス制御処理と、アクセス制御処理によるアクセス制御によって書込み許可されているファイルを選択するファイル選択処理と、ファイル選択処理で選択したファイル内の不正コードの有無を判定するファイルチェックを行うファイルチェック処理とを実行させることを特徴とする。
本発明によるファイルチェック方法は、ファイル内に含まれた不正コードを検出するファイルチェック方法であって、プロセスからファイルへのアクセスを制御するアクセス制御ステップと、アクセス制御手段によるアクセス制御によって書込み許可されているファイルを選択するファイル選択ステップと、ファイル選択ステップで選択したファイル内の不正コードの有無を判定するファイルチェックを行うファイルチェックステップとを含むことを特徴とする。
本発明によれば、アクセス制御と連携し、脆弱性、改竄またはコンピュータウイルス感染に関するファイルのチェックに伴う冗長な処理を省き、必要最低限のチェックのみを実施することでチェックに関係する負荷を軽減することができるという効果がある。
言い換えると、本発明によれば、比較的非力なコンピュータでも負荷をかけずにファイルチェックを高速に行うことができる。
図1は第1の実施形態のファイルチェック装置の構成例を示すブロック図である。
図2はチェック対象のファイルを選択するために作成する表の登録例を示す説明図である。
図3は情報処理装置が初めて稼動する場合の、図2に示す表を作成する処理の例を示すフローチャートである。
図4はファイルチェックを行うか否かを判断する処理の例を示すフローチャートである。
図5はチェック対象のファイルを選択するための表の登録例を示す説明図である。
図6は第2の実施形態のファイルチェック装置の構成例を示すブロック図である。
図7は第2の実施形態における新たな処理の例を示すフローチャートである。
図8はチェック対象のファイルを選択するための表の登録例を示す説明図である。
図9はチェック対象のファイルを選択するための表の登録例を示す説明図である。
図10は第3の実施形態のファイルチェック装置の構成例を示すブロック図である。
図11は第3の実施形態における処理の例を示すフローチャートである。
図12は第4の実施形態のファイルチェック装置の構成例を示すブロック図である。
図13は第4の実施形態における処理の例を示すフローチャートである。
図14は本発明によるファイルチェック装置の最小の構成例を示す機能ブロック図である。
(実施形態1)
以下、本発明の第1の実施形態を図面を参照して説明する。本発明は、特に、必要最低限のチェックのみを行うことで比較的非力なコンピュータ上でも高速にチェックを完了することができるアクセス制御と連動するファイルチェック装置に関する。図1は、第1の実施形態のファイルチェック装置(情報処理装置1)の構成例を示すブロック図である。図1に示す情報処理装置1は、CPU101と、RAM102と、ROM103と、HDD(ハードディスク装置)104と、外部メモリ105と、出力装置106と、通信装置107と、入力装置108と、OS処理手段109と、ファイル110と、アクセス制御手段111と、アクセス制御情報獲得手段112と、ファイルチェック手段113と、ファイル選択手段114と、ファイル追加通知手段115とを含む。
CPU101は、セントラル・プロセッシング・ユニットであり、各手段やプログラムの実行制御および計算処理を行う。
RAM102は、ランダム・アクセス・メモリであり、読書き可能な記憶装置である。各手段やプログラムの実行時に使用されるデータを読書きする場合に、一時的な記憶領域となる。実行コードそのものを一時的に記憶する場合もある。
ROM103は、リード・オンリー・メモリであり、読込みのみ可能な記憶装置である。各手段やプログラムの実行コード、データなどを記憶する。情報処理装置1の電源をオフにしても、ROM103に記憶されている実行コードおよびデータは消えない。
HDD104は、ハード・ディスク・ドライブであり、読書き可能な記憶装置である。RAM102と比べて読み込みおよび書き込み処理速度は遅いが、大容量であり、情報処理装置1の電源をオフにしても、HDD104に記憶されている実行コードおよびデータは消えない。
外部メモリ105は、情報処理装置1に脱着可能な読書き可能な記憶装置である。実行コードやデータなどのファイル110を外部メモリ105に記憶させ、情報処理装置1に装着することで情報処理装置1に実行コードやデータを追加する。
出力装置106は、情報処理装置1で実行された処理結果をディスプレイ表示したり、音声出力する。
通信装置107は、ファイル110などの実行コードやデータを外部と通信して情報処理装置1に取り込む。
入力装置108は、ユーザ等による新たな処理の実行を依頼するためのキー(ボタン)操作や、音声入力などにより、情報を情報処理装置1に取り込む。
OS処理手段109は、OS(オペレーティングシステム)が行う処理を実行する。OS処理手段109は、実行コードを含むファイル110から生成されるプロセスが呼び出すシステムコールの処理を行う。また、OS処理手段109は、ファイル113などの資源を管理している。
ファイル110は、アプリケーションプログラムである実行コード、ライブラリ、ユーザデータなどを含むデータファイルである。なお、ファイル110は、具体的には、HDD104に記憶される。
アクセス制御手段111は、実行コードを含むファイル110から生成されるプロセスが、情報処理装置1内の他のファイル110や様々な機能等の資源にアクセスする際に、アクセス制限を行う。アクセス制御手段111が行うアクセス制御の方式は、DAC(任意アクセス制御:Discretionary Access Control)、MAC(強制アクセス制御:Mandatory Access Control)またはその他の方式であってもよい。アクセス制御手段111は、ファイルへのアクセス可否を示すアクセス情報に基づいて、プロセスからファイルへのアクセスを制御する。また、アクセス制御手段111は、アクセス情報として、例えば、どんな資源についてアクセス制御するのかを示すアクセス制御ポリシを保持していてもよい。
アクセス制御情報獲得手段112は、アクセス制御手段111が保持しているアクセス制御ポリシの情報を獲得し、他の手段にその情報を提供する。アクセス制御情報獲得手段112は、場合によっては、アクセス制御ポリシではなく、OSが管理しているプロセスや、ファイル110の情報に含まれるセキュリティの情報を獲得し、他の手段にその情報を提供する。
ファイルチェック手段113は、ファイル110がウイルス感染していないか、改竄されていないか、脆弱性はないか等のチェックを行う。
ファイル選択手段114は、複数存在するファイル110の中から、どのファイル110をチェックすべきかを示す表(図2参照)を作成し、その表からチェック対象となるファイル110を選択し、選択したファイル110を示す情報をファイルチェック手段113に伝える。図2は、ファイル選択手段114がチェック対象のファイルを選択するために作成する表の登録例を示す説明図である。図2に示す表には、例えば、ファイルを識別可能な情報に対応付けて、ファイルがWrite禁止か否かを示す情報と、ファイルチェック済みか否かを示す情報とが登録されている。図2に示す表は、例えば、RAM102やHDD104等の記憶装置に記憶される。
ファイル追加通知手段115は、ファイル110が新たに生成されたり、情報処理装置1の外からファイル110が持ち込まれた場合に、その旨をファイル選択手段114に通知する。
なお、ファイルチェック装置(情報処理装置1)は、コンピュータで実現可能であり、ファイルチェック装置を構成する各構成要素、すなわち、OS処理手段109、アクセス制御手段111、アクセス制御情報獲得手段112、ファイルチェック手段113、ファイル選択手段114およびファイル追加通知手段115は、コンピュータの処理装置(CPU101)に上述した機能を実現させるためのプログラムとして実現可能である。ファイルチェック装置を構成する各構成要素がコンピュータで実現可能であること、およびプログラムとして実現可能であることは、第1の実施の形態に限らず、他の実施の形態でも同様である。
次に、図面を参照して第1の実施形態の動作について説明する。前処理として、ファイル選択手段114が作成および参照する図2に示す表を作成する手順を説明する。図2に示す表を作成する手順には、情報処理装置1が初めて稼動する場合とファイル110が新たに生成された場合の2つの場合がある。
まず、情報処理装置1が初めて稼動する場合に、ファイル選択手段114が図2に示す表を作成する処理について説明する。図3は、情報処理装置1が初めて稼動する場合の、図2に示す表を作成する処理の例を示すフローチャートである。
まず、情報処理装置1が起動すると、ファイル選択手段114は、図2に示す表が存在するか否かを確認する(ステップS11)。もし、表が存在すれば(Yes)、処理を終了し、表が存在しなければ(No)、ステップS12に進む。
ステップS11において図2に示す表が存在しない場合(No)、ファイル選択手段114は、図2に示す表を作成するために、ファイル110が存在するか確認する(ステップS12)。ファイル110が存在すれば(Yes)、ステップS13に進み、ファイル110が存在しなければ(No)、処理を終了する。
ファイル選択手段114は、OS処理手段109からファイル情報を獲得する(ステップS13)。ステップS13において、ファイル選択手段114は、ファイル110を一意に識別可能な情報を獲得する。例えば、ファイル選択手段114は、ファイル110の配置場所(パス)や、Linux(登録商標)などのUNIX(登録商標)系OSにおけるiノード情報などをOS処理手段109から入力する。
次に、ファイル選択手段114は、アクセス制御情報獲得手段112に問い合わせ、ステップS13で獲得したファイル情報を元に、ファイル110について書込みが禁止されているか等を示すアクセス情報を獲得する(ステップS14)。
最後に、ファイル選択手段114は、ステップS13で獲得したファイル110の情報と、ステップS14で獲得したファイル110のアクセス情報とに基づいて、図2に示す表にデータを追加する(ステップS15)。
次に、新しくファイル110が生成された場合に、ファイル選択手段114が図2に示す表を作成する処理について説明する。
ファイル追加通知手段115は、プロセスから発行されるOS処理手段109のシステムコールを監視している。ファイル追加通知手段115がシステムコールを監視する方法として、システムコールテーブルをフックする方法や、LinuxであればLSM(Linux Security Module)I/Fなどを利用した方法や、さらに、システムコール内に独自フックを追加する方法が知られている。
新たなファイル110がopenシステムコールおよびcloseシステムコールにより作成されると、ファイル追加通知手段115は、その旨をファイル選択手段114に通知する。その後、ファイル選択手段114は、すでに説明したステップS13からステップS15の処理を実施し、新しく生成されたファイル110についての情報を、図2に示す表に追加する。
次に、ウイルス感染チェック、改竄チェックまたは脆弱性チェック等のファイルチェックを行うか否かを判断する処理について説明する。図4は、ファイルチェックを行うか否かを判断する処理の例を示すフローチャートである。図4には、1つのファイル110について、ウイルス感染、改竄または脆弱性のチェックを処理するフローチャートを示している。複数のファイル110を処理する場合は、図4に示す処理をそれぞれのファイル110について実施することになる。
まず、ファイル選択手段114は、図2に示す表を参照して、ファイル110についてすでにファイルチェック手段113によってチェック済みであるかどうかを確認する(ステップS21)。チェック済みであれば(Yes)、新たにチェックする必要はないので処理を終了する。チェックしていなければ(No)、ステップS22に進む。
次に、ファイル選択手段114は、図2に示す表を参照して、ファイル110についてアクセス制御手段111によってWrite許可されているかどうかを確認する(ステップS22)。Write許可されていれば(Yes)、書き換わっているかもしれないのでチェックが必要と判断し、ステップS23に進む。Write許可されていなければ(No)、そのファイル110の内容は書き換わらないので処理を終了する。すなわち、ファイル選択手段114は、ステップS21,S22において、図2に示す表から、ファイルチェック済みでなく、かつWrite許可されているファイル110を選択する。なお、Write許可されているとは、ファイル110に対するアクセス制御の1つであって、例えば、ファイル110を更新可能であることを意味する。
最後に、ファイルチェック手段113は、ファイル選択手段114が選択したファイル110内の不正コードの有無を判定するファイルチェックを行う。例えば、ファイルチェック手段113は、ファイル110についてウイルス感染、改竄あるいは脆弱性をチェックする。ウイルス感染チェック方法の一例として、ウイルス定義ファイルをもとに、ファイル110の内容とのパターンマッチングを実施することが知られている。また、改竄チェックの方法の一例として、ファイル110のハッシュ値を作成して保存しておき、このチェックで再度ハッシュ値を計算し、保存しておいたハッシュ値と等しければ改竄されていない等の判定をすることが知られている。また、脆弱性チェックの方法として、バッファオーバーフロー、スタックオーバーフローなどが発生する実行コードを含んでいないかを実行コードを解析することで判断するバイナリチェック等の方法などがあげられる。これらのチェックでは、ウイルスチェック、改竄チェック、脆弱性チェック、バイナリチェックのうちの1つや、2つ以上の組み合わせ、あるいはすべてのチェックを実施してもよい。チェックが完了すると、ファイルチェック手段113は、図2に示す表にチェック済みを意味する情報を追加する(ステップS23)。
図2に示す表をもとに、すべてのファイル110についてステップS21からステップS23までの処理を実施した場合、図2に示されるファイルAからファイルDまでの4つのファイルは、すべてファイルチェック手段113によってチェックされる。その結果、図2に示す表は、図5に示す表のように書き換えられる。図5は、チェック対象のファイルを選択するための表の登録例を示す説明図である。また、図5に示す表をもとにステップS21からステップS23までの処理を実施した場合、ファイルチェック手段113によってチェックされるのは、Write許可されているファイルAとファイルBのみであり、Write許可されていないファイルCとファイルDについては、チェック処理されない。
情報処理装置1は、ステップS21からステップS23までの処理を、すべてのファイル110や、あるまとまった数のファイル110について一定間隔で実施してもよいし、あるファイル110にopen、closeなどのシステムコールでアクセスされた場合に実施してもよい。
また、図2に示す表では、チェック対象として、ファイルを対象としているが、あるフォルダに含まれるすべてのファイルに対して、Write禁止等の設定がアクセス制御ポリシに指定可能な場合、図2に示す表のチェック対象は、「フォルダAに含まれるすべてのファイル」が対象となり、上記と同様に処理される。例えば、「フォルダAに含まれるすべてのファイル」についてWrite許可されていない場合には、「フォルダAに含まれるすべてのファイル」のファイルチェックをスキップ(省略)可能となる。
図1に示すブロック図における各手段の構成は、アクセス制御手段111がOS内で動作し、それ以外はOS外で動作する等の構成でもよいし、アクセス制御手段111以外のいずれか1つがOS内で動作し、それ以外はOS外で動作する等の構成でもよいし、すべての手段がOS外で動作してもよい。
次に、第1の実施形態の効果について説明する。第1の実施形態では、コンピュータウイルス感染、改竄、脆弱性を検知するためのファイルチェックの負荷を軽減しながらセキュリティを確保することができる。これは、ファイルチェックを実施すべきか否かを、ファイルがチェック済みであるか否か、およびWrite禁止となっているか否かに応じて判断するためである。例えば、そのファイルがすでにチェックされていたり、Write禁止となっていればファイルチェックをスキップ可能とするからである。
(実施形態2)
次に、本発明の第2の実施形態について図面を参照して説明する。第2の実施形態では、実行されたファイル110は、実行コードを含むファイルであって、以後、実行コードを含むファイルは書き込みがされないということを前提として、強制的にWrite禁止とし、ファイルチェック処理のスキップ対象とする。ただし、特権を持つプロセスなど特定のプロセスからWrite禁止されたファイル110への書き込みは、許可されるようにアクセス制御ポリシに記述されていてもよい。
図6は、第2の実施形態のファイルチェック装置(情報処理装置1)の構成例を示すブロック図である。第1の実施形態の構成例を示す図1と比べると、図6に示す構成例では、ポリシ更新手段116と、実行検知手段117とが追加されている。
第1の実施形態の構成例に存在する手段は、第2の実施形態でも同様の機能をもっているとして説明を省略する。以下、追加されているポリシ更新手段116と実行検知手段117について説明する。
ポリシ更新手段116は、アクセス制御手段111が保持するアクセス制御ポリシの内容を書き換えることができる。
実行検知手段117は、ファイル110が実行コードでプロセスとして起動することを監視する。ファイル110がプロセスとして起動した場合、実行検知手段117は、その旨をファイル選択手段114に通知する。
次に、図面を参照して第2の実施形態の動作について説明する。第1の実施形態における処理は、第2の実施形態でも実施される。しかし、第2の実施形態では、新たな動作が追加されている。図7は、第2の実施形態における新たな処理の例を示すフローチャートである。
実行検知手段117は、プロセスから発行されるOS処理手段109のシステムコールを監視している。実行検知手段117がシステムコールを監視する方法として、システムコールテーブルをフックする方法や、LinuxであればLSM(Linux Security Module)I/Fなどを利用した方法や、さらに、システムコール内に独自フックを追加する方法が知られている。これらの方法により、execなどのプロセス起動に関するシステムコール、LSM I/F、または独自フックが呼び出されたことを検知する。このような方法により、実行検知手段117は、ファイル110が実行されようとしている等のファイル110の振る舞いを検出する(ステップS31)。
実行検知手段117は、検出した振る舞いに基づいて、ファイルの種別を検知する。例えば、実行検知手段117は、どのファイル110がプロセスとして起動されたのかを示すファイル110を一意に識別可能な情報を、システムコール、LSM I/F、または独自フックの引数から獲得する(ステップS32)。一意に識別可能な情報として、例えば、ファイル110のOS内で管理されているiノード番号やファイルパス等がある。実行検知手段117は、検知した結果に基づいて、ファイル110は書込み禁止であると判断する。
その後、実行されたファイル110を一意に識別可能な情報に基づいて、ポリシ更新手段116は、実行されたファイル110についてWrite禁止を意味するようにアクセス制御ポリシを書き換える(ステップS33)。すなわち、ポリシ更新手段116は、実行検知手段117が書込み禁止と判断したファイル110を書込み禁止とするアクセス情報を登録する。アクセス制御ポリシの更新により、今後、ファイル110に対して書込みが行われそうになった場合、アクセス制御手段111は、書込み処理に対してエラーを返す。
最後に、ファイル選択手段114は、ファイルチェック時にどのファイルをチェックすべきかを示す、ファイル選択手段114が保持する表(図2参照)の更新を行う(ステップS34)。ファイル選択手段114は、対象となるファイル情報として、ステップS32で得られたファイルを一意に識別可能な情報を使用する。その情報がない場合、第1の実施形態におけるステップS13(図3参照)の処理を行い、ファイル情報を獲得する。そして、ファイル選択手段114が保持する表において、実行されたファイル110に対応する情報をWrite禁止を意味する情報に更新する。
ファイル選択手段114が保持する表が図2に示すものであって、かつ、その表に示されるファイルBが実行され、上記のステップS31からステップS34に関する処理を実施した場合、図2に示す表は、図8に示す表のように更新される。図8は、チェック対象のファイルを選択するための表の登録例を示す説明図である。つまり、ファイルBに関して、Write許可からWrite禁止といった状態になる。
さらに、第1の実施形態におけるステップS21からステップS23の処理(図4参照)を実行すると、図8に示す表は、図9に示すように更新される。図9は、チェック対象のファイルを選択するための表の登録例を示す説明図である。その後、ステップS21からステップS23の処理(図4参照)を実行すると、ファイルBはファイルチェック処理の対象外となる。
第2の実施形態では、ファイル110はプロセスとなる実行ファイルであるとして説明したが、ライブラリまたはデバイスドライバであってもよい。ファイル110がライブラリやデバイスドライバである場合も、実行ファイルである場合と同様に、実行またはロード(メモリ読み込み)される等のファイル110の振る舞いを検知し、Write禁止を意味するアクセス制御ポリシを記述することで、同様にファイルチェック処理をスキップ(省略)することが可能となる。
Linuxであれば、あるプロセス起動時にライブラリがロードされる。このタイミングに独自フックを埋め込んでおくか、LSM I/Fを利用することで、ライブラリを検知可能である。また、Linuxの場合、insmodコマンドによりカーネル内にデバイスドライバをロードするタイミングにおいて、上記と同様の検知方法により、デバイスドライバを検知可能となる。
次に、第2の実施形態の効果について説明する。第2の実施形態では、通常の使い方では更新および書込みがされないと考えられる実行コードを含むファイルに対して、自動的にコンピュータウイルス感染、改竄あるいは脆弱性を検知するためのファイルチェックをスキップするため、チェックの負荷を軽減することができる。これは、ファイルがプロセスとして起動され、プロセスとして振る舞うことを監視する実行検知手段を備え、起動されたファイルを強制的にWrite禁止となるようにアクセス制御のアクセス制御ポリシを更新し、さらに、ファイルチェックを実施すべきかどうかを示す表を、そのファイルをWrite禁止であるという情報に更新するからである。つまり、アクセス制御ポリシが変更されたら、それに追従してファイルチェックをすべきかどうかを判断する表を更新するため、ファイルチェック不可を軽減することができる。
(実施形態3)
次に、本発明の第3の実施形態について図面を参照して説明する。第3の実施形態では、ファイル110をWrite禁止ファイルとして扱うためにプロセスがWrite禁止と指定可能なAPIを用意し、ファイル110をファイルチェック処理のスキップ対象とする。APIを利用可能なプロセスとして、ファイル110を生成したプロセス、そのプロセスの元となる実行コードから生成された別プロセス、または特権を与えられたプロセスなどの特定のプロセスに対してのみAPI利用を許可するようにアクセス制御ポリシが記述されていてもよい。また、APIが指定可能なアクセス制御として、Write禁止、Write許可などが考えられる。
図10は、第3の実施形態のファイルチェック装置(情報処理装置1)の構成例を示すブロック図である。第2の実施形態の構成例を示す図6と比べると、図10に示す構成例では、実行検知手段117がなくなり、Write禁止要求手段118が追加されている。
第2の実施形態の構成例に存在する手段は、第3の実施形態でも同様の機能をもっているとして説明を省略する。以下、追加されているWrite禁止要求手段118について説明する。
Write禁止要求手段118は、プロセスからOS処理手段109にファイル110をWrite禁止とするAPIを提供する。すなわち、プロセスは、APIを実行することにより、Write禁止要求手段118に対し、ファイル110をWrite禁止にするよう要求することができる。Write禁止要求手段118は、プロセスからファイル110をWrite禁止とする旨の要求があった場合に、ファイル110は書込み禁止であると判断する。Write禁止要求手段118は、ポリシ更新手段116に対し、書込み禁止であると判断したファイル110を指定して、アクセス制御手段111が保持するアクセス制御ポリシの内容を書き換えさせることができる。
次に、図面を参照して第3の実施形態の動作について説明する。図11は、第3の実施形態における処理の例を示すフローチャートである。
まず、プロセスは、Write禁止を要求可能なAPIを呼び出し、ファイル110についてWrite禁止とする要求を出す。この要求は、OS処理手段109を経由してWrite禁止要求手段118に通知される。
Write禁止要求手段118は、呼び出し元のプロセスが特権プロセスであるか、または、指定されているファイル110が呼び出し元プロセスが生成したものであるかを確認する(ステップS41)。すなわち、Write禁止要求手段118は、ステップS41において、ファイル110をWrite禁止とすることができるか否かを判断する。例えば、呼び出し元のプロセスが特権プロセスである場合や、指定されているファイル110が呼び出し元プロセスが生成したものである場合に、Write禁止要求手段118は、ファイル110をWrite禁止とすることができると判断する。
ステップS41において、呼び出し元のプロセスが特権プロセスである場合、または、指定されているファイル110が呼び出し元プロセスが生成したものである場合(Yes)、ステップS42に進み、そうでなければ(No)、処理を終了する。
プロセスに指定されたファイル110についての以降のステップS42からステップS44の処理は、図7に示す第2の実施形態のステップS32からステップS34までの処理で実行されたファイル110に施した処理と同じであるので、ここでは説明を省略する。
ファイル選択手段114が保持する表が図2に示すものであって、かつ、その表に示されるファイルBについてAPIによりWrite禁止とし、ステップS41からステップS44に関する処理を実施した場合、図2に示す表は、図8に示す表のように更新される。つまり、ファイルBに関して、Write許可からWrite禁止といった状態になる。
さらに、第1の実施形態におけるステップS21からステップS23の処理(図4参照)を実行すると、図8に示す表は、図9に示すように更新される。その後、ステップS21からステップS23の処理(図4参照)を実行すると、ファイルBはファイルチェック処理の対象外となる。
次に、第3の実施形態の効果について説明する。第3の実施形態では、プロセスがファイルを書込み禁止とするよう要求することができる。
(実施形態4)
次に、本発明の第4の実施形態について図面を参照して説明する。第4の実施形態では、ファイル110がバックアップ目的などのファイルの場合にWrite禁止ファイルとして扱い、ファイル110をファイルチェック処理のスキップ対象とする。ファイル110の削除など、Write禁止以外の動作を、ファイル110を生成したプロセス、そのプロセスの元となる実行コードから生成された別プロセス、または特権を与えられたプロセスに限って許可するようにアクセス制御ポリシが記述されていてもよい。
図12は、第4の実施形態のファイルチェック装置(情報処理装置1)の構成例を示すブロック図である。第2の実施形態の構成例を示す図6と比べると、図12に示す構成例では、実行検知手段117がなくなり、新規ファイル検知手段119が追加されている。
第2の実施形態の構成例に存在する手段は、第4の実施形態でも同様の機能をもっているとして説明を省略する。以下、追加されている新規ファイル検知手段119について説明する。
新規ファイル検知手段119は、プロセスが新規にファイルを生成することを検知する。特に、複数のファイルを1つにまとめたファイルまたは圧縮ファイルなど、バックアップを目的としたファイルを生成することを検知する。すなわち、新規ファイル検知手段119は、ファイルの内容に基づいてファイルの種別を検知する。バックアップされるファイル110の生成を検知すると、新規ファイル検知手段119は、検知した結果に基づいて、ファイル110は書込み禁止であると判断する。新規ファイル検知手段119は、ポリシ更新手段116に対し、書込み禁止であると判断したファイル110を指定して、アクセス制御手段111が保持するアクセス制御ポリシの内容を書き換えさせることができる。
第4の実施形態では、書き込みが1度だけ許されるようなファイルに対して、コンピュータウイルス感染、改竄、脆弱性を検知するためのファイルチェックをスキップし、そのチェックの負荷を軽減することができる。これは、ファイルを生成するプロセスがそのファイルをWrite禁止とするよう要求可能なAPIをプロセスに提供し、APIで指定されたファイルに対してアクセス制御ポリシを更新し、さらに、ファイルチェックを実施すべきかどうかを示す表において、ファイルをWrite禁止であるという情報に更新するからである。
次に、図面を参照して第4の実施形態の動作について説明する。図13は、第4の実施形態における処理の例を示すフローチャートである。
まず、プロセスがバックアップ目的に新規のファイルを生成する。新規ファイルの生成は、システムコールopen,Writeおよびcloseなどで実現される。新規ファイルの生成については、OS処理手段109を経由して新規ファイル検知119に通知される。
新規ファイル検知手段119は、生成されたファイル110の中身または拡張子(たとえば、tar、zip)などから、複数ファイルをまとめたファイルまたは圧縮ファイルであるかどうか判断する(ステップS51)。すなわち、新規ファイル検知手段119は、ステップS51において、ファイル110をWrite禁止とすることができるか否かを判断する。例えば、ファイル110が複数ファイルをまとめたファイルや圧縮ファイルである場合に、新規ファイル検知手段119はファイル110をWrite禁止とすることができると判断する。
ステップS51において、生成されているファイル110が複数ファイルをまとめたファイルまたは圧縮ファイルである場合(Yes)、ステップS52に進み、そうでなければ(No)、処理を終了する。
生成されたファイル110についての以降のステップS52からステップS54の処理は、図7に示す第2の実施形態のステップS32からステップS34までの処理で実行されたファイル110に施した処理と同じであるので、ここでは説明を省略する。
ファイル選択手段114が保持する表が図2に示すものであって、かつ、その表に示されるファイルB(最初は図2にはファイルBが記載されていないかもしれない)について新規生成し、ステップS51からステップS54に関する処理を実施した場合、図2に示す表は、図8に示す表のように更新される。つまり、ファイルBに関して、Write禁止といった状態になる。
さらに、第1の実施形態におけるステップS21からステップS23の処理(図4参照)を実行すると、図8に示す表は、図9に示すように更新される。その後、ステップS21からステップS23の処理(図4参照)を実行すると、ファイルBはファイルチェック処理の対象外となる。
次に、第4の実施形態の効果について説明する。第4の実施形態では、長期間、使用されないと予想されるファイルに対して、自動的にコンピュータウイルス感染、改竄、脆弱性を検知するためのファイルチェックをスキップし、そのチェックの負荷を軽減することができる。これは、新規ファイルの生成を監視し、ファイルの種類を判別する新規ファイル検知手段を備え、生成されたファイルを強制的にWrite禁止となるようにアクセス制御ポリシを更新し、さらに、ファイルチェックを実施すべきかどうかを示す表を、そのファイルをWrite禁止であるという情報に更新するからである。つまり、ファイルの内容、属性によって、ファイルチェックをすべきかどうかを判断する表を更新するため、ファイルチェック不可を軽減することができる。
(実施形態5)
次に、本発明の第5の実施形態を図面を参照して説明する。図14は、本発明によるファイルチェック装置(情報処理装置10)の最小の構成例を示す機能ブロック図である。図14に例示する情報処理装置10は、アクセス制御手段11と、ファイル選択手段14と、ファイルチェック手段13とを備える。
アクセス制御手段11は、プロセスからファイルへのアクセスを制御する。
ファイル選択手段14は、アクセス制御手段によるアクセス制御によって書込み許可されているファイルを選択する。
ファイルチェック手段13は、ファイル選択手段14が選択したファイル内の不正コードの有無を判定するファイルチェックを行う。
ファイルチェック手段13は、ファイル選択手段14が選択したファイルを対象としてファイルチェックを行う。すなわち、ファイルチェック手段13は、ファイル選択手段14が選択しなかったファイルのチェックを行わない。そのため、ファイルチェックにかかる負荷を軽減することができる。
また、ファイル選択手段14が選択しなかったファイルは、書込み許可がされていないファイルであり、アクセス制御手段11によってアクセス制御されているため、例えば改竄される危険性が低い。このように、本発明によれば、ファイル選択手段14が選択しなかったファイルのセキュリティも確保することができる。
なお、本発明の各実施形態は、以下に示す構成を備えることにより、本発明の目的を達成することができる。
本発明の第1のファイルチェック装置は、ファイルチェック手段とファイルをWrite禁止と強制的に制御するアクセス制御手段と、そのアクセス制御手段でWrite許可となっているファイルと、Write禁止になっているがファイルチェック手段によりファイルチェックされていないファイルを選び出すファイル選択手段により構成される。このような構成を採用し、必要最低限のチェックのみを行うことで比較的非力なコンピュータ上でも高速にファイルチェックを完了するという目的を達成できる。
また、本発明の第2のファイルチェック装置は、実行可能なファイルに関しては実行したという振る舞いを検知する手段により実行コードを含むファイルであると認識し、アクセス制御手段がWrite禁止として扱うようにポリシ更新手段によりそのファイルを強制的にWrite禁止となるようにアクセス制御ポリシを書き換えるポリシ更新手段と、Write禁止かつファイルチェックされていれば、ファイルチェック処理をスキップすることを決定するファイル選択手段により構成される。このような構成を採用し、ファイルチェックをスキップ可能なファイルを自動的に探し出し、そのファイルをスキップ対象として扱うことにより、必要最低限のチェックのみを行うことで比較的非力なコンピュータ上でも高速にファイルチェックを完了するという目的を達成できる。
また、本発明の第3のファイルチェック装置は、ファイルをWrite禁止に指定可能なAPIを提供し、指定されたファイルをアクセス制御手段によりWrite禁止となるようにアクセス制御ポリシを書き換えるポリシ更新手段と、Write禁止かつファイルチェックされていれば、ファイルチェック処理をスキップすることを決定するファイル選択手段により構成される。このような構成を採用し、ファイルチェックをスキップ可能なファイルを自動的に探し出し、そのファイルをスキップ対象として扱うことにより、必要最低限のチェックのみを行うことで比較的非力なコンピュータ上でも高速にファイルチェックを完了するという目的を達成できる。
また、本発明の第4のファイルチェック装置は、新規ファイルの生成を監視し、ファイルの種類を判別する新規ファイル検知手段とその生成されたファイルの種別により、強制的にWrite禁止となるようにアクセス制御ポリシを書き換えるポリシ更新手段と、Write禁止かつファイルチェックされていれば、ファイルチェック処理をスキップすることを決定するファイル選択手段により構成される。このような構成を採用し、ファイルチェックをスキップ可能なファイルを自動的に探し出し、そのファイルをスキップ対象として扱うことにより、必要最低限のチェックのみを行うことで比較的非力なコンピュータ上でも高速にファイルチェックを完了するという目的を達成できる。
なお、上記に示した実施形態では、以下の(1)〜(8)に示すような特徴的構成を備えたファイルチェック装置が示されている。
(1)ファイル内に含まれた不正コードを検出するファイルチェック装置であって、プロセスからファイルへのアクセスを制御するアクセス制御手段(例えば、アクセス制御手段111で実現される)と、アクセス制御手段によるアクセス制御によって書込み許可されているファイルを選択するファイル選択手段(例えば、ファイル選択手段114で実現される)と、ファイル選択手段が選択したファイル内の不正コードの有無を判定するファイルチェックを行うファイルチェック手段(例えば、ファイルチェック手段113で実現される)とを備えたことを特徴とするファイルチェック装置。
(2)ファイルチェック手段は、ウイルスチェック手段、改竄チェック手段、脆弱性チェック手段、バイナリチェック手段のいずれか1つ、2つ以上の組み合わせ、またはすべてを含むファイルチェック装置。そのように構成されたファイルチェック装置は、ウイルスチェック、改竄チェック、脆弱性チェック、バイナリチェックのうちのいずれか1つ以上のファイルチェックを実行することができる。
(3)ファイル選択手段は、書込み許可されていて、かつ、ファイルチェック手段によってファイルチェックされていないファイルのみを選択するファイルチェック装置。そのように構成されたファイルチェック装置は、ファイルチェック済みのファイルのチェックを省くことができ、ファイルチェックにかかる負荷をより軽減することができる。
(4)ファイルの振る舞いを検知し、検知した振る舞いに基づいてファイルの種別を検知する検知手段(例えば、実行検知手段117で実現される)と、検知手段が検知した結果に基づいて、ファイルを書込み禁止と判断する判断手段(例えば、実行検知手段117、新規ファイル検知手段119で実現される)と、アクセス制御手段が保持しているアクセス情報においてファイルを書込み禁止に更新するアクセス情報更新手段(例えば、ポリシ更新手段116で実現される)とを備えたファイルチェック装置。そのように構成されたファイルチェック装置は、ファイルの振る舞いに基づいてファイルの種別を検知し、ファイルを書き込み禁止とすることにより、ファイルチェックにかかる負荷をより軽減することができる。
(5)検知手段は、ファイルの振る舞いとして、実行可能なコードを含むファイルの起動、またはライブラリもしくはデバイスドライバのメモリへの読み込みを検知して、ファイルの種別を検知するファイルチェック装置。
(6)検知手段(例えば、新規ファイル検知手段119で実現される)は、ファイルの内容に基づいてファイルの種別を検知するファイルチェック装置。そのように構成されたファイルチェック装置は、ファイルの内容に基づいてファイルの種別を検知し、ファイルを書き込み禁止とすることにより、ファイルチェックにかかる負荷をより軽減することができる。
(7)検知手段は、ファイルの内容として、複数ファイルをまとめたファイルまたは圧縮ファイルであることを判断して、ファイルの種別を検知するファイルチェック装置。
(8)プロセスがファイルを書込み禁止とするよう要求可能にする禁止要求手段(例えば、Write禁止要求手段118で実現される)を備えたファイルチェック装置。そのように構成されたファイルチェック装置は、プロセスがファイルを書込み禁止とするよう要求することができる。
以上、実施の形態に即して本発明について説明したが、本発明はこれに限定されるものではなく、発明の趣旨を逸脱しない範囲内において自由に変更することが可能である。
この出願は、2007年10月9日に出願された日本出願特願第2007−263055号を基礎とする優先権を主張し、その開示のすべてをここに取り込む。

Claims (15)

  1. ファイル内に含まれた不正コードを検出するファイルチェック装置であって、
    プロセスから前記ファイルへのアクセスを制御するアクセス制御手段と、
    前記アクセス制御手段によるアクセス制御によって、ファイルチェック済でない前記ファイルを選択するファイル選択手段と、
    前記ファイルチェック手段が選択したファイル内の不正コードの有無を判定するファイルチェックを行うファイルチェック手段と
    前記ファイルの振る舞いを検知し、検知した振る舞いに基づいてファイルの種別を検知する検知手段と、
    前記検知手段が検知した結果に基づいて、前記ファイルを書込み禁止と判断する判断手段と、
    前記アクセス制御手段が保持しているアクセス情報において、前記ファイルを書込み禁止に更新するアクセス情報更新手段と、
    を備えることを特徴とするファイルチェック装置。
  2. 前記ファイルチェック手段は、ウイルスチェック手段、改竄チェック手段、脆弱性チェック手段、バイナリチェック手段のいずれか1つ、2つ以上の組み合わせ、またはすべてを含む請求項1に記載のファイルチェック装置。
  3. 前記検知手段は、前記ファイルの振る舞いとして、実行可能なコードを含む前記ファイルの起動、またはライブラリもしくはデバイスドライバのメモリへの読み込みを検知して、前記ファイルの種別を検知する請求項1または2に記載のファイルチェック装置。
  4. ファイル内に含まれた不正コードを検出するファイルチェック装置であって、
    プロセスから前記ファイルへのアクセスを制御するアクセス制御手段と、
    前記アクセス制御手段によるアクセス制御によって、ファイルチェック済でない前記ファイルを選択するファイル選択手段と、
    前記ファイルチェック手段が選択したファイル内の不正コードの有無を判定するファイルチェックを行うファイルチェック手段と、
    前記ファイルの内容に基づいてファイルの種別を検知する検知手段と、
    前記検知手段が検知した結果に基づいて、前記ファイルを書込み禁止と判断する判断手段と、
    前記アクセス制御手段が保持しているアクセス情報において、前記ファイルを書込み禁止に更新するアクセス情報更新手段と、
    を備えることを特徴とするファイルチェック装置。
  5. 前記検知手段は、前記ファイルの内容として、複数ファイルをまとめたファイルまたは圧縮ファイルであることを判断して、前記ファイルの種別を検知する請求項4に記載のファイルチェック装置。
  6. ファイル内に含まれた不正コードを検出するためのファイルチェックプログラムであって、
    コンピュータに、
    プロセスから前記ファイルへのアクセスを制御するアクセス制御処理と、
    前記アクセス制御処理によるアクセス制御によって、ファイルチェック済でない前記ファイルを選択するファイル選択処理と、
    前記ファイルチェック手段が選択したファイル内の不正コードの有無を判定するファイルチェックを行うファイルチェック処理と
    前記ファイルの振る舞いを検知し、検知した振る舞いに基づいて前記ファイルの種別を検知する検知処理と、
    前記検知処理で検知した結果に基づいて、前記ファイルを書込み禁止と判断する判断処理と、
    前記アクセス制御処理によって保持されたアクセス情報において、前記ファイルを書込み禁止に更新するアクセス情報更新処理と、
    を実行させるためのファイルチェックプログラム。
  7. 前記コンピュータに、
    前記ファイルチェック処理で、ウイルスチェック処理、改竄チェック処理、脆弱性チェック処理、バイナリチェック処理のいずれか1つ、2つ以上の組み合わせ、またはすべてを含む処理を実行させるための
    請求項に記載のファイルチェックプログラム。
  8. 前記コンピュータに、
    前記検知処理で、前記ファイルの振る舞いとして、実行可能なコードを含む前記ファイルの起動、またはライブラリもしくはデバイスドライバのメモリへの読み込みを検知して、前記ファイルの種別を検知する処理を実行させるための
    請求項6または7に記載のファイルチェックプログラム。
  9. ファイル内に含まれた不正コードを検出するためのファイルチェックプログラムであって、
    コンピュータに、
    プロセスから前記ファイルへのアクセスを制御するアクセス制御処理と、
    前記アクセス制御処理によるアクセス制御によって、ファイルチェック済でない前記ファイルを選択するファイル選択処理と、
    前記ファイルチェック手段が選択したファイル内の不正コードの有無を判定するファイルチェックを行うファイルチェック処理と、
    前記ファイルの内容に基づいて前記ファイルの種別を検知する検知処理と、
    前記検知処理で検知した結果に基づいて、前記ファイルを書込み禁止と判断する判断処理と、
    前記アクセス制御処理によって保持されたアクセス情報において、前記ファイルを書込み禁止に更新するアクセス情報更新処理と、
    を実行させるためのファイルチェックプログラム。
  10. 前記コンピュータに、
    前記検知処理で、前記ファイルの内容として、複数ファイルをまとめたファイルまたは圧縮ファイルであることを判断して、前記ファイルの種別を検知する処理を実行させるための
    請求項9に記載のファイルチェックプログラム。
  11. コンピュータにより、ファイル内に含まれた不正コードを検出するファイルチェック方法であって、
    前記コンピュータが、プロセスから前記ファイルへのアクセスを制御するアクセス制御ステップと、
    前記アクセス制御手段によるアクセス制御によって、ファイルチェック済でない前記ファイルを選択するファイル選択ステップと、
    前記ファイルチェック手段が選択したファイル内の不正コードの有無を判定するファイルチェックを行うファイルチェックステップと
    前記ファイルの振る舞いを検知し、検知した振る舞いに基づいて前記ファイルの種別を検知する検知ステップと、
    前記検知ステップで検知した結果に基づいて、前記ファイルを書込み禁止と判断する判断ステップと、
    前記アクセス制御ステップで保持されたアクセス情報において、前記ファイルを書込み禁止に更新するアクセス情報更新ステップと、
    実行することを特徴とするファイルチェック方法。
  12. 前記コンピュータが、前記ファイルチェックステップで、ウイルスチェック、改竄チェック、脆弱性チェック、バイナリチェックのいずれか1つ、2つ以上の組み合わせ、またはすべてを実行する請求項11に記載のファイルチェック方法。
  13. 前記コンピュータが、前記検知ステップで、前記ファイルの振る舞いとして、実行可能なコードを含む前記ファイルの起動、またはライブラリもしくはデバイスドライバのメモリへの読み込みを検知して、前記ファイルの種別を検知する請求項11または12に記載のファイルチェック方法。
  14. コンピュータにより、ファイル内に含まれた不正コードを検出するファイルチェック方法であって、
    前記コンピュータが、プロセスから前記ファイルへのアクセスを制御するアクセス制御ステップと、
    前記アクセス制御ステップによるアクセス制御によって、ファイルチェック済でない前記ファイルを選択するファイル選択ステップと、
    前記ファイルチェック手段が選択したファイル内の不正コードの有無を判定するファイルチェックを行うファイルチェックステップと、
    前記ファイルの内容に基づいて前記ファイルの種別を検知する検知ステップと、
    前記検知ステップで検知した結果に基づいて、前記ファイルを書込み禁止と判断する判断ステップと、
    前記アクセス制御ステップで保持されたアクセス情報において、前記ファイルを書込み禁止に更新するアクセス情報更新ステップと、
    実行することを特徴とするファイルチェック方法。
  15. 前記コンピュータが、前記検知ステップで、前記ファイルの内容として、複数ファイルをまとめたファイルまたは圧縮ファイルであることを判断して、前記ファイルの種別を検知する請求項14に記載のファイルチェック方法。
JP2009537052A 2007-10-09 2008-10-08 ファイルチェック装置、ファイルチェックプログラムおよびファイルチェック方法 Active JP5392494B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009537052A JP5392494B2 (ja) 2007-10-09 2008-10-08 ファイルチェック装置、ファイルチェックプログラムおよびファイルチェック方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2007263055 2007-10-09
JP2007263055 2007-10-09
PCT/JP2008/068689 WO2009048158A1 (ja) 2007-10-09 2008-10-08 ファイルチェック装置、ファイルチェックプログラムおよびファイルチェック方法
JP2009537052A JP5392494B2 (ja) 2007-10-09 2008-10-08 ファイルチェック装置、ファイルチェックプログラムおよびファイルチェック方法

Publications (2)

Publication Number Publication Date
JPWO2009048158A1 JPWO2009048158A1 (ja) 2011-02-24
JP5392494B2 true JP5392494B2 (ja) 2014-01-22

Family

ID=40549301

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009537052A Active JP5392494B2 (ja) 2007-10-09 2008-10-08 ファイルチェック装置、ファイルチェックプログラムおよびファイルチェック方法

Country Status (2)

Country Link
JP (1) JP5392494B2 (ja)
WO (1) WO2009048158A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2256658A1 (en) * 2009-05-26 2010-12-01 Gemalto SA Method of executing an application embedded in a portable electronic device
KR101091777B1 (ko) * 2010-07-16 2011-12-08 주식회사 파수닷컴 Drm 환경에서의 악성 코드 실시간 검사 장치 및 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003052595A1 (en) * 2001-12-14 2003-06-26 Networks Associates Technology, Inc. Method and system for delayed write scanning for detecting computer malwares
US6952776B1 (en) * 1999-09-22 2005-10-04 International Business Machines Corporation Method and apparatus for increasing virus detection speed using a database
WO2006008199A2 (en) * 2004-07-20 2006-01-26 International Business Machines Corporation Secure storage tracking for anti-virus speed-up
JP2006285404A (ja) * 2005-03-31 2006-10-19 Toshiba Corp 情報処理装置および記憶媒体の制御方法
JP2007034623A (ja) * 2005-07-26 2007-02-08 Sharp Corp コンピュータウイルスの検出方法、プログラム、プログラムが記憶された記録媒体およびコンピュータウイルスの検出装置
JP2007065810A (ja) * 2005-08-30 2007-03-15 Hitachi Ltd セキュリティ検査システム
JP2007172110A (ja) * 2005-12-20 2007-07-05 Hitachi Omron Terminal Solutions Corp 情報処理装置
JP2007226277A (ja) * 2004-04-02 2007-09-06 Matsushita Electric Ind Co Ltd 仮想マシン改ざん検査方法、および仮想マシン改ざん検査装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6973578B1 (en) * 2000-05-31 2005-12-06 Networks Associates Technology, Inc. System, method and computer program product for process-based selection of virus detection actions

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6952776B1 (en) * 1999-09-22 2005-10-04 International Business Machines Corporation Method and apparatus for increasing virus detection speed using a database
WO2003052595A1 (en) * 2001-12-14 2003-06-26 Networks Associates Technology, Inc. Method and system for delayed write scanning for detecting computer malwares
JP2007226277A (ja) * 2004-04-02 2007-09-06 Matsushita Electric Ind Co Ltd 仮想マシン改ざん検査方法、および仮想マシン改ざん検査装置
WO2006008199A2 (en) * 2004-07-20 2006-01-26 International Business Machines Corporation Secure storage tracking for anti-virus speed-up
JP2006285404A (ja) * 2005-03-31 2006-10-19 Toshiba Corp 情報処理装置および記憶媒体の制御方法
JP2007034623A (ja) * 2005-07-26 2007-02-08 Sharp Corp コンピュータウイルスの検出方法、プログラム、プログラムが記憶された記録媒体およびコンピュータウイルスの検出装置
JP2007065810A (ja) * 2005-08-30 2007-03-15 Hitachi Ltd セキュリティ検査システム
JP2007172110A (ja) * 2005-12-20 2007-07-05 Hitachi Omron Terminal Solutions Corp 情報処理装置

Also Published As

Publication number Publication date
WO2009048158A1 (ja) 2009-04-16
JPWO2009048158A1 (ja) 2011-02-24

Similar Documents

Publication Publication Date Title
EP3123311B1 (en) Malicious code protection for computer systems based on process modification
US8417962B2 (en) Device booting with an initial protection component
KR101247022B1 (ko) 실행가능 파일의 신뢰를 검증하는 시스템 및 방법
US8612398B2 (en) Clean store for operating system and software recovery
US8484483B2 (en) Method for protecting computer programs and data from hostile code
US8099596B1 (en) System and method for malware protection using virtualization
US8079085B1 (en) Reducing false positives during behavior monitoring
US10235520B2 (en) System and method for analyzing patch file
US20140053267A1 (en) Method for identifying malicious executables
US8522015B2 (en) Authentication of binaries in memory with proxy code execution
JP2005129066A (ja) オペレーティングシステムリソース保護
US8413253B2 (en) Protecting persistent secondary platform storage against attack from malicious or unauthorized programs
JP6370098B2 (ja) 情報処理装置、情報処理監視方法、プログラム、及び記録媒体
JP2014514651A (ja) バーチャルマシーンモニタベースのアンチマルウェアセキュリティのためのシステム及び方法
KR20060051383A (ko) 바이러스 방지 소프트웨어 어플리케이션들의 지식 베이스를모으는 시스템 및 방법
US10783041B2 (en) Backup and recovery of data files using hard links
JP2009238153A (ja) マルウェア対処システム、方法及びプログラム
US20160004859A1 (en) Method and system for platform and user application security on a device
US7523319B2 (en) System and method for tracking changed LBAs on disk drive
US9390275B1 (en) System and method for controlling hard drive data change
Sun et al. API monitoring system for defeating worms and exploits in MS-Windows system
JP5392494B2 (ja) ファイルチェック装置、ファイルチェックプログラムおよびファイルチェック方法
KR20220085786A (ko) 랜섬웨어 방지
US8572742B1 (en) Detecting and repairing master boot record infections
US20110167276A1 (en) Method and device for detecting if a computer file has been copied and method and device for enabling such detection

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130703

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130827

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131001

R150 Certificate of patent or registration of utility model

Ref document number: 5392494

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150