IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立ソリューションズの特許一覧

特開2024-122173不正アクセス検知装置、及び不正アクセス検知方法
<>
  • 特開-不正アクセス検知装置、及び不正アクセス検知方法 図1
  • 特開-不正アクセス検知装置、及び不正アクセス検知方法 図2
  • 特開-不正アクセス検知装置、及び不正アクセス検知方法 図3
  • 特開-不正アクセス検知装置、及び不正アクセス検知方法 図4
  • 特開-不正アクセス検知装置、及び不正アクセス検知方法 図5
  • 特開-不正アクセス検知装置、及び不正アクセス検知方法 図6
  • 特開-不正アクセス検知装置、及び不正アクセス検知方法 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024122173
(43)【公開日】2024-09-09
(54)【発明の名称】不正アクセス検知装置、及び不正アクセス検知方法
(51)【国際特許分類】
   G06F 21/55 20130101AFI20240902BHJP
【FI】
G06F21/55
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2023029568
(22)【出願日】2023-02-28
(71)【出願人】
【識別番号】000233055
【氏名又は名称】株式会社日立ソリューションズ
(74)【代理人】
【識別番号】110000176
【氏名又は名称】弁理士法人一色国際特許事務所
(72)【発明者】
【氏名】植木 優輝
(72)【発明者】
【氏名】原田 建樹
(72)【発明者】
【氏名】重本 倫宏
(72)【発明者】
【氏名】西嶋 克哉
(57)【要約】      (修正有)
【課題】不正なファイル改変を少ないデータで迅速に検知する不正アクセス検知装置及び不正アクセス検知方法を提供する。
【解決手段】不正アクセス検知装置10は、ファイルに対するアクセスを行うための入出力要求データを複数取得し、取得した複数の入出力要求データのパターンに基づき、ファイルに対するアクセス態様が異常なものであるか否かを判定する異常アクセス要求検知処理と、ファイルに対するアクセス態様が異常なものであると判定した場合に、取得した入出力要求データに基づきファイルに書き込まれるデータを特定し、特定したデータの傾向を特定することにより、特定したデータが異常なデータであるか否かを判定する異常データ検知処理と、特定したデータが異常なデータであると判定した場合に、ファイルに対するアクセスに関する所定の処理を実行する不審プロセス対処処理とを実行する。
【選択図】図1
【特許請求の範囲】
【請求項1】
ファイルに対するアクセスを行うための入出力要求データを複数取得し、取得した複数の入出力要求データのパターンに基づき、前記ファイルに対するアクセス態様が異常なものであるか否かを判定する異常アクセス要求検知処理と、
前記ファイルに対するアクセス態様が異常なものであると判定した場合に、前記取得した入出力要求データに基づきファイルに書き込まれるデータを特定し、特定したデータの傾向を特定することにより、前記特定したデータが異常なデータであるか否かを判定する異常データ検知処理と、
前記特定したデータが異常なデータであると判定した場合に、前記ファイルに対するアクセスに関する所定の処理を実行する不審プロセス対処処理とを実行する制御装置
を備える、不正アクセス検知装置。
【請求項2】
前記制御装置は、前記不審プロセス対処処理において、前記特定したデータが異常なデータであると判定した場合に、前記特定したデータの書き込み先の前記ファイルに対するアクセスを遮断する、
請求項1に記載の不正アクセス検知装置。
【請求項3】
前記制御装置は、前記不審プロセス対処処理において、前記特定したデータが異常なデータであると判定した場合に、前記ファイルに対するアクセス態様が異常なものあること又は前記特定したデータが異常なデータであることを表す情報を所定の装置に送信する、
請求項1に記載の不正アクセス検知装置。
【請求項4】
前記制御装置は、前記不審プロセス対処処理において、前記特定したデータが異常なデータであると判定した場合に、前記ファイルに対するアクセス態様が異常なものであると判定した根拠の情報又は前記特定したデータが異常なデータであると判定した根拠の情報を所定の装置に送信する、
請求項1に記載の不正アクセス検知装置。
【請求項5】
ファイルに対するアクセスを行うための入出力要求データの特徴を学習した学習済みモデルを記憶する記憶装置を備え、
前記制御装置は、前記異常アクセス要求検知処理において、前記取得した複数の入出力要求データのパターンと、前記学習済みモデルとに基づき、前記ファイルに対するアクセス態様が異常なものであるか否かを判定する、
請求項1に記載の不正アクセス検知装置。
【請求項6】
前記制御装置は、前記異常データ検知処理において、前記特定したデータの乱数度を算出し、算出した乱数度が所定の閾値以上である場合に、前記特定したデータが異常なデータであると判定する、
請求項1に記載の不正アクセス検知装置。
【請求項7】
前記制御装置は、前記異常データ検知処理において、前記取得した入出力要求データに基づき前記ファイルに書き込まれるデータの乱数度である第1の乱数度と、前記取得した入出力要求データに基づきデータが書き込まれる前の前記ファイルのデータの乱数度である第2の乱数度とを比較し、前記第1の乱数度と前記第2の乱数度との差分が所定の閾値以上である場合に、前記特定したデータが異常なデータであると判定する、
請求項1に記載の不正アクセス検知装置。
【請求項8】
ファイルのヘッダのデータ配列を記憶する記憶装置を備え、
前記制御装置は、前記異常データ検知処理において、前記特定したデータの乱数度が所
定の閾値以上である場合に、前記特定したデータの書き込み先である前記ファイル上での、前記特定したデータによる書き込み開始位置を特定し、特定した書き込み開始位置が前記ファイルの先頭である場合には、前記特定したデータの先頭部分のデータ配列が前記記憶している配列を含むか否かを判定し、前記特定したデータの配列が前記記憶している配列を含まないと判定した場合に、前記特定したデータが異常なデータであると判定する、
請求項6に記載の不正アクセス検知装置。
【請求項9】
乱数度の高いデータを保持するファイルを特徴付ける当該ファイル内のデータを記憶する記憶装置を備え、
前記制御装置は、前記異常データ検知処理において、前記特定したデータの乱数度が所定の閾値以上である場合に、前記特定したデータが前記記憶しているデータを含むか否かを判定し、前記特定したデータが前記記憶しているデータを含まないと判定した場合に、前記特定したデータが異常なデータであると判定する、
請求項6に記載の不正アクセス検知装置。
【請求項10】
前記記憶装置は、乱数度の高いデータを保持するファイルを特徴付ける当該ファイルのヘッダを記憶し、
前記制御装置は、前記異常データ検知処理において、前記特定したデータの乱数度が所定の閾値以上である場合に、前記特定したデータの書き込み先である前記ファイル上での、前記特定したデータによる書き込み開始位置を特定し、特定した書き込み開始位置が前記ファイルの先頭である場合には、前記特定したデータが前記記憶しているヘッダを含むか否かを判定し、前記特定したデータが前記記憶しているデータを含まないと判定した場合に、前記特定したデータが異常なデータであると判定する、
請求項9に記載の不正アクセス検知装置。
【請求項11】
乱数度の高いデータを保持するファイルを特徴付ける当該ファイル内のデータを記憶する記憶装置を備え、
前記制御装置は、前記異常データ検知処理において、前記特定したデータの乱数度が所定の閾値以上である場合に、前記特定したデータの書き込み先である前記ファイルが前記記憶しているデータを含むか否かを判定し、前記ファイルが前記記憶しているデータを含まないと判定した場合にのみ、前記特定したデータが異常なデータであると判定する、
請求項6に記載の不正アクセス検知装置。
【請求項12】
前記記憶装置は、乱数度の高いデータを保持するファイルを特徴付ける当該ファイルのヘッダを記憶し、
前記制御装置は、前記異常データ検知処理において、前記特定したデータの乱数度が所定の閾値以上である場合に、前記特定したデータの書き込み先である前記ファイル上での、前記特定したデータによる書き込み開始位置を特定し、特定した書き込み開始位置が前記ファイルの先頭でない場合には、前記特定したデータの書き込み先である前記ファイルが前記記憶しているヘッダを含むか否かを判定し、前記ファイルが前記記憶しているデータを含まないと判定した場合にのみ、前記特定したデータが異常なデータであると判定する、
請求項11に記載の不正アクセス検知装置。
【請求項13】
情報処理装置が、
ファイルに対するアクセスを行うための入出力要求データを複数取得し、取得した複数の入出力要求データのパターンに基づき、前記ファイルに対するアクセス態様が異常なものであるか否かを判定する異常アクセス要求検知処理と、
前記ファイルに対するアクセス態様が異常なものであると判定した場合に、前記取得した入出力要求データに基づきファイルに書き込まれるデータを特定し、特定したデータの
傾向を特定することにより、前記特定したデータが異常なデータであるか否かを判定する異常データ検知処理と、
前記特定したデータが異常なデータであると判定した場合に、前記ファイルに対するアクセスに関する所定の処理を実行する不審プロセス対処処理とを実行する
不正アクセス検知方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、不正アクセス検知装置、及び不正アクセス検知方法に関する。
【背景技術】
【0002】
近年、コンピュータやインターネットへの社会的依存がますます高まってきている。これに伴い、マルウェアをはじめとするコンピュータ・ネットワークへの攻撃が社会に対してより深刻な影響を及ぼすようになってきている。また、このようなネットワークへの攻撃は、攻撃者の技術力の誇示が目的であったり愉快犯によるものであることが従来は多かったが、近年では、金銭や個人情報の奪取などの実益を目的としたものが増えてきている。
【0003】
金銭の収集を主な目的としたマルウェアとして、ランサムウェアが挙げられる。ランサムウェアはユーザの重要なファイルを暗号化することで当該ファイルを使用不能にし、これらのファイルを身代として、当該ファイルの復元の対価にデジタル通貨等の金銭の送信を要求する。ランサムウェアによる被害は2005年ごろから顕著になり、最近では大きなセキュリティ脅威として名前が挙げられるほど、深刻なセキュリティ課題となっている。
【0004】
ランサムウェアからシステムを保護する手法として、アンチウイルス製品等を用いたエンドポイントでの防御が挙げられる。従来多く用いられているマルウェア検知の主要な方式として、マルウェアが固有にもつシグネチャを用いて、マルウェアを検出する方式が挙げられる。しかし、この手法では過去に観測されシグネチャが既知であるマルウェアしか検知することができない。
【0005】
そこで、正常状態とは異なるランサムウェアの不審な挙動を検出することで、マルウェアを検知する技術が存在する。例えば、特許文献1には、機械のバックアップデータを用いて、二つのステージでファイルシステムにおいてランサムウェアの感染の検出を試みることが記載されている。第一ステージではバックアップデータのロードやファイルシステムメタデータの作成によって、得られるファイルシステムの挙動を分析する。第一ステージで異常と判断された場合、第二ステージにおいて、ファイルオペレーションに対応するファイルの内容を分析する。ここでは、例えばファイルのエントロピーが特徴として用いられる。システムは第一ステージと第二ステージの分析結果を結合して、ファイルシステムでランサムウェア感染の確率を反映する感染症スコアを決定する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】米国特許第11120131号明細書
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1に記載の技術は、シグネチャベースの検知システムとは異なり、ランサムウェアの不審挙動を用いた検知手法をとっているため、未知のランサムウェアを検知することができる。しかし、バックアップデータを用いてランサムウェアの検知を行うため、リアルタイム性が低く、ある程度以上のファイルが暗号化されてからしか、ランサムウェアが暗号化を試みるファイルを保護することができない。
【0008】
本発明は、このような事情に鑑みてなされたものであり、その目的は、不正なファイル
改変を少ないデータで迅速に検知することが可能な不正アクセス検知装置、及び不正アクセス検知方法を提供することにある。
【課題を解決するための手段】
【0009】
上記課題を解決するための本発明の一つは、ファイルに対するアクセスを行うための入出力要求データを複数取得し、取得した複数の入出力要求データのパターンに基づき、前記ファイルに対するアクセス態様が異常なものであるか否かを判定する異常アクセス要求検知処理と、前記ファイルに対するアクセス態様が異常なものであると判定した場合に、前記取得した入出力要求データに基づきファイルに書き込まれるデータを特定し、特定したデータの傾向を特定することにより、前記特定したデータが異常なデータであるか否かを判定する異常データ検知処理と、前記特定したデータが異常なデータであると判定した場合に、前記ファイルに対するアクセスに関する所定の処理を実行する不審プロセス対処処理とを実行する制御装置を備える、不正アクセス検知装置である。
【発明の効果】
【0010】
本発明によれば、不正なファイル改変を少ないデータで迅速に検知することができる。
上記した以外の構成及び効果等は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0011】
図1】本実施形態に係る不正アクセス検知システムの構成の一例を示す図である。
図2】不正アクセス検知処理の概要を説明する図である。
図3】不正アクセス検知処理の詳細を説明するフロー図である。
図4】本実施形態で傾向を分析するIRPの種類の一例を示す図である。
図5】収集期間における、正常時のIRPの数の変化と異常時のIRPの数の変化とを比較して示したグラフである。
図6】ファイルヘッダテーブルの一例を示す図である。
図7】警告画面の一例を示す図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態を図面に基づいて詳細に説明する。本実施形態において、同一の構成には原則として同一の符号を付け、繰返しの説明は省略する。なお、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。
【0013】
図1は、本実施形態に係る不正アクセス検知システム1の構成の一例を示す図である。不正アクセス検知システム1は、不正アクセス検知装置10と、キーボード、マウス、タッチパネル、又はディスプレイ等の入出力装置108と、管理装置20とを含んで構成される。本実施形態では、不正アクセス検知装置10は、ユーザが使用するユーザ端末30(次述)に組み込まれるものとするが、ユーザ端末とは別体で構成されていてもよい。
【0014】
ユーザ端末30は、組織のユーザが使用する情報処理装置であり、後述するアプリケーションの実行を指示する。
【0015】
管理装置20は、不正アクセス検知装置10を管理する管理者が使用する情報処理装置である。管理者は、ユーザの属する組織のセキュリティ管理部の管理者、又は、マネージドサービスのような外部のセキュリティ管理組織の管理者である。
【0016】
不正アクセス検知装置10は、後述するOS(Operating System)によって実行される1又は複数のアプリケーションを記憶している。不正アクセス検知装置10は、ユーザの指示等に基づいて又は自動的に、各種のアプリケーションを実行する。各アプリケーショ
ンは、後述する記憶装置105に記憶されている各種のファイルに対するアクセス(データの読み込み及び書き込み)を行う。
【0017】
また、不正アクセス検知装置10は、ランサムウェア等による、不正アクセス検知装置10内のアプリケーション等が使用するデータの不正な暗号化及びファイルへの書き込み(以下、暗号化書き込みという)を検知する。具体的には、後述するように、不正アクセス検知装置10は、アプリケーションのファイルに対するアクセスを行うための入出力要求パケット(I/O Request Packet: IRP)を監視することで、アクセス態様の異常の有無
を判定し、異常があると判定した場合、ファイルに書きこまれるデータが異常なデータであるか(不審なデータであるか)否かを、書き込まれるデータの乱数度等を算出することによって判定する。不正アクセス検知装置10は、ファイルに書きこまれるデータが異常なデータであると判定した場合に、当該ファイルへの書き込みを遮断し、IRPに関する情報等を管理装置20に送信する。
【0018】
不正アクセス検知装置10は、通信インタフェース(通信IF)101、制御部102、入出力インタフェース(入出力IF)103、メインメモリ104、記憶装置105、及び、これらの各部を接続するバスやケーブルなどの通信路106を備える情報処理装置である。
【0019】
制御部102は、CPU(Central Processing Unit)等であり、メインメモリ104
に記憶されているプログラムを実行し、不正アクセス検知装置10の各部を制御する装置である。
【0020】
メインメモリ104は、RAM(Random Access Memory)又はROM(Read Only Memory)等の半導体記憶装置であり、各種のプログラムや必要なワークデータを一時的に記憶する。
【0021】
記憶装置105は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)などの大容量の磁気記憶装置又は半導体記憶装置であり、各種のプログラムや必要なデータを記録する。
【0022】
入出力IF103は入出力装置108と接続され、データの入出力を仲介する。
【0023】
通信IF101は、NIC(Network Interface Card)、無線通信モジュール、USB(Universal Serial Interface)モジュール、又はシリアル通信モジュール等で構成され、
ネットワーク107を介して不正アクセス検知装置10と接続する。ネットワーク107は、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)、
又は専用線等の有線又は無線の通信ネットワークである。
【0024】
管理装置20も、以上と同様のハードウェアを備える。
【0025】
次に、不正アクセス検知装置10(記憶装置105)は、IRP収集部121、不審プロセス検知部122、及び不審プロセス対処部123の各プログラムを記憶する。また、不正アクセス検知装置10(記憶装置105)は、AI(artificial intelligence)モ
デル124、及びファイルヘッダテーブル125を記憶する。
【0026】
ここで、不正アクセス検知装置10は、各アプリケーションを実行させるためのOS(Operating System)を記憶している。OSは、I/Oマネージャを含む。I/Oマネージャは、アプリケーションにより生成され実行されるプロセスからファイルアクセスに関わるI/O要求(I/O:Input/Output)が発生した際に所定の構造体データである入出力
要求パケット(IRP)を生成する。
【0027】
IRP収集部121は、I/Oマネージャにより生成された入出力要求パケット(IRP)を収集するプログラムである。IRPの収集はOSに係るカーネルモード下で行われる。
【0028】
不審プロセス検知部122は、IRP収集部121が収集したIRPを用いて、ファイルアクセスを実行するプロセスが不審なプロセスであるか否かを評価するプログラムである。
【0029】
具体的には、不審プロセス検知部122は、IRP異常検知フィルター311及び書き込みデータ検知フィルター312を備える。IRP異常検知フィルター311は、ファイルに対するアクセスを行うための入出力要求データ(IRP)を複数取得し、取得した複数の入出力要求データのパターンに基づき、ファイルに対するアクセス態様が異常なものであるか否かを判定する。
【0030】
ここで、IRP異常検知フィルター311は、AIモデル124を用いて、ファイルに対するアクセス態様が異常なものであるか否かを判定する。AIモデル124は、ファイルアクセスに関わる入出力要求パケットの特徴を学習した学習済みモデルである。
【0031】
書き込みデータ検知フィルター312は、ファイルに対するアクセス態様が異常なものであると判定した場合に、不審プロセス検知部122で取得した入出力要求データに基づきファイルに書き込まれるデータを特定し、特定したデータ(書き込みデータ)の傾向を特定することにより、特定したデータが異常なデータであるか否かを判定する。
【0032】
ここで、書き込みデータ検知フィルター312は、ファイルヘッダテーブル125を用いて、特定したデータ(書き込みデータ)が異常なデータであるか否かを判定する。ファイルヘッダテーブル125は、乱数度(本実施形態ではエントロピーとする)が高いデータを保持するファイルの種類と、その種類のファイルのヘッダとを対応づけて記憶したテーブルである。
【0033】
次に、不審プロセス対処部123は、書き込みデータ検知フィルター312が特定したデータ(書き込みデータ)が異常なデータであると判定した場合に、ファイルに対するアクセスに関する所定の処理を実行するプログラムである。
【0034】
例えば、不審プロセス対処部123は、書き込みデータ検知フィルター312が特定したデータが異常なデータであると判定した場合に、特定したデータの書き込み先のファイルに対するアクセスを遮断する。また、不審プロセス対処部123は、遮断したアクセスに係るIRPの情報を管理装置20に送信する。
【0035】
以上に説明した、不正アクセス検知システム1における各情報処理装置の各プログラムは、制御部102が、メインメモリ104又は記憶装置105から読み出すことにより実行される。また各プログラムは、例えば、可搬性の又は固定された記録媒体に記録して配布することができる。なお、これらのプログラムは、その全部または一部が、例えば、クラウドシステムによって提供される仮想サーバのように、仮想化技術やプロセス空間分離技術等を用いて提供される仮想的な情報処理資源を用いて実現されるものであってもよい。また、これらのプログラムの全部または一部は、例えば、クラウドシステムがAPI (Application Programming Interface)等を介して提供するサービスによって実現してもよい。なお、不正アクセス検知システム1が保持するプログラム又はデータは、図1に図示した情報処理装置とは別の装置に保持されてもよい。また、本実施形態では、上記のよう
にコンピュータがソフトウェアを実行することによりその機能を実現するものとするが、ハードウェアロジックによるものであってもよい。
次に、不正アクセス検知システム1で行われる処理について説明する。
【0036】
<不正アクセス検知処理の概要>
図2は、不正アクセス検知システム1で行われる不正アクセス検知処理の概要を説明する図である。この処理は、例えば、不正アクセス検知装置10が起動したことを契機に繰り返し行われる。ここでは、不正アクセスがランサムウェアの場合を説明するが、その他の種類の、不審プロセスによるファイルの暗号化についても同様である。
【0037】
まず、アプリケーション301は、例えばユーザの誤認による不審アプリケーションの実行指示に基づきファイルアクセス(ファイルへのデータの書き込み、又はファイルからのデータの読み込み)を行うためのプロセスを作成する。作成されたプロセスが、ファイルアクセスを行うためのI/O要求をI/Oマネージャに送信し、I/OマネージャはこのI/O要求をIRPに変換し、変換したIRPをファイルシステムデバイスに送信する。その後、IRPに含まれるデータ内容がファイルに書き込まれる。
【0038】
IRP収集部121は、プロセスから送信されたIRPを収集する。IRP収集部121は、収集したIRPを不審プロセス検知部122に送信する。
【0039】
不審プロセス検知部122のIRP異常検知フィルター311は、抽出したIRPのパターンに基づき、ファイルアクセスの態様が異常なものであるか否かを判定する。また、書き込みデータ検知フィルター312は、このファイルアクセスに係るデータが異常なものであるか否かを判定する。これらの処理により、ランサムウェアが行おうとしている(行っている)暗号化書き込みを検知する。不審プロセス検知部122による判定結果は、不審プロセス対処部123へ送信される。
【0040】
不審プロセス対処部123は、不審プロセス検知部122から判定結果を受信すると、受信した判定結果に基づき、IRPがファイルシステムデバイスに送信されないように、IRPを遮断すると共に、IRPに関する情報を管理装置20に送信する。なお、不審プロセス対処部123はこれらの処理の一方のみを実行してもよい。以上で不正アクセス検知処理は終了する。
次に、不正アクセス検知処理の詳細を説明する。
【0041】
図3は、不正アクセス検知処理の詳細を説明するフロー図である。
まず、不正アクセス検知装置10の各アプリケーションが起動すると(S401)、IRP収集部121は各アプリケーションを監視し、所定の収集期間(本実施形態では3秒)、各アプリケーションのプロセスから送信されたIRPの取得を試みる(S402)。
【0042】
なお、収集期間が短いほど、リアルタイム性の高いランサムウェア検知が可能になる。しかし、収集期間が短すぎると、ランサムウェア等が暗号化書き込みをしている場合に収集されるIRPと、それ以外の正常時に収集されるIRPとのデータの差異が小さくなり、ランサムウェアの充分な検知ができない可能性がある。したがって、これらの条件を満たす程度の長さに収集期間を設定することが好ましい。
【0043】
次に、IRP異常検知フィルター311は、S402で収集したIRPの傾向(すなわちファイルへのアクセス態様)が異常であるか否かを判定する(S403)。すなわち、IRP異常検知フィルター311は、S402で収集した収集期間におけるIRPのデータの傾向と、正常時に収集期間収集したIRPのデータの傾向とを比較することで、S402で収集したIRPの傾向が異常であるか否かを判定する。
【0044】
例えば、IRP異常検知フィルター311は、機械学習の手法の一つである、教師無し学習を用いた異常検知を用いてIRPを分析する。具体的には、IRP異常検知フィルター311は予め、正常時の収集期間における各種類のIRPの数を学習させたAIモデル124を作成する。IRP異常検知フィルター311は、S402で収集した各種類のIRPの数と、AIモデル124による正常時の収集期間における各種類のIRPの数との乖離度を算出し、算出した乖離度が所定の閾値を超える場合に、S402で収集したIRPの傾向が異常であると判定する。なお、ここで説明したIRPの傾向の分析手法は一例である。その他の機械学習の手法を用いてもよいし、機械学習以外の手法(例えば、パターンマッチング)を用いてもよい。
【0045】
ここで、図4は、本実施形態で傾向を分析する対象であるIRPの種類の一例を示す図である。IRPには、データの書き込み及び読み込みの他、ファイルの生成、オープン、又はクローズ、ディレクトリアクセス、及びバッファのフラッシュ等のコマンドがある。これらのIRPは、ランサムウェアが暗号化書き込みを行うときに、正常時との実行回数の乖離が観察されるIRPである。
【0046】
また、図5は、収集期間における、正常時のIRPの数の変化と異常時のIRPの数の変化とを比較して示したグラフである。横軸は時間を示しており、縦軸は3秒間に送信されるIRPの数を示している。同図に示すように、正常時のIRPの数501と比べて、比較対象のIRPの数502は非常に多くなっており、両者に乖離がある。このような場合に、IRP異常検知フィルター311は、比較対象のIRPの傾向は異常であると判定する。
【0047】
次に、図4に示すように、S402で収集したIRPの傾向が異常である場合は(S403:Yes)、IRP異常検知フィルター311は、S404の処理を実行し、S402で収集したIRPの傾向が異常でない場合は(S403:No)、IRP異常検知フィルター311は、S412の処理を実行する。
【0048】
S404においてIRP異常検知フィルター311は、S402で収集したIRPのうちデータの書き込みのためのIRP(IRP_WRITE)のペイロードを特定して取得する。このペイロードには、IRP_WRITEがファイルシステムデバイスに送信されてファイルに書き込まれるべきデータの内容が含まれている。
【0049】
そして、IRP異常検知フィルター311は、取得したペイロードに基づき、ファイルに書き込まれるデータが異常なデータであるか否かを判定する(S405)。
【0050】
本実施形態では、IRP異常検知フィルター311は、ファイルに書き込まれるデータのエントロピーに基づき乱数度を算出し、算出した乱数度が所定の規定値より低いか否かを判定する。この判定方法は、ランサムウェアが暗号化して書き込むデータの乱数度が、通常のデータの書き込みにおけるデータの乱数度と比較して高くなる特徴を利用している。
【0051】
なお、規定値は、書き込み先のファイルによらず一定値でもよいし、書き込み先のファイルごとに異なってもよい。例えば、画像ファイルや暗号化ZIPファイルは、正常時でも乱数度が高いことが知られているため、これらのファイルにデータを書き込むためのIRP_WRITEについては、高い規定値を設定してもよい。また、この規定値は、正常時の乱数度を学習させた学習済みモデルを、機械学習等により作成し、作成した学習済みモデルの結果に基づき定めてもよい。
【0052】
また、乱数度は、エントロピーに基づく算出方法以外の算出方法に基づいて算出してもよい。例えば、正常時のデータ書き込みにおける特定のビットパターンの存在確率を求めておき、その存在確率と、上記ペイロードに基づき書き込まれるデータのビットパターンを比較してもよい。また、上記ペイロードに基づき書き込まれるデータおける一定長の長さの文字列の中に同じ文字が含まれる確率が高い場合に、ファイルに書き込まれるデータが不自然なデータである、という統計的な手法を用いて、乱数度を評価してもよい。
【0053】
さらに、ファイルに書き込まれるデータが異常なデータであるか否かは、乱数度以外のパラメータ以外にも、暗号化処理により作成されるデータの特徴を表す他のパラメータに基づき算出してもよい。例えば、ペイロードが特定のパターン以外のデータを書き込むものである場合は、ファイルに書き込まれるデータが異常なデータであると判定してもよい。
【0054】
ファイルに書き込まれるデータが異常なデータである場合は(S405:No)、IRP異常検知フィルター311はS406の処理を実行し、ファイルに書き込まれるデータが異常なデータでない場合は(S405:Yes)、IRP異常検知フィルター311はS412の処理を実行する。
【0055】
S406においてIRP異常検知フィルター311は、ペイロードに基づき書き込まれるデータの傾向を特定することで、ペイロードに基づく書き込み先のファイルのデータ(書き込み前のデータ)の傾向と大きな差異があるか否かを判定する。
【0056】
本実施形態では、IRP異常検知フィルター311は、ペイロードに基づき書き込まれるデータの乱数度(第1の乱数度)と、ペイロードに基づく書き込み先のファイルのデータ(書き込み前のファイルのデータ)の乱数度(第2の乱数度)との差分が所定閾値以上であるか否かを判定するものとする。ただし、乱数度以外のパラメータ(例えば、特定のデータのパターン)に基づいて傾向の差異を判定してもよい。
【0057】
書き込み後のデータの傾向と書き込み前のデータの傾向とに大きな差異がある場合は(S406:Yes)、IRP異常検知フィルター311はS410の処理を実行し、書き込み後のデータの傾向と書き込み前のデータの傾向とに大きな差異がない場合は(S406:No)、S407の処理を実行する。
【0058】
S407におおいてIRP異常検知フィルター311は、ペイロードに基づくデータの書き込み開始位置がファイルの先頭であるか否かを判定する。具体的には、IRP異常検知フィルター311はS404で取得したペイロードに含まれるオフセット(ファイル先頭を基準としたデータの書き込み位置)を取得し、取得したオフセットが0であるか否かを判定する。
【0059】
ペイロードに基づくデータの書き込み開始位置がファイルの先頭である場合(S407:Yes)、IRP異常検知フィルター311は、S408の処理を実行し、ペイロードに基づくデータの書き込み開始位置がファイルの先頭でない場合(S407:No)、IRP異常検知フィルター311は、S409の処理を実行する。
【0060】
S408においてIRP異常検知フィルター311は、ファイルヘッダテーブル125を参照し、ペイロードに基づき書き込まれるデータの配列が、所定のファイルヘッダ(ファイルヘッダテーブル125に登録されているファイルヘッダ)のデータの配列を含むか否か(書き込まれるデータの先頭部分からの所定長のデータ配列がファイルヘッダと一致するか否か)を判定する。
【0061】
(ファイルヘッダテーブル)
図6は、ファイルヘッダテーブル125の一例を示す図である。ファイルヘッダテーブル125には、アプリケーションからIRP等を介して書き込まれ保持するデータの乱数度が一般的に高い既知の種類のファイル(正常時に書き込まれるデータのエントロピーが高いファイル)の種類と、その種類のファイルを特徴づける当該ファイル内のデータの情報とが格納される。
【0062】
本実施形態では、この特徴づけるデータはファイルのヘッダとするが、その他のデータでもよい。また、データの乱数度が一般的に高いファイルとしては、例えば、画像ファイル又は動画ファイル等、規格化等されたデータ加工処理(データ圧縮等)が行われているものである。
【0063】
ファイルヘッダテーブル125は、各ファイルタイプのID201、そのファイルのタイプ202(例えば拡張子)、そのタイプのファイルが有するヘッダのデータ配列(ヘッダ値203)、及びそのヘッダ部分の長さ(ヘッダ長204)の各データを有する。IRP異常検知フィルター311は、ファイルヘッダテーブル125の各レコードのうち、ヘッダ値203の内容が、ペイロードに基づき書き込まれるデータの先頭からの所定長のバイナリ配列と同じであるレコードがあるか否かを判定する。
【0064】
そして、図3に示すように、ペイロードに基づき書き込まれるデータの先頭部分が、所定のファイルヘッダのデータの配列を含む場合は(S408:Yes)、IRP異常検知フィルター311は、S412の処理を実行する。一方、ペイロードに基づき書き込まれるデータの先頭部分が、所定のファイルヘッダのデータの配列を含まない場合は(S408:No)、IRP異常検知フィルター311は、S410の処理を実行する。この場合、ペイロードに基づく書き込みは、ファイルのヘッダを書き換えるような、正常時では起こりえない不正なデータの書き込みであるか、又は、乱数度の低いデータが書き込まれない種類のファイルへの、乱数度の高い不正なデータの書き込み(s405)であると考えられる。
【0065】
S409においてIRP異常検知フィルター311は、ペイロードに基づきデータを書き込む対象であるファイルの先頭部分が、所定のファイルヘッダ(ファイルヘッダテーブル125に登録されているファイルヘッダ)を含むか否かを判定する。例えば、IRP異常検知フィルター311は、ペイロードに基づきデータを書き込む対象であるファイルを開く。ファイルヘッダの内容の確認は、例えば、S408の処理と同様に行うことができる。
【0066】
ペイロードに基づきデータを書き込む対象であるファイルの先頭部分が、所定のファイルヘッダを含む場合は(S409:Yes)、IRP異常検知フィルター311は、S412の処理を実行し、ペイロードに基づきデータを書き込む対象であるファイルの先頭部分が、所定のファイルヘッダを含まない場合は(S409:No)、IRP異常検知フィルター311は、S410の処理を実行する。
【0067】
S410において不審プロセス対処部123は、ペイロードに基づくデータの書き込みがランサムウェアに基づくものである(不審な暗号化書き込みである)と判定し、そのデータの書き込み先のファイルに対するアクセスを遮断する。例えば、不審プロセス対処部123は、IRPを遮断する(IRP_WRITEによる書き込みを遮断する)。
【0068】
また、不審プロセス対処部123は、遮断したIRPに関する情報を、管理装置20に送信する(S411)。この情報には、IRPに関する情報だけでなく、不審な暗号化書き込みであると判定した根拠(S403~S409の処理内容を示す情報)又はその判定
結果が含まれてもよい。管理装置20は、受信した情報に基づき、後述する警告画面701を表示する。
【0069】
なお、不審プロセス対処部123は、eメールや所定のチャットツールに基づいて上記情報を送信してもよい。また、不審プロセス対処部123は、不正アクセス検知装置10が備える所定のAPIを経由して外部のアプリケーションに上記情報を送信してもよい。また、S410及びS411のうち一方のみの処理が行われてもよい。
【0070】
S412において不正アクセス検知装置10は、S401以降の処理を繰り返す。
【0071】
(警告画面)
図7は、警告画面701の一例を示す図である。警告画面701は、管理装置20が表示してもよいし、不正アクセス検知装置10が表示してもよい。
【0072】
警告画面701は、分析結果表示テーブル表示部702を有する。分析結果表示テーブル表示部702は、暗号化書き込みの検知時刻711と、不審暗号書き込みと検知されたIRPを送信したプロセスの名称712と、不審暗号書き込みと検知されたIRPによるデータの書き込み先であるファイルパス713と、不審暗号書き込みと検知されたIRPのペイロードに含まれる書き込みデータのエントロピー値714と、不審暗号書き込みと検知されたIRPによるデータの書き込み先のファイルのデータのエントロピー値715と、ヘッダに関する判定処理の結果716とをそれぞれ表示する。
【0073】
判定処理の結果716には、不審暗号書き込みと検知されたIRPのペイロードに含まれる書き込みデータの先頭又は書き込み先ファイルの先頭が、ファイルヘッダテーブル125のヘッダ値203のいずれかの値と一致するか否かを示すBOOLEAN値が表示される(S408、S409)。
【0074】
なお、分析結果表示テーブル表示部702は、上記の表示内容の一部のみを表示してもよいし、上記の表示内容以外の内容を表示してもよい。
【0075】
以上のように、本実施形態の不正アクセス検知装置10は、取得したIRPのパターンに基づき、ファイルに対するアクセス態様が異常なものであるか否かを判定し、ファイルに対するアクセス態様が異常なものであると判定した場合に、取得したIRPに基づきファイルに書き込まれるデータ(IRP_WRITEによる書き込みデータ)を特定し、特定したデータの傾向を特定することにより、そのデータが異常なデータであるか否かを判定し、特定したデータが異常なデータであると判定した場合に、ファイルに対するアクセスに関する所定の処理を実行する。
【0076】
このように、不正アクセス検知装置10は、IRPのパターン及び、IRPにより特定されるファイルへの書き込みデータに基づき、暗号化書き込みを判定する。すなわち、ファイルアクセスに直接関わるIRPのみに基づいて、異常なデータ書き込みを判定することができる。これにより、不正なファイル改変を少ないデータで迅速に検知することができる。例えば、ランサムウェアが行う、ユーザの意図しない暗号化や乱数の書き込みをリアルタイム性高く検知することができる。
【0077】
また、本実施形態の不正アクセス検知装置10は、IRP_WRITEによる書き込みデータが異常なデータであると判定した場合に、そのデータの書き込み先のファイルに対するアクセスを遮断する。
【0078】
これにより、ランサムウェア等による不正なファイル改変を防止することができる。
【0079】
また、本実施形態の不正アクセス検知装置10は、IRP_WRITEによる書き込みデータが異常なデータであると判定した場合に、ファイルに対するアクセス態様が異常なものであること又は書き込みデータが異常なデータであることを表す情報を管理装置20に送信する。
【0080】
これにより、管理者等は、ランサムウェア等による不正なファイル改変に特徴的な情報を得ることができる。
【0081】
また、本実施形態の不正アクセス検知装置10は、IRP_WRITEによる書き込みデータが異常なデータであると判定した場合に、ファイルに対するアクセス態様が異常なものであると判定した根拠の情報又は書き込みデータが異常なデータであると判定した根拠の情報を管理装置20に送信する。
【0082】
これにより、管理者等は、ランサムウェア等による不正なファイル改変の原因を推察することができる。
【0083】
また、本実施形態の不正アクセス検知装置10は、IRPのパターンと、ファイルに対するアクセスを行うための入出力要求データの特徴を学習したAIモデル124とに基づき、ファイルに対するアクセス態様が異常なものであるか否かを判定する。
【0084】
これにより、ファイルに対する異常なアクセス態様を精度良く検出することができる。
【0085】
また、本実施形態の不正アクセス検知装置10は、IRP_WRITEによる書き込みデータの乱数度を算出し、算出した乱数度が所定の閾値以上である場合に、書き込みデータが異常なデータであると判定する。
【0086】
ランサムウェア等の不正なアクセスにより書き込まれるデータは、暗号化されたデータ等、一般的に不規則な内容のデータであることが多い。そこで、乱数度が閾値以上である場合に書き込みデータが異常なデータであると判定することで、ファイルに対する異常なアクセス態様を精度良く検出することができる。
【0087】
また、本実施形態の不正アクセス検知装置10は、IRPに基づきファイルに書き込まれるデータの乱数度である第1の乱数度と、IRPに基づき書き込まれる前のファイルのデータの乱数度である第2の乱数度との差分が所定の閾値以上である場合に、書き込みデータが異常なデータであると判定する。
【0088】
これにより、データの乱数度が一般的に低い正常なファイルが、不正なアクセスにより書き込まれたことを精度良く検出することができる。
【0089】
また、本実施形態の不正アクセス検知装置10は、IRPに基づきファイルに書き込まれるデータの乱数度が所定の閾値以上であり、そのデータの、ファイル上での書き込み開始位置がファイルの先頭である場合には、そのデータの先頭部分のデータ配列が、ファイルヘッダテーブル125におけるヘッダのデータ配列を含んでいないと判定した場合に、書き込まれるデータが異常なデータであると判定する。
【0090】
IRPが、ファイルの先頭からデータを書き込むが、既存種類のファイルのヘッダを書き込むような要求ではない場合には、書き込まれるデータが異常なデータである蓋然性が高い。したがって、上記構成により、ランサムウェア等が典型的に行う不正なファイル改変を検知することができる。
【0091】
また、本実施形態の不正アクセス検知装置10は、IRPに基づきファイルに書き込まれるデータの乱数度が所定の閾値以上である場合には、書き込まれるデータが、乱数度の高いデータを保持するファイルを特徴付ける当該ファイル内のデータを含まないと判定した場合に、書き込まれるデータが異常なデータであると判定する。
【0092】
IRPは乱数度の高いデータを書き込む要求であったが、その書き込みデータが、乱数度が高いデータを保持する種類のファイルが有するデータを含む場合には、そのデータ書き込みは正常なデータ書き込みである蓋然性が高い。したがって、上記構成により、ランサムウェア等が行う不正なファイル改変の誤検知を防ぐことができる。
【0093】
そして、本実施形態の不正アクセス検知装置10は、IRPに基づきファイルに書き込まれるデータの乱数度が所定の閾値以上であり、そのデータの書き込み先であるファイル上での書き込み開始位置がそのファイルの先頭である場合には、書き込まれるデータが、ファイルヘッダテーブル125における、乱数度の高いデータを保持するファイルを特徴付ける当該ファイル内のヘッダを含まないと判定した場合に、書き込まれるデータが異常なデータであると判定する。
【0094】
ヘッダは、ファイルの種類及びそのデータ内容を最も特徴づけるデータである。したがって、データの書き込み開始位置がファイルの先頭である場合に、このようなヘッダを異常データの判定に用いることにより、ランサムウェア等が行う不正なファイル改変の誤検知をより確実に防ぐことができる。
【0095】
また、本実施形態の不正アクセス検知装置10は、IRPに基づきファイルに書き込まれるデータの乱数度が所定の閾値以上である場合には、そのファイルが、乱数度の高いデータを保持するファイルを特徴付ける当該ファイル内のデータを含まないと判定した場合に、書き込まれるデータが異常なデータであると判定する。
【0096】
データの書き込み先のファイルが、乱数度の高いデータを保持するファイルを特徴付ける当該ファイル内のデータを含む場合には、上記書き込みデータの乱数度が所定の閾値以上であっても、そのデータ書き込みは正常なデータ書き込みである蓋然性が高い。したがって、上記構成により、ランサムウェア等が行う不正なファイル改変の誤検知を防ぐことができる。
【0097】
また、本実施形態の不正アクセス検知装置10は、IRPに基づきファイルに書き込まれるデータの乱数度が所定の閾値以上であり、そのデータの書き込み先であるファイル上での書き込み開始位置がそのファイルの先頭でない場合には、そのファイルが、ファイルヘッダテーブル125における、乱数度の高いデータを保持するファイルのヘッダを含まないと判定した場合に、書き込まれるデータが異常なデータであると判定する。
【0098】
ヘッダは、ファイルの種類及びそのデータ内容を最も特徴づけるデータである。したがって、データの書き込み開始位置がファイルの先頭でない場合に、書き込み先のファイルのヘッダを異常データの判定に用いることにより、ランサムウェア等が行う不正なファイル改変の誤検知をより確実に防ぐことができる。
【0099】
本発明は、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲内で、任意の構成要素を用いて実施可能である。以上説明した実施形態や変形例はあくまで一例であり、発明の特徴が損なわれない限り、本発明はこれらの内容に限定されるものではない。また、上記では種々の実施形態や変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の
範囲内に含まれる。
【0100】
例えば、本実施形態の各装置が備えるハードウェアの一部は、他の装置に設けてもよい。
【0101】
また、各装置の各プログラムは他の装置に設けてもよいし、あるプログラムを複数のプログラムからなるものとしてもよいし、複数のプログラムを一つのプログラムに統合してもよい。
【0102】
また、アプリケーションは、不正アクセス検知装置10以外の装置に記憶されていてもよい。
【0103】
また、本実施形態では、不正アクセス検知装置10は、ファイルヘッダテーブル125により、保持するデータの乱数度が高いファイルの種類をヘッダにより特定するものとしたが、ファイルのヘッダ以外の特徴的な部分で、保持するデータの乱数度が高いファイルを特定するようにしてもよい。
【符号の説明】
【0104】
1 不正アクセス検知システム、10 不正アクセス検知装置、121 IRP収集部、122 不審プロセス検知部、123 不審プロセス対処部
図1
図2
図3
図4
図5
図6
図7