JP7509242B2 - 改竄検知装置、改竄検知方法および改竄検知プログラム - Google Patents

改竄検知装置、改竄検知方法および改竄検知プログラム Download PDF

Info

Publication number
JP7509242B2
JP7509242B2 JP2022574924A JP2022574924A JP7509242B2 JP 7509242 B2 JP7509242 B2 JP 7509242B2 JP 2022574924 A JP2022574924 A JP 2022574924A JP 2022574924 A JP2022574924 A JP 2022574924A JP 7509242 B2 JP7509242 B2 JP 7509242B2
Authority
JP
Japan
Prior art keywords
file
monitored
unit
scan pattern
tampering detection
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
JP2022574924A
Other languages
English (en)
Other versions
JPWO2022153410A1 (ja
Inventor
友貴 山中
真奈美 伊藤
亮太 佐藤
浩義 瀧口
伸浩 千葉
良彰 中嶋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2022153410A1 publication Critical patent/JPWO2022153410A1/ja
Application granted granted Critical
Publication of JP7509242B2 publication Critical patent/JP7509242B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Inspection Of Paper Currency And Valuable Securities (AREA)
  • Burglar Alarm Systems (AREA)

Description

本発明は、改竄検知装置、改竄検知方法および改竄検知プログラムに関する。
ソフトウェア改竄検知技術とは、監視対象ファイルが正常とみなせるある時点でのファイルのダイジェスト(ハッシュ値等)を取得しておき、定期的にその取得しておいたダイジェストと、現時点での監視対象ファイルのダイジェストとを比較することで、対象ファイルが不正に改竄されていないかをチェックする技術である。一般に、この改竄検知技術は、ある機器にインストールされ、機器内の監視対象ファイル全体を定期的にスキャンすることで、機器の真正性を担保する目的で用いられる。このスキャンの方式として、従来は、以下の3つの方式が用いられてきた。
1つ目の方式は、巡回スキャン方式である。この方式では、監視対象ファイル全体を、例えば、パス名の昇順やノード番号順等、ある規則に基づいた固定的な順序でスキャンを行う。
2つ目の方式は、ランダムスキャン方式である。この方式では、次にスキャンするファイルを、全ての監視対象ファイルから一様ランダムに選択し、そのファイルのスキャンを行う。
3つ目の方式は、オンアクセススキャン方式である。この方式では、fanotify等のOS(Operating System)の機能を活用し、ファイルへのアクセスを検知およびフックし、スキャンを行い、改竄が行われていなければファイルアクセスを許可する。
特開2019-008376号公報 特開2019-008732号公報 特開2019-207661号公報
しかしながら、従来の技術では、監視対象機器内での使用リソースを抑えながら、正規のプログラムが不正に改竄されたファイルを実行してしまう可能性を低減することができなかった。なぜならば、上述した3つのスキャン方式には、それぞれ以下のような課題が存在しているからである。
1つ目の巡回スキャン方式では、一度スキャンされたファイルは、他の全ファイルのスキャンが一巡されるまで再度スキャンされない。このため、利用可能なCPU(Central Processing Unit)やメモリ等のリソースが限られる中では、全ファイルのスキャンが一巡されるまでの時間は長くなることが多い。したがって、改竄が行われたとしてもその改竄をすぐに発見することが難しく、正規のプログラムが不正に改竄されたファイルをその改竄に気づかずに実行してしまう可能性がある。
2つ目のランダムスキャン方式では、スキャンするファイルを完全にランダムに選択するため、あるファイルがスキャンされてから次にスキャンされるまでに膨大な時間を要してしまう可能性がある。
3つ目のオンアクセススキャン方式では、不正に改竄されたファイルを正規のプログラムが気づかずに実行してしまう可能性をほぼ完璧に0にすることができるが、OSでの監視やファイルアクセスのフックに、かなりのメモリやCPUリソースを消費する上、I/O(Input/Output)のレスポンスの低下を招くため、機器の動作にかなりの影響を及ぼす。
上述した課題を解決し、目的を達成するために、本発明に係る改竄検知装置は、監視対象ファイルのアクセス頻度を取得する取得部と、前記取得部によって取得された前記アクセス頻度に基づいて、前記監視対象ファイルごとに、スキャンパターンにおけるスキャン回数を計算する計算部と、前記計算部によって計算された前記スキャン回数に基づいて、前記スキャンパターンを決定する決定部とを備えることを特徴とする。
また、本発明に係る改竄検知方法は、改竄検知装置によって実行される改竄検知方法であって、監視対象ファイルのアクセス頻度を取得する取得工程と、前記取得工程によって取得された前記アクセス頻度に基づいて、前記監視対象ファイルごとに、スキャンパターンにおけるスキャン回数を計算する計算工程と、前記計算工程によって計算された前記スキャン回数に基づいて、前記スキャンパターンを決定する決定工程とを含むことを特徴とする。
また、本発明に係る改竄検知プログラムは、監視対象ファイルのアクセス頻度を取得する取得ステップと、前記取得ステップによって取得された前記アクセス頻度に基づいて、前記監視対象ファイルごとに、スキャンパターンにおけるスキャン回数を計算する計算ステップと、前記計算ステップによって計算された前記スキャン回数に基づいて、前記スキャンパターンを決定する決定ステップとをコンピュータに実行させることを特徴とする。
本発明は、監視対象機器内での使用リソースを抑えながら、正規のプログラムが不正に改竄されたファイルを実行してしまう可能性を低減することができる。
図1は、第1の実施形態に係る改竄検知システムの構成例を示す図である。 図2は、第1の実施形態に係る改竄検知装置の構成例を示すブロック図である。 図3は、第1の実施形態に係る監視対象機器の構成例を示すブロック図である。 図4は、第1の実施形態に係る各定数の定義を説明するための図である。 図5は、第1の実施形態に係るスキャンパターンの評価指標を説明するための図である。 図6は、第1の実施形態に係る改竄検知処理の流れの一例を示すフローチャートである。 図7は、第1の実施形態に係るスキャンパターンの決定処理の流れの一例を示すフローチャートである。 図8は、プログラムを実行するコンピュータを示す図である。
以下に、本発明に係る改竄検知装置、改竄検知方法および改竄検知プログラムの実施形態を図面に基づいて詳細に説明する。なお、本発明は、以下に説明する実施形態により限定されるものではない。
〔第1の実施形態〕
以下に、本実施形態に係る改竄検知システムの構成、改竄検知装置の構成、監視対象機器の構成、各定数の定義、スキャンパターンの評価指標、改竄検知処理の流れ、スキャンパターンの決定処理の流れを順に説明し、最後に本実施形態の効果を説明する。
[改竄検知システムの構成]
図1を用いて、本実施形態に係る改竄検知システム(適宜、本システム)100の構成を詳細に説明する。図1は、第1の実施形態に係る改竄検知システムの構成例を示す図である。改竄検知システム100は、サーバ等の改竄検知装置10、各種端末等の監視対象機器20を有する。ここで、改竄検知装置10と監視対象機器20とは、図示しない所定の通信網を介して、有線または無線により通信可能に接続される。なお、図1に示した改竄検知システム100には、複数台の改竄検知装置10や、複数台の監視対象機器20が含まれてもよい。
まず、監視対象機器20は、スキャンパターンを決定するための情報として、監視対象ファイルのアクセス頻度やファイルサイズ等を改竄検知装置10に送信する(ステップS1)。ここで、スキャンパターンを決定するための情報とは、監視対象機器に関する情報(適宜、「監視対象機器情報」)、監視対象ファイルに関する情報(適宜、「ファイル情報」)等である。
監視対象機器情報とは、監視対象機器のリソースに関する情報等であり、例えば、CPUの処理速度や使用量、メモリ容量、ストレージ容量、ハッシュ計算に関わる情報、通信に関わる情報等であるが、特に限定されない。また、監視対象機器情報は、監視対象機器に記憶されている監視対象ファイルの基本的な情報等であり、例えば、ファイル名、ファイルの種類、ファイルのデータの大きさを表わすファイルサイズやそれらの一覧、監視対象機器に記憶されているファイル数等であるが、特に限定されない。
ファイル情報とは、監視対象機器に記憶されている監視対象ファイルのアクセスに関する情報等であり、例えば、アクセスログに含まれるファイルごとのアクセス回数やアクセス頻度、アクセス元等の情報の他、改竄検知装置10が取得または計算した情報も含まれるが、特に限定されない。
次に、改竄検知装置10は、取得したアクセス頻度等をもとにスキャンパターンを決定する(ステップS2)。ここで、スキャンパターンとは、監視対象機器20に記憶されている監視対象ファイルに対して、監視対象機器20が各ファイルのダイジェスト(適宜、「ファイルダイジェスト」)を生成する処理(スキャン処理)の1周期分の順序を示したものであるが、特に限定されない。スキャンパターンは、各スキャン処理を行う時刻や間隔等を示したものであってもよい。
なお、監視対象機器20が生成するファイルのダイジェストは、ハッシュ計算等を用いて生成したデータ等であるが、特に限定されない。また、改竄検知装置10は、静的または動的な設定により、特定のファイルを含まないスキャンパターンを決定することもできる。改竄検知装置10による詳細なスキャンパターンの決定処理については、[スキャンパターンの決定処理の流れ]にて後述する。
続いて、改竄検知装置10は、決定したスキャンパターンを監視対象機器20に送信する(ステップS3)。そして、監視対象機器20は、取得したスキャンパターンにしたがって、ファイルのダイジェストを生成する(ステップS4)。さらに、監視対象機器20は、生成したファイルのダイジェストを改竄検知装置10に送信する(ステップS5)。
最後に、改竄検知装置10は、取得したファイルのダイジェストをもとにファイルの改竄の有無を検証する(ステップS6)。このとき、改竄検知装置10は、改竄検知装置10に記憶された正しいファイルのダイジェストと、取得したファイルのダイジェストとを比較し、ダイジェストが異なっている場合は当該ファイルの改竄があったと判定する。
本実施形態に係る改竄検知システム100では、監視対象機器からファイルアクセスログおよび監視対象ファイルのファイルサイズを取得し、これらの情報に基づき、ファイルサイズから対象ファイルのスキャン(=ダイジェスト取得)に要する時間を算出し、ファイルごとのスキャンに要する時間と、対象ファイルへのアクセス頻度を考慮したスキャンパターンを生成する。このため、機器内での使用リソースを抑えながら、正規のプログラムが不正に改竄されたファイルを実行してしまう可能性を低減することができる。
[改竄検知装置の構成]
図2を用いて、本実施形態に係る改竄検知装置10の構成を詳細に説明する。図2は、本実施形態に係る改竄検知装置の構成例を示すブロック図である。改竄検知装置10は、入力部11、出力部12、通信部13、制御部14および記憶部15を有する。
入力部11は、当該改竄検知装置10への各種情報の入力を司る。入力部11は、例えば、マウスやキーボード等であり、当該改竄検知装置10への設定情報等の入力を受け付ける。また、出力部12は、当該改竄検知装置10からの各種情報の出力を司る。出力部12は、例えば、ディスプレイ等であり、当該改竄検知装置10に記憶された設定情報等を出力する。
通信部13は、他の装置との間でのデータ通信を司る。例えば、通信部13は、各通信装置との間でデータ通信を行う。また、通信部13は、図示しないオペレータの端末との間でデータ通信を行うことができる。
記憶部15は、制御部14が動作する際に参照する各種情報や、制御部14が動作した際に取得した各種情報を記憶する。記憶部15は、監視対象機器情報記憶部15a、ファイル情報記憶部15bおよびファイルダイジェスト記憶部15cを有する。ここで、記憶部15は、例えば、RAM(Random Access Memory)、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置等である。なお、図2の例では、記憶部15は、改竄検知装置10の内部に設置されているが、改竄検知装置10の外部に設置されてもよいし、複数の記憶部が設置されていてもよい。
監視対象機器情報記憶部15aは、制御部14の取得部14aが取得した監視対象機器のリソースに関する情報や監視対象ファイルの基本的な情報等の監視対象機器情報を記憶する。監視対象機器情報記憶部15aは、例えば、監視対象機器のリソースに関する情報として、CPUの処理速度やメモリ容量、ストレージ容量、ハッシュ計算に関わる情報等を記憶し、監視対象ファイルの基本的な情報として、当該ファイルのファイル名、ファイルの種類、ファイルのデータの大きさを表わすファイルサイズやそれらの一覧、監視対象機器に記憶されているファイル数等を記憶する。
ファイル情報記憶部15bは、ファイル情報として、制御部14の取得部14aによって取得されたアクセスログに含まれる情報を記憶する。例えば、ファイル情報記憶部15bは、上記のアクセスログに含まれる情報として、ファイルごとのアクセス回数やアクセス頻度、アクセス元等の情報を記憶する。さらに、ファイル情報記憶部15bは、取得部14aによって取得されたスキャン処理1周期分の時間(適宜、「スキャンパターンの設定時間」)τallを記憶してもよい。
また、ファイル情報記憶部15bは、ファイル情報として、制御部14の計算部14bによって計算された情報を記憶する。例えば、ファイル情報記憶部15bは、上記の計算部14bによって計算された情報として、ファイルiのハッシュ値の計算に要する時間(適宜、「ハッシュ計算に要する時間」)τや、後述の評価指標E[τattack]を最小化する監視対象ファイルごとのスキャンパターンにおけるスキャン回数kを記憶する。さらに、ファイル情報記憶部15bは、決定部14cが決定したスキャンパターンを記憶してもよい。
ファイルダイジェスト記憶部15cは、制御部14の取得部14aによって取得された改竄を検証するための正しい監視対象ファイルに関する情報を記憶する。例えば、ファイルダイジェスト記憶部15cは、改竄を検証するための正しい監視対象ファイルに関する情報として、監視対象機器に記憶されるファイルからハッシュ計算を用いて生成されたファイルダイジェストを記憶する。
制御部14は、当該改竄検知装置10全体の制御を司る。制御部14は、取得部14a、計算部14b、決定部14c、送信部14dおよび検証部14eを有する。ここで、制御部14は、例えば、CPUやMPU(Micro Processing Unit)等の電子回路やASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路である。
取得部14aは、監視対象ファイルのアクセス頻度を取得する。例えば、取得部14aは、監視対象ファイルを記憶する監視対象機器20からアクセス頻度を取得する。また、取得部14aは、監視対象機器20の監視対象ファイルのアクセスログに含まれるアクセス頻度を取得する。また、取得部14aは、監視対象ファイルのファイルサイズおよびスキャンパターンの設定時間を取得する。また、取得部14aは、取得したファイルサイズから、ファイルごとのハッシュ計算に要する時間を算出し、取得する。さらに、取得部14aは、監視対象機器20によって生成されたファイルのダイジェストを取得する。
一方、取得部14aは、取得した監視対象機器20のリソース等の監視対象機器情報を監視対象機器情報記憶部15aに格納する。また、取得部14aは、取得したアクセス頻度等のファイル情報をファイル情報記憶部15bに格納する。さらに、取得部14aは、取得したファイルのダイジェストを検証部15eに送信する。
計算部14bは、取得部14aによって取得されたアクセス頻度に基づいて、監視対象ファイルごとに、スキャンパターンにおけるスキャン回数を計算する。例えば、計算部14bは、取得部14aによって取得されたアクセス頻度、ファイルサイズおよびスキャンパターンの設定時間に基づいて、監視対象ファイルごとに、スキャンパターンにおけるスキャン回数を計算する。また、計算部14bは、監視対象ファイルごとに、監視対象ファイルのスキャンから直近のアクセスまでの平均時間を最小化するスキャンパターンにおけるスキャン回数を計算する。一方、計算部14bは、計算したスキャン回数等のファイル情報をファイル情報記憶部15bに格納する。なお、改竄検知装置10による取得した情報の詳細な計算処理については、[スキャンパターンの決定処理の流れ]にて後述する。
決定部14cは、計算部14bによって計算されたスキャン回数に基づいて、スキャンパターンを決定する。また、決定部14cは、監視対象ファイルの全てのファイルが少なくとも1回含まれるスキャンパターンを、計算部14bによって計算されたスキャン回数に基づいてランダムに決定する。このとき、決定部14cは、監視対象機器情報記憶部15aに記憶された監視対象機器情報を参照する。また、決定部14cは、ファイル情報記憶部15bに記憶されたファイル情報を参照する。なお、改竄検知装置10による詳細なスキャンパターンの決定処理については、[スキャンパターンの決定処理の流れ]にて後述する。
送信部14dは、決定部14cによって決定されたスキャンパターンを監視対象機器20に送信する。また、送信部14dは、検証部14eによって検証されたファイルの改竄の有無を、監視対象機器20やその他の端末に送信してもよい。
検証部14eは、監視対象機器20によってスキャンパターンに基づいて生成されたファイルのダイジェストを用いて、ファイルの改竄の有無を検証する。このとき、検証部14eは、ファイルダイジェスト記憶部15cに記憶された、正しい監視対象ファイルのファイルダイジェストを参照する。
[監視対象機器の構成]
図3を用いて、本実施形態に係る監視対象機器20の構成を詳細に説明する。図3は、本実施形態に係る監視対象機器の構成例を示すブロック図である。監視対象機器20は、入力部21、出力部22、通信部23、制御部24および記憶部25を有する。
入力部21は、当該監視対象機器20への各種情報の入力を司る。入力部21は、例えば、マウスやキーボード等であり、当該監視対象機器20への設定情報等の入力を受け付ける。また、出力部22は、当該監視対象機器20からの各種情報の出力を司る。出力部22は、例えば、ディスプレイ等であり、当該監視対象機器20に記憶された設定情報等を出力する。
通信部23は、他の装置との間でのデータ通信を司る。例えば、通信部23は、各通信装置との間でデータ通信を行う。また、通信部23は、図示しないオペレータの端末との間でデータ通信を行うことができる。
記憶部25は、制御部24が動作する際に参照する各種情報や、制御部24が動作した際に取得した各種情報を記憶する。記憶部25は、例えば、監視対象ファイル記憶部25aを有する。ここで、記憶部25は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置等である。なお、図3の例では、記憶部25は、監視対象機器20の内部に設置されているが、監視対象機器20の外部に設置されてもよいし、複数の記憶部が設置されていてもよい。監視対象ファイル記憶部25aは、外部からアクセスされ、また改竄される可能性がある監視対象ファイルを記憶する。
制御部24は、当該監視対象機器20全体の制御を司る。制御部24は、取得部24a、生成部24bおよび送信部24cを有する。ここで、制御部24は、例えば、CPUやMPU等の電子回路やASICやFPGA等の集積回路である。
取得部24aは、改竄検知装置10からファイルのスキャンパターンを取得する。また、取得部24aは、改竄検知装置10からファイルの改竄の有無に関する情報を取得してもよい。
生成部24bは、取得部24aによって取得されたファイルのスキャンパターンにしたがって、ファイルのダイジェストを生成する。また、生成部24bは、生成したファイルのダイジェストを記憶部25に格納してもよい。
送信部24cは、生成部24bによって生成されたファイルのダイジェストを改竄検知装置10に送信する。また、送信部24cは、ファイルのダイジェストを改竄検知装置10以外の端末に送信してもよい。
[各定数の定義]
図4を用いて、本実施形態に係る各定数の定義を詳細に説明する。図4は、第1の実施形態に係る各定数の定義を説明するための図である。
監視対象機器20には、監視対象ファイル群{1,2,・・・,N}のN個のファイルが存在するとし、i番目のファイルをファイルiと表わす。また、記号iは、「i=fileA」等のように、適宜、任意のファイルのファイル名を表わす記号としても用いる。
「τ」は、ファイルiのハッシュ計算に要する時間を表わし、その数値は、(1)式で求められる。ここで、ハッシュ計算方法によって定まる定数とは、ハッシュアルゴリズムに依存するファイル1バイトごとの計算量である。
Figure 0007509242000001
なお、図4では、「ファイルA」「ファイルB」「ファイルC」のハッシュ計算に要する時間を、それぞれ示している。
「τav」は、ファイルのハッシュ計算に要する平均時間を表わし、その数値は、(2)式で求められる。
Figure 0007509242000002
(3)式は、ファイルiに対するスキャンパターンを表わす。ここで、「s 」は、ファイルiに対するj回目のスキャン開始時刻を表わし、「k」は、ファイルiに対するスキャンパターンにおけるスキャン回数、つまりスキャン処理1周期当たりのスキャン回数を表わす。
Figure 0007509242000003
なお、図4では、「ファイルA」の1周期目および2周期目の1回目のスキャン開始時刻、「ファイルB」の1周期目の1~3回目のスキャン開始時刻、「ファイルC」の1周期目の1、2回目のスキャン開始時刻を、それぞれ示している。
「τall」は、スキャンパターンの実行に要する時間、つまりスキャン処理1周期分の時間を表わし、(4)式になる。
Figure 0007509242000004
なお、図4では、「ファイルA」の1回目のスキャン開始時刻から、「ファイルB」の3回目のスキャン終了時刻までの時間が「τall」に相当する。
「next(t)」は、ある時刻t以降にはじめてファイルiのスキャンが始まる時刻であり、スキャンパターンによって定まる。なお、図4では、ある時刻t以降の「ファイルA」「ファイルB」のスキャンについて、それぞれ「next(t)」を示している。
「prev(t)」は、ある時刻tの直前にファイルiのスキャンを開始した時刻であり、スキャンパターンによって定まる。なお、図4では、ある時刻tの直前の「ファイルB」「ファイルC」のスキャンについて、それぞれ「prev(t)」を示している。
[スキャンパターンの評価指標]
図5を用いて、本実施形態に係るスキャンパターンの評価指標を詳細に説明する。図5は、第1の実施形態に係るスキャンパターンの評価指標を説明するための図である。本実施形態では、「正規プログラムが不正に改竄されたファイルを気づかずに実行してしまう可能性」を定式化するために、スキャンパターンの良し悪しを図る評価指標として、E[τattack]を導入する。以下では、評価指標E[τattack]の定義および最適化について説明する。
(評価指標E[τattack]の定義)
まず、評価指標E[τattack]の定義について説明する。「τattack」は、ファイルiがスキャン後、他プロセスがファイルiを使うまでの時間、つまりスキャンから直近のアクセスまでの時間を表わし、その数値は、(5)式で求められる。ここで、「taccess」は、ファイルiが他プロセスに読み込まれた時刻、つまりアクセスされた時刻であり、全てのアクセスは瞬間的に発生するものとし、時間幅を持たないものとして扱う。
Figure 0007509242000005
なお、図5では、「ファイルA」には時刻tにアクセスが発生しており、「ファイルA」のスキャン後、アクセスされるまでの時間τattackが示されている。また、「ファイルB」には時刻tにアクセスが発生しており、「ファイルB」のスキャン後、アクセスされるまでの時間τattackが示されている。
また、「q(t)」は、ある時刻tでファイルiに対してアクセスが発生する確率を表わす。
以上より、評価指標E[τattack]は、スキャン後、他プロセスが監視対象ファイルを読み込むまでの平均時間、つまり監視対象ファイルにおけるスキャンから直近のアクセスまでの平均時間を表わし、(6)式になる。なお、評価指標E[τattack]は、「監視対象ファイルにおける無防備な時間」または「監視対象ファイルにおける改竄可能時間」として定義することもできる。
Figure 0007509242000006
評価指標E[τattack]を小さくすると、改竄が起きても、そのファイルが使用される前にスキャンが行われるようになる。なお、オンアクセススキャン方式では、この指標が0となる。
(評価指標E[τattack]の最適化)
次に、本実施形態に係る評価指標E[τattack]の最適化について説明する。まず、改竄検知に際して、評価指標E[τattack]を小さくするようなスキャンパターンを生成したい。しかし、一般に、ある時刻tでファイルiに対して正規プログラムからのアクセスが発生する確率q(t)は未知である。したがって、上記(6)式において、q(t)をどう扱うかによって、さまざまな最適化の手法が考えられる。以下では、q(t)が時刻tに依存せず一定とし、各ファイルへのアクセス頻度のみを考慮する最適化の手法について説明する。
上記(6)式において、q(t)が時刻tに依存せず一定であり「q」とすると、(7)式のように表わすことができる。
Figure 0007509242000007
また、上記(7)式において、時刻tに関わる「f(t)」(積分計算部分)を(8)式のように表わす。
Figure 0007509242000008
ここで、監視対象ファイルに対してランダムにスキャンを行うと仮定すると、f(t)は、「スキャン処理1周期でファイルiにアクセスする回数の逆数(1/k)に比例する」と近似することができる。したがって、E[τattack]は、(9)式のように表わすことができる。
Figure 0007509242000009
上記(9)式のE[τattack]を最小化するkを、下記(10)式、(11)式で表わされる制約条件の下で求める。
Figure 0007509242000010
Figure 0007509242000011
ファイルによらず、ハッシュ計算に要する時間τが一定であると仮定すると、(12)式が解となる。
Figure 0007509242000012
以上のように、本実施形態に係る評価指標E[τattack]の最適化は、kはファイルiに対するスキャン頻度に比例するので、「ファイルサイズに応じたスキャンに要する時間を考慮しつつも、ファイルのアクセス頻度が高いものほど頻繁にスキャンを行うようなランダムスキャンパターンを生成する」という手法である。
[改竄検知処理の流れ]
図6を用いて、本実施形態に係る改竄検知処理の流れを詳細に説明する。図6は、第1の実施形態に係る改竄検知処理の流れの一例を示すフローチャートである。まず、改竄検知装置10の取得部14aは、監視対象ファイルのアクセス頻度、ファイルサイズ等の情報を監視対象機器20から情報を取得する(ステップS101)。このとき、取得部14aは、監視対象機器20以外の機器から情報を取得してもよい。また、取得部14aは、入力部11を介して直接入力された情報を取得してもよい。
次に、決定部14cは、監視対象機器20から取得したアクセス頻度等の情報をもとに、最適なスキャンパターンを決定する(ステップS102)。このとき、計算部14bは、決定部14cがスキャンパターンを決定するために必要な情報の計算処理をしてもよい。また、決定部14cは、事前に作成されたスキャンパターンが存在する場合は、当該スキャンパターンを採用することもできる。さらに、決定部14cは、複数のスキャンパターンが決定可能な場合は、当該スキャンパターンから1つを採用することもできるし、複数を採用することもできる。
続いて、送信部14dは、監視対象機器20にスキャンパターンを送信する(ステップS103)。このとき、送信部14dは、スキャンパターンをバルク(まとまり)で送信してもよいし、1つずつ送信してもよい。また、送信部14dは、複数のスキャンパターンを送信してもよい。
そして、取得部14aは、監視対象機器20の生成部24bによって生成され、送信部24cによって送信されたファイルのダイジェストを取得する(ステップS104)。最後に、検証部14eは、取得部14aによって取得されたファイルのダイジェストをもとに、当該ファイルの改竄の有無を検証し(ステップS105)、改竄検知処理が終了する。なお、送信部14dは、検証部14eによって検証されたファイルの改竄の有無を、監視対象機器20やその他の端末に送信してもよい。
[スキャンパターンの決定処理の流れ]
図7を用いて、本実施形態に係るスキャンパターンの決定処理の流れを詳細に説明する。図7は、第1の実施形態に係るスキャンパターンの決定処理の流れの一例を示すフローチャートである。
まず、改竄検知装置10の取得部14aは、監視対象機器20から、監視対象機器20における監視対象ファイルの一定期間のアクセスログを取得し(ステップS201)、上記のアクセスログから、監視対象ファイルごとのアクセス頻度を取得する(ステップS202)。
このとき、取得部14aは、監視対象機器20以外の機器からアクセスログを取得してもよい。また、取得部14aは、入力部11を介して直接入力されたアクセスログを取得してもよい。なお、アクセスログの取得に関わる一定期間において、監視対象機器20は、任意の方式でスキャン処理を行ってもよいし、スキャン処理を行わなくともよい。
次に、改竄検知装置10の取得部14aは、監視対象機器20から、監視対象ファイルのファイルサイズを取得する(ステップS203)。このとき、取得部14aは、監視対象機器20以外の機器からファイルサイズを取得してもよい。また、取得部14aは、入力部11を介して直接入力されたファイルサイズを取得してもよい。
そして、取得部14aは、上記のファイルサイズ等から、ファイルごとのハッシュ計算に要する時間τを算出し、取得する(ステップS204)。なお、取得部14aは、上記のτの算出に際し、上述の(1)式を用いる。また、取得部14aは、上述の(2)式で表わされるファイルのハッシュ計算に要する平均時間τavを算出し、取得してもよい。
続いて、取得部14aは、スキャン処理1周期の設定時間τallを取得する(ステップS205)。ここで、τallは外部から設定値として与えられる数値であるが、特に限定されない。取得部14aは、監視対象機器20やその他の端末からτallを取得してもよいし、入力部11を介して直接入力されたτallを取得してもよい。
なお、ステップS201~S205の処理の順序は一例であり、取得部14aは、異なる順序で処理を行うこともできる。また、取得部14aは、ステップS201~S205の一部の処理を省略することもできる。
その後、計算部14bは、取得したτとτallを用いて評価指標E[τattack]を最小化するような1周期のスキャン回数kを計算する(ステップS206)。このとき、計算部14bは、1周期で少なくとも1回は全てのファイルに対してスキャンを行うようにスキャンパターンを生成したい場合には、任意のファイルに対するkの最小値を1に設定する(ステップS207)。最後に、決定部14cは、kを満たすスキャンパターンをランダムに決定し(ステップS208)、処理が終了する。
[第1の実施形態の効果]
第1に、上述した本実施形態に係る改竄検知処理では、監視対象ファイルのアクセス頻度を取得し、取得したアクセス頻度に基づいて、監視対象ファイルごとに、スキャンパターンにおけるスキャン回数を計算し、計算したスキャン回数に基づいて、スキャンパターンを決定する。このため、本処理では、監視対象機器内での使用リソースを抑えながら、正規のプログラムが不正に改竄されたファイルを実行してしまう可能性を低減することができる。
第2に、上述した本実施形態に係る改竄検知処理では、監視対象ファイルのファイルサイズおよび前記スキャンパターンの設定時間をさらに取得し、アクセス頻度、ファイルサイズおよび設定時間に基づいて、スキャン回数を計算する。このため、本処理では、監視対象機器内での使用リソースを抑えながら、正規のプログラムが不正に改竄されたファイルを実行してしまう可能性を、より効率的に低減することができる。
第3に、上述した本実施形態に係る改竄検知処理では、監視対象ファイルのスキャンから直近のアクセスまでの平均時間を最小化するスキャン回数を計算する。このため、本処理では、監視対象機器内での使用リソースを抑えながら、正規のプログラムが不正に改竄されたファイルを実行してしまう可能性を、より効果的に低減することができる。
第4に、上述した本実施形態に係る改竄検知処理では、監視対象ファイルの全てのファイルが少なくとも1回含まれるスキャンパターンを、スキャン回数に基づいてランダムに決定する。このため、本処理では、監視対象機器内での使用リソースを抑えながら、正規のプログラムが不正に改竄されたファイルを実行してしまう可能性を、より網羅的に低減することができる。
第5に、上述した本実施形態に係る改竄検知処理では、監視対象ファイルを記憶する監視対象機器からアクセス頻度を取得し、スキャンパターンを前記監視対象機器に送信し、監視対象機器によってスキャンパターンに基づいて生成されたファイルのダイジェストを用いて、ファイルの改竄の有無を検証する。このため、本処理では、ソフトウェアの改竄検知において、全てのファイルを最適かつ網羅的に監視することができ、監視対象機器内での使用リソースを抑えながら、正規のプログラムが不正に改竄されたファイルを実行してしまう可能性を低減することができる。
〔システム構成等〕
上記実施形態に係る図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のごとく構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
〔プログラム〕
また、上記実施形態において説明した改竄検知装置10が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。この場合、コンピュータがプログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかるプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。
図8は、プログラムを実行するコンピュータを示す図である。図8に例示するように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有し、これらの各部はバス1080によって接続される。
メモリ1010は、図8に例示するように、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、図8に例示するように、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、図8に例示するように、ディスクドライブ1100に接続される。例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、図8に例示するように、例えば、マウス1110、キーボード1120に接続される。ビデオアダプタ1060は、図8に例示するように、例えばディスプレイ1130に接続される。
ここで、図8に例示するように、ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、上記のプログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、例えば、ハードディスクドライブ1090に記憶される。
また、上記実施形態で説明した各種データは、プログラムデータとして、例えば、メモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出し、各種処理手順を実行する。
なお、プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してCPU1020によって読み出されてもよい。あるいは、プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
上記の実施形態やその変形は、本願が開示する技術に含まれると同様に、請求の範囲に記載された発明とその均等の範囲に含まれるものである。
10 改竄検知装置
11 入力部
12 出力部
13 通信部
14 制御部
14a 取得部
14b 計算部
14c 決定部
14d 送信部
14e 検証部
15 記憶部
15a 監視対象機器情報記憶部
15b ファイル情報記憶部
15c ファイルダイジェスト記憶部
20 監視対象機器
21 入力部
22 出力部
23 通信部
24 制御部
24a 取得部
24b 生成部
24c 送信部
25 記憶部
25a 監視対象ファイル記憶部
100 改竄検知システム

Claims (6)

  1. 監視対象機器のリソースに関する情報、該監視対象機器が有する監視対象ファイルのアクセス頻度およびファイルサイズ、ならびにスキャンパターンの設定時間を取得する取得部と、
    前記取得部によって取得された前記リソースに関する情報および前記ファイルサイズを用いてハッシュ計算に要する時間を計算し、前記ハッシュ計算に要する時間および前記アクセス頻度に基づいて、前記監視対象ファイルごとに、スキャンパターンにおけるスキャン回数を計算する計算部と、
    前記計算部によって計算された前記スキャン回数に基づいて、前記スキャンパターンを決定する決定部と
    を備えることを特徴とする改竄検知装置。
  2. 前記計算部は、前記監視対象ファイルのスキャンから直近のアクセスまでの平均時間を最小化する前記スキャン回数を計算することを特徴とする請求項1に記載の改竄検知装置。
  3. 前記決定部は、前記監視対象ファイルの全てのファイルが少なくとも1回含まれるスキャンパターンを、前記スキャン回数に基づいてランダムに決定することを特徴とする請求項1または2に記載の改竄検知装置。
  4. 前記取得部は、前記監視対象ファイルを記憶する監視対象機器から前記アクセス頻度を取得し、
    前記スキャンパターンを前記監視対象機器に送信する送信部と、
    前記監視対象機器によって前記スキャンパターンに基づいて生成されたファイルのダイジェストを用いて、該ファイルの改竄の有無を検証する検証部と
    をさらに備えることを特徴とする請求項1からのいずれか1項に記載の改竄検知装置。
  5. 改竄検知装置によって実行される改竄検知方法であって、
    監視対象機器のリソースに関する情報、該監視対象機器が有する監視対象ファイルのアクセス頻度およびファイルサイズ、ならびにスキャンパターンの設定時間を取得する取得工程と、
    前記取得工程によって取得された前記リソースに関する情報および前記ファイルサイズを用いてハッシュ計算に要する時間を計算し、前記ハッシュ計算に要する時間および前記アクセス頻度に基づいて、前記監視対象ファイルごとに、スキャンパターンにおけるスキャン回数を計算する計算工程と、
    前記計算工程によって計算された前記スキャン回数に基づいて、前記スキャンパターンを決定する決定工程と
    を含むことを特徴とする改竄検知方法。
  6. 監視対象機器のリソースに関する情報、該監視対象機器が有する監視対象ファイルのアクセス頻度およびファイルサイズ、ならびにスキャンパターンの設定時間を取得する取得ステップと、
    前記取得ステップによって取得された前記リソースに関する情報および前記ファイルサイズを用いてハッシュ計算に要する時間を計算し、前記ハッシュ計算に要する時間および前記アクセス頻度に基づいて、前記監視対象ファイルごとに、スキャンパターンにおけるスキャン回数を計算する計算ステップと、
    前記計算ステップによって計算された前記スキャン回数に基づいて、前記スキャンパターンを決定する決定ステップと
    をコンピュータに実行させることを特徴とする改竄検知プログラム。
JP2022574924A 2021-01-13 2021-01-13 改竄検知装置、改竄検知方法および改竄検知プログラム Active JP7509242B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/000909 WO2022153410A1 (ja) 2021-01-13 2021-01-13 改竄検知装置、改竄検知方法および改竄検知プログラム

Publications (2)

Publication Number Publication Date
JPWO2022153410A1 JPWO2022153410A1 (ja) 2022-07-21
JP7509242B2 true JP7509242B2 (ja) 2024-07-02

Family

ID=82448018

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022574924A Active JP7509242B2 (ja) 2021-01-13 2021-01-13 改竄検知装置、改竄検知方法および改竄検知プログラム

Country Status (5)

Country Link
EP (1) EP4261719A1 (ja)
JP (1) JP7509242B2 (ja)
CN (1) CN116783595A (ja)
AU (1) AU2021419833B2 (ja)
WO (1) WO2022153410A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004013607A (ja) 2002-06-07 2004-01-15 Hitachi Ltd ファイル監視装置
JP2010211453A (ja) 2009-03-10 2010-09-24 Yamatake Corp ファイル改竄チェック方法および装置
US20200034534A1 (en) 2018-07-24 2020-01-30 EMC IP Holding Company LLC Predictive scheduled anti-virus scanning

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6713954B2 (ja) 2017-06-20 2020-06-24 日本電信電話株式会社 ファイル管理装置及びファイル管理方法
JP6787841B2 (ja) 2017-06-28 2020-11-18 日本電信電話株式会社 アクセス制御装置、アクセス制御方法およびアクセス制御プログラム
JP6700337B2 (ja) 2018-05-30 2020-05-27 日本電信電話株式会社 保護装置及び保護方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004013607A (ja) 2002-06-07 2004-01-15 Hitachi Ltd ファイル監視装置
JP2010211453A (ja) 2009-03-10 2010-09-24 Yamatake Corp ファイル改竄チェック方法および装置
US20200034534A1 (en) 2018-07-24 2020-01-30 EMC IP Holding Company LLC Predictive scheduled anti-virus scanning

Also Published As

Publication number Publication date
JPWO2022153410A1 (ja) 2022-07-21
AU2021419833B2 (en) 2024-04-11
CN116783595A (zh) 2023-09-19
AU2021419833A1 (en) 2023-07-13
WO2022153410A1 (ja) 2022-07-21
EP4261719A1 (en) 2023-10-18

Similar Documents

Publication Publication Date Title
JP5793764B2 (ja) マルウェアの誤検出を低減する方法及び装置
JP5639725B2 (ja) ソフトウェアの信頼性を測定する方法及び装置
CN109997139A (zh) 利用基于散列的指纹检测恶意软件
WO2019168167A1 (ja) 検証方法、検証装置、コンピュータプログラム、及び、検証システム
CN103559438A (zh) 进程识别方法及系统
CN111967016B (zh) 基板管理控制器的动态监控方法及基板管理控制器
JP7509242B2 (ja) 改竄検知装置、改竄検知方法および改竄検知プログラム
JP2008084275A (ja) ソフトウェアの改ざん監視装置および改ざん監視方法
JP7509243B2 (ja) 改竄検知装置、改竄検知方法および改竄検知プログラム
WO2022102110A1 (ja) 改ざん検知装置、改ざん検知方法および改ざん検知プログラム
CN115396154A (zh) 访问鉴权方法、装置、电子设备和存储介质
JP7184197B2 (ja) 異常検出装置、異常検出方法および異常検出プログラム
KR20210076455A (ko) Xss 공격 검증 자동화 방법 및 그 장치
JP6608569B1 (ja) セキュリティ設計装置、セキュリティ設計方法およびセキュリティ設計プログラム
JP5386015B1 (ja) バグ検出装置およびバグ検出方法
JP7318711B2 (ja) 異常検知装置、異常検知方法、及びプログラム
JP7287093B2 (ja) 学習プログラム、学習方法および学習装置
EP4216113A1 (en) Assessment device, assessment method, and assessment program
KR102253213B1 (ko) 공격 검지 장치
JP7176630B2 (ja) 検知装置、検知方法および検知プログラム
JP2017102566A (ja) 不正ファイル検知装置、不正ファイル検知方法、および、不正ファイル検知プログラム
WO2022195887A1 (ja) トラフィックセンサ、分析方法、および、分析プログラム
WO2020240766A1 (ja) 評価装置、システム、制御方法、及びプログラム
JP2005234849A (ja) 監視装置及び監視方法及びプログラム
WO2021024415A1 (ja) ポリシー評価装置、制御方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240312

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240508

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240603