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

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

▶ NECソリューションイノベータ株式会社の特許一覧 ▶ 日本電気株式会社の特許一覧

<>
  • 特開-ストレージ装置 図1
  • 特開-ストレージ装置 図2
  • 特開-ストレージ装置 図3
  • 特開-ストレージ装置 図4
  • 特開-ストレージ装置 図5
  • 特開-ストレージ装置 図6
  • 特開-ストレージ装置 図7
  • 特開-ストレージ装置 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022088107
(43)【公開日】2022-06-14
(54)【発明の名称】ストレージ装置
(51)【国際特許分類】
   G06F 21/55 20130101AFI20220607BHJP
   G06F 3/06 20060101ALI20220607BHJP
   G06F 11/30 20060101ALI20220607BHJP
【FI】
G06F21/55
G06F3/06 304F
G06F3/06 304P
G06F11/30 140M
G06F11/30 155
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2020200366
(22)【出願日】2020-12-02
(71)【出願人】
【識別番号】000232092
【氏名又は名称】NECソリューションイノベータ株式会社
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100124811
【弁理士】
【氏名又は名称】馬場 資博
(74)【代理人】
【識別番号】100088959
【弁理士】
【氏名又は名称】境 廣巳
(74)【代理人】
【識別番号】100097157
【弁理士】
【氏名又は名称】桂木 雄二
(74)【代理人】
【識別番号】100187724
【弁理士】
【氏名又は名称】唐鎌 睦
(72)【発明者】
【氏名】渡邊 倫幸
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042GA34
5B042MA08
5B042MA14
5B042MC22
5B042MC40
(57)【要約】      (修正有)
【課題】データの改ざんを的確に検知することが可能なストレージ装置、改ざん検知方法及びプログラムを提供する。
【解決手段】ストレージ装置は、バックアップ処理を行う際の動作に応じた情報であるI/Oパターン情報の収集として、ストレージ装置内でI/Oパターン情報を収集するとともに、バックアップ対象データを送信するクライアント装置からクライアント装置内で取得されたI/Oパターン情報を取得するI/Oパターン収集部と、I/Oパターン収集部が収集したI/Oパターン情報に基づいてバックアップ対象データに対する改ざんを検知する検知部として機能するデータ分析部と、を有する。
【選択図】図1
【特許請求の範囲】
【請求項1】
バックアップ処理を行う際の動作に応じた情報であるI/Oパターン情報を収集する収集部と、
前記収集部が収集した前記I/Oパターン情報に基づいてバックアップ対象データに対する改ざんを検知する検知部と、
を有する
ストレージ装置。
【請求項2】
前記収集部は、ストレージ装置内で前記I/Oパターン情報を収集するとともに、前記バックアップ対象データを送信するクライアント装置から当該クライアント装置内で取得された前記I/Oパターン情報を取得する
請求項1に記載のストレージ装置。
【請求項3】
前記I/Oパターン情報には、バックアップソフトのログが含まれている
請求項1または請求項2に記載のストレージ装置。
【請求項4】
前記検知部は、前記I/Oパターン情報に含まれる各情報に対して予め付与された特性情報に基づいて、改ざんを検知する
請求項1から請求項3までのいずれか1項に記載のストレージ装置。
【請求項5】
前記検知部は、過去に収集した前記I/Oパターン情報に含まれる情報を用いた機械学習の結果を用いて改ざんを検知する
請求項1から請求項4までのうちのいずれか1項にストレージ装置。
【請求項6】
前記検知部は、過去に収集した前記I/Oパターン情報に含まれる情報を成分とする主成分分析を用いて改ざんを検知する
請求項1から請求項5までのうちのいずれか1項に記載のストレージ装置。
【請求項7】
前記検知部は、過去に収集した前記I/Oパターン情報に含まれる情報を特徴量として予め機械学習により分類しておいた結果を用いて改ざんを検知する
請求項1から請求項6までのうちのいずれか1項に記載のストレージ装置。
【請求項8】
バックアップによる更新前にファイルシステムのスナップショットを作成する制御部を有し、
前記検知部が改ざんを検知した際でもバックアップを失敗させない
請求項1から請求項7までのうちのいずれか1項に記載のストレージ装置。
【請求項9】
前記検知部は、前記I/Oパターン情報に基づいて、所定のパラメータ値を出力する
請求項1から請求項8までのうちのいずれか1項に記載のストレージ装置。
【請求項10】
情報処理装置が、
バックアップ処理を行う際の動作に応じた情報であるI/Oパターン情報を収集し、
収集した前記I/Oパターン情報に基づいてバックアップ対象データに対する改ざんを検知する
改ざん検知方法。
【請求項11】
情報処理装置に、
バックアップ処理を行う際の動作に応じた情報であるI/Oパターン情報を収集し、
収集した前記I/Oパターン情報に基づいてバックアップ対象データに対する改ざんを検知する
処理を実現させるためのプログラム。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ストレージ装置、改ざん検知方法、プログラムに関する。
【背景技術】
【0002】
データの改ざんなどを行う不正アクセスを検知するための方法が知られている。
【0003】
例えば、特許文献1には、カーネル空間とAP空間とを備える不正アクセス対策制御装置が記載されている。特許文献1によると、カーネル空間において、不正アクセスの兆候となるイベントを定義した監視イベント定義テーブルに基づいて、OSで実行されるイベントを監視し、不正アクセスの兆候となるイベントが発生した場合に、AP空間に対し通知を行う。また、AP空間において、不正アクセス検知を行う不正アクセス検知手段と、カーネル空間からの通知を受け、不正アクセス検知手段を実行するソフトウェア制御部と、を備える。このような構成により、性能低下などを抑制しつつリアルタイムで不正アクセスの検知を行うことを可能とする。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006-65835号公報
【特許文献2】国際公開2012/101983号
【発明の概要】
【発明が解決しようとする課題】
【0005】
データの改ざんからデータを保護するための手段としては、不正アクセスを検知するだけでなく、バックアップソフトウェアなどを利用して定期的にデータのバックアップをとっておき、改ざんを検知した場合に過去のバックアップデータからデータを取得して復元する、という方法もある。しかしながら、このような方法をとった場合において、オリジナルデータに加えてバックアップデータも同時に改ざんされた場合、復元する手段がなかった。また、バックアップデータのレプリケーションを行っておく、という方法もある。しかしながら、この方法をとった場合も、改ざんされたデータがレプリケートされてしまうことで復元が不可能になるおそれがあった。
【0006】
このように、データの改ざんを的確に検知することが難しい、という課題が生じていた。そこで、本開示の目的は、データの改ざんを的確に検知することが難しい場合がある、という課題を解決するストレージ装置、改ざん検知方法、プログラムを提供することにある。
【課題を解決するための手段】
【0007】
かかる目的を達成するため本開示の一形態であるストレージ装置は、
バックアップ処理を行う際の動作に応じた情報であるI/Oパターン情報を収集する収集部と、
前記収集部が収集した前記I/Oパターン情報に基づいてバックアップ対象データに対する改ざんを検知する検知部と、
を有する
という構成をとる。
【0008】
また、本開示の他の形態である改ざん検知方法は、
情報処理装置が、
バックアップ処理を行う際の動作に応じた情報であるI/Oパターン情報を収集し、
収集した前記I/Oパターン情報に基づいてバックアップ対象データに対する改ざんを検知する
という構成をとる。
【0009】
また、本開示の他の形態であるプログラムは、
情報処理装置に、
バックアップ処理を行う際の動作に応じた情報であるI/Oパターン情報を収集し、
収集した前記I/Oパターン情報に基づいてバックアップ対象データに対する改ざんを検知する
処理を実現させるためのプログラムである。
【発明の効果】
【0010】
上述したような各構成によると、データの改ざんを的確に検知することが可能となる。
【図面の簡単な説明】
【0011】
図1】本開示の第1の実施形態におけるストレージ装置とクライアント装置の構成例を示す図である。
図2】I/Oパターン収集部が収集するI/Oパターン情報の一例を示す図である。
図3】データ分析部による改ざん検知アルゴリズム例を示す図である。
図4】改ざん検知の一例を説明するための図である。
図5】ストレージ装置が改ざん検知する際の動作例を示すフローチャートである。
図6】ストレージ装置の他の処理例を説明するための図である。
図7】本開示の第2の実施形態におけるストレージ装置のハードウェア構成例を示す図である。
図8】ストレージ装置の構成例を示すブロック図である。
【発明を実施するための形態】
【0012】
[第1の実施形態]
本開示の第1の実施形態について、図1から図6までを参照して説明する。図1は、ストレージ装置100とクライアント装置200の構成例を示すブロック図である。図2は、I/Oパターン収集部110が収集するI/Oパターン情報の一例を示す図である。図3は、データ分析部120による改ざん検知アルゴリズム例を示す図である。図4は、改ざん検知の一例を説明するための図である。図5は、ストレージ装置100が改ざん検知する際の動作例を示すフローチャートである。図6は、ストレージ装置100の他の処理例を説明するための図である。
【0013】
本開示の第1の実施形態においては、クライアント装置200からバックアップ対象データを受信して記憶するバックアップ処理を行うストレージ装置100について説明する。後述するように、ストレージ装置100は、クライアント装置200からのバックアップ対象データの受信などに応じて、バックアップ処理を行う際の動作などに応じた情報であるI/Oパターン情報を収集する。そして、ストレージ装置100は、収集したI/Oパターン情報に基づいて、バックアップ対象データなどに対する改ざんを検知する。バックアップソフト210によるI/Oは、ソフトウェアごとに一定のパターンをとることが多い。ストレージ装置100は、上記パターンに着目することで、改ざんの検知などを行うことが出来る。
【0014】
なお、後述するように、I/Oパターン情報には、ストレージ装置100内で抽出される(収集される)情報と、クライアント装置200内で動作する収集部220が収集する情報と、が含まれうる。I/Oパターン情報には、ストレージ装置100内で抽出される情報と、クライアント装置200内で動作する収集部220が収集する情報と、のうちのいずれか一方のみが含まれてもよい。
【0015】
また、ストレージ装置100は、バックアップ処理を行う前に、バックアップ対象データの受信などを契機として、更新前のファイルシステムのスナップショットを作成しておくことが出来る。そして、改ざんを検知した場合、ストレージ装置100は、バックアップによるI/Oを制限することなく、改ざんを検知した旨をユーザなどに通知することが出来る。例えば、バックアップ対象データが増減されたり、バックアップソフト210が更新されたりすると、I/Oパターンが変動することもある。改ざんを検知しつつバックアップを失敗させないことで、上記のような場合に対応することが出来る。なお、特にCAS(Contents Addressed Storage)装置では、特許文献2に記載のような方法を用いることで、ユーザのI/O性能に影響を与えることなくスナップショットを作成することが出来る。そのため、特許文献2に記載のような方法を用いてスナップショットを作成してもよい。
【0016】
図1は、全体の構成例を示している。図1で示すように、ストレージ装置100は、クライアント装置200と互いに通信可能なよう接続されている。ストレージ装置100は、クライアント装置200から、バックアップ対象データやクライアント装置200で収集したI/Oパターン情報などを受信する。
【0017】
また、図1を参照すると、ストレージ装置100は、バックアップ処理の際に用いる構成とともに、I/Oパターン収集部110とデータ分析部120と制御部130と通報部140と記憶装置150とを有している。
【0018】
例えば、ストレージ装置100は、CPUなどの演算装置と、記憶装置150などの記憶装置と、を有している。例えば、ストレージ装置100は、記憶装置150などの記憶装置に格納されたプログラムを演算装置が実行することで、上述した各処理部を実現することが出来る。ストレージ装置100は、ハードウェア、または、ハードウェアとソフトウェアとの組み合わせなどにより上記各処理部を実現してもよい。
【0019】
I/Oパターン収集部110は、バックアップ処理を行う際の動作などに応じた情報であるI/Oパターン情報を収集する。例えば、I/Oパターン収集部110は、バックアップ対象データやクライアント装置200で収集したI/Oパターン情報などをクライアント装置200から受信すると、I/Oパターン情報の収集を開始する。そして、I/Oパターン収集部110は、収集したI/Oパターン情報を記憶装置150に格納する。
【0020】
I/Oパターン収集部110は、クライアント装置200が有する収集部220から情報を受信する、ストレージ装置100内から情報を取得する、などの方法で、I/Oパターン情報を収集する。例えば、図2を参照すると、I/Oパターン収集部110は、下記で例示するうちの少なくとも一部を含むI/Oパターン情報を収集する。
・クライアント装置200のIPアドレスやネットワークのルーティング情報、メモリやCPU使用量
・バックアップソフト210のソフトウェアログ、設定パラメータ
・ファイルの作成、ファイルへのライト、リード等の頻度や量、実行時間、ファイル名
・リード、ライトの実行性能、リードやライトの開始位置、データサイズ、データ特性(圧縮可能率、重複データ内包率など)
・ストレージ装置100内のメモリやCPU使用量、リソースの割り当て比率
なお、上記例示した情報のうち、クライアント装置200のIPアドレスやネットワークのルーティング情報、メモリやCPU使用量、バックアップソフト210のソフトウェアログ、設定パラメータなどのうちの少なくとも一部は、例えば、収集部220から情報を受信することで収集することが出来る。また、ファイルの作成、ファイルへのライト、リード等の頻度や量、実行時間、ファイル名、リード、ライトの実行性能、リードやライトの開始位置、データサイズ、データ特性(圧縮可能率、重複データ内包率など)、ストレージ装置内のメモリやCPU使用量などのうちの少なくとも一部は、例えば、ストレージ装置100内から情報を取得することにより収集することが出来る。
【0021】
なお、I/Oパターン収集部110は、記憶装置150に格納したI/Oパターン情報を所定の条件に従って削除するよう構成してもよい。例えば、I/Oパターン収集部110は、予め定められたバックアップ回数分のI/Oパターン情報を記憶装置150に残し、古いものを順に削除するよう構成してもよい。削除の基準になる回数は、例えば、平均値や偏差値の算出、あるいは、機械学習の入力データとして必要な回数など、改ざんを検知する際に必要となるデータ量などに応じて定めることが出来る。なお、I/Oパターン収集部110は、任意のタイミングで上記削除を行うよう構成してよい。
【0022】
また、I/Oパターン収集部110は、I/Oパターン情報の収集を始めるとともに、ファイルシステムのスナップショットを作成する旨を制御部130に対して指示するよう構成してもよい。また、I/Oパターン収集部110は、バックアップ処理が完了した時点で改ざんが検知されなかった場合、バックアップ処理の前に作成したスナップショットを削除する旨を制御部130に対して指示するよう構成してもよい。
【0023】
データ分析部120は、I/Oパターン収集部110が収集したI/Oパターン情報に基づいて、バックアップ対象データに対する改ざんを検知する。換言すると、データ分析部120は、I/Oパターン情報に基づいてバックアップ対象データに対する改ざんを検知する検知部として機能する。
【0024】
例えば、データ分析部120は、I/Oパターン収集部110が格納した過去のI/Oパターン情報と改ざん検知対象となるI/Oパターン情報との比較、過去のI/Oパターン情報に基づく機械学習の結果を用いる、などの方法により、改ざんを検知することが出来る。換言すると、例えば、データ分析部120は、過去のI/Oパターン情報と改ざん検知対象となるI/Oパターン情報との差異がある場合、過去のI/Oパターン情報が示すデータを数値化して、数値化したデータを入力として機械学習させたAIにより改ざんの可能性があると判断される場合、などに改ざんを検知する。
【0025】
図3は、データ分析部120が改ざん検知する際のアルゴリズム例を示している。例えば、図3を参照すると、改ざん検知する際のアルゴリズムとしては、例えば、ポリシーによる検知、主成分分析やk近傍法などを用いたユーザが定義できない不正の検知、などがある。
【0026】
例えば、データ分析部120は、ポリシーによる検知の一例として、予め定められた特性情報に基づく改ざんの検知を行うことが出来る。例えば、I/Oパターン情報に含まれる各情報には、「バックアップにより不変なもの」「一定の規則性があるもの」などのような特性情報をあらかじめ定義できる。そして、データ分析部120は、検知対象となるI/Oパターン情報に予め定められる特性情報から外れる情報が含まれる場合、改ざんを検知することが出来る。なお、特性情報は、上記例示した以外であってもよい。
【0027】
一例として、I/Oパターン情報のうち、下記のような情報に対して、「バックアップにより不変なもの」「一定の規則性があるもの」などのような特性情報をあらかじめ定義できる。下記例示した以外の情報に特性情報が付与されてもよい。
・バックアップにより不変なもの(バックアップログ有無、接続クライアントIP、バックアップ実行時間など)
・一定の規則性があるもの(ファイル名、バックアップジョブ識別子など)
【0028】
例えば、バックアップ対象データを受信しているが、バックアップソフト210のログが届いていないとする。この場合、「バックアップにより不変なもの」という特性を有するバックアップログにおいて、届くはずのバックアップログが届いていないことになる。そこで、データ分析部120は、検知対象となるI/Oパターン情報に予め定められる特性情報から外れる情報が含まれると判断して、改ざんを検知する。このように、データ分析部120は、特性情報を用いた過去の情報との比較により、改ざんを検知することが出来る。
【0029】
また、例えば、データ分析部120は、ユーザが定義できない不正の検知の一例として、主成分分析を用いた改ざんの検知を行うことが出来る。例えば、データ分析部120は、
過去のI/Oパターン情報のうち一回のバックアップ中における回数あるいは量を計測、算出可能なものを成分とする主成分分析を予め行う。そして、データ分析部120は、主成分分析による異常検知の手法を用いた分析を行う。例えば、データ分析部120は、検知対象となるI/Oパターン情報である今回の書き込みが正常部分空間から逸脱しているとき、改ざんとみなすことが出来る。なお、I/Oパターン情報のうち一回のバックアップ中における回数あるいは量を計測、算出可能なものとは、例えば、ファイル作成回数、ファイル属性更新回数、データ量などである。データ分析部120は、上記例示したうちの一部を用いて主成分分析してもよいし、上記例示した以外のI/Oパターン情報に含まれる情報を用いて主成分分析してもよい。また、主成分分析による異常検知の手法は、既知の方法であってよい。
【0030】
バックアップソフト210によるバックアップ処理は、同じオリジナルデータ(一部更新を含む)を対象として、繰り返し、定期的に、一定のロジックで行われる。また、一般的に、バックアップソフト210は、バックアップ処理の際、オリジナルデータに加えて管理用のデータ(メタデータ)を一定の規則で埋め込む。そのため、I/Oパターン情報のうち、以下のような情報(成分)に一貫性が生じる。従って、下記のような情報のうちの少なくとも一部に対して主成分分析を用いることで、異常である改ざんを検知できることになる。
・作成されるファイル数とファイルの属性変更回数の比率
・同時に書き込みが起こるファイル数の上限
・ファイルの作成タイミング(例えば、バックアップ開始からのオフセット時間の分散)
・作成されるファイル数と書き込まれるデータ量の比率
・サイズの小さいファイル数(メタデータ)とサイズの大きいファイル数(データ)の比率
・特定オフセット(例えば、ファイル先頭、32KB、64KB)へのライト回数
・ライトオフセットの遷移(例えば、(ライトオフセット‐前のライトオフセット‐前のライトサイズ)2の平均)
【0031】
例えば、バックアップソフト210では、2GBのファイル一つに対し3回の属性変更をし、サイズの小さい管理ファイルに対し8回の属性変更をするという特徴があるとする。上記のような状況において、検知対象となるI/Oパターン情報においては、いずれのファイルに対しても一回の属性更新のみが行われているとする。例えば、このような場合、データ分析部120は、改ざんを検知することが出来る。
【0032】
また、例えば、データ分析部120は、ユーザが定義できない不正の検知の一例として、k近傍法などを用いた分類の結果を用いた改ざんの検知を行うことが出来る。例えば、データ分析部120は、過去のI/Oパターン情報のうち時系列(連続)データとなるもの(ライト性能、CPU使用率、重複排除率など)を特徴量として、あらかじめ機械学習して(k近傍法などを用いて)分類しておく。そして、データ分析部120は、検知対象となるI/Oパターン情報においていずれの分類にも当てはまらないとき、改ざんとみなすことが出来る。なお、I/Oパターン情報のうち時系列(連続)データとなるものとは、例えば、ライト性能、CPU使用率、重複排除率などである。データ分析部120は、上記例示したうちの一部を用いて機械学習してもよいし、上記例示した以外のI/Oパターン情報に含まれる情報を用いて機械学習してもよい。
【0033】
例えば、CASストレージにおいては、ライトデータが格納済みのデータに重複するか否かにより性能が変動する特徴をもつものがある。その場合、性能グラフは間接的にデータの重複情報を含むことになり、バックアップ対象データの更新部分がどこにあるか(いつ書き込まれるか)の特徴を表現するものとなる。そのため、上述したような分類を行っておくことで、改ざんを検知することが出来る。
【0034】
例えば、図4で示すように、ライト性能が機械学習(例えばk近傍法)で分類済みのどのクラスにも当てはまらない(例えば、所定以上の距離がある)とする。このような場合、データ分析部120は、改ざんを検知することが出来る。
【0035】
例えば、以上説明したように、データ分析部120は、I/Oパターン情報に対して様々な処理を行うことで、改ざんを検知することが出来る。データ分析部120は、上記例示した方法を組み合わせて改ざんを検知してもよいし、上記例示したうちの一部を用いて改ざんを検知してもよい。
【0036】
制御部130は、スナップショットの作成や削除を行う。また、制御部130は、データ分析部120が改ざんを検知した際に、通報部140に対して所定の通報を行うよう指示する。
【0037】
例えば、制御部130は、I/Oパターン収集部110からの指示などに応じて、スナップショットを作成したり削除したりすることが出来る。上述したように、制御部130は、特許文献2に記載のような方法を用いてスナップショットを作成してもよい。
【0038】
通報部140は、制御部130からの指示などに応じて、予め登録されたユーザに通報を行う。例えば、通報部140は、データ分析部120による改ざんの検知に応じて、改ざんを検知した旨をユーザに通報する。
【0039】
記憶装置150は、I/Oパターン情報を格納する記憶装置である。記憶装置150には、バックアップ対象データや制御部130が作成したスナップショットなどが格納されてもよい。
【0040】
以上が、ストレージ装置100の構成例である。
【0041】
クライアント装置200は、バックアップ対象データなどをストレージ装置100に対して送信する情報処理装置である。図1を参照すると、クライアント装置200は、例えば、OSなどを有しており、また、バックアップソフト210と収集部220とを有している。
【0042】
バックアップソフト210は、バックアップ対象データをストレージ装置100へと送信することなどにより、バックアップ処理を行う。バックアップソフト210は、既知のものであってよい。
【0043】
収集部220は、クライアント装置200で取得可能なI/Oパターン情報を取得してストレージ装置100へと送信する。例えば、収集部220は、バックアップソフト210のログを監視する。そして、収集部220は、バックアップの開始を契機として、クライアント装置200で取得可能なI/Oパターン情報を取得する。収集部220は、例えば定期的に取得したI/Oパターン情報をストレージ装置100に対して送信することが出来る。
【0044】
例えば、収集部220は、IPアドレスやネットワークのルーティング情報、メモリやCPU使用量などを取得する。また、収集部220は、バックアップソフト210のAPIなどを通じて、バックアップソフト210の設定値を取得する。取得対象となる設定値は、例えば、予め定められている。そして、収集部220は、バックアップソフト210のログや、上記取得したI/Oパターン情報を、あらかじめ設定してあるネットワークパスなどを通じて、ストレージ装置100に対して定期的に送信する。
【0045】
なお、収集部220は、バックアップソフト210のログを無加工のまま送信してもよいし、あらかじめ設定したパース方法などにより部分的に切り出して送信してもよい。また、部分的に切り出す場合などにおいて、収集部220は、バックアップ毎に異なる値となるべきもの、共通の値になるべきもの、のような特性情報を、切り出した値などに設定してもよい。つまり、収集部220は、予め定められた基準などに従って、I/Oパターン情報を取得するとともに取得したI/Oパターン情報に特性情報などを付与してもよい。
【0046】
以上が、クライアント装置200の構成例である。続いて、図5を参照して、ストレージ装置100が改ざんを検知する際の動作例について説明する。
【0047】
図5を参照すると、I/Oパターン収集部110は、I/Oパターン情報の収集を始めるとともに、ファイルシステムのスナップショットを作成する旨を制御部130に対して指示する。これにより、制御部130は、更新前のスナップショットを作成する(ステップS101)。
【0048】
I/Oパターン収集部110は、I/Oパターン情報を収集する。例えば、I/Oパターン収集部110は、収集部220から受信したり、ストレージ装置100内で収集したりすることで、I/Oパターン情報を収集する(ステップS102)。
【0049】
データ分析部120は、I/Oパターン収集部110が収集したI/Oパターン情報に基づいて、バックアップ対象データに対する改ざんを検知する(ステップS103)。例えば、データ分析部120は、ポリシーによる検知、主成分分析やk近傍法などを用いたユーザが定義できない不正の検知、などのアルゴリズムのうちの少なくとも1つを用いて、改ざんを検知する。
【0050】
バックアップ処理が終了しても改ざんを検知しなかった場合(ステップS103、No)、データ分析部120は、改ざんを検知しなかった旨をI/Oパターン収集部110に通知する。これを受けて、I/Oパターン収集部110は、更新前に作成したスナップショットを削除するよう制御部130に通知する。これにより、制御部130は、更新前に作成したスナップショットを削除する(ステップS104)。このように、制御部130は、バックアップ処理が終了してもデータ分析部120が改ざんを検知しなかった場合、更新前に作成したスナップショットを削除する。
【0051】
一方、データ分析部120が改ざんを検知した場合(ステップS103、Yes)、データ分析部120は、改ざんを検知した旨を制御部130に通知する。これを受けて、制御部130は、通報部140に対して所定の通報を行うよう指示する。これにより、通報部140は、ユーザに対して改ざんを検知した旨を通報する(S105)。
【0052】
このように、ストレージ装置100は、I/Oパターン収集部110とデータ分析部120とを有している。このような構成により、データ分析部120は、I/Oパターン収集部110が収集したI/Oパターン情報に基づいて改ざんを検知することができる。つまり、ストレージ装置100は、クライアントの情報、特にバックアップソフト210のログを含むI/Oパターン情報に基づいて動作の違いを検出することで、バックアップソフト210を通さずに行われた改ざんを検知することができる。これにより、データの改ざんを的確に検知することが可能となる。
【0053】
また、本実施形態で説明したストレージ装置100によると、I/Oパターン情報としてデータサイズ、データ特性(圧縮可能率、重複データ内包率など)を含め、データそのものの違いを検出することで改ざんを検知する。そのため、改ざんされたオリジナルデータをバックアップしたことを検知できる可能性がある。例えば、ランサムウェアと呼ばれるマルウェアの一種では、ファイルを暗号化することでデータへのアクセスを妨害し復号化のためのシークレットキーと引き換えに身代金を要求するといったことが行われるが、暗号化されたデータは、ストレージ装置100に保存された過去のデータと比べ上記のI/Oパターン情報に差異がでる。そのため、本実施形態で説明したストレージ装置100によると、上記のような場合に問題なく改ざんを検知することが出来る。
【0054】
また、本実施形態で説明したストレージ装置100によると、更新前(バックアップ前)にスナップショットを作成しておく。そして、改ざんを検知した場合、ストレージ装置100は、バックアップによるI/Oを制限することなく、改ざんを検知した旨をユーザなどに通知する。例えば、バックアップ対象データが増減されたり、バックアップソフト210が更新されたりすると、I/Oパターンが変動することもある。改ざんを検知しつつバックアップを失敗させないことで、上記のような場合に対応することが出来る。
【0055】
また、ストレージによっては、ファイルに対して予め設定した一定の期間、更新を行えないようにする機能であるWORM(Write Once Read Many)機能を提供することがある。本実施形態で説明した方法によると、独自のプロトコルが必要になるWORM機能が不要となるため、バックアップソフト210の選定に制限を設けることなく、改ざんを検知することが出来る。
【0056】
なお、ストレージ装置100は、I/Oパターン情報に基づいて、改ざんの検知の他にパフォーマンスのチューニングのための処理を行うよう構成してもよい。つまり、I/Oパターン情報は、ストレージ装置100のパフォーマンスを向上させるためにも用いることが出来る。このような構成によると、一定量のバックアップ試験実施(機械学習)を行うだけで、自動で最適なI/Oパフォーマンスにチューニングすることが出来る。その結果、例えば、新規にシステムを構築する場合や、バックアップソフト210、クライアント装置200のOSなどの更新をする場合などにかかる手間を削減することが可能となる。
【0057】
例えば、ファイルの作成数、ファイルへのライト、リードの量、リソースの割り当て比率などに対してあらかじめ閾値およびそれに対応するパラメータの値を設定しておく。そして、例えば、データ分析部120は、I/Oパターン情報が示す各実行データの値が閾値を超えた場合に、あらかじめ設定してあるパラメータ値を推奨値として出力する。なお、パラメータの値は、例えば、記憶装置150に格納された一定期間分のI/Oパターン情報などを入力として機械学習させたAIなどにより算出された値などであってもよい。つまり、データ分析部120が出力するパラメータは、ディープラーニングなど既知の技術を用いて算出されたものであってもよい。
【0058】
また、制御部130は、データ分析部120によりパラメータの変更が推奨された場合、ストレージ装置100自身のパラメータをデータ分析部120が出力する値に変更したり、クライアント装置200側のパラメータ値変更の実施、あるいは、提案などを行ったりすることが出来る。例えば、制御部130は、クライアント装置200側のパラメータ値変更の実施、あるいは、提案などを、クライアント装置200の提供するAPI、Webhook、メールなどを通じて行うよう構成してよい。
【0059】
例えば、ソフトウェアが利用できるメモリ、CPU、ストレージ容量などのリソースには物理的に制限がある。そのため、ソフトウェア内部で目的別にリソースをあらかじめ割り当てるということが一般的に行われる。例えば、図6で示すように、ストレージ装置100では、ファイルを表現する構造体に利用するメモリ量と、ライトされるデータのバッファとして利用するメモリ量、リードされたデータをキャッシュするためのメモリ量をそれぞれ割り当てることが考えられる。
【0060】
このようなリソースの内部的な割り当ては、一般的なユースケースに最適化された状態をデフォルトとしてソフトウェアに組み込まれることが考えられる。しかしながら、個々のケースにおいては、上記のようなリソース割り当てがネックとなり性能の低下を招くことがある。また、ユーザがこのようなソフトウェア内の仕様を理解し、パラメータ設定によりこれらを変更するということは困難であることが多い。
【0061】
そこで、過去に行われた実際のI/Oパターンを示すI/Oパターン情報に基づいて上記割り当てをチューニングする。例えば、データ分析部120は、I/Oパターン情報に含まれるファイル構造体のメモリ使用率が閾値(例えば、100%となった回数の平均が3など)を超えた場合に、予め定められたパラメータ(例えば、ファイル構造体のメモリ割り当てを10%増し、リードキャッシュのメモリ割り当てを10%削減するなど)を出力する。例えば、以上のように、データ分析部120や制御部130は、I/Oパターン情報に基づいて、改ざんの検知の他にパフォーマンスのチューニングのための処理を行うよう構成してもよい。
【0062】
[第2の実施形態]
次に、図7図8を参照して、本開示の第2の実施形態について説明する。第2の実施形態では、ストレージ装置300について説明する。
【0063】
図7は、ストレージ装置300のハードウェア構成例を示している。図7を参照すると、ストレージ装置300は、一例として、以下のようなハードウェア構成を有している。
・CPU(Central Processing Unit)301(演算装置)
・ROM(Read Only Memory)302(記憶装置)
・RAM(Random Access Memory)303(記憶装置)
・RAM303にロードされるプログラム群304
・プログラム群304を格納する記憶装置305
・ストレージ装置外部の記録媒体310の読み書きを行うドライブ装置306
・ストレージ装置外部の通信ネットワーク311と接続する通信インタフェース307
・データの入出力を行う入出力インタフェース308
・各構成要素を接続するバス309
【0064】
また、ストレージ装置300は、プログラム群304をCPU301が取得して当該CPU301が実行することで、図8に示す収集部321、検知部322としての機能を実現することが出来る。なお、プログラム群304は、例えば、予め記憶装置305やROM302に格納されており、必要に応じてCPU301がRAM303などにロードして実行する。また、プログラム群304は、通信ネットワーク311を介してCPU301に供給されてもよいし、予め記録媒体310に格納されており、ドライブ装置306が該プログラムを読み出してCPU301に供給してもよい。
【0065】
なお、図7は、ストレージ装置300のハードウェア構成例を示している。ストレージ装置300のハードウェア構成は上述した場合に限定されない。例えば、ストレージ装置300は、ドライブ装置306を有さないなど、上述した構成の一部から構成されてもよい。
【0066】
収集部321は、バックアップ処理を行う際の動作に応じた情報であるI/Oパターン情報を収集する。
【0067】
検知部322は、収集部321が収集したI/Oパターン情報に基づいてバックアップ対象データに対する改ざんを検知する。
【0068】
このように、ストレージ装置300は、収集部321と検知部322とを有している。このような構成によると、検知部322は、収集部321が収集したI/Oパターン情報に基づいてバックアップ対象データに対する改ざんを検知することが出来る。その結果、改ざんを的確に検知することが可能となる。
【0069】
なお、上述したストレージ装置300は、当該ストレージ装置300などの情報処理装置に所定のプログラムが組み込まれることで実現できる。具体的に、本発明の他の形態であるプログラムは、ストレージ装置300などの情報処理装置に、バックアップ処理を行う際の動作に応じた情報であるI/Oパターン情報を収集し、収集したI/Oパターン情報に基づいてバックアップ対象データに対する改ざんを検知する処理を実現させるためのプログラムである。
【0070】
また、上述したストレージ装置300などの情報処理装置により実現される改ざん検知方法は、ストレージ装置300などの情報処理装置が、バックアップ処理を行う際の動作に応じた情報であるI/Oパターン情報を収集し、収集したI/Oパターン情報に基づいてバックアップ対象データに対する改ざんを検知する、という方法である。
【0071】
上述した構成を有する、プログラム(または記録媒体)、または、改ざん検知方法、の発明であっても、上述したストレージ装置300と同様の作用・効果を有するために、上述した本発明の目的を達成することが出来る。
【0072】
<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明におけるストレージ装置などの概略を説明する。但し、本発明は、以下の構成に限定されない。
【0073】
(付記1)
バックアップ処理を行う際の動作に応じた情報であるI/Oパターン情報を収集する収集部と、
前記収集部が収集した前記I/Oパターン情報に基づいてバックアップ対象データに対する改ざんを検知する検知部と、
を有する
ストレージ装置。
(付記2)
前記収集部は、ストレージ装置内で前記I/Oパターン情報を収集するとともに、前記バックアップ対象データを送信するクライアント装置から当該クライアント装置内で取得された前記I/Oパターン情報を取得する
付記1に記載のストレージ装置。
(付記3)
前記I/Oパターン情報には、バックアップソフトのログが含まれている
付記1または付記2に記載のストレージ装置。
(付記4)
前記検知部は、前記I/Oパターン情報に含まれる各情報に対して予め付与された特性情報に基づいて、改ざんを検知する
付記1から付記3までのいずれか1項に記載のストレージ装置。
(付記5)
前記検知部は、過去に収集した前記I/Oパターン情報に含まれる情報を用いた機械学習の結果を用いて改ざんを検知する
付記1から付記4までのうちのいずれか1項にストレージ装置。
(付記6)
前記検知部は、過去に収集した前記I/Oパターン情報に含まれる情報を成分とする主成分分析を用いて改ざんを検知する
付記1から付記5までのうちのいずれか1項に記載のストレージ装置。
(付記7)
前記検知部は、過去に収集した前記I/Oパターン情報に含まれる情報を特徴量として予め機械学習により分類しておいた結果を用いて改ざんを検知する
付記1から付記6までのうちのいずれか1項に記載のストレージ装置。
(付記8)
バックアップによる更新前にファイルシステムのスナップショットを作成する制御部を有し、
前記検知部が改ざんを検知した際でもバックアップを失敗させない
付記1から付記7までのうちのいずれか1項に記載のストレージ装置。
(付記9)
前記検知部は、前記I/Oパターン情報に基づいて、所定のパラメータ値を出力する
付記1から付記8までのうちのいずれか1項に記載のストレージ装置。
(付記10)
情報処理装置が、
バックアップ処理を行う際の動作に応じた情報であるI/Oパターン情報を収集し、
収集した前記I/Oパターン情報に基づいてバックアップ対象データに対する改ざんを検知する
改ざん検知方法。
(付記11)
情報処理装置に、
バックアップ処理を行う際の動作に応じた情報であるI/Oパターン情報を収集し、
収集した前記I/Oパターン情報に基づいてバックアップ対象データに対する改ざんを検知する
処理を実現させるためのプログラム。
【0074】
なお、上記各実施形態及び付記において記載したプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されていたりする。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
【0075】
以上、上記各実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることが出来る。
【符号の説明】
【0076】
100 ストレージ装置
110 I/Oパターン収集部
120 データ分析部
130 制御部
140 通報部
150 記憶装置
200 クライアント装置
210 バックアップソフト
220 収集部
300 ストレージ装置
301 CPU
302 ROM
303 RAM
304 プログラム群
305 記憶装置
306 ドライブ装置
307 通信インタフェース
308 入出力インタフェース
309 バス
310 記録媒体
311 通信ネットワーク
321 収集部
322 検知部

図1
図2
図3
図4
図5
図6
図7
図8