[go: up one dir, main page]

JP2021068133A - Information processing device, information processing method, information processing system and program - Google Patents

Information processing device, information processing method, information processing system and program Download PDF

Info

Publication number
JP2021068133A
JP2021068133A JP2019192379A JP2019192379A JP2021068133A JP 2021068133 A JP2021068133 A JP 2021068133A JP 2019192379 A JP2019192379 A JP 2019192379A JP 2019192379 A JP2019192379 A JP 2019192379A JP 2021068133 A JP2021068133 A JP 2021068133A
Authority
JP
Japan
Prior art keywords
file
list
information
hash value
information processing
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.)
Pending
Application number
JP2019192379A
Other languages
Japanese (ja)
Inventor
幸輝 大澤
Koki Osawa
幸輝 大澤
勇介 柴田
Yusuke Shibata
勇介 柴田
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 JP2019192379A priority Critical patent/JP2021068133A/en
Publication of JP2021068133A publication Critical patent/JP2021068133A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

To reduce a processing load on a PC to obtain a hash value of a file.SOLUTION: In an information processing device comprising detection means for detecting the execution of a file, acquisition means for acquiring file information of the file detected by the detection means, and first determination means for determining whether or not the file information of the file acquired by the acquisition means is included in a first list where the file information of the file is associated with a hash value, if the first determination means determines that the file is included in the first list, the hash value corresponding to the file information of the file is set to the hash value of the file, and if the first determination means determines that the file is not included in the first list, the hash value of the file is calculated and the calculated hash value is set to the hash value of the file.SELECTED DRAWING: Figure 4

Description

本発明は、情報処理装置、情報処理方法、情報処理システムおよびプログラムに関する。 The present invention relates to an information processing device, an information processing method, an information processing system and a program.

近年、企業に対するサイバー攻撃の新しい形態として、企業内の特定の社員が所有するコンピュータを標的にし、そのコンピュータにマルウェアを感染させ、企業内の情報を盗み出す、標的型攻撃という手法が増えている。また、マルウェアの種類は増え続けている。従来のセキュリティ製品などは、悪意のあるファイルのファイル情報を登録し、そのファイルが実行されると実行を禁止する、ブラックリスト方式が一般的だが、ブラックリスト方式では未知のファイルに関しては対応が困難であった。そこで、既知のファイルを許可しそれ以外は実行を制限する、ホワイトリスト型の制御方式(例えば、特許文献1)を用いることでマルウェア対策がなされてきた。 In recent years, as a new form of cyber attack on a company, a method called a targeted attack that targets a computer owned by a specific employee in the company, infects the computer with malware, and steals information in the company is increasing. Also, the types of malware continue to grow. Conventional security products generally use the blacklist method, which registers the file information of a malicious file and prohibits execution when the file is executed, but it is difficult to handle unknown files with the blacklist method. Met. Therefore, anti-malware measures have been taken by using a white list type control method (for example, Patent Document 1) that allows known files and restricts execution otherwise.

特開2014-96142号公報Japanese Unexamined Patent Publication No. 2014-96142

しかしながら、ホワイトリスト型やブラックリスト型の制御方式には、ファイルのハッシュ値を用いて制御する処理が備わっており、ハッシュ値を取得する処理の負荷により、他のプログラムに遅延などの影響を与えてしまい、ユーザのパソコン(以下、PCという)に高負荷がかかるという課題がある。 However, the white list type and blacklist type control methods include a process of controlling using the hash value of the file, and the load of the process of acquiring the hash value affects other programs such as delay. Therefore, there is a problem that a high load is applied to the user's personal computer (hereinafter referred to as PC).

そこで、本発明は、上記の課題または他の課題のうち少なくとも1つを解決することを目的とする。例えば、本発明は、PCの処理負荷を軽減してファイルのハッシュ値を取得することを目的とする。 Therefore, an object of the present invention is to solve at least one of the above problems or other problems. For example, an object of the present invention is to reduce the processing load of a PC and acquire a hash value of a file.

本発明にかかる情報処理装置は、
ファイルの実行を検知する検知手段と、
前記検知手段にて検知したファイルのファイル情報を取得する取得手段と、
前記取得手段にて取得された該ファイルのファイル情報が、ファイルのファイル情報とハッシュ値とが対応付けられた第一のリストに含まれるか否かを判定する第一の判定手段と
を備え、
前記第一の判定手段にて第一のリストに含まれると判定した場合、該ファイルのファイル情報に対応するハッシュ値を該ファイルのハッシュ値とし、前記第一の判定手段にて第一のリストに含まれないと判定した場合、該ファイルのハッシュ値を演算し、演算されたハッシュ値を該ファイルのハッシュ値とすることを特徴とする。
The information processing device according to the present invention is
Detection means to detect file execution and
An acquisition means for acquiring file information of a file detected by the detection means, and
It is provided with a first determination means for determining whether or not the file information of the file acquired by the acquisition means is included in the first list in which the file information of the file and the hash value are associated with each other.
When it is determined by the first determination means that it is included in the first list, the hash value corresponding to the file information of the file is set as the hash value of the file, and the first list by the first determination means. When it is determined that the file is not included in the file, the hash value of the file is calculated, and the calculated hash value is used as the hash value of the file.

本発明によれば、PCの処理負荷を軽減してファイルのハッシュ値を取得することができる。 According to the present invention, it is possible to reduce the processing load of the PC and acquire the hash value of the file.

