Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6180166B2 - Information processing apparatus, system, copy operation detection method, and computer program - Google Patents
[go: Go Back, main page]

JP6180166B2 - Information processing apparatus, system, copy operation detection method, and computer program - Google Patents

Information processing apparatus, system, copy operation detection method, and computer program Download PDF

Info

Publication number
JP6180166B2
JP6180166B2 JP2013086896A JP2013086896A JP6180166B2 JP 6180166 B2 JP6180166 B2 JP 6180166B2 JP 2013086896 A JP2013086896 A JP 2013086896A JP 2013086896 A JP2013086896 A JP 2013086896A JP 6180166 B2 JP6180166 B2 JP 6180166B2
Authority
JP
Japan
Prior art keywords
file
copy operation
information
capturing
access requests
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
JP2013086896A
Other languages
Japanese (ja)
Other versions
JP2014211716A (en
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.)
Canon Electronics Inc
Original Assignee
Canon Electronics Inc
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 Canon Electronics Inc filed Critical Canon Electronics Inc
Priority to JP2013086896A priority Critical patent/JP6180166B2/en
Publication of JP2014211716A publication Critical patent/JP2014211716A/en
Application granted granted Critical
Publication of JP6180166B2 publication Critical patent/JP6180166B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Description

本発明は、ファイルのコピー操作を検出する技術に関する。   The present invention relates to a technique for detecting a file copy operation.

米国マイクロソフト社が提供するWindows(登録商標)は、広く普及しているオペレーティングシステム(以下、OS)である。そのため、それを攻撃する悪意のあるプログラムも多い。さらに、悪意のあるプログラムからシステムを防御するためのアプリケーションも多い。セキュリティを維持する目的のため、各種アプリケーションを介したファイルシステムへのアクセス(例えば、ファイルの作成、削除、コピー等)を検出することは重要である。特許文献1では、Windows(登録商標)が提供するファイル操作用API(Application Program Interface)を利用して、ファイルシステムへのアクセスを検出する技術が記載されている。   Windows (registered trademark) provided by Microsoft Corporation in the United States is an operating system (hereinafter referred to as OS) that is widely used. Therefore, there are many malicious programs that attack it. In addition, there are many applications that protect the system from malicious programs. For the purpose of maintaining security, it is important to detect access to the file system (for example, file creation, deletion, copying, etc.) via various applications. Patent Document 1 describes a technique for detecting access to a file system using a file operation API (Application Program Interface) provided by Windows (registered trademark).

特開2007−48310号公報JP 2007-48310 A

特許文献1に記載された発明では、ファイル操作に関与するすべてのAPI(CreateFileA、CloseHandle、CopyFileAなど)をフックの対象として登録して監視する必要があった。また、特許文献1では、APIを用いないファイル操作を検出することができない。さらに、特許文献1では、APIをフックの対象としているのでアプリケーションに依存してしまう。このように特許文献1に記載の発明ではいくつかの課題があった。   In the invention described in Patent Document 1, it is necessary to register and monitor all APIs (CreateFileA, CloseHandle, CopyFileA, etc.) involved in file operations as hook targets. Moreover, in patent document 1, the file operation which does not use API cannot be detected. Furthermore, in Patent Document 1, since the API is a hook target, it depends on the application. As described above, the invention described in Patent Document 1 has several problems.

そこで、本発明は、上記の課題または他の課題のうち少なくとも1つを解決することを目的とする。たとえば、本発明は、APIを用いずにファイル操作を実行するようなアプリケーションによるファイルのコピー操作であっても検出できるようにすることを目的とする。   Therefore, an object of the present invention is to solve at least one of the above problems and other problems. For example, an object of the present invention is to detect even a file copy operation by an application that executes a file operation without using an API.

本発明は、たとえば、
任意のプログラムからファイルシステムに対する複数のアクセス要求をフィルタドライバにより捕捉する捕捉手段と、
前記捕捉手段により捕捉された複数のアクセス要求の順序が特定の順序であるかどうかに基づき、ファイルに対するコピー操作を検出する検出手段と
前記捕捉手段により捕捉されたアクセス要求に付随するオプション情報を抽出する抽出手段と、
前記抽出手段により抽出された前記オプション情報が特定の種類のオプション情報であり、かつ、カウント値が所定値であるときに、当該カウント値を1つ増加するカウント手段と
を有し、
前記検出手段は、
前記捕捉手段により捕捉された複数のアクセス要求の順序が特定の順序であり、かつ、前記捕捉手段により捕捉された複数のアクセス要求の数が特定の数であるときに、前記ファイルについてコピー操作が実行されようとしていると判定し、更に、
前記アクセス要求の対象となったファイルがオープンされてからクローズされるまでに前記カウント手段によりカウントされたカウント値が、コピー操作に特有の値であるときに、前記ファイルについてコピー操作が実行されようとしていると判定する
ことを特徴とする情報処理装置を提供する。
The present invention is, for example,
Capture means for capturing a plurality of access requests to a file system from an arbitrary program by a filter driver;
Detecting means for detecting a copy operation on the file based on whether the order of the plurality of access requests captured by the capturing means is a specific order ;
Extracting means for extracting optional information accompanying the access request captured by the capturing means;
Counting means for incrementing the count value by one when the option information extracted by the extracting means is a specific type of option information and the count value is a predetermined value;
Have
The detection means includes
When the order of the plurality of access requests captured by the capturing unit is a specific order and the number of the plurality of access requests captured by the capturing unit is a specific number, a copy operation is performed on the file. Determine that it is about to be executed, and
When the count value counted by the counting means from the time the file subject to the access request is opened until it is closed is a value specific to the copy operation, the copy operation will be executed for the file. An information processing apparatus is provided that is characterized in that it is determined that

本発明によれば、ファイルに対する複数のアクセス要求の発行順序がファイルコピー操作に特有の特定の順序であるかどうかに基づきに、コピー操作を検出する。本発明によれば、ファイル操作に関与するすべてのAPIを監視する必要はないため、ファイル操作に関与するすべてのAPIを登録する必要はない。さらに、本発明によれば、APIを用いずにファイル操作を実行するようなアプリケーションによるファイルのコピー操作であっても検出できる。また、フィルタドライバによってアクセス要求を捕捉すれば、従来技術と比較して、アプリケーションに対する影響は軽微となろう。   According to the present invention, a copy operation is detected based on whether or not the order of issuing a plurality of access requests for a file is a specific order specific to the file copy operation. According to the present invention, since it is not necessary to monitor all APIs involved in file operations, it is not necessary to register all APIs involved in file operations. Furthermore, according to the present invention, it is possible to detect even a file copy operation by an application that executes a file operation without using an API. In addition, if the access request is captured by the filter driver, the effect on the application will be less than that of the prior art.

情報処理装置(コンピュータ)のブロック図Block diagram of information processing device (computer) ファイルシステムドライバへのアクセスログを検出するためのプログラム構造を示す図The figure which shows the program structure for detecting the access log to the file system driver ファイル情報リストの一例を示す図Figure showing an example of the file information list アクセス要求の取得処理を示すフローチャートFlow chart showing access request acquisition processing ファイル情報リストの作成処理を示すフローチャートFlow chart showing file information list creation processing ファイルのコピー操作検出処理を示すフローチャートFlowchart showing file copy operation detection processing OSのバージョンごとのコピー操作を検出するための条件(コピー操作検出条件)を示す図The figure which shows the conditions (copy operation detection conditions) for detecting the copy operation for every version of OS コピー元ファイルリストの一例を示す図Figure showing an example of the copy source file list コピー操作に関与するアクセス要求のタイミングを示す図Diagram showing the timing of access requests involved in copy operations アクセスログの一例を示す図Figure showing an example of access log ファイルシステムドライバおよび非ファイルシステムドライバへのアクセス要求を検出するためのプログラム構造を示す図Diagram showing the program structure for detecting access requests to file system drivers and non-file system drivers コピー禁止処理を示すフローチャートFlow chart showing copy prohibition processing コピー禁止処理を示すフローチャートFlow chart showing copy prohibition processing

本発明は、アプリケーションなどの任意のプログラムから発行される複数のアクセス要求を捕捉し、捕捉したいくつかのアクセス要求の発行順序が特定の順序であるかどうかに基づき、コピー操作を検出することを特徴としている。複数のアクセス要求のうち1つ1つのアクセス要求からはコピー操作を検出できない。しかし、コピー操作が実行されるときは、ある特定の複数のアクセス要求が、ある特定の順序で発行される。そこで、捕捉した複数のアクセス要求の発行順序が特定の順序であるかどうか確認することで、コピー操作を検出できる。なお、アクセス要求の捕捉はフックによっても実現できるが、フィルタドライバによって捕捉するほうが、メリットが大きい。もちろん、フックによるアクセス要求の捕捉を除外する意図はない。本発明のポイントは、複数のアクセス要求の発行順序に基づきファイルコピーを検出することだからである。   The present invention captures a plurality of access requests issued from an arbitrary program such as an application, and detects a copy operation based on whether the order of issuing some of the captured access requests is a specific order. It is a feature. A copy operation cannot be detected from each access request among a plurality of access requests. However, when a copy operation is performed, a specific plurality of access requests are issued in a specific order. Therefore, the copy operation can be detected by confirming whether the issuance order of the plurality of captured access requests is a specific order. Although the access request can be captured by a hook, it is more advantageous to capture it by a filter driver. Of course, there is no intention to exclude access request capture by hooks. The point of the present invention is that a file copy is detected based on the order of issuing a plurality of access requests.

また、以下説明では、後述するファイルシステムドライバに対して発行される要求をアクセス要求としているが、アクセス要求に対するファイルシステムドライバからの返答(リターン)もアクセス要求に含まれる。   In the following description, a request issued to a file system driver described later is an access request. However, a response (return) from the file system driver to the access request is also included in the access request.

