(57)【要約】【課題】ファイルを効率良く保護する。【解決手段】保護装置１０は、システム起動時に保護対象ファイルのデータをオープンする。そして保護装置１０は、ＯＳに備えられた検知機能等を利用して、保護対象ファイルへのリンクが削除されたことを検知する。また、保護装置１０は、あらかじめ作成された保護対象ファイルのリストを参照し、リンクが削除されたファイルへのファイルパスを基に、ファイルが保護対象のファイルであるか否かを判定する。また、保護装置１０は、ファイルが保護対象のファイルであると判定した場合、ファイルへのリンクを再作成することをＯＳに要求することにより、リンクを復元する。【選択図】図１
2019207661.tif 000002
【特許請求の範囲】
【請求項１】
あらかじめ定められた保護対象のファイルのファイルパスのリストを取得する管理部と、
前記リストに含まれるファイルパスに該当するファイルのデータを保護する操作を行う操作部と、
を有することを特徴とする保護装置。
【請求項２】
前記操作部は、前記ファイルをオープンすることによって、前記ファイルのデータを保護することを特徴とする請求項１に記載の保護装置。
【請求項３】
前記管理部は、前記保護装置が起動したタイミングで前記リストを取得し、
前記操作部は、前記管理部によって前記リストが取得されたタイミングで前記データを保護する操作を行うことを特徴とする請求項１に記載の保護装置。
【請求項４】
ファイルへのリンクが削除されたことを検知する検知部と、
前記ファイルへのファイルパスを前記リストに照会し、前記ファイルが保護対象のファイルであるか否かを判定する判定部と、
前記判定部によって前記ファイルが保護対象のファイルであると判定された場合、前記ファイルへのリンクを復元する復元部と、
を有することを特徴とする請求項１に記載の保護装置。
【請求項５】
前記検知部は、ファイルへのアクセスが行われていることをさらに検知し、
前記判定部は、前記ファイルのファイルパス及び前記アクセスを行っているプロセスを基に、前記アクセスを許可するか否かをさらに判定し、
前記判定部によって前記アクセスを許可しないと判定された場合、前記アクセスを中止させる中止部をさらに有することを特徴とする請求項４に記載の保護装置。
【請求項６】
コンピュータによって実行される保護方法であって、
あらかじめ定められた保護対象のファイルのファイルパスのリストを取得する管理工程と、
前記リストに含まれるファイルパスに該当するファイルのデータを保護する操作を行う操作工程と、
を含むことを特徴とする保護方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、保護装置及び保護方法に関する。
【背景技術】
【０００２】
従来、ファイルシステム上のファイルを、不正なプロセスやユーザの不注意による削除から保護するための手法が知られている。例えば、Linux（登録商標）では、ユーザのディレクトリ又はファイルに対する書き込み権限を設定することにより、当該ユーザによるファイルの削除等を禁止することができる。さらに、Linuxでは、ファイルに拡張属性としてｉ（immutable）属性を設定しておくことで、当該ファイルの削除等をできなくすることができる。
【０００３】
また、ＯＳ（Operating  System）からアクセスできない保護領域に保護対象のファイルを移動することで、当該ファイルの削除等を行えないようにする手法が知られている（例えば、特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−２２０４００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の手法には、ファイルを効率良く保護することが困難な場合があるという問題がある。例えば、権限を設定する方法については、不正による権限の奪取や権限の設定ミスが発生した場合に、ファイルを十分に保護することができないことが考えられる。また、保護領域にファイルを移動する方法については、ファイルを利用のたびに移動しなければならず、手間がかかる上に、当該ファイルを利用するプログラムが制限されるという問題がある。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、保護装置は、あらかじめ定められた保護対象のファイルのファイルパスのリストを取得する管理部と、前記リストに含まれるファイルパスに該当するファイルのデータを保護する操作を行う操作部と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、ファイルを効率良く保護することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、第１の実施形態に係る保護装置の構成の一例を示す図である。
【図２】図２は、第１の実施形態に係る保護対象ファイルリストの一例を示す図である。
【図３】図３は、第１の実施形態に係るプロセスホワイトリストの一例を示す図である。
【図４】図４は、第１の実施形態に係る保護装置のシステム起動時における処理の流れを示すフローチャートである。
【図５】図５は、第１の実施形態に係る保護装置の保護対象ファイル追加時の処理の流れを示すフローチャートである。
【図６】図６は、第１の実施形態に係る保護装置のファイル削除時における処理の流れを示すフローチャートである。
【図７】図７は、第１の実施形態に係る保護装置のアクセスを制御する際の処理の流れを示すフローチャートである。
【図８】図８は、第１の実施形態に係る保護装置のシステム終了時における処理の流れを示すフローチャートである。
【図９】図９は、保護プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下に、本願に係る保護装置及び保護方法の実施形態を図面に基づいて詳細に説明する。なお、本発明は、以下に説明する実施形態により限定されるものではない。
【００１０】
［第１の実施形態の構成］
まず、図１を用いて、第１の実施形態に係る保護装置の構成について説明する。図１は、第１の実施形態に係る保護装置の構成の一例を示す図である。図１に示すように、保護装置１０は、入力部１１、記憶部１２及び制御部１３を有する。
【００１１】
入力部１１は、ユーザからのデータの入力を受け付ける。入力部１１は、例えば、マウスやキーボード等の入力装置である。また、入力部１１は、他の装置からデータの入力を受け付けるインタフェースであってもよい。
【００１２】
記憶部１２は、ＨＤＤ（Hard  Disk  Drive）、ＳＳＤ（Solid  State  Drive）、光ディスク等の記憶装置である。なお、記憶部１２は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ、ＮＶＳＲＡＭ（Non  Volatile  Static  Random  Access  Memory）等のデータを書き換え可能な半導体メモリであってもよい。記憶部１２は、保護装置１０で実行されるＯＳや各種プログラムを記憶する。さらに、記憶部１２は、プログラムの実行で用いられる各種情報を記憶する。また、記憶部１２は、ファイルデータ１２１、ファイルシステム１２２、保護対象ファイルリスト１２３、プロセスホワイトリスト１２４及び鍵情報１２５を記憶する。
【００１３】
記憶部１２は、ファイルの実体をファイルデータ１２１として記憶する。また、記憶部１２は、ファイルシステム１２２を記憶する。ファイルシステム１２２は、ファイルデータ１２１に含まれるファイルの実体へアクセスするための情報である。ファイルシステム１２２は、ファイルデータ１２１の各ファイルのファイルパスを含む。なお、ファイルシステム１２２は、ＯＳの基本的な機能として実装されているものであってよい。
【００１４】
本実施形態におけるリンクの作成は、ファイルシステム１２２を介してファイルへのアクセスが可能な状態にすることを意味するものとする。また、リンクの削除は、作成済みのリンクを利用不可能な状態にすることを意味するものとする。例えば、保護装置１０は、ファイルシステム１２２にファイルのファイルパスを追加することによりリンクを作成し、また、ファイルパスを削除することによりリンクを削除する。
【００１５】
保護対象ファイルリスト１２３は、保護装置１０によって保護されるファイルを識別するための情報である。保護対象ファイルリスト１２３は、あらかじめ定められた保護対象のファイルのファイルパスのリストの一例である。本実施形態において、保護対象ファイルリスト１２３は、保護対象のファイルのファイルパスの一覧である。図２は、第１の実施形態に係る保護対象ファイルリストの一例を示す図である。図２に示すように、例えば、保護対象ファイルリスト１２３には、保護対象のファイルのファイルパス「/a/b/f1」が含まれる。
【００１６】
プロセスホワイトリスト１２４は、ファイルごとのアクセス可能なプロセスを示す情報である。本実施形態において、プロセスホワイトリスト１２４は、ファイルのファイルパスと、当該ファイルへのアクセスが許可されているプロセスのパスとの組み合わせの一覧である。
【００１７】
図３は、第１の実施形態に係るプロセスホワイトリストの一例を示す図である。図３に示すように、アクセス可能なプロセスは、実行ファイルパスによって識別される。また、図３に示すように、ファイルパス「/c/f2」には、「/x/w」及び「/x/z」を実行ファイルとするプロセスが対応している。このように、プロセスホワイトリスト１２４においては、１つのファイルに複数のプロセスが対応していてもよい。
【００１８】
鍵情報１２５は、保護対象ファイルリスト１２３及びプロセスホワイトリスト１２４をセキュアな状態で管理するための情報である。例えば、鍵情報１２５は、各リストの暗号化、又は、各リストへの署名の付加に用いられる。また、より堅牢性を高めるために、鍵情報１２５は耐タンパ領域に記憶されていてもよい。
【００１９】
制御部１３は、保護装置１０全体を制御する。制御部１３は、例えば、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等の電子回路や、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路である。また、制御部１３は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部１３は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部１３は、操作部１３１、作成部１３２、管理部１３３、検知部１３４、判定部１３５、復元部１３６及び中止部１３７を有する。
【００２０】
なお、操作部１３１及び作成部１３２は、ファイルシステム１２２と同様に、ＯＳの基本的な機能として実装されているものであってよい。一方、検知部１３４、判定部１３５、復元部１３６及び中止部１３７は、ＯＳに対し処理の実行をリクエストすること、及びＯＳからのリクエストを受けて処理を実行することができる。このため、本実施形態は、Linux等のＯＳがインストールされたコンピュータに、管理部１３３、検知部１３４、判定部１３５、復元部１３６及び中止部１３７を実装することにより実現される。
【００２１】
操作部１３１は、保護対象ファイルリスト１２３に含まれるファイルパスに該当するファイルのデータを保護する操作を行う。操作部１３１は、保護装置１０が起動したタイミングで保護する操作を行うことができる。また、操作部１３１は、ファイルをオープンすることによって、ファイルのデータを保護することができる。また、操作部１３１は、ファイルのクローズを行うことができる。
【００２２】
ファイルのオープンとは、ファイルを、読み取り、変更、削除等の各処理が可能な状態にすることである。一方で、ファイルがオープンされている場合、当該ファイルの実データは保護された状態になる。つまり、あるプロセスによってよってオープンされた状態のファイルは、他のプロセスからの削除が行われた場合であっても、リンクが削除されるに過ぎず、実データは削除されない。また、ファイルのクローズとは、ファイルを各処理が不可能な状態にすることである。
【００２３】
また、作成部１３２は、ファイルのリンクを作成する。また、操作部１３１及び作成部１３２は、他の処理部からのリクエストに応じて処理を実行することができる。
【００２４】
管理部１３３は、保護対象ファイルリスト１２３及びプロセスホワイトリスト１２４の管理を行う。管理部１３３は、保護対象ファイルリスト１２３及びプロセスホワイトリスト１２４へのデータの追加、削除等を行うことができる。
【００２５】
また、管理部１３３は、保護装置１０のシステムの起動時には、保護対象ファイルリスト１２３及びプロセスホワイトリスト１２４が改変されていないことを鍵情報１２５を用いて確認した上で、保護対象ファイルリスト１２３及びプロセスホワイトリスト１２４を、記憶部１２の揮発性の領域（以降、メモリ）に展開する。また、保護装置１０のシステムの終了時には、展開した保護対象ファイルリスト１２３及びプロセスホワイトリスト１２４を、鍵情報１２５を用いたセキュアな方法により、記憶部１２の不揮発性の領域に格納する。なお、セキュアな方法とは、鍵を用いた暗号化及び署名の付加等である。
【００２６】
検知部１３４は、ファイルへのリンクが削除されたことを検知する。例えば、検知部１３４は、LinuxのＡＰＩ（Application  Programming  Interface）であるinotifyを用いて削除を検知することができる。検知部１３４は、リンクの削除を検知した場合、削除されたリンクに対応するファイルのファイルパスを取得する。
【００２７】
なお、保護装置１０の起動時に、操作部１３１によってオープンされている保護対象のファイルのリンクが削除されたとしても、当該ファイルの実データは削除されない。このため、保護装置１０は、削除された保護対象のファイルのリンクさえ復元できれば、当該ファイルを削除前の状態に戻すことができる。
【００２８】
また、検知部１３４は、ファイルへのアクセスが行われていることをさらに検知する。例えば、検知部１３４は、LinuxのＡＰＩであるfanotifyを用いてアクセスを検知することができる。検知部１３４は、ファイルへのアクセスを検知した場合、アクセス先のファイルパス及びアクセス元のプロセスの実行ファイルのファイルパスの組み合わせを取得する。
【００２９】
ここで、アクセスとは、ファイルのオープン又はオープンを要求することである。検知部１３４は、ファイルのオープンの要求に関する情報を受け取ることでアクセスを検知することができる。
【００３０】
判定部１３５は、ファイルのファイルパスを基に、ファイルが保護対象のファイルであるか否かを判定する。具体的には、判定部１３５は、検知部１３４によってリンクの削除が検知された場合、検知部１３４から削除されたリンクに対応するファイルのファイルパスを受け取り、当該ファイルパスが保護対象ファイルリスト１２３に存在するか否かを判定する。
【００３１】
また、判定部１３５は、ファイルのファイルパス及びアクセスを行っているプロセスを基に、アクセスを許可するか否かをさらに判定する。具体的には、判定部１３５は、検知部１３４によってファイルへのアクセスが検知された場合、検知部１３４からアクセス先のファイルパス及びアクセス元のプロセスの実行ファイルのファイルパスの組み合わせを受け取り、当該組み合わせが以下の３つのケースのいずれに該当するかによってアクセスの可否を判定する。
【００３２】
第１のケースは、組み合わせそのものがプロセスホワイトリスト１２４に存在するケースである。また、第２のケースは、アクセス先のファイルパスのみがプロセスホワイトリスト１２４に存在し、実行ファイルのファイルパスが存在しないケースである。第３のケースは、アクセス先のファイルパスがプロセスホワイトリスト１２４に存在しないケースである。なお、実行ファイルのファイルパスのみがプロセスホワイトリスト１２４に存在するケースは、第３のケースに含まれる。
【００３３】
例えば、図３の例では、アクセス先のファイルパスが「/a/b/f1」であって、実行ファイルのファイルパスが「/x/y」である組み合わせは、第１のケースに該当する。また、例えば、図３の例では、アクセス先のファイルパスが「/a/b/f1」であって、実行ファイルのファイルパスが「/x/z」である組み合わせは、第２のケースに該当する。また、例えば、図３の例では、アクセス先のファイルパスが「/a/b/f0」である組み合わせは、実行ファイルのファイルパスにかかわらず、第３のケースに該当する。なお、ここでは、図３のプロセスホワイトリスト１２４の４行目以降は存在しないものとする。
【００３４】
判定部１３５は、受け取った組み合わせが第１のケース及び第３のケースのいずれかに該当する場合、アクセスを許可すると判定する。一方、判定部１３５は、受け取った組み合わせが第２のケースに該当する場合、アクセスを許可しないと判定する。
【００３５】
復元部１３６は、判定部１３５によってファイルが保護対象のファイルであると判定された場合、ファイルへのリンクを復元する。具体的には、判定部１３５によって、削除されたリンクに対応するファイルのファイルパスが保護対象ファイルリスト１２３に存在すると判定された場合、復元部１３６は、当該リンクを作成することを作成部１３２に要求する。
【００３６】
中止部１３７は、判定部１３５によってアクセスを許可しないと判定された場合、アクセスを中止させる。具体的には、中止部１３７は、操作部１３１に、ファイルのオープンを行わないように要求することでアクセスを中止させることができる。
【００３７】
［第１の実施形態の処理］
図４を用いて、保護装置１０のシステム起動時における処理について説明する。図４は、第１の実施形態に係る保護装置のシステム起動時における処理の流れを示すフローチャートである。
【００３８】
図４に示すように、システムが起動されると、管理部１３３は、保護対象ファイルリスト１２３及びプロセスホワイトリスト１２４が改変されていないことを鍵情報１２５を用いて確認し、各リストをメモリ上に展開する（ステップＳ１０１）。
【００３９】
管理部１３３は、操作部１３１に対し、保護対象ファイルリスト１２３に含まれるファイルパスを受け渡すとともに、対応するファイルをオープンすることを要求する。そして、操作部１３１は、受け取ったファイルパスに対応するファイルをオープンする（ステップＳ１０２）。
【００４０】
図５を用いて、保護装置１０の保護対象ファイル追加時の処理について説明する。図５は、第１の実施形態に係る保護装置の保護対象ファイル追加時の処理の流れを示すフローチャートである。
【００４１】
図５に示すように、管理部１３３は、保護対象ファイルを追加するリクエストを受領する（ステップＳ２０１）。例えば、リクエストは、入力部１１を介してユーザによって入力されるものであってもよいし、ファイルシステム１２２に新たにファイルが追加された際に自動的に生成されるものであってもよい。また、リクエストには、保護対象に追加するファイルのファイルパス、又は、そのファイルのファイルパスとアクセス可能なプロセスのファイルパスとの組み合わせが含まれている。
【００４２】
管理部１３３は、リクエストに含まれるファイルパスを、保護対象ファイルリスト１２３に追加する（ステップＳ２０２）。また、管理部１３３は、リクエストに含まれるファイルのファイルパスとプロセスのファイルパスとの組み合わせを、プロセスホワイトリスト１２４に追加する（ステップＳ２０３）。なお、リクエストにプロセスのファイルパスが含まれていない場合、管理部１３３はプロセスホワイトリスト１２４への追加は行わない。
【００４３】
管理部１３３は、操作部１３１に対し、各リストに追加したファイルのファイルパスを受け渡すとともに、対応するファイルをオープンすることを要求する。そして、操作部１３１は、受け取ったファイルパスに対応するファイルをオープンする（ステップＳ２０４）。
【００４４】
図６を用いて、保護装置１０のファイル削除時における処理について説明する。図６は、第１の実施形態に係る保護装置のファイル削除時における処理の流れを示すフローチャートである。
【００４５】
図６に示すように、検知部１３４は、リンクの削除を検知する（ステップＳ３０１）。そして、判定部１３５は、検知部１３４から受け取ったファイルパスを基に、削除が検知されたリンクに対応するファイルが保護対象のファイルであるか否かを判定する（ステップＳ３０２）。
【００４６】
ここで、ファイルが保護対象のファイルであった場合（ステップＳ３０２、Ｙｅｓ）、復元部１３６は、リンクを復元する（ステップＳ３０３）。一方、ファイルが保護対象のファイルでなかった場合（ステップＳ３０２、Ｎｏ）、保護装置１０は、リンクを復元しない。
【００４７】
図７を用いて、保護装置１０のアクセスを制御する処理について説明する。図７は、第１の実施形態に係る保護装置のアクセスを制御する際の処理の流れを示すフローチャートである。
【００４８】
図７に示すように、検知部１３４は、ファイルへのアクセスを検知する（ステップＳ４０１）。ここで、検知部１３４は、操作部１３１へアクセス、すなわちファイルのオープンを中断するように要求する。そして、操作部１３１は、検知部１３４の要求に応じてアクセスを中断する（ステップＳ４０２）。
【００４９】
そして、判定部１３５は、検知部１３４から受け取ったアクセス先のファイルのファイルパスとアクセス元のプロセスのファイルパスがプロセスホワイトリスト１２４に存在するか否かによって、プロセスのファイルへのアクセスが許可されているか否かを判定する（ステップＳ４０３）。
【００５０】
ここで、アクセスが許可されている場合（ステップＳ４０３、Ｙｅｓ）、判定部１３５は、操作部１３１に対して中断していたアクセスを再開することを要求する。そして、操作部１３１は、判定部１３５の要求に応じてアクセスを再開する（ステップＳ４０４）。なお、判定部１３５は、アクセス先のファイルのファイルパスがそもそもプロセスホワイトリスト１２４に存在しない場合、すなわち受け取った組み合わせが前述の第３のケースに該当する場合、アクセスが許可されていると判定する。
【００５１】
一方、アクセスが許可されていない場合（ステップＳ４０３、Ｎｏ）、中止部１３７は、操作部１３１に対して中断していたアクセスを中止することを要求する。そして、操作部１３１は、中止部１３７の要求に応じてアクセスを中止する（ステップＳ４０５）。
【００５２】
図８を用いて、保護装置１０のシステム終了時における処理について説明する。図８は、第１の実施形態に係る保護装置のシステム終了時における処理の流れを示すフローチャートである。
【００５３】
図８に示すように、管理部１３３は、保護対象ファイルリスト１２３及びプロセスホワイトリスト１２４を更新する（ステップＳ５０１）。例えば、管理部１３３は、メモリ上に展開している保護対象ファイルリスト１２３及びプロセスホワイトリスト１２４で、元のデータを上書きする。このとき、メモリ上の保護対象ファイルリスト１２３及びプロセスホワイトリスト１２４は、保護対象ファイルの追加等により、メモリへ展開された時点から変更されている場合がある。
【００５４】
管理部１３３は、操作部１３１に対し、保護対象ファイルリスト１２３に含まれるファイルパスを受け渡すとともに、対応するファイルをクローズすることを要求する。そして、操作部１３１は、受け取ったファイルパスに対応するファイルをクローズする（ステップＳ５０２）。そして、保護装置１０はシステムを終了する（ステップＳ５０３）。
【００５５】
［第１の実施形態の効果］
第１の実施形態では、保護装置１０は、あらかじめ定められた保護対象のファイルのファイルパスのリストを取得する。また、保護装置１０は、リストに含まれるファイルパスに該当するファイルのデータを保護する操作を行う。このように、本実施形態では、権限の設定や、保存領域の移動を行うことなくファイルを保護できる。このため、本実施形態によれば、ファイルを効率良く保護することができる。
【００５６】
保護装置１０は、ファイルをオープンすることによって、ファイルのデータを保護する。このように、本実施形態では、ＯＳに備わっている基本的な機能を使用してファイルの保護を行うことができる。
【００５７】
保護装置１０は、保護装置１０が起動したタイミングでリストを取得することができる。このとき、操作部１３１は、管理部１３３によってリストが取得されたタイミングでデータを保護する操作を行う。このように、起動時に保護対象のファイルをオープンしておくことで、当該ファイルをより確実に保護することができる。
【００５８】
保護装置１０は、ファイルへのリンクが削除されたことを検知する。また、保護装置１０は、ファイルへのファイルパスを基に、ファイルが保護対象のファイルであるか否かを判定する。また、保護装置１０は、ファイルが保護対象のファイルであると判定した場合、ファイルへのリンクを復元する。このように、本実施形態によれば、ファイルを削除から保護する際に、削除に関する権限を設定したり、ファイルの場所や内容に変更を加える必要がない。
【００５９】
また、保護装置１０は、検知部１３４は、ファイルへのアクセスが行われていることを検知することができる。このとき、保護装置１０は、判定部１３５は、ファイルのファイルパス及びアクセスを行っているプロセスを基に、アクセスを許可するか否かを判定する。また、また、保護装置１０は、アクセスを許可しないと判定した場合、アクセスを中止させる。このように、本実施形態によれば、プロセスごとにファイルへのアクセスを制御できるので、削除だけでなく改変からも保護することができる。
【００６０】
［その他の実施形態］
上記の実施形態では、保護装置１０のＯＳがLinuxである場合の例について説明したが、保護装置１０のＯＳはLinuxに限られない。例えば、保護装置１０のＯＳがLinux以外のものである場合であっても、inotifyやfanotifyと同等の監視機能を使ってファイルの削除やファイルへのアクセスを検知することで、上記の実施形態を実現することができる。
【００６１】
［システム構成等］
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散及び統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散又は統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、ＣＰＵ及び当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００６２】
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００６３】
［プログラム］
一実施形態として、保護装置１０は、パッケージソフトウェアやオンラインソフトウェアとして上記の保護を実行する保護プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の保護プログラムを情報処理装置に実行させることにより、情報処理装置を保護装置１０として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）等の移動体通信端末、さらには、ＰＤＡ（Personal  Digital  Assistant）等のスレート端末等がその範疇に含まれる。
【００６４】
図９は、保護プログラムを実行するコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０、ＣＰＵ１０２０を有する。また、コンピュータ１０００は、ハードディスクドライブインタフェース１０３０、ディスクドライブインタフェース１０４０、シリアルポートインタフェース１０５０、ビデオアダプタ１０６０、ネットワークインタフェース１０７０を有する。これらの各部は、バス１０８０によって接続される。
【００６５】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１１３０に接続される。
【００６６】
ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、保護装置１０の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール１０９３として実装される。プログラムモジュール１０９３は、例えばハードディスクドライブ１０９０に記憶される。例えば、保護装置１０における機能構成と同様の処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０９０に記憶される。なお、ハードディスクドライブ１０９０は、ＳＳＤにより代替されてもよい。
【００６７】
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０は、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した実施形態の処理を実行する。
【００６８】
なお、プログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムモジュール１０９３及びプログラムデータ１０９４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール１０９３及びプログラムデータ１０９４は、他のコンピュータから、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【００６９】
１０  保護装置
１１  入力部
１２  記憶部
１３  制御部
１２１  ファイルデータ
１２２  ファイルシステム
１２３  保護対象ファイルリスト
１２４  プロセスホワイトリスト
１２５  鍵情報
１３１  操作部
１３２  作成部
１３３  管理部
１３４  検知部
１３５  判定部
１３６  復元部
１３７  中止部
【図１】
2019207661.tif 000003
【図２】
2019207661.tif 000004
【図３】
2019207661.tif 000005
【図４】
2019207661.tif 000006
【図５】
2019207661.tif 000007
【図６】
2019207661.tif 000008
【図７】
2019207661.tif 000009
【図８】
2019207661.tif 000010
【図９】
2019207661.tif 000011