情報処理システムの構成例を示すブロック図。A block diagram showing a configuration example of an information processing system. サーバが存在しない情報処理システムの構成例を示すブロック図。A block diagram showing a configuration example of an information processing system in which a server does not exist. 判別プログラム110の処理の一例を説明するフローチャート。The flowchart explaining an example of the process of the determination program 110. 取得プログラム120の処理の一例を説明するフローチャート。The flowchart explaining an example of processing of acquisition program 120. 更新プログラム130の処理の一例を説明するフローチャート。The flowchart explaining an example of processing of update program 130. 整理プログラム140の処理の一例を説明するフローチャート。The flowchart explaining an example of the process of the organizing program 140. 履歴リストの一例を示す図。The figure which shows an example of the history list. アクセス回数記録リストの一例を示す図。The figure which shows an example of the access count record list. 履歴リストマスタの一例を示す図。The figure which shows an example of the history list master. アクセス回数記録リストマスタの一例を示す図。The figure which shows an example of the access count record list master.

以下、本発明にかかる実施例の情報処理システムの情報処理を、図面を参照して詳細に説明する。なお、以下ではホワイトリストを用いた情報処理システムについて説明するが、ホワイトリストに限定されず、ブラックリストを用いた情報処理システムにも以下の処理を適用することができる。 Hereinafter, the information processing of the information processing system of the embodiment according to the present invention will be described in detail with reference to the drawings. Although the information processing system using the white list will be described below, the following processing can be applied not only to the white list but also to the information processing system using the blacklist.

[システムの構成]
図1は、情報処理システムの構成例を示すブロック図である。情報処理システムは、情報処理装置と、情報処理装置を管理するサーバ装置を含む。図1において、クライアントコンピュータ(以下、クライアント)10は、情報処理システムにおける情報処理装置である。クライアント10は、例えば企業、学校、行政機関または家庭などに設置されるパーソナルコンピュータ(PC)や、個人が使用または所有するタブレット端末やスマートフォンなどのコンピュータ機器である。
[System configuration]
FIG. 1 is a block diagram showing a configuration example of an information processing system. The information processing system includes an information processing device and a server device that manages the information processing device. In FIG. 1, the client computer (hereinafter, client) 10 is an information processing device in an information processing system. The client 10 is, for example, a personal computer (PC) installed in a company, a school, an administrative agency, a home, or the like, or a computer device such as a tablet terminal or a smartphone used or owned by an individual.

サーバコンピュータ(以下、サーバ)20は、情報処理システムにおける情報処理装置を管理するサーバ装置である。サーバ20は、複数のクライアント10から、ホワイトリスト111、履歴リスト(第一のリスト)121、アクセス回数記録リスト(第二のリスト)131の情報を取得して、データベース化したり、定期的にクライアント10に、ホワイトリストデータ、履歴リストデータ、アクセス回数リストデータを送信して、ホワイトリスト111、履歴リスト121、アクセス回数リスト131の更新を行う。 The server computer (hereinafter, server) 20 is a server device that manages an information processing device in an information processing system. The server 20 acquires the information of the white list 111, the history list (first list) 121, and the access count record list (second list) 131 from the plurality of clients 10 and creates a database, or periodically clients. The white list data, the history list data, and the access count list data are transmitted to 10, and the white list 111, the history list 121, and the access count list 131 are updated.

ネットワーク300は、インターネットやイントラネットなどのコンピュータネットワークである。クライアント10は、ネットワーク300を介して、サーバ20や、図示しないウェブサーバやFTPサーバなどに接続する。なお、簡潔化のため図1にはクライアント10とサーバ20を1台ずつ示すが、実際には、複数のクライアントや複数のサーバが存在することができる。 The network 300 is a computer network such as the Internet or an intranet. The client 10 connects to the server 20, a web server, an FTP server, etc. (not shown) via the network 300. Although the client 10 and the server 20 are shown one by one in FIG. 1 for the sake of brevity, in reality, a plurality of clients and a plurality of servers may exist.

●クライアント
クライアント10において、演算装置10Cはマイクロプロセッサ(CPU)である。演算装置10Cは、メモリ10EのROMに格納されたBIOSなどのブートプログラムに従い記憶装置10Bに格納されたオペレーティングシステム(OS)を起動し、さらにOSに従い各種の常駐プログラム(例えば判別プログラム110など)を起動する。その際、演算装置10Cはメモリ10EのRAMをワークエリアとして使用する。また、OSは例えばWindows(登録商標)、MacOS(登録商標)、Linux(登録商標)、iOS(商標)、Android(商標)などである。
● Client In the client 10, the arithmetic unit 10C is a microprocessor (CPU). The arithmetic unit 10C boots the operating system (OS) stored in the storage device 10B according to a boot program such as BIOS stored in the ROM of the memory 10E, and further executes various resident programs (for example, a determination program 110) according to the OS. to start. At that time, the arithmetic unit 10C uses the RAM of the memory 10E as a work area. Further, the OS is, for example, Windows (registered trademark), MacOS (registered trademark), Linux (registered trademark), iOS (trademark), Android (trademark) and the like.

記憶装置10Bは、ハードディスクドライブ(HDD)や、ソリッドステートドライブ(SSD)などであり、OSのほかにクライアント10上で稼働する各種のプログラム100Aやデータ100Bを格納する。詳細は後述するが、記憶装置10Bが格納する各種のプログラム100Aには判別プログラム110、取得プログラム120、更新プログラム130、整理プログラム140、ファイル検索プログラム150、ハッシュ値演算プログラム160、ホワイトリスト識別プログラム170などが含まれる。 The storage device 10B is a hard disk drive (HDD), a solid state drive (SSD), or the like, and stores various programs 100A and data 100B running on the client 10 in addition to the OS. Although the details will be described later, the various programs 100A stored in the storage device 10B include the discrimination program 110, the acquisition program 120, the update program 130, the rearranging program 140, the file search program 150, the hash value calculation program 160, and the whitelist identification program 170. Etc. are included.