本実施形態における情報処理装置100のブロック図を図1に示す。情報処理装置100は、クライント装置やサーバ装置として機能するコンピュータの一例である。CPU101は、情報処理装置100の全体を統括的に制御する制御ユニットである。ROM102は、BIOSやブートプログラムを格納している記憶装置である。RAM103は、OSやアプリケーションがロードされたり、ワークエリアとして使用されたりする記憶装置である。ネットワークインタフェース104は、ネットワークを介してサーバ装置などと通信するユニットである。キーボード105及びポインティングデバイス106は、USBインタフェース107を介してCPU101に対して情報を入力するユニットである。USBは、ユニバーサルシリアルバスの略称である。USBインタフェース107には、USBメモリや外付けのハードディスク装置や光ディスク装置が接続されてもよい。なお、USBメモリとはUSBコネクタに接続して使用され、書き換え可能な不揮発性のメモリを内蔵した持ち運び可能な記憶装置である。表示制御部109は、CPU101の指示に従って表示装置108に表示すべき画像の描画処理を行う。記憶装置110はハードディスク装置とするが、USB(ユニバーサルシリアルバス)メモリやSSD(ソリッドステートドライブ)等でもよく、その種類は問わない。なお、記憶装置110には米国マクロソフト社が提供するOS「Windows(登録商標)」が既にインストールされており、各種コンピュータプログラムやデータファイルも格納されているものとする。また、後述するフィルタドライバも既にインストールされているものとする。   FIG. 1 shows a block diagram of the information processing apparatus 100 in the present embodiment. The information processing apparatus 100 is an example of a computer that functions as a client apparatus or a server apparatus. The CPU 101 is a control unit that comprehensively controls the entire information processing apparatus 100. The ROM 102 is a storage device that stores a BIOS and a boot program. The RAM 103 is a storage device on which an OS or application is loaded or used as a work area. The network interface 104 is a unit that communicates with a server device or the like via a network. The keyboard 105 and the pointing device 106 are units that input information to the CPU 101 via the USB interface 107. USB is an abbreviation for Universal Serial Bus. A USB memory, an external hard disk device, or an optical disk device may be connected to the USB interface 107. Note that the USB memory is a portable storage device that is used by connecting to a USB connector and has a built-in rewritable nonvolatile memory. The display control unit 109 performs drawing processing of an image to be displayed on the display device 108 in accordance with an instruction from the CPU 101. The storage device 110 is a hard disk device, but may be a USB (Universal Serial Bus) memory, an SSD (Solid State Drive), or the like, and the type thereof is not limited. It is assumed that an OS “Windows (registered trademark)” provided by Macro Software Inc. in the United States has already been installed in the storage device 110 and various computer programs and data files are also stored. It is also assumed that a filter driver described later has already been installed.

上記構成において、情報処理装置100の電源がONになると、CPU101はROM102のブートプログラムにしたがって動作を開始し、記憶装置110にアクセスし、OSをRAM103上にロードする。さらに、キーボード105、ポインティングデバイス106、および、表示装置108によるユーザインタフェースが機能し始め、情報処理装置100が各種の手段として機能することとなる。なお、このとき、記憶装置110にインストールされた、ファイルに対するアクセス要求を捕捉するフィルタドライバ、および、コピー操作を検出してログを作成する分析プログラムも起動する。この結果、情報処理装置100が備えるファイルシステムへのアクセスの監視とアクセスログの取得、ならびに、予め設定されたネットワーク上のサーバ装置に対し、アクセスログの転送が可能となる。なお、分析プログラムは、サーバ装置に備えられていてもよい。サーバ装置の機能ブロックも基本的に情報処理装置100と同様である。   In the above configuration, when the information processing apparatus 100 is powered on, the CPU 101 starts an operation according to the boot program stored in the ROM 102, accesses the storage device 110, and loads the OS onto the RAM 103. Furthermore, the user interface by the keyboard 105, the pointing device 106, and the display device 108 starts to function, and the information processing apparatus 100 functions as various means. At this time, a filter driver installed in the storage device 110 that captures an access request for a file and an analysis program that detects a copy operation and creates a log are also started. As a result, it is possible to monitor access to the file system included in the information processing apparatus 100, obtain an access log, and transfer the access log to a server device on a preset network. The analysis program may be provided in the server device. The functional blocks of the server apparatus are basically the same as those of the information processing apparatus 100.

図2は、ファイルシステムドライバへのアクセスログを検出するためのプログラム構造を示す図である。ファイルシステムは、一般に、論理ドライブごとに存在する。また、アプリケーション201は、ファイルシステムドライバ203を介してファイルシステムにアクセスする。ファイルシステムドライバ203は、たとえば、「NTFS」や「FAT」「FAT32」といったファイルシステムを操作するためのドライバである。   FIG. 2 is a diagram showing a program structure for detecting an access log to the file system driver. A file system generally exists for each logical drive. The application 201 accesses the file system via the file system driver 203. The file system driver 203 is a driver for operating a file system such as “NTFS”, “FAT”, and “FAT32”, for example.

本実施形態では、アプリケーション201とファイルシステムドライバ203との間にフィルタドライバ202が配置されている。フィルタドライバ202は、ファイルシステムドライバ203に対して発行されるアクセス要求と、アクセス要求に対するファイルシステムドライバ203から発行される返答(アクセス要求)をすべて捕捉することができるため、捕捉したアクセス要求に含まれている情報を抽出したり、改変したり、アクセス要求を破棄したりすることもできる。通常、フィルタドライバ202は、アクセス要求をファイルシステムドライバ203に転送する。フィルタドライバ202は、アクセス要求に含まれている情報を抽出して分析プログラム204に転送する。これにより、分析プログラム204は、ユーザが操作するアプリケーション201が、何時、どのようなファイルへアクセスしたかを示すアクセスログを作成することができる。とりわけ、本実施形態の分析プログラム204は、捕捉手段として機能するフィルタドライバ202により捕捉された複数のアクセス要求の順序が特定の順序であるかどうかに基づき、コピー操作を検出する。なお、分析処理が実行するタイミングによっては、ファイルについてコピー操作が実行されている最中であることもあるし、コピー操作が完了していることもある。このようにタイミング次第で、本実施形態は、コピー操作が実行されていること、またはコピー操作が実行されたことを検出(推定)できる。   In this embodiment, a filter driver 202 is arranged between the application 201 and the file system driver 203. Since the filter driver 202 can capture all access requests issued to the file system driver 203 and responses (access requests) issued from the file system driver 203 to the access requests, it is included in the captured access requests. Information can be extracted, modified, and access requests can be discarded. Usually, the filter driver 202 transfers the access request to the file system driver 203. The filter driver 202 extracts information included in the access request and transfers it to the analysis program 204. Accordingly, the analysis program 204 can create an access log indicating when and what file the application 201 operated by the user has accessed. In particular, the analysis program 204 of the present embodiment detects a copy operation based on whether the order of a plurality of access requests captured by the filter driver 202 functioning as a capturing unit is a specific order. Depending on the timing at which the analysis processing is executed, the copy operation may be in progress for the file, or the copy operation may be completed. As described above, depending on the timing, the present embodiment can detect (estimate) that the copy operation is being performed or that the copy operation has been performed.

従来技術では、ファイル操作に関与するすべてのAPIをフックによって監視することでコピー操作を検出していたが、これには上述したような課題が存在していた。ところで、ファイル操作に際して複数のアクセス要求が発行されるが、1つのアクセス要求だけではコピー操作が実行されたかどうかはわからない。発明者が分析したところ、コピー操作が実行されるときは、ある特定の複数のアクセス要求が特定の順序でアプリケーション201から発行されることを突き止めた。そこで、CPU101は、複数のアクセス要求が特定の順序で発行されたことを検出すれば、コピー操作が実行中であるか、実行されたと推定できる。   In the prior art, the copy operation is detected by monitoring all APIs related to the file operation with hooks, but this has the problems described above. By the way, a plurality of access requests are issued in the file operation, but it is not known whether the copy operation has been executed with only one access request. The inventor has analyzed that when a copy operation is executed, a specific plurality of access requests are issued from the application 201 in a specific order. Therefore, if the CPU 101 detects that a plurality of access requests are issued in a specific order, it can be estimated that the copy operation is being executed or has been executed.

図2において、アプリケーション201は、たとえば、文書編集アプリケーション、表計算アプリケーション等などのアプリケーションプログラムであるが、ウイルスプログラムであってもよい。フィルタドライバ202は、アプリケーション201からファイルシステムドライバ203へのアクセス要求を横取りして、アクセス要求から抽出した情報を分析プログラム204に転送する。ここで、分析プログラム204に転送される情報としては、どのアプリケーション(例:プロセス名)から、どのファイルシステムのどのファイル(例:パス名を含むファイル名)にアクセス要求があったかを特定可能な情報である。   In FIG. 2, an application 201 is an application program such as a document editing application or a spreadsheet application, but may be a virus program. The filter driver 202 intercepts an access request from the application 201 to the file system driver 203 and transfers information extracted from the access request to the analysis program 204. Here, as information transferred to the analysis program 204, information that can specify which application (eg, process name) and which file (eg, file name including path name) of which file system has made an access request. It is.

たとえば、アプリケーション201がファイルAをコピーしてファイルBを作成することを仮定する。この場合、フィルタドライバ202は、ファイルAを開くためのアクセス要求(例:IRP_MJ_CREATE)や、ファイルAを閉じるためのアクセス要求(例:IRP_MJ_CLEANUP)、ファイルAのファイル情報を取得するためのアクセス要求(例:IRP_MJ_QUERY_INFOMATION)、ファイル情報を設定するためのアクセス要求(例:IRP_MJ_SET_INFOMATION)などのアクセス要求を横取り(インターセプト)する。   For example, assume that the application 201 creates a file B by copying a file A. In this case, the filter driver 202 has an access request for opening the file A (example: IRP_MJ_CREATE), an access request for closing the file A (example: IRP_MJ_CLEANUP), and an access request for acquiring the file information of the file A ( Example: IRP_MJ_QUERY_INFOMATION) and access requests such as access requests for setting file information (example: IRP_MJ_SET_INFOMATION) are intercepted (intercepted).

なお、アプリケーション201を起動したユーザ名、コピー元ファイル名、コピー先ファイル名、コピー終了日時などの情報も分析プログラム204は利用してもよい。コピー元ファイルとは、コピーの対象となったオリジナルのファイルのことであり、コピー先ファイルはオリジナルファイルから複製されたファイルのことである。   The analysis program 204 may also use information such as the user name that started the application 201, the copy source file name, the copy destination file name, and the copy end date and time. The copy source file is an original file to be copied, and the copy destination file is a file copied from the original file.

フィルタドライバ202から分析プログラム204に通知される情報についてより詳しく説明する。当該情報には、たとえば、以下の情報が含まれうる。
・ファイル識別ID(ファイルオブジェクト、ファイルハンドル、フルパス、ファイル名、ハッシュ値などファイルを識別できるID)
・ファイル操作を行ったユーザのセッションID(ログインユーザ名を特定するために使用される)
・アプリケーションのプロセスID(プロセス名を特定するために使用される)
・ファイルの操作時刻(コピー開始時刻やコピー終了時刻)
・アクセス要求名(ファイルを操作するために発行されるアクセス要求の名称であり、上述したIRP_MJ_CREATEなど)
分析プログラム204は、フィルタドライバ202が捕捉したアクセス要求を受信し、アクセスログを作成したり、アクセスログを分析したりする。また、フィルタドライバ202は、アプリケーション201から横取りしたアクセス要求をファイルシステムドライバ203に渡す。これにより、ファイルシステムドライバ203は、アプリケーション201からのアクセス要求を受信してアクセス要求に対応した処理を実行できる。つまり、アプリケーション201からのアクセス要求が当初の宛先であるファイルシステムドライバ203に渡されることで、ファイルシステムへのアクセスが実行される。
Information notified from the filter driver 202 to the analysis program 204 will be described in more detail. The information can include, for example, the following information.
-File identification ID (ID that can identify the file such as file object, file handle, full path, file name, hash value)
-Session ID of the user who performed the file operation (used to specify the login user name)
Application process ID (used to identify the process name)
-File operation time (copy start time and copy end time)
Access request name (the name of the access request issued to operate the file, such as IRP_MJ_CREATE described above)
The analysis program 204 receives the access request captured by the filter driver 202, creates an access log, and analyzes the access log. Also, the filter driver 202 passes the access request intercepted from the application 201 to the file system driver 203. Thus, the file system driver 203 can receive the access request from the application 201 and execute processing corresponding to the access request. In other words, the access request from the application 201 is passed to the file system driver 203 that is the initial destination, whereby access to the file system is executed.