なお、プログラム100Aは、判別プログラム110など各種機能ごとのプログラムを複数備えてよいし、各種機能を備えた一つのプログラムでもよい。また、詳細は後述するが、記憶装置10Bが格納する各種データ100Bには、ホワイトリスト111、履歴リスト121、アクセス回数記録リスト131などが含まれる。 The program 100A may include a plurality of programs for each function such as the discrimination program 110, or may be one program having various functions. Further, as will be described in detail later, the various data 100B stored in the storage device 10B includes a white list 111, a history list 121, an access count record list 131, and the like.

I/Oデバイス10Aは、ポインティグデバイス(マウスなど)やキーボードに接続するための入出力インタフェース(I/F)、または、タッチパネルを組み込んだディスプレイなどである。なお、キーボードはソフトウェアキーボードでもよい。また、I/Oデバイス10Aは、入力された操作者の音声を音声認識機能によって認識し、認識した音声を演算装置10Cへ伝達する、マイク等を含む音声式入力部でもよい。また、I/Oデバイス10Aは、情報を表示するためのユーザインタフェース(UI)としても機能する。 The I / O device 10A is an input / output interface (I / F) for connecting to a pointing device (mouse or the like) or a keyboard, or a display incorporating a touch panel. The keyboard may be a software keyboard. Further, the I / O device 10A may be a voice input unit including a microphone or the like that recognizes the input operator's voice by the voice recognition function and transmits the recognized voice to the arithmetic unit 10C. The I / O device 10A also functions as a user interface (UI) for displaying information.

ネットワークI/F 10Dは、ネットワーク300とのインタフェースであり、他のコンピュータと通信するための通信回路である。演算装置10Cは、ネットワークI/F 10Dを介して、例えばホワイトリスト111の一部データなどの情報をサーバ20から受信し、また、各種情報をサーバ20に送信する。 The network I / F 10D is an interface with the network 300 and is a communication circuit for communicating with another computer. The arithmetic unit 10C receives information such as a part of data of the white list 111 from the server 20 via the network I / F 10D, and transmits various information to the server 20.

●サーバ
サーバ20において演算装置20Cはマイクロプロセッサ(CPU)である。演算装置20Cは、メモリ20EのROMに格納されたBIOSなどのブートプログラムに従い記憶装置20Bに格納されたOSを起動する。さらに、演算装置20Cは、記憶装置20Bから管理コンソール210をメモリ20EのRAMにロードする。そして、複数のクライアント10から情報(例えば、ホワイトリスト111の情報など)を取得してデータベース化したり、逆にクライアント10に対して情報を送信してホワイトリスト111の更新などを行う。
● Server In the server 20, the arithmetic unit 20C is a microprocessor (CPU). The arithmetic unit 20C boots the OS stored in the storage device 20B according to a boot program such as a BIOS stored in the ROM of the memory 20E. Further, the arithmetic unit 20C loads the management console 210 from the storage device 20B into the RAM of the memory 20E. Then, information (for example, information on the white list 111) is acquired from a plurality of clients 10 and stored in a database, or conversely, information is transmitted to the clients 10 to update the white list 111.

記憶装置20BはHDDやSSDなどであり、OSのほかにサーバ20上で稼働する管理コンソール210を含む各種のプログラム200Aやデータ200Bを格納する。詳細は後述するが、記憶装置20Bが格納する各種データ200Bにはホワイトリストマスタ211、履歴リストマスタ221、アクセス回数記録リストマスタ231などが含まれる。 The storage device 20B is an HDD, SSD, or the like, and stores various programs 200A and data 200B including a management console 210 running on the server 20 in addition to the OS. Although details will be described later, the various data 200B stored in the storage device 20B includes a white list master 211, a history list master 221 and an access count record list master 231.

I/Oデバイス20Aは、ポインティングデバイス(マウスなど)、キーボード、モニタを接続するためのインタフェースであり、モニタは情報を表示するためのUIとして機能する、ネットワークI/F 20Dはネットワーク300とのインタフェースであり、クライアント10など他のコンピュータと通信するための通信回路である。 The I / O device 20A is an interface for connecting a pointing device (mouse, etc.), a keyboard, and a monitor, the monitor functions as a UI for displaying information, and the network I / F 20D is an interface with the network 300. It is a communication circuit for communicating with another computer such as the client 10.

演算装置20Cは、ネットワークI/F 20Dを介して、複数のクライアント10からホワイトリスト111や履歴リスト121に関する情報を受信し、受信した情報に基づき、ホワイトリストマスタ211や履歴リストマスタ221を管理する。 The arithmetic unit 20C receives information about the white list 111 and the history list 121 from a plurality of clients 10 via the network I / F 20D, and manages the white list master 211 and the history list master 221 based on the received information. ..

情報処理システムにおいてサーバ20は必須の構成ではない。図2のブロック図によりサーバ20が存在しない情報処理システムの構成例を示す。図2の構成においては、クライアント10とサーバ20の通信は不要になるため、ネットワーク300およびネットワークI/F 10Dもオプションである。 The server 20 is not an indispensable configuration in the information processing system. The block diagram of FIG. 2 shows a configuration example of an information processing system in which the server 20 does not exist. In the configuration of FIG. 2, since communication between the client 10 and the server 20 is not required, the network 300 and the network I / F 10D are also optional.

また、情報処理システムはシンクライアント(例えば、ターミナルサービスなど)を利用した構成としてもよい。シンクライアントは、クライアントがサーバにリモート接続し、サーバ上に生成された仮想デスクトップ環境を利用してサーバ上でアプリケーションプログラムを実行できるようにするシステムである。 Further, the information processing system may be configured by using a thin client (for example, a terminal service). A thin client is a system that enables a client to remotely connect to a server and execute an application program on the server using a virtual desktop environment generated on the server.