図3は、ファイル情報リストの一例を示す図である。分析プログラム204は、フィルタドライバ202から受信した情報に基づきファイル情報リスト300を作成する。ファイル情報リスト300とは、アクセス要求に基づき作成した1つ以上のファイル情報301を保持するリストである。ファイル情報301には、ファイルの操作時刻を示す時刻情報、ファイル名、セッションID、プロセスID、アクセス要求のリスト(以下、アクセス要求リスト302)、スレッドIDなどが含まれる。アクセス要求リスト302とは、アクセス要求に付随するアクセス要求名と、オプション情報とを保持するリストである。また、各ファイル情報301を区別するために、固有のファイル識別ID303が各ファイル情報301に付与されている。   FIG. 3 is a diagram illustrating an example of the file information list. The analysis program 204 creates the file information list 300 based on the information received from the filter driver 202. The file information list 300 is a list that holds one or more file information 301 created based on an access request. The file information 301 includes time information indicating a file operation time, a file name, a session ID, a process ID, an access request list (hereinafter referred to as an access request list 302), a thread ID, and the like. The access request list 302 is a list that holds an access request name accompanying the access request and option information. Further, in order to distinguish each file information 301, a unique file identification ID 303 is given to each file information 301.

図4は、フィルタドライバ202にしたがってCPU101が実行するアクセス要求の取得処理を示すフローチャートである。   FIG. 4 is a flowchart showing access request acquisition processing executed by the CPU 101 in accordance with the filter driver 202.

S401で、CPU101は、分析プログラム204にデータ(ファイル情報リスト)を渡すための空のレコードを作成するとともに、ファイルを識別するためのファイル識別IDを発行してレコードに付与する。以下、フィルタドライバ202が取得したデータはこのレコードに追加される。なお、ファイル識別IDは上述したようなデータであってもよい。   In step S401, the CPU 101 creates an empty record for passing data (file information list) to the analysis program 204, and issues a file identification ID for identifying the file and assigns it to the record. Hereinafter, the data acquired by the filter driver 202 is added to this record. The file identification ID may be data as described above.

S402で、CPU101は、アプリケーション201からファイルシステムドライバ203に発行されたアクセス要求を捕捉する。   In step S <b> 402, the CPU 101 captures an access request issued from the application 201 to the file system driver 203.

S403で、CPU101は、捕捉したアクセス要求に基づき、セッションID、アクセス要求名、オプション情報、アプリケーション201のプロセスID、スレッドID、現在時刻(日時データ)を取得してレコードに追加する。セッションIDは、ユーザがログインしたときにOSによって発行される識別情報である。プロセスIDは、現在実行されているプロセスをOSが識別するための識別情報であり、プロセスごとに一意な識別子である。スレッドIDは、プロセスが実行している複数のスレッドのそれぞれを識別するための一意の識別情報である。現在時刻はたとえばRTC(リアルタイムクロック)から取得される。アクセス要求に含まれていない情報については、アクセス要求の引数や戻り値によりOSから取得される。時刻情報としては、たとえば、ファイルを開くためのアクセス要求(例:IRP_MJ_CREATE)が発行されたときの時刻情報や、ファイルを閉じるためのアクセス要求(例:IRP_MJ_CLEANUP)が発行されたときの時刻情報が含まれてもよい。   In step S403, the CPU 101 acquires a session ID, access request name, option information, process ID, thread ID, and current time (date / time data) of the application 201 based on the captured access request and adds them to the record. The session ID is identification information issued by the OS when the user logs in. The process ID is identification information for the OS to identify the currently executed process, and is a unique identifier for each process. The thread ID is unique identification information for identifying each of a plurality of threads executed by the process. The current time is obtained from, for example, an RTC (real time clock). Information that is not included in the access request is acquired from the OS by the access request argument or return value. The time information includes, for example, time information when an access request for opening a file (example: IRP_MJ_CREATE) is issued, and time information when an access request for closing a file (example: IRP_MJ_CLEANUP) is issued. May be included.

図3が示すように、アクセス要求リストには、ファイルを開くためのアクセス要求(例:IRP_MJ_CREATE)が発行されてからファイルを閉じるためのアクセス要求(例:IRP_MJ_CLEANUP)が発行されるまでに発行されたすべてのアクセス要求(例:IRP_MJ_QUERY_INFORMATIONやIRP_MJ_SET_INFORMATION)について、そのアクセス要求名とオプション情報とが記録される。なお、CPU101は、アクセス要求から上記の情報を取得すると、そのアクセス要求をファイルシステムドライバ203に転送する。   As shown in FIG. 3, the access request list is issued after an access request for opening a file (eg, IRP_MJ_CREATE) is issued until an access request for closing the file (eg, IRP_MJ_CLEANUP) is issued. For all access requests (eg, IRP_MJ_QUERY_INFORMATION and IRP_MJ_SET_INFORMATION), the access request name and option information are recorded. When the CPU 101 acquires the above information from the access request, the CPU 101 transfers the access request to the file system driver 203.

S404で、CPU101は、アクセス要求の対象となったファイルのファイル名をアクセス要求から取得してレコードに追加する。   In step S404, the CPU 101 acquires the file name of the file that is the target of the access request from the access request and adds it to the record.

S405で、CPU101は、作成したレコードを分析プログラム204に送信する。   In step S <b> 405, the CPU 101 transmits the created record to the analysis program 204.

なお、分析プログラム204に送信するタイミングは、レコードが作成される毎に限らず、予め決められた時間毎でもよい。その場合、アクセス要求毎(例:IRP_MJ_CREATE)にレコードをまとめて分析プログラム204に送信してもよい。   Note that the timing of transmission to the analysis program 204 is not limited to every time a record is created, but may be every predetermined time. In that case, records may be collected and transmitted to the analysis program 204 for each access request (for example, IRP_MJ_CREATE).

図5は、分析プログラム204にしたがってCPU101が実行するファイル情報リスト300の作成処理を示すフローチャートである。   FIG. 5 is a flowchart showing the creation processing of the file information list 300 executed by the CPU 101 according to the analysis program 204.

S501で、CPU101は、フィルタドライバ202からアクセス要求リスについてのレコードを受信する。このときに、CPU101は、レコードをファイル情報リストへ追加するための空のデータ構造を作成し、レコードの内容をデータ構造に追加してもよい。   In step S <b> 501, the CPU 101 receives a record about an access request list from the filter driver 202. At this time, the CPU 101 may create an empty data structure for adding a record to the file information list and add the contents of the record to the data structure.

S502で、CPU101は、レコードから、ファイル識別ID、ファイル名、プロセスID、セッションID、アクセス要求名、オプション情報、スレッドID、時刻情報などを抽出する。   In step S502, the CPU 101 extracts a file identification ID, a file name, a process ID, a session ID, an access request name, option information, a thread ID, time information, and the like from the record.

S503で、CPU101は、抽出した情報からファイル情報301を作成する。たとえば、CPU101は、レコードから抽出したファイル識別ID、ファイル名、プロセスID、セッションID、スレッドID、時刻情報などをデータ構造に追加する。また、CPU101は、アクセス要求名、オプション情報からアクセス要求リスト302を作成し、データ構造に追加する。なお、CPU101は、プロセスIDに対応するプロセス名をOSから取得し、データ構造に追加してもよい。同様に、CPU101は、セッションIDに基づいてログインユーザ名を取得し、データ構造に追加してもよい。   In step S503, the CPU 101 creates file information 301 from the extracted information. For example, the CPU 101 adds a file identification ID, file name, process ID, session ID, thread ID, time information, and the like extracted from the record to the data structure. Further, the CPU 101 creates an access request list 302 from the access request name and option information and adds it to the data structure. Note that the CPU 101 may acquire the process name corresponding to the process ID from the OS and add it to the data structure. Similarly, the CPU 101 may acquire the login user name based on the session ID and add it to the data structure.

S504で、CPU101は、作成したデータ構造をファイル情報リスト300に登録(追加)する。   In step S <b> 504, the CPU 101 registers (adds) the created data structure in the file information list 300.

また、フィルタドライバ202が、アクセス要求ごとに1つのレコードを作成して送信してくるときは、ファイルを開く要求(例:IRP_MJ_CREATE)に関するレコードから、ファイルを閉じる要求(例:IRP_MJ_CLEANUP)に関するレコードまで、ファイル識別IDが一致する複数のレコードを同一のファイル情報に登録する。ファイルを開く要求が発行されたタイミングからファイルを閉じる要求が発行されたタイミングまでには、ファイルの情報を要求するアクセス要求などが発行される。よって、これらのアクセス要求についても、ファイル識別IDが一致するかぎり、同一のファイル情報の中のアクセス要求リスト302に登録される。   When the filter driver 202 creates and transmits one record for each access request, from the record related to the request to open the file (example: IRP_MJ_CREATE) to the record related to the request to close the file (example: IRP_MJ_CLEANUP) A plurality of records having the same file identification ID are registered in the same file information. An access request or the like for requesting file information is issued from the timing when the request to open the file is issued to the timing when the request to close the file is issued. Therefore, these access requests are also registered in the access request list 302 in the same file information as long as the file identification IDs match.

CPU101は、ファイルを開く要求(たとえば、IRP_MJ_CREATE)から始まりファイルを閉じる要求(たとえば、IRP_MJ_CLEANUP)で終わるように、アクセス要求リスト302にアクセス要求名とオプション情報を追加する。なお、ファイル情報301に含まれる項目は一例であり、CPU101は、プロセスIDに基づき、OSからプロセス名(アプリケーション名)を取得してファイル情報301に格納してもよい。   The CPU 101 adds an access request name and option information to the access request list 302 so as to start with a request to open a file (for example, IRP_MJ_CREATE) and end with a request to close the file (for example, IRP_MJ_CLEANUP). Note that the items included in the file information 301 are examples, and the CPU 101 may acquire a process name (application name) from the OS based on the process ID and store the process name (application name) in the file information 301.

なお、CPU101は、ファイル情報に含まれるプロセスIDに対応したプロセスが終了したことを検知すると、そのファイル情報をファイル情報リスト300から削除してもよい。これにより、ファイル情報リスト300の肥大化を抑制できる。もちろん、より遅いタイミングで削除してもよいし、削除しなくてもよい。   When the CPU 101 detects that the process corresponding to the process ID included in the file information has ended, the CPU 101 may delete the file information from the file information list 300. Thereby, the enlargement of the file information list 300 can be suppressed. Of course, it may be deleted at a later timing or may not be deleted.

図6は、分析プログラム204にしたがってCPU101が実行するファイルのコピー操作検出処理を示すフローチャートである。   FIG. 6 is a flowchart showing a file copy operation detection process executed by the CPU 101 in accordance with the analysis program 204.

S601で、CPU101は、記憶装置110に記憶されているファイル情報リスト300から1つのファイル情報301を選択し、さらに、そのファイル情報301のアクセス要求リスト302から1つのデータ(アクセス要求)を取り出す。ここでは、ファイル情報リスト300に登録されている複数のファイル情報301のうち、登録された順番が古いものから1つずつファイル情報301が選択されるものとする。また、アクセス要求リストには、ファイルを開く要求からファイルを閉じる要求まで2つ以上のアクセス要求が登録されている。よって、ファイルを開く要求に関するデータ(アクセス要求名とオプション情報)がアクセス要求リストから最初に取り出される。   In step S <b> 601, the CPU 101 selects one file information 301 from the file information list 300 stored in the storage device 110, and further extracts one data (access request) from the access request list 302 of the file information 301. Here, it is assumed that the file information 301 is selected one by one from the oldest registered order among the plurality of file information 301 registered in the file information list 300. In the access request list, two or more access requests from a file open request to a file close request are registered. Therefore, data (access request name and option information) related to the request to open the file is first extracted from the access request list.

S602で、CPU101は、取り出したファイルを開く要求(たとえば、IRP_MJ_CREATE)のオプション情報が「開いている」ことを示しているかどうかを判定する。たとえば、オプション情報がFILE_OPENEDであれば、ファイルが開いていることを意味する。オプション情報がFILE_CREATEDであれば、ファイルを新規に作成することを意味する。ファイルが開いていればS603に進み、ファイルが開いていなければS610に進む。たとえば、図3において、ファイル識別IDがAであるファイル情報301が読み出されたときはS603に進むことになる。一方で、図3において、ファイル識別IDがA’であるファイル情報301が読み出されたときはS610に進むことになる。   In step S602, the CPU 101 determines whether option information of a request to open the extracted file (for example, IRP_MJ_CREATE) indicates “open”. For example, if the option information is FILE_OPENED, it means that the file is open. If the option information is FILE_CREATED, it means that a new file is created. If the file is open, the process proceeds to S603, and if the file is not open, the process proceeds to S610. For example, in FIG. 3, when the file information 301 having the file identification ID A is read, the process proceeds to S603. On the other hand, in FIG. 3, when the file information 301 having the file identification ID A ′ is read, the process proceeds to S610.

S603で、CPU101は、アクセス要求リスト302から次のアクセス要求のデータを取り出す。   In step S <b> 603, the CPU 101 extracts data of the next access request from the access request list 302.

S604で、CPU101は、アクセス要求名がファイル情報を取得するためのアクセス要求名(例:IRP_MJ_QUERY_INFOMATION)であるかどうかを判定する。アクセス要求名がファイル情報を取得するためのアクセス要求名であればS605に進み、それ以外のアクセス要求名であればS607に進む。   In step S <b> 604, the CPU 101 determines whether the access request name is an access request name (for example, IRP_MJ_QUERY_INFOMATION) for acquiring file information. If the access request name is an access request name for acquiring file information, the process proceeds to S605, and if it is any other access request name, the process proceeds to S607.

S605で、CPU101は、コピー操作を検出するためのカウンタの現在のカウント値(初期値はゼロ)とオプション情報とが、当該カウンタをカウントアップするための条件を満たしているかどうかを判定する。上述したように、ファイルコピー操作が実行されるときは、ある特定の複数のアクセス要求が特定の順序で発行される。たとえば、カウント値が0のときに、オプション情報がファイルの属性を取得することを意味するオプション情報(例:FileAttributeTagInfomation)であれば、CPU101は、カウントアップ条件が合致していると判定する。また、カウント値が1のときに、オプション情報がファイル情報を問い合わせることを意味するオプション情報(例:FileStanderdInfomation)であれば、CPU101は、カウントアップ条件が合致していると判定する。なお、カウント値が0でないときにはオプション情報がFileAttributeTagInfomationであっても、CPU101は、カウントアップ条件が合致しているとは判定しない。同様に、カウント値が1でないときには、オプション情報がFileStanderdInfomationであっても、CPU101は、カウントアップ条件が合致しているとは判定しない。なお、カウントアップ条件は、Windows(登録商標) Vista以降のバージョンのOSとそれよりも古いバージョンのOSとで異なる。   In step S <b> 605, the CPU 101 determines whether the current count value (initial value is zero) of the counter for detecting the copy operation and the option information satisfy a condition for counting up the counter. As described above, when a file copy operation is executed, a specific plurality of access requests are issued in a specific order. For example, when the count value is 0, if the option information is option information (for example, FileAttributeTagInformation) meaning that the file attribute is acquired, the CPU 101 determines that the count-up condition is met. On the other hand, when the count value is 1, if the option information is option information (for example, FileStandardInformation) which means that file information is inquired, the CPU 101 determines that the count-up condition is met. If the count value is not 0, even if the option information is FileAttributeTagInformation, the CPU 101 does not determine that the count-up condition is met. Similarly, when the count value is not 1, even when the option information is FileStandardInformation, the CPU 101 does not determine that the count-up condition is met. Note that the count-up condition is different between Windows (registered trademark) Vista and later versions of OS and older versions of OS.

たとえば、OSがWindows(登録商標) Vistaより古いOSの場合は、次のようなカウントアップ条件となる。   For example, when the OS is an OS older than Windows (registered trademark) Vista, the following count-up conditions are set.

・カウント値が0で、かつ、オプション情報がFileAttributeTagInfomationであるときに、カウント値を1に遷移する。   When the count value is 0 and the option information is FileAttributeTagInformation, the count value is changed to 1.

・カウント値が1で、かつ、オプション情報がFileStanderdInfomationであれば、カウント値を2に遷移する。   If the count value is 1 and the option information is FileStandardInformation, the count value is changed to 2.

・カウント値が2または4で、かつ、オプション情報がファイル情報を問い合わせまたは設定をするためのオプション情報(FileBasicInfomation)であれば、カウント値を+1だけ増加する。   If the count value is 2 or 4, and the option information is option information (FileBasicInformation) for inquiring or setting file information, the count value is incremented by +1.

・カウント値が3で、かつ、オプション情報がファイルやディレクトリのデータストリームを列挙するためのオプション情報(FileStreamInfomation)であれば、カウント値を+1だけ増加する。   If the count value is 3 and the option information is option information (FileStreamInformation) for enumerating data streams of files and directories, the count value is incremented by +1.

・カウント値が5で、かつ、ファイル情報がファイルの拡張情報のサイズを取得するためのオプション情報(FileEaInfomation)であれば、カウント値を+1に増加する。   If the count value is 5 and the file information is option information (FileEaInformation) for acquiring the size of the extension information of the file, the count value is increased to +1.

これらは、アクセス要求リストに登録されているファイル情報を取得する要求の順番もカウントアップに関係があることを意味している。つまり、ファイル情報を取得する要求のオプション順番が、FileAttributeTagInfomation→FileStanderdInfomation→FileBasicInfomation→FileStreamInfomation→FileBasicInfomation→FileEaInfomationのときにカウント値は6になる。   These mean that the order of requests for obtaining file information registered in the access request list is also related to the count-up. That is, when the option order of the request for obtaining the file information is FileAttributeTagInformation-> FileStandardInformation-> FileBasicInformation-> FileStreamInformation-> FileBasicInformation-> FileEaInformation, the value is counted.

このようにCPU101はカウントアップして行くことで、ある特定の複数のアクセス要求が特定の順序で発行されたことを、カウンタのカウント値によって判定することができる。   In this way, the CPU 101 counts up, so that it can be determined from the count value of the counter that a certain specific plurality of access requests are issued in a specific order.

図7は、OSのバージョンごとのコピー操作を検出するための条件(コピー操作検出条件)を示している。OSがWindows(登録商標) Vistaよりも前のバージョン(例:XP、2000など)では、カウント1という名称のカウンタのカウント値が6になったことが、コピー操作が実行されたと認識(検出ないし推定)するための条件となる。なお、OSがWindows(登録商標) Vista以降のバージョンである場合、5つのカウント1、カウント2、カウント3、カウント4、カウント5を用いることで、ある特定の複数のアクセス要求が特定の順序で発行されたことを判別できる。   FIG. 7 shows conditions (copy operation detection conditions) for detecting a copy operation for each version of the OS. When the OS is a version prior to Windows (registered trademark) Vista (for example, XP, 2000, etc.), it is recognized that the copy operation has been executed when the count value of the counter named count 1 is 6 (detection or detection). This is a condition for estimating. When the OS is a version of Windows (registered trademark) Vista or later, a plurality of specific access requests are assigned in a specific order by using five counts 1, 2, 3, 3, 4, and 5. It can be determined that it has been issued.

カウントアップ条件が満たされていれば、S606に進み、CPU101は、カウンタの値を1つカウントアップする。カウントアップ条件が満たされていなければ、S603に進み、CPU101は、アクセス要求リストから次のデータを読み出す。   If the count-up condition is satisfied, the process proceeds to S606, and the CPU 101 increments the counter value by one. If the count-up condition is not satisfied, the process advances to step S603, and the CPU 101 reads the next data from the access request list.

S607で、CPU101は、アクセス要求名がファイルを閉じる要求を意味するアクセス要求名かどうかを判定する。アクセス要求名がファイルを閉じる要求を意味するアクセス要求名でなければ、S603に戻り、CPU101は、アクセス要求リストから次のデータを読み出す。一方で、アクセス要求名がファイルを閉じる要求を意味するアクセス要求名(例:IRP_MJ_CLEANUP)であれば、S608に進む。   In step S <b> 607, the CPU 101 determines whether the access request name is an access request name that means a request to close a file. If the access request name is not an access request name that means a request to close a file, the process returns to S603, and the CPU 101 reads the next data from the access request list. On the other hand, if the access request name is an access request name (eg, IRP_MJ_CLEANUP) indicating a request to close the file, the process proceeds to S608.

S608で、CPU101は、カウント値がコピー操作検出条件を満たしているかどうかを判定する。カウント値がコピー操作検出条件を満たしていなければ、本処理を終了する。一方で、カウント値がコピー操作検出条件を満たしていれば、S609に進む。なお、カウント値がコピー操作検出条件を満たしていれば、そのファイルをコピー元として複製して新しいファイルが作成された(つまり、コピーが実行されようとしている(コピー中)か、コピーが実行された)可能性が極めて高い。なお、この時点では、どのファイルがコピー操作により作成された新規のファイルかまでは特定できず、コピー元のファイルが特定できるにすぎない。ただし、コピー操作が実行されていることは検出できる。   In step S608, the CPU 101 determines whether the count value satisfies the copy operation detection condition. If the count value does not satisfy the copy operation detection condition, this process ends. On the other hand, if the count value satisfies the copy operation detection condition, the process proceeds to S609. If the count value satisfies the copy operation detection conditions, a new file is created by copying the file as the copy source (that is, the copy is about to be executed (during copying), or the copy is executed) The possibility is very high. At this point, it cannot be specified which file is a new file created by the copy operation, and only the copy source file can be specified. However, it can be detected that the copy operation is being executed.