[プログラムおよびデータ]
判別プログラム110は、演算装置10Cによって実行され、別途実行されるプログラムから、ファイルを特定するためのファイル情報(例えば、ファイルパス、ファイル名、サイズ、バージョン情報など)、ハッシュ値などの情報を取得する。そして、アクセス回数記録リスト131を参照して、取得したファイルに対するアクセス回数と、対象ファイルに対するアクセス回数の基準値を示す参照基準回数とを比較し、取得プログラム120または更新プログラム130の実行を判別する。
[Programs and Data]
The determination program 110 acquires information such as file information (for example, file path, file name, size, version information, etc.), hash value, etc. for identifying a file from a program executed separately by the arithmetic unit 10C. To do. Then, with reference to the access count record list 131, the access count for the acquired file is compared with the reference reference count indicating the reference value for the access count for the target file, and the execution of the acquisition program 120 or the update program 130 is determined. ..

取得プログラム120は、履歴リスト121を検索し、ハッシュ値の取得やファイル情報の登録を行う。 The acquisition program 120 searches the history list 121, acquires a hash value, and registers file information.

更新プログラム130は、ファイルに対するアクセス回数および最終アクセス日時を更新する。整理プログラム140は、ファイル操作(例えば、書き込み、リネーム、削除など)発生後に履歴リスト121の整理を行う。 Update 130 updates the number of accesses to the file and the date and time of the last access. The organizing program 140 organizes the history list 121 after a file operation (for example, writing, renaming, deleting, etc.) occurs.

ファイル検索プログラム150は、履歴リスト121や、アクセス回数記録リスト131などを検索する。ハッシュ値演算プログラム160は、ハッシュ値の演算を行う。 The file search program 150 searches the history list 121, the access count record list 131, and the like. The hash value calculation program 160 performs a hash value calculation.

ホワイトリスト識別プログラム170は、ホワイトリスト111を用いて、実行しようとするファイルを識別して、ファイルの実行の制御(禁止/許可)を行う。 The white list identification program 170 uses the white list 111 to identify the file to be executed, and controls (prohibits / permits) the execution of the file.

ホワイトリスト111は、実行が許可されているファイルをリスト化したものであり、ホワイトリスト識別プログラム170にて使用される。ホワイトリスト111は、各ファイルについて、ファイル情報、ハッシュ値の情報を保持する。なお、これに限定されず、例えば、プロセス名、デジタル署名等を保持してもよい。 The white list 111 is a list of files that are permitted to be executed, and is used by the white list identification program 170. The white list 111 holds file information and hash value information for each file. Note that the present invention is not limited to this, and for example, a process name, a digital signature, or the like may be retained.

履歴リスト(第一のリスト)121は、各ファイルのファイル情報とハッシュ値を記録しているものであり、取得プログラム120及び整理プログラム140にて使用される。図7により履歴リスト121の一例を示す。履歴リスト121は、各ファイルについて、ファイルパス、ハッシュ値の情報を保持する。なお、図7は一例であり、履歴リスト121として保持する情報の種類と数は図7に限定されるものではない。 The history list (first list) 121 records the file information and the hash value of each file, and is used by the acquisition program 120 and the rearranging program 140. FIG. 7 shows an example of the history list 121. The history list 121 holds information on the file path and hash value for each file. Note that FIG. 7 is an example, and the type and number of information held as the history list 121 is not limited to FIG.

アクセス回数記録リスト(第二のリスト)131は、アクセスした各ファイルのファイル情報、最終アクセス日時、アクセス回数、参照基準回数を記録したものであり、判別プログラム110及び更新プログラム130にて使用される。図8によりアクセス回数記録リスト131の一例を示す。アクセス回数記録リスト131は、各ファイルについて、ファイルパス、最終アクセス日時、アクセス回数、参照基準回数の情報を保持する。参照基準回数は、対象ファイルに対するアクセス回数の基準値を示し、予めユーザによって記憶されている。また、参照基準回数は、サーバ20にて設定してもよいし、クライアント10にて設定してもよい。なお、図8は一例であり、アクセス回数記録リスト131として保持する情報の種類と数は図8に限定されるものではない。 The access count record list (second list) 131 records the file information, the last access date and time, the access count, and the reference reference count of each accessed file, and is used by the determination program 110 and the update program 130. .. FIG. 8 shows an example of the access count record list 131. The access count record list 131 holds information on the file path, the last access date and time, the access count, and the reference reference count for each file. The reference reference count indicates a reference value of the access count to the target file, and is stored in advance by the user. Further, the reference reference number of times may be set by the server 20 or the client 10. Note that FIG. 8 is an example, and the type and number of information held in the access count record list 131 is not limited to FIG.

ホワイトリストマスタ211は、ホワイトリスト111を一括管理するために、
複数のホワイトリスト111をリスト化したものであり、クライアント10とホワイトリストデータの送受信を行う。ホワイトリストマスタ221は、複数のクライアントのホワイトリスト111に関連する情報をクライアントの名称や符号に対応付けて保持する。
The white list master 211 collectively manages the white list 111.
It is a list of a plurality of whitelists 111, and sends and receives whitelist data to and from the client 10. The white list master 221 holds information related to the white list 111 of a plurality of clients in association with the names and codes of the clients.

履歴リストマスタ221は、ホワイトリストマスタ211と同様に、履歴リスト121を一括管理するために複数の履歴リスト121をリスト化したものであり、クライアント10と履歴リストデータの送受信を行う。図9によりサーバ20に存在する履歴リストマスタ221の一例を示す。履歴リストマスタ221は、複数のクライアントの履歴リスト121に関連する情報をクライアントの名称や符号に対応付けて保持する。図9の例では、クライアントPC003に対応する履歴リスト003として、複数のファイルパス、ハッシュ値が保持された例を示す。なお、図9は一例であり、履歴リストマスタ221として保持する情報の種類と数は図9に限定されるものではない。 Similar to the white list master 211, the history list master 221 lists a plurality of history lists 121 in order to collectively manage the history list 121, and sends and receives history list data to and from the client 10. FIG. 9 shows an example of the history list master 221 existing in the server 20. The history list master 221 holds information related to the history lists 121 of a plurality of clients in association with the names and codes of the clients. In the example of FIG. 9, a plurality of file paths and hash values are held as the history list 003 corresponding to the client PC 003. Note that FIG. 9 is an example, and the type and number of information held as the history list master 221 is not limited to FIG.