S609で、CPU101は、コピー元ファイルリストに、現在の処理の対象となっているファイル識別ID(例:ファイル識別ID:A)をコピー元のファイルを示すファイル識別IDとしてコピー元ファイルリストに追加する。なお、コピー元ファイルリストには、ファイル情報の一部をそのまま登録してもよいし、ファイル識別IDのみを登録してもよい。ファイル識別IDを検索キーとして、ファイル情報リスト300からファイル情報301を取得できるからである。   In step S <b> 609, the CPU 101 adds, to the copy source file list, the file identification ID (for example, file identification ID: A) that is the target of the current process as a file identification ID that indicates the copy source file. To do. A part of the file information may be registered as it is in the copy source file list, or only the file identification ID may be registered. This is because the file information 301 can be acquired from the file information list 300 using the file identification ID as a search key.

図8は、コピー元ファイルリストの一例を示す図である。CPU101は、ファイル情報からファイルを開いた時刻、ファイルを閉じた時刻、ファイル名、プロセス名、プロセスID、スレッドIDを読み出して、コピー元ファイルリストに登録している。なお、プロセス名は省略されてもよいし、プロセスIDからプロセス名が特定され、コピー元ファイルリストに追加されてもよい。   FIG. 8 is a diagram showing an example of the copy source file list. The CPU 101 reads the file opening time, file closing time, file name, process name, process ID, and thread ID from the file information, and registers them in the copy source file list. The process name may be omitted, or the process name may be specified from the process ID and added to the copy source file list.

次に、S602で取り出したファイルを開く要求(たとえば、IRP_MJ_CREATE)のオプション情報が「開いている」ことを示していないときの処理について説明する。これは、複製された新しいファイルに対するアクセス要求に対する処理である。   Next, processing when the option information of the request to open the file extracted in S602 (for example, IRP_MJ_CREATE) does not indicate “open” will be described. This is a process for an access request for a new copied file.

S610で、CPU101は、図8に示したコピー元ファイルリストからデータを取り出す。なお、この時点では、別のファイル識別ID(ファイル識別ID:A’)のデータ(ファイル情報301)がファイル情報リスト300から取り出されている。よって、コピー元ファイルリストのデータと、ファイル識別ID:A’のデータとが以降の処理で比較されることになる。なお、ファイル識別ID:A’は、コピー元ファイルから複製された新規ファイルのファイル識別IDである可能性がある。   In step S610, the CPU 101 extracts data from the copy source file list illustrated in FIG. At this time, data (file information 301) of another file identification ID (file identification ID: A ′) is extracted from the file information list 300. Therefore, the data of the copy source file list and the data of the file identification ID: A ′ are compared in the subsequent processing. Note that the file identification ID: A ′ may be the file identification ID of a new file copied from the copy source file.

S611で、CPU101は、コピー元ファイルリストにデータが存在するかどうかを判定する。コピー元ファイルリストにデータがなければ、本処理を終了する。一方で、データが存在すれば、S612に進む。   In step S611, the CPU 101 determines whether data exists in the copy source file list. If there is no data in the copy source file list, this process ends. On the other hand, if data exists, the process proceeds to S612.

S612で、CPU101は、コピー元ファイルリストのデータに含まれているプロセスIDとスレッドIDの両方が、ファイル識別ID:A’のデータに含まれているプロセスIDとスレッドIDとに一致するかどうかを判定する。つまり、CPU101は、コピー元ファイルリストのプロセスIDとファイル識別ID:A’のプロセスIDとが一致し、かつ、コピー元ファイルリストのスレッドIDとファイル識別ID:A’のスレッドIDとが一致するかどうかを判定する。プロセスIDとスレッドIDとがともに一致すれば、S613に進む。プロセスIDが一致しないか、または、スレッドIDが一致しなければ、S610に戻り、次のデータをコピー元ファイルリストから取り出す。   In step S612, the CPU 101 determines whether both the process ID and thread ID included in the data of the copy source file list match the process ID and thread ID included in the data of the file identification ID: A ′. Determine. That is, the CPU 101 matches the process ID of the copy source file list with the process ID of the file identification ID: A ′, and matches the thread ID of the copy source file list with the thread ID of the file identification ID: A ′. Determine whether or not. If the process ID and the thread ID match, the process proceeds to S613. If the process IDs do not match or the thread IDs do not match, the process returns to S610, and the next data is extracted from the copy source file list.

S613で、CPU101は、コピー元ファイルリストから読み出した時刻データが所定の時刻条件に合致しているかどうかを判定する。たとえば、CPU101は、コピー元ファイルリストから取り出したデータに格納されているコピー元ファイルの開閉時間と、ファイル識別ID:A’の開閉時間とを比較する。   In step S613, the CPU 101 determines whether the time data read from the copy source file list matches a predetermined time condition. For example, the CPU 101 compares the open / close time of the copy source file stored in the data extracted from the copy source file list with the open / close time of the file identification ID: A ′.

図9は、コピー操作が実行されるときにコピー元ファイルAに対するアクセス要求のタイミングと、コピー先ファイルA’に対するアクセス要求のタイミングとを示している。コピー先ファイルとは、コピー元ファイルから複製されて生成されたファイルのことである。   FIG. 9 shows the access request timing for the copy source file A and the access request timing for the copy destination file A 'when the copy operation is executed. The copy destination file is a file generated by copying from the copy source file.

図9が示すように、コピー操作が実行されるときは、時刻t1においてコピー元ファイルAが開かれ、時刻t2においてコピー先ファイルA’が開かれる。その後、時刻t3においてコピー元ファイルAが閉じられ、時刻t4においてコピー先ファイルA’が閉じられる。よって、S613では、ファイル情報リスト300から読み出したコピー先ファイルA’の開いた時刻t2が、コピー元ファイルリストから読み出したコピー元ファイルAの開いた時刻t1より遅く、かつ、コピー元ファイルAの閉じた時刻t3より前であり、かつ、コピー先ファイルA’の閉じた時刻t4がコピー元ファイルAの閉じた時刻t3よりよりも後であることが判定される(t1<t2<t3<t4)。時刻条件が合致していなければ、S610に戻り、次のデータを取り出す。時刻条件が合致していればS614に進む。なお、リアルタイムで検出しているときは、少なくともt1<t2<t3であることが検出されることになろう。コピー操作が完了していない可能性があるからである。   As shown in FIG. 9, when a copy operation is executed, the copy source file A is opened at time t1, and the copy destination file A 'is opened at time t2. Thereafter, the copy source file A is closed at time t3, and the copy destination file A 'is closed at time t4. Therefore, in S613, the opening time t2 of the copy destination file A ′ read from the file information list 300 is later than the opening time t1 of the copy source file A read from the copy source file list, and the copy source file A It is determined that it is before the closing time t3 and the closing time t4 of the copy destination file A ′ is later than the closing time t3 of the copy source file A (t1 <t2 <t3 <t4). ). If the time condition does not match, the process returns to S610 to extract the next data. If the time condition is met, the process proceeds to S614. When detecting in real time, it will be detected that at least t1 <t2 <t3. This is because the copy operation may not be completed.

S614で、CPU101は、ファイルのアクセスログにファイル情報を追加して、本処理を終了する。   In step S <b> 614, the CPU 101 adds file information to the file access log and ends this process.

図10は、アクセスログの一例を示す図である。CPU101は、セッションIDに基づきOSから取得したユーザ名をアクセスログに書き込む。CPU101は、コピー先ファイルA’のファイル情報301から取得したプロセス名をアクセスログに書き込む。CPU101は、操作の欄にファイルコピーを検出したことを示す「ファイルコピー」というメッセージを書き込む。CPU101は、コピー元リストから読み出したコピー元ファイルAのファイル名をアクセスログに書き込む。CPU101は、コピー先ファイルA’のファイル情報301から取得したファイル名をアクセスログに書き込む。さらに、CPU101は、コピー先ファイルA’のファイル情報301から取得した時刻情報(ファイルを開いた/閉じた日時を示す情報)をアクセスログに書き込む。   FIG. 10 is a diagram illustrating an example of an access log. The CPU 101 writes the user name acquired from the OS based on the session ID in the access log. The CPU 101 writes the process name acquired from the file information 301 of the copy destination file A ′ in the access log. The CPU 101 writes a message “file copy” indicating that a file copy has been detected in the operation column. The CPU 101 writes the file name of the copy source file A read from the copy source list in the access log. The CPU 101 writes the file name acquired from the file information 301 of the copy destination file A ′ into the access log. Further, the CPU 101 writes the time information (information indicating the date / time when the file was opened / closed) acquired from the file information 301 of the copy destination file A ′ into the access log.

以上の実施形態では時刻情報について比較を行ったが、他の情報を使用してもよい。たとえば、CPU101は、ファイルを開くためのアクセス要求とファイルを閉じるためのアクセス要求を検出したときにシーケンス番号を振っていき、シーケンス番号の大小を比較してもよい。つまり、シーケンス番号は時刻の経過とともに増加するため、シーケンス番号の大小を判定すれば、時刻の前後を判定できることになる。   In the above embodiment, the time information is compared, but other information may be used. For example, the CPU 101 may assign sequence numbers when detecting an access request for opening a file and an access request for closing a file, and may compare the magnitudes of the sequence numbers. In other words, since the sequence number increases with the passage of time, it is possible to determine before and after the time by determining the magnitude of the sequence number.

以上説明したように、本実施形態によれば、ファイルに対する複数のアクセス要求がファイルコピー操作に特有の特定の順序で発行されたときに、コピー操作が実行されようとしているかコピー操作が実行されたと認識する。本実施形態によれば、ファイル操作に関与するすべてのAPIを監視する必要はないため、ファイル操作に関与するすべてのAPIを登録する必要はない。さらに、本実施形態によれば、APIを用いずにファイル操作を実行するようなアプリケーションによるファイルのコピー操作であっても検出できる。また、フィルタドライバによってアクセス要求を捕捉すれば、フックと比較して、アプリケーションに対する影響は軽微となろう。   As described above, according to the present embodiment, when a plurality of access requests for a file are issued in a specific order specific to the file copy operation, the copy operation is about to be executed or the copy operation is executed. recognize. According to the present embodiment, since it is not necessary to monitor all APIs involved in file operations, it is not necessary to register all APIs involved in file operations. Furthermore, according to the present embodiment, even a file copy operation by an application that executes a file operation without using an API can be detected. Also, if the access request is captured by the filter driver, the effect on the application will be less than that of the hook.

なお、CPU101は、捕捉された複数のアクセス要求の順序が特定の順序であり、かつ、捕捉された複数のアクセス要求の数が特定の数であるときに、ファイルについてコピー操作が実行されようとしていると推定してもよい。上述したように、ファイルを閉じるためのアクセス要求が発行されたときのカウンタのカウント値が所定値(Windows(登録商標) Vistaより前のOSであれば6)であったときに、コピー操作が実行されたと検出できる。   Note that the CPU 101 is about to execute a copy operation on a file when the order of the plurality of captured access requests is a specific order and the number of the plurality of captured access requests is a specific number. It may be estimated that As described above, when the count value of the counter when the access request for closing the file is issued is a predetermined value (6 if the OS is earlier than Windows (registered trademark) Vista), the copy operation is performed. It can be detected that it has been executed.

上述したように、ファイルに対する複数のアクセス要求が特定の順序で発行されたかどうかはカウンタを用いることで判定できる。カウンタはハードウエアによって実現されてもよいし、変数など、ソフトウエアによって実現されてもよい。すなわち、CPU101は、捕捉されたアクセス要求が特定の種類のアクセス要求であるときにカウント値を1つ増加する。そして、CPU101は、アクセス要求の対象となったファイルがオープンされてからクローズされるまでにカウントされたカウント値が、コピー操作に特有の値であるときに、ファイルについてコピー操作が実行中かコピー操作が完了したと判定する。   As described above, whether a plurality of access requests for a file are issued in a specific order can be determined using a counter. The counter may be realized by hardware or may be realized by software such as a variable. That is, the CPU 101 increases the count value by one when the captured access request is a specific type of access request. Then, the CPU 101 determines whether the copy operation is being executed for the file when the count value counted from when the file requested for access is opened until it is closed is a value specific to the copy operation. Determine that the operation is complete.

アクセス要求は、アクセス要求名とオプション情報とを有している。そこで、CPU101は、アクセス要求名とオプション情報とに着目して、複数のアクセス要求の順序を監視する。CPU101は、アクセス要求に付随するオプション情報を抽出し、抽出したオプション情報が特定の種類のオプション情報であり、かつ、カウント値が所定値であるときに、当該カウント値を1つ増加する。これにより、CPU101は、特定の複数のアクセス要求が特定の順序で発行されたことを判断できる。なお、特定の種類のオプション情報の1つは、アクセス要求がファイル情報の取得要求であることを示すオプション情報であろう。   The access request has an access request name and option information. Therefore, the CPU 101 monitors the order of a plurality of access requests by paying attention to the access request name and option information. The CPU 101 extracts option information accompanying the access request, and when the extracted option information is a specific type of option information and the count value is a predetermined value, the count value is incremented by one. As a result, the CPU 101 can determine that a plurality of specific access requests have been issued in a specific order. Note that one of the specific types of option information may be option information indicating that the access request is a file information acquisition request.

このように、コピー元のファイルに対するアクセス要求を監視することで、そのファイルがコピーされたことを検出できるようになる。しかし、どのファイルがコピー操作によって新規に作成されたファイルかまでは特定できない。そこで、コピー元ファイル(第1のファイル)のプロセスID、スレッドIDおよび日時情報と、コピーにより作成された可能性のあるファイル(第2のファイル)のプロセスID、スレッドIDおよび日時情報とを比較することで、コピー先ファイルを検出できる。コピー先ファイルを検出できれば、事後的にそれを削除することで、実質的にコピー操作を禁止できるであろう。つまり、CPU101は、コピー操作を検出したときに、コピー操作により作成された新しいファイルを削除する削除手段として機能してもよい。また、CPU101は、リアルタイムでコピー操作を検出したときは、コピー操作を停止させる停止手段として機能してもよい。つまり、CPU101は、コピー先ファイルを特定すると、コピー先ファイルに対するアクセス要求をフィルタドライバ202によって捕捉してそれを破棄してもよい。この場合、コピー元ファイルの一部分はコピー済みかもしれないが、残りの部分のコピーを禁止できるであろう。このときにも、CPU101は、未完成のコピー先ファイルを削除してもよい。   In this way, by monitoring an access request for a copy source file, it is possible to detect that the file has been copied. However, it is impossible to specify which file is newly created by the copy operation. Therefore, the process ID, thread ID, and date / time information of the copy source file (first file) are compared with the process ID, thread ID, and date / time information of the file (second file) that may have been created by copying. By doing so, the copy destination file can be detected. If the copy destination file can be detected, it is possible to effectively prohibit the copy operation by deleting it later. That is, the CPU 101 may function as a deletion unit that deletes a new file created by the copy operation when the copy operation is detected. Further, the CPU 101 may function as a stopping unit that stops the copy operation when the copy operation is detected in real time. That is, when the copy destination file is specified, the CPU 101 may capture an access request for the copy destination file by the filter driver 202 and discard it. In this case, a part of the copy source file may have been copied, but the remaining part could be prohibited from being copied. Also at this time, the CPU 101 may delete an incomplete copy destination file.

CPU101は、ファイル情報リストを分析してコピー操作を検出したときに、コピー操作の対象となったファイルのパス名を含むログを作成するログ作成手段として機能してもよい。ログにはファイルのパス名が含まれているため、ウィルスの侵入経路を特定するために役立つであろう。特に、アクセスログにコピー操作を実行したプロセス名を記録しておけば、ウイルスプロセスがどこのパスからどこのパスにファイルをコピーしたかを知ることができるだろう。これは情報漏えいの経路を把握する際にも役立つであろう。また、コピーされたファイルがウイルスプログラムであれば、ウイルスプログラムがどこのパスからどこのパスにコピーされたかがわかるため、ウィルスの侵入経路を特定できるであろう。また、コピー日時をアクセスログに記憶しておけば、日時情報に従ってウイルスプログラムの侵入経路をバックトレースすることも可能となろう。   When the CPU 101 analyzes the file information list and detects a copy operation, the CPU 101 may function as a log creation unit that creates a log including the path name of the file that is the target of the copy operation. The log contains the pathname of the file, which can be useful for identifying the path of the virus. In particular, if you record the name of the process that performed the copy operation in the access log, you will know where the virus process copied the file from. This will also help in understanding the route of information leakage. Also, if the copied file is a virus program, it is possible to identify the path from which the virus program has been copied since it can be known from which path the virus program was copied. If the copy date and time is stored in the access log, the intrusion route of the virus program may be backtraced according to the date and time information.

本実施形態では、情報処理装置100にフィルタドライバ202と分析プログラム204とがインストールされているものとして説明したが、分析プログラム204は別の情報処理装置100(つまりサーバ装置など)にインストールされてもよい。この場合、フィルタドライバ202によって作成されたレコードはサーバ装置で動作している分析プログラム204にネットワークインタフェース104を介して送信されることになる。サーバ装置の分析プログラム204は、クライアント装置である情報処理装置100から受信したレコードを分析してコピー操作を検出し、アクセスログを作成する。サーバ装置のハードウエア構成は、情報処理装置100のハードウエア構成と同じであってよい。   In the present embodiment, the filter driver 202 and the analysis program 204 are installed in the information processing apparatus 100. However, the analysis program 204 may be installed in another information processing apparatus 100 (that is, a server apparatus). Good. In this case, the record created by the filter driver 202 is transmitted via the network interface 104 to the analysis program 204 operating on the server device. The server apparatus analysis program 204 analyzes a record received from the information processing apparatus 100 as a client apparatus, detects a copy operation, and creates an access log. The hardware configuration of the server apparatus may be the same as the hardware configuration of the information processing apparatus 100.

また、本実施形態では、フィルタドライバ202と分析プログラム204とを別のプログラム構造として説明したが、同一でもよい。また、フィルタドライバ202と分析プログラム204とには上述した複数の機能がふくまれているが、これらの機能はフィルタドライバ202と分析プログラム204とのどちらかに含まれていればよい。あるいは、第3のプログラムに一部の機能が配置されていてもよい。   In this embodiment, the filter driver 202 and the analysis program 204 have been described as different program structures, but they may be the same. In addition, the filter driver 202 and the analysis program 204 include the above-described plurality of functions, but these functions may be included in either the filter driver 202 or the analysis program 204. Alternatively, some functions may be arranged in the third program.

<アクセス要求の取得処理>
上述した実施形態では、ファイルシステムドライバを通じたファイルへのアクセス要求を検出するものとして説明した。しかし、フィルタドライバ202は、USBインタフェース107を介して接続されたリムーバブルメディア上のファイルへのアクセス要求や、ネットワークインタフェース104を介したファイルへのアクセス要求を捕捉することで、コピー操作を検出してもよい。
<Access request acquisition processing>
In the above-described embodiment, it has been described that the access request to the file through the file system driver is detected. However, the filter driver 202 detects a copy operation by capturing an access request to a file on a removable medium connected via the USB interface 107 or an access request to a file via the network interface 104. Also good.

図11は、ファイルシステムドライバおよび非ファイルシステムドライバへのアクセス要求を検出するためのプログラム構造を示している。図2と比較すると分かるように、図11では、フィルタドライバ202が非ファイルシステムドライバ1101に対するアクセス要求も捕捉する。非ファイルシステムドライバ1101とは、ネットワークインタフェース104を制御するドライバや、USBインタフェース107に接続されたディスクシステムなどを制御するドライバである。このように、非ファイルシステムドライバ1101は、リムーバブルメディアやネットワークドライブなどに作成されたファイルシステムを制御するドライバである。なお、ファイルシステムドライバ203は、情報処理装置100に内蔵されたハードディスク装置に含まれるファイルシステムを制御するドライバである。なお、非ファイルシステムドライバ1101がネットワークインタフェース104を制御するドライバである場合、フィルタドライバ202は、ネットワークインタフェース104を通じて送信または受信されるファイルに関するアクセス要求を捕捉してもよい。これは、ターミナルサービスやFTPサービスなどによりコピーされるファイルを検出できることを意味する。   FIG. 11 shows a program structure for detecting an access request to the file system driver and the non-file system driver. As can be seen from comparison with FIG. 2, in FIG. 11, the filter driver 202 also captures access requests to the non-file system driver 1101. The non-file system driver 1101 is a driver that controls the network interface 104 or a disk system that is connected to the USB interface 107. As described above, the non-file system driver 1101 is a driver that controls a file system created on a removable medium or a network drive. The file system driver 203 is a driver that controls a file system included in a hard disk device built in the information processing apparatus 100. When the non-file system driver 1101 is a driver that controls the network interface 104, the filter driver 202 may capture an access request regarding a file transmitted or received through the network interface 104. This means that a file copied by a terminal service or FTP service can be detected.

このように、フィルタドライバ202は、ファイルシステムドライバ203だけでなく、非ファイルシステムドライバ1101に対するアクセス要求を捕捉して分析プログラム204に渡す。これにより、分析プログラム204は、ファイルシステムドライバ203と非ファイルシステムドライバ1101との間で実行されるコピー操作も検出できる。この時の検出手順についてはすでに説明した手順と同様である。   In this way, the filter driver 202 captures an access request for not only the file system driver 203 but also the non-file system driver 1101 and passes it to the analysis program 204. Thereby, the analysis program 204 can also detect a copy operation executed between the file system driver 203 and the non-file system driver 1101. The detection procedure at this time is the same as the procedure already described.