アクセス回数記録リストマスタ231は、アクセス回数記録リスト131を一括管理するために複数のアクセス回数記録リスト131をリスト化したものであり、アクセス回数記録リストデータの送受信を行う。図10によりサーバ20に存在するアクセス回数記録リストマスタ231の一例を示す。アクセス回数記録リストマスタ231は、複数のクライアントのアクセス回数記録リスト131に関連する情報をクライアントの名称や符号に対応付けて保持する。図10の例では、クライアントPC003に対応するアクセス回数記録リスト003として、複数のファイルパス、最終アクセス日時、アクセス回数、参照基準回数が保持された例を示す。なお、図10は一例であり、アクセス回数記録リストマスタ231として保持する情報の種類と数は図10に限定されるものではない。 The access count record list master 231 lists a plurality of access count record lists 131 in order to collectively manage the access count record list 131, and transmits / receives access count record list data. FIG. 10 shows an example of the access count record list master 231 existing in the server 20. The access count record list master 231 holds information related to the access count record list 131 of a plurality of clients in association with the client name and code. In the example of FIG. 10, a plurality of file paths, the last access date and time, the access count, and the reference reference count are retained as the access count record list 003 corresponding to the client PC 003. Note that FIG. 10 is an example, and the type and number of information held as the access count record list master 231 is not limited to FIG.

[制御処理]
●判別プログラム110の処理
図3は、判別プログラム110が実行する、取得プログラムまたは更新プログラムの実行を判別する処理を示すフローチャートである。
[Control processing]
● Processing of the determination program 110 FIG. 3 is a flowchart showing a process of determining the execution of the acquisition program or the update program executed by the determination program 110.

演算装置10Cはファイル(例えば、Dynamic Link Library)の実行を監視し、ファイルの実行を検知すると、判別プログラム110は、ステップS301にて、対象ファイルのファイル情報の取得を行う。ファイル情報は、例えば、ファイル名、ファイルパス、サイズなどファイルを一意に特定するものであれば何でもよい。 The arithmetic unit 10C monitors the execution of the file (for example, Dynamic Link Library), and when the execution of the file is detected, the determination program 110 acquires the file information of the target file in step S301. The file information may be anything as long as it uniquely identifies the file, such as a file name, a file path, and a size.

ステップS302にて、判別プログラム110は、ステップS301にて取得したファイル情報が、アクセス回数記録リスト131に存在しているか否かを判定する。 In step S302, the determination program 110 determines whether or not the file information acquired in step S301 exists in the access count record list 131.

アクセス回数記録リスト131に存在していると判定された場合(ステップS302のYES)、ステップS303にて、判別プログラム110は、対象ファイル情報に対応するアクセス回数が基準値を上回っているか否かを判定する。具体的には、アクセス回数記録リスト131に記録されている、ステップS301にて取得した対象ファイル情報に対応したアクセス回数と参照基準回数とを比較して、アクセス回数が参照基準回数を上回っているか否かを判定する。 If it is determined that the file exists in the access count record list 131 (YES in step S302), the determination program 110 determines in step S303 whether or not the number of accesses corresponding to the target file information exceeds the reference value. judge. Specifically, the access count corresponding to the target file information acquired in step S301 recorded in the access count record list 131 is compared with the reference reference count, and whether the access count exceeds the reference reference count. Judge whether or not.

アクセス回数が基準値を上回っている場合(ステップS303のYES)、ステップS304に進み、下回っている場合(ステップS303のNO)、ステップS305に進む。 If the number of accesses exceeds the reference value (YES in step S303), the process proceeds to step S304, and if the number of accesses is less than the reference value (NO in step S303), the process proceeds to step S305.

判別プログラム110は、ステップS304にて、取得プログラム120を実行し、ステップS305にて、更新プログラム120を実行する。なお、取得プログラム120、更新プログラム130が実行する処理は後述する。 The determination program 110 executes the acquisition program 120 in step S304, and executes the update program 120 in step S305. The processes executed by the acquisition program 120 and the update program 130 will be described later.

●取得プログラム120の処理
図4は、取得プログラム120が実行する、ハッシュ値を取得する処理を示すフローチャートである。
● Process of acquisition program 120 FIG. 4 is a flowchart showing a process of acquiring a hash value executed by the acquisition program 120.

ステップS401にて、取得プログラム120は、S301にて取得した対象ファイル情報が履歴リスト121に存在するかを判定する。履歴リスト121に対象ファイル情報が存在する場合(ステップS401のYES)、ステップS402にて、取得プログラム120は、履歴リスト121に登録されている、対象ファイルに対応したハッシュ値を取得する。 In step S401, the acquisition program 120 determines whether the target file information acquired in S301 exists in the history list 121. When the target file information exists in the history list 121 (YES in step S401), in step S402, the acquisition program 120 acquires the hash value corresponding to the target file registered in the history list 121.

履歴リスト121に対象ファイル情報が存在しない場合(ステップS401のNO)、ステップS403にて、取得プログラム120は、ハッシュ値演算プログラム160を実行してハッシュ値の演算を行う。 If the target file information does not exist in the history list 121 (NO in step S401), the acquisition program 120 executes the hash value calculation program 160 to calculate the hash value in step S403.