図10に示したように、コピー元ファイルがネットワークドライブに記憶されたファイルである場合(例:¥¥oka¥¥moto¥¥Arrest.xls)や、コピー先ファイルがリムーバブルメディアである場合(例:E:Escape.xls)でもコピー操作を検出して、アクセスログが作成される。また、コピー元ファイル(例:¥¥oka¥¥moto¥¥Release.xls)だけでなくコピー先ファイル(例:E:Release.xls)も非ファイルシステムドライバ1101を通じて実行されることも想定されるが、本実施形態では、そのようなコピー操作も検出できる。   As shown in FIG. 10, when the copy source file is a file stored in the network drive (for example, \\ oka \\ moto \\ Arrest.xls), or when the copy destination file is a removable medium (example) : E: Escape.xls) also detects a copy operation and creates an access log. It is also assumed that not only the copy source file (eg: \\ oka \\ moto \\ Release.xls) but also the copy destination file (eg: E: Release.xls) is executed through the non-file system driver 1101. However, in the present embodiment, such a copy operation can also be detected.

このようにリムーバブルメディアなどの外部記憶媒体へファイルがコピーされたときには、CPU101が、表示装置108を通じてユーザに警告メッセージを表示してもよい。これにより、機密文章などを外部に持ち出すことを抑止することも可能であろう。   Thus, when a file is copied to an external storage medium such as a removable medium, the CPU 101 may display a warning message to the user through the display device 108. In this way, it may be possible to suppress taking out confidential texts and the like.

<コピー操作の禁止>
記憶装置110にコピー操作を禁止されるファイルを示すコピー禁止リストを予め記憶しておく。図12が示すように、S608でコピー操作が検出されると、S1201に進む。なお、コピー禁止リストは、コピー操作を禁止されるファイルを示す情報(たとえば、ファイル名)に限らず、特定ユーザや特定プロセスでもよい。
<Prohibit copy operation>
A copy prohibition list indicating files that are prohibited from being copied is stored in the storage device 110 in advance. As shown in FIG. 12, when a copy operation is detected in S608, the process proceeds to S1201. Note that the copy prohibition list is not limited to information (for example, a file name) indicating a file whose copy operation is prohibited, and may be a specific user or a specific process.

S1201で、CPU101は、コピー操作の対象となったコピー元ファイルのファイル名がコピー禁止リストに登録されているかどうかを判定する。コピー操作の対象となったコピー元ファイルのファイル名がコピー禁止リストに登録されていれば、S1202に進む。S1202で、CPU101は、コピー禁止処理を実行する。たとえば、CPU101は、情報処理装置100の電源を落としたり(シャットダウン)、コピー操作を実行したプロセスを強制的に停止させたりしてもよい。   In step S1201, the CPU 101 determines whether the file name of the copy source file that is the target of the copy operation is registered in the copy prohibition list. If the file name of the copy source file subject to the copy operation is registered in the copy prohibition list, the process proceeds to S1202. In step S1202, the CPU 101 executes copy prohibition processing. For example, the CPU 101 may turn off the power of the information processing apparatus 100 (shut down) or forcibly stop the process that executed the copy operation.

これを実行する代わりに、図13が示すように、S1301で、CPU101は、コピー元ファイルのファイル名がコピー禁止リストに登録されているかどうかを判定する。コピー元ファイルのファイル名がコピー禁止リストに登録されていれば、S1302に進む。そうでなければ、S614に進む。   Instead of executing this, as shown in FIG. 13, in step S1301, the CPU 101 determines whether the file name of the copy source file is registered in the copy prohibition list. If the file name of the copy source file is registered in the copy prohibition list, the process proceeds to S1302. Otherwise, the process proceeds to S614.

S1302で、CPU101は、コピー禁止処理を実行する。たとえば、CPU101は、S610ないしS613により確定したコピー先ファイルに対するアクセス要求をフィルタドライバ202に破棄させる。これにより、コピー操作を途中で停止させることができる。さらに、CPU101は、途中までコピーされたコピー先ファイルを強制的に削除してもよい。その後、S614で、CPU101は、コピー操作が実行されようとしたことやコピー操作が禁止されたこと、コピー先ファイルが削除されたことをアクセスログに登録する。   In step S1302, the CPU 101 executes a copy prohibition process. For example, the CPU 101 causes the filter driver 202 to discard the access request for the copy destination file determined in S610 to S613. As a result, the copy operation can be stopped halfway. Further, the CPU 101 may forcibly delete the copy destination file that has been copied halfway. After that, in S614, the CPU 101 registers in the access log that the copy operation is about to be executed, that the copy operation is prohibited, and that the copy destination file is deleted.

このように本実施形態によれば、アクセス要求を監視することで、コピー禁止ファイルのコピー操作を検出し、コピー禁止処理を実行できるようになる。これにより、情報漏えいなどを抑制できるようになろう。   As described above, according to the present embodiment, by monitoring an access request, a copy operation of a copy prohibited file can be detected and a copy prohibition process can be executed. As a result, information leakage can be suppressed.

本発明の実施形態では、Windows(登録商標)を一例として説明した。しかし、本発明は、ファイルコピー操作が実行されるときに特定の複数のアクセス要求が特定の順序で発行されるOSであれば、同様に適用できる。   In the embodiment of the present invention, Windows (registered trademark) has been described as an example. However, the present invention can be similarly applied to any OS in which a plurality of specific access requests are issued in a specific order when a file copy operation is executed.

なお、図12、図13では、コピー操作を禁止されるファイルを示すコピー禁止リストを予め記憶しておきコピー禁止ファイルのコピー禁止処理を実行していたが、コピー禁止リストを予め記憶することなくコピー禁止処理を実行することも可能である。   In FIG. 12 and FIG. 13, the copy prohibition list indicating the files that are prohibited from being copied is stored in advance and the copy prohibition file copy prohibition process is executed. However, the copy prohibition list is not stored in advance. It is also possible to execute copy prohibition processing.

具体的には、図13のS609で、CPU101は、コピー操作の対象となったコピー元ファイルのファイル情報をコピー禁止リストに登録する。そして、S610で、コピー禁止リストからデータをとりだし、S613で、時刻条件が一致していた場合(S613のYES)、CPU101は、コピー禁止処理を実行する。   Specifically, in S609 of FIG. 13, the CPU 101 registers the file information of the copy source file that is the target of the copy operation in the copy prohibition list. In step S610, data is extracted from the copy prohibition list. If the time conditions match in step S613 (YES in step S613), the CPU 101 executes copy prohibition processing.

このように、コピー禁止リストを予め記憶することなくコピー禁止処理を実行することで、未知のファイルに対するコピー操作を禁止することができ、より情報漏えいなどを抑制できるようになろう。   As described above, by executing the copy prohibition process without storing the copy prohibition list in advance, a copy operation for an unknown file can be prohibited, and information leakage can be further suppressed.

Claims (11)

任意のプログラムからファイルシステムに対する複数のアクセス要求をフィルタドライバにより捕捉する捕捉手段と、
前記捕捉手段により捕捉された複数のアクセス要求の順序が特定の順序であるかどうかに基づき、ファイルに対するコピー操作を検出する検出手段と
前記捕捉手段により捕捉されたアクセス要求に付随するオプション情報を抽出する抽出手段と、
前記抽出手段により抽出された前記オプション情報が特定の種類のオプション情報であり、かつ、カウント値が所定値であるときに、当該カウント値を1つ増加するカウント手段と
を有し、
前記検出手段は、
前記捕捉手段により捕捉された複数のアクセス要求の順序が特定の順序であり、かつ、前記捕捉手段により捕捉された複数のアクセス要求の数が特定の数であるときに、前記ファイルについてコピー操作が実行されようとしていると判定し、更に、
前記アクセス要求の対象となったファイルがオープンされてからクローズされるまでに前記カウント手段によりカウントされたカウント値が、コピー操作に特有の値であるときに、前記ファイルについてコピー操作が実行されようとしていると判定する
ことを特徴とする情報処理装置。
Capture means for capturing a plurality of access requests to a file system from an arbitrary program by a filter driver;
Detecting means for detecting a copy operation on the file based on whether the order of the plurality of access requests captured by the capturing means is a specific order ;
Extracting means for extracting optional information accompanying the access request captured by the capturing means;
Counting means for incrementing the count value by one when the option information extracted by the extracting means is a specific type of option information and the count value is a predetermined value;
Have
The detection means includes
When the order of the plurality of access requests captured by the capturing unit is a specific order and the number of the plurality of access requests captured by the capturing unit is a specific number, a copy operation is performed on the file. Determine that it is about to be executed, and
When the count value counted by the counting means from the time the file subject to the access request is opened until it is closed is a value specific to the copy operation, the copy operation will be executed for the file. An information processing apparatus characterized in that it is determined that
任意のプログラムからファイルシステムに対する複数のアクセス要求をフィルタドライバにより捕捉する捕捉手段と、
前記捕捉手段により捕捉された複数のアクセス要求の順序が特定の順序であるかどうかに基づき、ファイルに対するコピー操作を検出する検出手段と
を有し、
前記検出手段は、第1のファイルに対する複数のアクセス要求の順序が特定の順序であり、かつ、新たに作成された第2のファイルに対するアクセス要求に基づいて抽出されたプロセスID、スレッドIDおよび日時に関する情報、前記第1のファイルのプロセスID、スレッドIDおよび日時に関する情報が一致したときに、前記第1のファイルをコピーして前記第2のファイルが作成されていると判定することを特徴とする情報処理装置。
Capture means for capturing a plurality of access requests to a file system from an arbitrary program by a filter driver;
Detecting means for detecting a copy operation on a file based on whether the order of the plurality of access requests captured by the capturing means is a specific order;
Have
The detection means includes a process ID, a thread ID, and a date and time extracted based on an access request for a newly created second file, and the order of a plurality of access requests for the first file is a specific order and information about, the first file of the process ID, when the information and matches about the thread ID and the date and time, determining that the said copy of the first file a second file is created A characteristic information processing apparatus.
前記特定の種類のオプション情報の1つは、前記アクセス要求がファイル情報の取得要求であることを示すオプション情報であることを特徴とする請求項1記載の情報処理装置。 Wherein one of the option information of a particular type, the information processing apparatus according to claim 1, wherein the access request and wherein the optional information indicating a request for file information. 前記検出手段がコピー操作を検出したときに、コピー操作の対象となったファイルのパス名を含むログを作成するログ作成手段をさらに含むことを特徴とする請求項1ないしのいずれか1項に記載の情報処理装置。 When said detecting means detects copy operation, any one of claims 1, further comprising a log creation means for creating a log including the path name of the file that is the target of a copy operation 3 The information processing apparatus described in 1. 前記検出手段がコピー操作を検出したときに、コピー操作を停止させる停止手段をさらに含むことを特徴とする請求項1ないしのいずれか1項に記載の情報処理装置。 Wherein when the detecting means detects the copy operation, the information processing apparatus according to any one of claims 1, further comprising a stop means for stopping the copy operation 3. 前記検出手段がコピー操作を検出したときに、コピー操作により作成された新しいファイルを削除する削除手段をさらに含むことを特徴とする請求項1ないしのいずれか1項に記載の情報処理装置。 Wherein when the detecting means detects the copy operation, the information processing apparatus according to any one of claims 1 to 3, further comprising a deleting means for deleting a new file created by the copy operation. コンピュータを、請求項1乃至6の何れか1項に記載の情報処理装置の各手段として機能させるためのコンピュータプログラム。 The computer program for functioning a computer as each means of the information processing apparatus of any one of Claims 1 thru | or 6 . 捕捉手段が、任意のプログラムからファイルシステムに対する複数のアクセス要求をフィルタドライバにより捕捉する捕捉工程と、
検出手段が、前記捕捉工程において捕捉された複数のアクセス要求の順序が特定の順序であるかどうかに基づき、ファイルに対するコピー操作を検出する検出工程と
抽出手段が、前記捕捉工程で前記捕捉手段により捕捉されたアクセス要求に付随するオプション情報を抽出する抽出工程と、
カウント手段が、前記抽出工程で前記抽出手段により抽出された前記オプション情報が特定の種類のオプション情報であり、かつ、カウント値が所定値であるときに、当該カウント値を1つ増加するカウント工程と
を有し、
前記検出工程において、前記検出手段は、
前記捕捉工程で前記捕捉手段により捕捉された複数のアクセス要求の順序が特定の順序であり、かつ、前記捕捉工程で前記捕捉手段により捕捉された複数のアクセス要求の数が特定の数であるときに、前記ファイルについてコピー操作が実行されようとしていると判定し、更に、
前記アクセス要求の対象となったファイルがオープンされてからクローズされるまでに前記カウント手段によりカウントされたカウント値が、コピー操作に特有の値であるときに、前記ファイルについてコピー操作が実行されようとしていると判定する
ことを特徴とするコピー操作検出方法。
A capturing step in which a capturing means captures a plurality of access requests to a file system from an arbitrary program by a filter driver;
Detecting means, a detection step sequence of a plurality of access requests captured in said capturing step is based on whether a particular order, to detect a copy operation for the file,
An extracting step for extracting optional information accompanying the access request captured by the capturing unit in the capturing step;
A counting step in which the counting means increments the count value by one when the option information extracted by the extraction means in the extraction step is a specific type of option information and the count value is a predetermined value. When
Have
In the detection step, the detection means includes
When the order of the plurality of access requests captured by the capturing unit in the capturing step is a specific order, and the number of the plurality of access requests captured by the capturing unit in the capturing step is a specific number And determining that a copy operation is about to be performed on the file, and
When the count value counted by the counting means from the time the file subject to the access request is opened until it is closed is a value specific to the copy operation, the copy operation will be executed for the file. A copy operation detection method, characterized in that it is determined that the copy operation is performed.
捕捉手段が、任意のプログラムからファイルシステムに対する複数のアクセス要求をフィルタドライバにより捕捉する捕捉工程と、A capturing step in which a capturing means captures a plurality of access requests to a file system from an arbitrary program by a filter driver;
検出手段が、前記捕捉工程で前記捕捉手段により捕捉された複数のアクセス要求の順序が特定の順序であるかどうかに基づき、ファイルに対するコピー操作を検出する検出工程と  A detecting step for detecting a copy operation on the file based on whether the order of the plurality of access requests captured by the capturing unit in the capturing step is a specific order;
を有し、Have
前記検出工程において、前記検出手段は、第1のファイルに対する複数のアクセス要求の順序が特定の順序であり、かつ、新たに作成された第2のファイルに対するアクセス要求に基づいて抽出されたプロセスID、スレッドIDおよび日時に関する情報と、前記第1のファイルのプロセスID、スレッドIDおよび日時に関する情報とが一致したときに、前記第1のファイルをコピーして前記第2のファイルが作成されていると判定することを特徴とすることを特徴とするコピー操作検出方法。  In the detection step, the detection means includes a process ID extracted based on an access request for a newly created second file, and the order of a plurality of access requests for the first file is a specific order. When the information regarding the thread ID and the date and time match the information regarding the process ID, the thread ID and the date and time of the first file, the second file is created by copying the first file. A copy operation detection method characterized by determining that
情報処理装置と、当該情報処理装置において実行されるコピー操作を検出するサーバ装置とを有するシステムであって、
前記情報処理装置は、
任意のプログラムからファイルシステムに対する複数のアクセス要求をフィルタドライバにより捕捉する捕捉手段
を有し、
前記サーバ装置は、
前記情報処理装置の前記捕捉手段により捕捉された複数のアクセス要求の順序が特定の順序であるかどうかに基づき、ファイルに対するコピー操作を検出する検出手段と、
前記捕捉手段により捕捉されたアクセス要求に付随するオプション情報を抽出する抽出手段と、
前記抽出手段により抽出された前記オプション情報が特定の種類のオプション情報であり、かつ、カウント値が所定値であるときに、当該カウント値を1つ増加するカウント手段と
を有し、
前記検出手段は、
前記捕捉手段により捕捉された複数のアクセス要求の順序が特定の順序であり、かつ、前記捕捉手段により捕捉された複数のアクセス要求の数が特定の数であるときに、前記ファイルについてコピー操作が実行されようとしていると判定し、更に、
前記アクセス要求の対象となったファイルがオープンされてからクローズされるまでに前記カウント手段によりカウントされたカウント値が、コピー操作に特有の値であるときに、前記ファイルについてコピー操作が実行されようとしていると判定することを特徴とするシステム。
A system having an information processing device and a server device for detecting a copy operation executed in the information processing device,
The information processing apparatus includes:
Having a capturing means for capturing a plurality of access requests to a file system from an arbitrary program by a filter driver;
The server device
Detecting means for detecting a copy operation on a file based on whether the order of the plurality of access requests captured by the capturing means of the information processing apparatus is a specific order ;
Extracting means for extracting optional information accompanying the access request captured by the capturing means;
Wherein the option information extracted by the extracting means is a option information of a particular type, and, when the count value is a predetermined value, have a <br/> with counting means for increasing by one the count value ,
The detection means includes
When the order of the plurality of access requests captured by the capturing unit is a specific order and the number of the plurality of access requests captured by the capturing unit is a specific number, a copy operation is performed on the file. Determine that it is about to be executed, and
When the count value counted by the counting means from the time the file subject to the access request is opened until it is closed is a value specific to the copy operation, the copy operation will be executed for the file. A system characterized by determining that
情報処理装置と、当該情報処理装置において実行されるコピー操作を検出するサーバ装置とを有するシステムであって、A system having an information processing device and a server device for detecting a copy operation executed in the information processing device,
前記情報処理装置は、  The information processing apparatus includes:
任意のプログラムからファイルシステムに対する複数のアクセス要求をフィルタドライバにより捕捉する捕捉手段  Capture means for capturing multiple access requests to a file system from an arbitrary program by a filter driver
を有し、Have
前記サーバ装置は、  The server device
前記情報処理装置の前記捕捉手段により捕捉された複数のアクセス要求の順序が特定の順序であるかどうかに基づき、ファイルに対するコピー操作を検出する検出手段  Detection means for detecting a copy operation on a file based on whether the order of the plurality of access requests captured by the capture means of the information processing apparatus is a specific order
を有し、Have
前記検出手段は、第1のファイルに対する複数のアクセス要求の順序が特定の順序であり、かつ、新たに作成された第2のファイルに対するアクセス要求に基づいて抽出されたプロセスID、スレッドIDおよび日時に関する情報と、前記第1のファイルのプロセスID、スレッドIDおよび日時に関する情報とが一致したときに、前記第1のファイルをコピーして前記第2のファイルが作成されていると判定することを特徴とするシステム。  The detection means includes a process ID, a thread ID, and a date and time extracted based on an access request for a newly created second file, and the order of a plurality of access requests for the first file is a specific order. Determining that the second file has been created by copying the first file when the information regarding the process ID, thread ID, and date / time information of the first file match. Feature system.
JP2013086896A 2013-04-17 2013-04-17 Information processing apparatus, system, copy operation detection method, and computer program Active JP6180166B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013086896A JP6180166B2 (en) 2013-04-17 2013-04-17 Information processing apparatus, system, copy operation detection method, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013086896A JP6180166B2 (en) 2013-04-17 2013-04-17 Information processing apparatus, system, copy operation detection method, and computer program

Publications (2)

Publication Number Publication Date
JP2014211716A JP2014211716A (en) 2014-11-13
JP6180166B2 true JP6180166B2 (en) 2017-08-16

Family

ID=51931448

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013086896A Active JP6180166B2 (en) 2013-04-17 2013-04-17 Information processing apparatus, system, copy operation detection method, and computer program

Country Status (1)

Country Link
JP (1) JP6180166B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6902994B2 (en) * 2017-12-25 2021-07-14 キヤノン電子株式会社 Information processing system, information processing method, information processing device, and program
CN115357883B (en) * 2022-09-06 2026-02-27 郑州大学 A method and system for identifying drawing cheating based on AutoCAD

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5226199B2 (en) * 2000-11-20 2013-07-03 ハミングヘッズ株式会社 Information processing apparatus and method, and program
JP2011138422A (en) * 2009-12-29 2011-07-14 Nippon Telegr & Teleph Corp <Ntt> Device, method and program for detecting behavioral-pattern

Also Published As

Publication number Publication date
JP2014211716A (en) 2014-11-13

Similar Documents

Publication Publication Date Title
JP6549767B2 (en) Virus entry route identification device, virus entry route identification method and program
US11159541B2 (en) Program, information processing device, and information processing method
US20150089647A1 (en) Distributed Sample Analysis
JP5144488B2 (en) Information processing system and program
JP5996145B1 (en) Program, information processing apparatus, and information processing method
JP6058246B2 (en) Information processing apparatus, information processing method, and program
KR102105885B1 (en) Detection method and system of ransomeware
CN105607986A (en) Acquisition method and device of user behavior log data
CN104881483B (en) Automatic detection evidence collecting method for the attack of Hadoop platform leaking data
JP6180166B2 (en) Information processing apparatus, system, copy operation detection method, and computer program
JP2020502699A (en) Architecture, method and apparatus for implementing collection and display of computer file metadata
CN111625853B (en) Snapshot processing method, device and equipment and readable storage medium
KR101751876B1 (en) Method and system for access event logging in mobile storage
JP6258189B2 (en) Specific apparatus, specific method, and specific program
JP2021068133A (en) Information processing device, information processing method, information processing system and program
KR101772129B1 (en) A smart storage system of checking contents integrity
JP2008129707A (en) Program analysis apparatus, program analysis method, and program
US7974953B1 (en) System and method for deletion of writeable PPIS
JP2023053359A (en) Program and information processing device
TW201814577A (en) Method and system for preventing malicious alteration of data in computer system
JP6894220B2 (en) Information processing equipment and its control methods, programs and systems
CN105224871B (en) Virus removal method and device
JPWO2022107290A5 (en)
JP6404771B2 (en) Log determination device, log determination method, and log determination program
Roussev The cyber security body of knowledge

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160330

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170420

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170718

R150 Certificate of patent or registration of utility model

Ref document number: 6180166

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250