ステップS404にて、取得プログラム120は、ステップS301にて取得したファイル情報と、ステップS403にて演算したハッシュ値を対応付けて、履歴リスト121に追加登録する。 In step S404, the acquisition program 120 additionally registers the file information acquired in step S301 with the hash value calculated in step S403 in the history list 121.

ステップS405にて、取得プログラム120は、ホワイトリスト識別プログラム170を実行する。ホワイトリスト識別プログラム170は、ホワイトリスト111を用いて、実行しようとするファイルを識別して、ファイルの実行の制御(禁止/許可)を行う。 In step S405, the acquisition program 120 executes the white list identification program 170. The white list identification program 170 uses the white list 111 to identify the file to be executed, and controls (prohibits / permits) the execution of the file.

ファイルの実行を検知した際に、履歴リスト121に対象ファイルのファイル情報がある場合は履歴リスト121からハッシュ値を取得し、対象ファイルのファイル情報が無い場合はハッシュ値演算を行うことで、ハッシュ値を演算する処理回数を削減することができる。また、対象ファイルに対する基準値を超えるアクセス回数がある場合に、取得プログラム120を実行して履歴リスト121の参照を行うので、履歴リスト121を検索する処理回数を削減することができる。 When the execution of the file is detected, if the history list 121 has the file information of the target file, the hash value is acquired from the history list 121, and if the file information of the target file does not exist, the hash value is calculated to hash. The number of processes for calculating the value can be reduced. Further, when the number of accesses to the target file exceeds the reference value, the acquisition program 120 is executed to refer to the history list 121, so that the number of processes for searching the history list 121 can be reduced.

●更新プログラム130の処理
図5は、更新プログラム130が実行する、アクセス回数記録リスト131を更新する処理を示すフローチャートである。
● Process of update program 130 FIG. 5 is a flowchart showing a process of updating the access count record list 131 executed by update program 130.

ステップS501にて、更新プログラム130は、S301にて取得した対象ファイル情報がアクセス回数記録リスト131に存在するか否かを判定する。アクセス回数記録リスト131に存在しない場合(ステップS501のNO)、更新プログラム130は、ステップS502にて、アクセス回数記録リスト131に、S301にて取得したファイル情報を登録する。 In step S501, the update program 130 determines whether or not the target file information acquired in S301 exists in the access count record list 131. If it does not exist in the access count record list 131 (NO in step S501), the update program 130 registers the file information acquired in S301 in the access count record list 131 in step S502.

アクセス回数記録リスト131に存在する場合(ステップS501のYES)、更新プログラム130は、ステップS503にて、アクセス回数記録リスト131に記録されている、対象ファイル情報に対応する最終アクセス日時が、現時刻から一定期間内であるか否かを判定する。なお、一定期間は予めユーザによって記憶されており、サーバ20にて設定してもよいし、クライアント10にて設定してもよい。 If it exists in the access count record list 131 (YES in step S501), the update program 130 sets the current time as the last access date and time corresponding to the target file information recorded in the access count record list 131 in step S503. It is determined whether or not it is within a certain period from. A certain period of time is stored in advance by the user, and may be set by the server 20 or the client 10.

一定期間内ではない場合(ステップS503のNO)、ステップS504にて、更新プログラム130は、アクセス回数記録リスト131に記録されている、対象ファイル情報に対応するアクセス回数をリセットする。 If it is not within a certain period (NO in step S503), in step S504, the update program 130 resets the access count corresponding to the target file information recorded in the access count record list 131.

一定期間内である場合(ステップS503のYES)、ステップS505にて、更新プログラム130は、アクセス回数記録リスト131に記録されている、対象ファイル情報に対応する最終アクセス日時を現時刻に更新する。 If it is within a certain period (YES in step S503), in step S505, the update program 130 updates the last access date and time corresponding to the target file information recorded in the access count record list 131 to the current time.

ステップS506にて、更新プログラム130は、アクセス回数記録リスト131に記録されている、対象ファイル情報に対応するアクセス回数を1加算(1カウントアップ)する。ステップS507にて、更新プログラム130は、ハッシュ値演算プログラム160を実行して、ハッシュ値の演算を行う。 In step S506, the update program 130 adds 1 (1 count up) the number of accesses corresponding to the target file information recorded in the access count record list 131. In step S507, the update program 130 executes the hash value calculation program 160 to calculate the hash value.

ステップS508にて、更新プログラム130は、ホワイトリスト識別プログラム170を実行する。ホワイトリスト識別プログラム170は、ホワイトリスト111を用いて、実行しようとするファイルを識別して、ファイルの実行の制御(禁止/許可)を行う。 In step S508, update 130 executes the whitelist identification program 170. The white list identification program 170 uses the white list 111 to identify the file to be executed, and controls (prohibits / permits) the execution of the file.

アクセス回数記録リスト131に記録されている最終アクセス日時が、現時刻から一定期間内ではない場合、アクセス回数をリセットする。従って、一定期間アクセスしていないファイルは、ハッシュ値の演算を行うので、よりセキュリティを高くすることができる。 If the last access date and time recorded in the access count record list 131 is not within a certain period from the current time, the access count is reset. Therefore, a file that has not been accessed for a certain period of time is calculated with a hash value, so that the security can be further improved.

●整理プログラム140の処理
図6は、整理プログラム140が実行する、ファイル操作が発生した際に、履歴リスト121を整理する処理を示すフローチャートである。ファイル操作とは、ファイルを作成する、読み込み、書き込み、削除などファイルに対して行われる操作のことである。
● Processing of the organizing program 140 FIG. 6 is a flowchart showing a processing of organizing the history list 121 when a file operation occurs, which is executed by the organizing program 140. A file operation is an operation performed on a file such as creating, reading, writing, or deleting a file.

演算装置10Cはファイル操作を監視し、ファイル操作を検知する。ステップS601にて、整理プログラム140は、ファイル操作が発生すると、ステップS602にて発生したファイル操作は、ファイル変更操作であるか否かを判定する。ファイル変更操作とは、例えば、書き込み、削除など、ファイルのハッシュ値が変更されるファイル操作である。

ファイル変更操作の場合(ステップS602のYES)、ステップS603にて、整理プログラム140は、履歴リスト121に、対象ファイルのファイル情報に対応するハッシュ値が存在するか否かを判定する。
The arithmetic unit 10C monitors the file operation and detects the file operation. In step S601, when the file operation occurs, the organizing program 140 determines whether or not the file operation generated in step S602 is a file change operation. The file change operation is a file operation in which the hash value of the file is changed, for example, writing or deleting.

In the case of the file change operation (YES in step S602), in step S603, the organizing program 140 determines whether or not the hash value corresponding to the file information of the target file exists in the history list 121.

ハッシュ値が存在する場合(ステップS603のYES)、整理プログラム140は、履歴リスト121に記録されている、対象ファイル情報とハッシュ値を削除する。 If the hash value exists (YES in step S603), the organizing program 140 deletes the target file information and the hash value recorded in the history list 121.

ファイルが書き換えられた場合には、履歴リスト121から書き換え前のハッシュ値を削除するため、書き換えた後のファイルに対する正しいハッシュ値を取得することができる。また、ファイルが書き換えられた場合には、履歴リスト121のファイル情報とハッシュ値を削除するので、履歴リスト121を検索する処理回数を削減することができる。 When the file is rewritten, the hash value before rewriting is deleted from the history list 121, so that the correct hash value for the rewritten file can be obtained. Further, when the file is rewritten, the file information and the hash value of the history list 121 are deleted, so that the number of processes for searching the history list 121 can be reduced.

本実施形態によれば、ファイルが実行される毎にハッシュ値を演算する処理を行わずに、履歴リストに対象ファイル情報が存在する場合は、履歴リストからハッシュ値を取得するため、ハッシュ値を演算する処理を削減することができる。従って、PCの処理負荷を軽減してファイルのハッシュ値を取得することができる。
According to this embodiment, if the target file information exists in the history list without performing the process of calculating the hash value every time the file is executed, the hash value is acquired from the history list, so that the hash value is calculated. It is possible to reduce the processing to be calculated. Therefore, the processing load of the PC can be reduced and the hash value of the file can be acquired.

Claims (8)

ファイルの実行を検知する検知手段と、
前記検知手段にて検知したファイルのファイル情報を取得する取得手段と、
前記取得手段にて取得された該ファイルのファイル情報が、ファイルのファイル情報とハッシュ値とが対応付けられた第一のリストに含まれるか否かを判定する第一の判定手段と
を備え、
前記第一の判定手段にて第一のリストに含まれると判定した場合、該ファイルのファイル情報に対応するハッシュ値を該ファイルのハッシュ値とし、前記第一の判定手段にて第一のリストに含まれないと判定した場合、該ファイルのハッシュ値を演算し、演算されたハッシュ値を該ファイルのハッシュ値とすることを特徴とする情報処理装置。
Detection means to detect file execution and
An acquisition means for acquiring file information of a file detected by the detection means, and
It is provided with a first determination means for determining whether or not the file information of the file acquired by the acquisition means is included in the first list in which the file information of the file and the hash value are associated with each other.
When it is determined by the first determination means that it is included in the first list, the hash value corresponding to the file information of the file is set as the hash value of the file, and the first list by the first determination means. An information processing apparatus characterized in that, when it is determined that the file is not included in the file, the hash value of the file is calculated and the calculated hash value is used as the hash value of the file.
前記取得手段にて取得された該ファイルのファイル情報が、前記ファイルのファイル情報と、最終アクセス日時と、アクセス回数と、参照基準回数とが対応付けられた第二のリストに含まれるか否かを判定する第二の判定手段と、
前記第二の判定手段にて、第二のリストに含まれると判定された場合、
前記ファイルのファイル情報に対応するアクセス回数が、参照基準回数を上回るか否かを
判定する第三の判定手段と
を更に備えることを特徴とする請求項1に記載の情報処理装置。
Whether or not the file information of the file acquired by the acquisition means is included in the second list in which the file information of the file, the last access date and time, the access count, and the reference reference count are associated with each other. The second judgment means to judge
When it is determined by the second determination means to be included in the second list,
The information processing apparatus according to claim 1, further comprising a third determination means for determining whether or not the number of accesses corresponding to the file information of the file exceeds the reference reference number of times.
検知手段は、前記ファイルに対するファイル操作を検知し、
前記検知したファイル操作が、ファイル変更操作か否かを判定する第四の判定手段と、
前記第四の判定手段にて、ファイル変更操作と判定された場合、前記第一のリストから該ファイルのファイル情報とハッシュ値を削除することを特徴とする請求項1または2に記載の情報処理装置。
The detection means detects a file operation on the file and
A fourth determination means for determining whether the detected file operation is a file change operation,
The information processing according to claim 1 or 2, wherein when the fourth determination means determines that the file change operation is performed, the file information and hash value of the file are deleted from the first list. apparatus.
前記ファイルのファイル情報と、最終アクセス日時と、アクセス回数と、参照基準回数とが対応付けられた第二のリストに記録されている最終アクセス日時と、前記ファイルのファイル情報が取得された時刻とが一定期間内か否かを判定する第五の判定手段とを
さらに備え、
前記第五の判定手段にて一定期間ではないと判定された場合、該ファイルのファイル情報に対応する前記アクセス回数をリセットすることを特徴とする請求項1ないし3のいずれかに記載の情報処理装置。
The file information of the file, the last access date and time, the access count, the last access date and time recorded in the second list associated with the reference reference count, and the time when the file information of the file was acquired. Further provided with a fifth determination means for determining whether or not the file is within a certain period of time.
The information processing according to any one of claims 1 to 3, wherein when the fifth determination means determines that the period is not a certain period, the number of accesses corresponding to the file information of the file is reset. apparatus.
実行が許可または禁止されたファイルのリストに基づいてファイルの実行を許可または禁止する制御手段とを
さらに備えることを特徴とする請求項1ないし4のいずれかに記載の情報処理装置。
The information processing apparatus according to any one of claims 1 to 4, further comprising a control means for permitting or prohibiting execution of a file based on a list of files whose execution is permitted or prohibited.
ファイルの実行を検知する検知工程と、
前記検知工程にて検知したファイルのファイル情報を取得する取得工程と、
前記取得工程にて取得された該ファイルのファイル情報が、ファイルのファイル情報とハッシュ値とが対応付けられた第一のリストに含まれるか否かを判定する第一の判定工程と
を備え、
前記第一の判定工程にて第一のリストに含まれると判定した場合、該ファイルのファイル情報に対応するハッシュ値を該ファイルのハッシュ値とし、前記第一の判定工程にて第一のリストに含まれないと判定した場合、該ファイルのハッシュ値を演算し、演算されたハッシュ値を該ファイルのハッシュ値とすることを特徴とする情報処理工程。
The detection process that detects the execution of a file and
The acquisition process for acquiring the file information of the file detected in the detection process, and
It is provided with a first determination step of determining whether or not the file information of the file acquired in the acquisition step is included in the first list in which the file information of the file and the hash value are associated with each other.
When it is determined in the first determination step that the file is included in the first list, the hash value corresponding to the file information of the file is set as the hash value of the file, and the first list in the first determination step. When it is determined that the file is not included in the file, the hash value of the file is calculated, and the calculated hash value is used as the hash value of the file.
請求項5に記載された情報処理装置と、
ネットワークを介して、前記情報処理装置に実行が許可または禁止されたファイルのリストのデータを送信するサーバ装置と
を備えたことを特徴とする情報処理システム。
The information processing apparatus according to claim 5 and
An information processing system including a server device that transmits data of a list of files permitted or prohibited to be executed to the information processing device via a network.
コンピュータを請求項1から請求項5のいずれか一項に記載された情報処理装置の各手段として機能させるためのプログラム。 A program for causing a computer to function as each means of the information processing apparatus according to any one of claims 1 to 5.
JP2019192379A 2019-10-23 2019-10-23 Information processing device, information processing method, information processing system and program Pending JP2021068133A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019192379A JP2021068133A (en) 2019-10-23 2019-10-23 Information processing device, information processing method, information processing system and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019192379A JP2021068133A (en) 2019-10-23 2019-10-23 Information processing device, information processing method, information processing system and program

Publications (1)

Publication Number Publication Date
JP2021068133A true JP2021068133A (en) 2021-04-30

Family

ID=75637256

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019192379A Pending JP2021068133A (en) 2019-10-23 2019-10-23 Information processing device, information processing method, information processing system and program

Country Status (1)

Country Link
JP (1) JP2021068133A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114741686A (en) * 2022-03-31 2022-07-12 上海中广核工程科技有限公司 Program whitelist detection method, device and related equipment
CN119474138A (en) * 2024-10-25 2025-02-18 北京数聚智连科技股份有限公司 Intelligent SQL database processing method and system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114741686A (en) * 2022-03-31 2022-07-12 上海中广核工程科技有限公司 Program whitelist detection method, device and related equipment
CN114741686B (en) * 2022-03-31 2025-11-21 中广核数字科技有限公司 Program white list detection method and device and related equipment
CN119474138A (en) * 2024-10-25 2025-02-18 北京数聚智连科技股份有限公司 Intelligent SQL database processing method and system

Similar Documents

Publication Publication Date Title
US10210332B2 (en) Identifying an evasive malicious object based on a behavior delta
US9824217B2 (en) Runtime detection of self-replicating malware
US9767280B2 (en) Information processing apparatus, method of controlling the same, information processing system, and information processing method
US9021584B2 (en) System and method for assessing danger of software using prioritized rules
US20110219449A1 (en) Malware detection method, system and computer program product
US20160072833A1 (en) Apparatus and method for searching for similar malicious code based on malicious code feature information
JP6256606B2 (en) Analyzer management system
US20170177869A1 (en) Confirming a malware infection on a client device using a remote access connection tool, to identify a malicious file based on fuzz hashes
JP6058246B2 (en) Information processing apparatus, information processing method, and program
WO2009017382A2 (en) Method for verifying application programs and controlling the execution thereof
JP6254414B2 (en) Information processing apparatus, information processing system, and information processing method
JP6000465B2 (en) Process inspection apparatus, process inspection program, and process inspection method
US11423153B2 (en) Detection of malicious operating system booting and operating system loading
JP2021068133A (en) Information processing device, information processing method, information processing system and program
US10389743B1 (en) Tracking of software executables that come from untrusted locations
JP4050253B2 (en) Computer virus information collection apparatus, computer virus information collection method, and program
US9231969B1 (en) Determining file risk based on security reputation of associated objects
JP2014096143A (en) Information processing device, information processing system and information processing method
JP7281998B2 (en) Information processing device, information processing method, information processing system and program
JP7255681B2 (en) Execution control system, execution control method, and program
WO2020240766A1 (en) Evaluation device, system, control method, and program
JP2019008568A (en) Whitelist management system and whitelist management method
JP6894220B2 (en) Information processing equipment and its control methods, programs and systems
CN118627068A (en) A method for detecting Windows memory Trojans
WO2014057668A1 (en) Information processing device and control method therefor, information processing system, as well as information processing method