(57)【要約】【課題】従来よりもはるかに軽量で、特殊なハードウェアを必要としないプログラム改竄検知システムおよびプログラム改竄検知方法を提供する。【解決手段】初期化処理により、他のデバイスにおけるプログラムまたはデータを格納するメモリ領域からプログラムまたはデータの一部を取得し、検証用データを格納するメモリ領域に保存する。そして、自デバイスの記憶手段からランダムに選択したデータが、プログラムまたはデータであった場合、対応する検証用データを他のデバイスから取得し照合を行い、ランダムに選択したデータが、検証用データであった場合、対応するプログラムまたはデータを他のデバイスから取得し照合を行って、プログラムの改竄を検知する。【選択図】図４
2014229239.tif 000002
【特許請求の範囲】
【請求項１】
複数のデバイスからなるネットワークにおいて、プログラムの改竄を検知するプログラム改竄検知システムであって、
各デバイスが、
プログラムまたはデータを格納するメモリ領域と検証用データを格納するメモリ領域とを有する記憶手段と、
初期化処理により、他のデバイスにおけるプログラムまたはデータを格納するメモリ領域からプログラムまたはデータの一部を取得し、検証用データを格納するメモリ領域に保存する制御手段と、
自デバイスの記憶手段からランダムに選択したデータが、プログラムまたはデータであった場合、対応する検証用データを他のデバイスから取得し照合を行い、前記ランダムに選択したデータが、検証用データであった場合、対応するプログラムまたはデータを他のデバイスから取得し照合を行って、プログラムの改竄を検知する改竄検知手段と、
を備えたことを特徴とするプログラム改竄検知システム。
【請求項２】
前記改竄検知手段が、プログラムの改竄を検知したときに、前記対応する検証用データあるいは対応するプログラムまたはデータを取得したデバイスに改竄検知情報を通知する通知手段と、
前記改竄検知手段が、プログラムの改竄を検知したときに、自デバイスをシャットダウンするシャットダウン手段と、
を備えたことを特徴とする請求項１に記載のプログラム改竄検知システム。
【請求項３】
前記制御手段は、前記検証用データを格納するメモリ領域がすべて異なる検証用データで埋め尽くされるように、他のデバイスにおけるプログラムまたはデータを格納するメモリ領域からプログラムまたはデータの一部を取得することを特徴とする請求項１または請求項２に記載のプログラム改竄検知システム。
【請求項４】
前記プログラムまたはデータを格納するメモリ領域と検証用データを格納するメモリ領域のデータサイズがすべて同一であることを特徴とする請求項１から請求項３のいずれかに記載のプログラム改竄検知システム。
【請求項５】
複数のデバイスからなるネットワークにおいて、プログラムの改竄を検知するプログラム改竄検知システムにおけるプログラム改竄検知方法であって、
各デバイスが、プログラムまたはデータを格納するメモリ領域と検証用データを格納するメモリ領域とを有する記憶手段と、制御手段と、改竄検知手段とを備え、
前記制御手段が、初期化処理により、他のデバイスにおけるプログラムまたはデータを格納するメモリ領域からプログラムまたはデータの一部を取得し、検証用データを格納するメモリ領域に保存する初期化処理ステップと、
前記改竄検知手段は、自デバイスの記憶手段からランダムに選択したデータが、プログラムまたはデータであった場合、対応する検証用データを他のデバイスから取得し照合を行い、前記ランダムに選択したデータが、検証用データであった場合、対応するプログラムまたはデータを他のデバイスから取得し照合を行って、プログラムの改竄を検知する検証処理ステップと、
を備えたことを特徴とするプログラム改竄検知方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム改竄検知システムおよびプログラム改竄検知方法に関し、例えば、センサー等の小型デバイスによるネットワークにおいて効率的にリモートアテステーションを実現するプログラム改竄検知システムおよびプログラム改竄検知方法に関する。
【背景技術】
【０００２】
従来は、非特許文献１に記載されているようなリモートアテステーションが提案されていた。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Ａｄｒｉａｎ  Ｐｅｒｒｉｇ，  Ｒｏｂｅｒｔ  Ｓｚｅｗｃｚｙｋ，  Ｊ．  Ｄ．  Ｔｙｇａｒ，  Ｖｉｃｔｏｒ  Ｗｅｎ，  ａｎｄ  Ｄａｖｉｄ  Ｅ．  Ｃｕｌｌｅｒ．Ｓｐｉｎｓ：ｓｅｃｕｒｉｔｙ  ｐｒｏｔｏｃｏｌｓ  ｆｏｒ  ｓｅｎｓｏｒ  ｎｅｔｗｏｒｋｓ．  Ｊｏｕｒｎａｌ  ｏｆ  Ｗｉｒｅｌｅｓｓ  Ｎｅｔｗｏｒｋｓ，  ８：５２１−５３４，２００２．
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、非特許文献１において提案されているリモートアテステーション方式では、精密な時間測定が必要であったため、非常にコストの高い評価関数を使用するか、特殊なハードウェアを使用する必要があった。
【０００５】
そこで、本発明は、上述の課題に鑑みてなされたものであり、従来よりもはるかに軽量で、特殊なハードウェアを必要としないプログラム改竄検知システムおよびプログラム改竄検知方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、上述の課題を解決するために、以下の事項を提案している。
【０００７】
（１）本発明は、複数のデバイスからなるネットワークにおいて、プログラムの改竄を検知するプログラム改竄検知システムであって、各デバイスが、プログラムまたはデータを格納するメモリ領域と検証用データを格納するメモリ領域とを有する記憶手段と、初期化処理により、他のデバイスにおけるプログラムまたはデータを格納するメモリ領域からプログラムまたはデータの一部を取得し、検証用データを格納するメモリ領域に保存する制御手段と、自デバイスの記憶手段からランダムに選択したデータが、プログラムまたはデータであった場合、対応する検証用データを他のデバイスから取得し照合を行い、前記ランダムに選択したデータが、検証用データであった場合、対応するプログラムまたはデータを他のデバイスから取得し照合を行って、プログラムの改竄を検知する改竄検知手段と、を備えたことを特徴とするプログラム改竄検知システムを提案している。
【０００８】
（２）本発明は、（１）のプログラム改竄検知システムについて、前記改竄検知手段が、プログラムの改竄を検知したときに、前記対応する検証用データあるいは対応するプログラムを取得したデバイスに改竄検知情報を通知する通知手段と、前記改竄検知手段が、プログラムの改竄を検知したときに、自デバイスをシャットダウンするシャットダウン手段と、を備えたことを特徴とするプログラム改竄検知システムを提案している。
【０００９】
（３）本発明は、（１）または（２）のプログラム改竄検知システムについて、前記制御手段は、前記検証用データを格納するメモリ領域がすべて異なる検証用データで埋め尽くされるように、他のデバイスにおけるプログラムまたはデータを格納するメモリ領域からプログラムまたはデータの一部を取得することを特徴とするプログラム改竄検知システムを提案している。
【００１０】
（４）本発明は、（１）から（３）のプログラム改竄検知システムについて、前記プログラムまたはデータを格納するメモリ領域ＭＰと検証用データを格納するメモリ領域ＭＡのデータサイズがすべて同一であることを特徴とするプログラム改竄検知システムを提案している。
【００１１】
（５）本発明は、複数のデバイスからなるネットワークにおいて、プログラムの改竄を検知するプログラム改竄検知システムにおけるプログラム改竄検知方法であって、各デバイスが、プログラムまたはデータを格納するメモリ領域と検証用データを格納するメモリ領域とを有する記憶手段と、制御手段と、改竄検知手段とを備え、前記制御手段が、初期化処理により、他のデバイスにおけるプログラムまたはデータを格納するメモリ領域からプログラムまたはデータの一部を取得し、検証用データを格納するメモリ領域に保存する初期化処理ステップと、前記改竄検知手段は、自デバイスの記憶手段からランダムに選択したデータが、プログラムまたはデータであった場合、対応する検証用データを他のデバイスから取得し照合を行い、前記ランダムに選択したデータが、検証用データであった場合、対応するプログラムまたはデータを他のデバイスから取得し照合を行って、プログラムの改竄を検知する検証処理ステップと、を備えたことを特徴とするプログラム改竄検知方法を提案している。
【発明の効果】
【００１２】
本発明によれば、不正プログラム（マルウェア）等に感染したデバイスを効率的に特定することができるという効果がある。また、本発明のプログラム改竄検知システムは、軽量で、特殊なハードウェアを必要としないシステムであることから、センサー等の小型デバイスにも用いることができるという効果がある。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態に係るシステムの構成を示す図である。
【図２】本発明の実施形態に係るデバイスの構成を示す図である。
【図３】本発明の実施形態に係るデバイス内の記憶手段に格納されるプログラムあるいはデータを例示する図である。
【図４】本発明の実施形態に係るデバイスの処理を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態について、図面を用いて、詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【００１５】
図１から図４を用いて、本発明の実施形態について説明する。
【００１６】
＜システムの構成＞
図１に示すように、本発明に係るプログラム改竄検知システムは、同一ネットワーク内の複数のデバイス１００Ａ、１００Ｂ、１００Ｃ、１００Ｄ、１００Ｅ、１００Ｎから構成され、これら複数のデバイス１００Ａ、１００Ｂ、１００Ｃ、１００Ｄ、１００Ｅ、１００Ｎによって、プログラムの改竄検知（リモートアテステーション）が行われる。ここで、ネットワークとしては、複数のデバイス１００Ａ、１００Ｂ、１００Ｃ、１００Ｄ、１００Ｅ、１００Ｎがメッシュ状に展開されたアドホックネットワーク等が挙げられる。
【００１７】
なお、本システムは、後述するように、軽量で、特殊なハードウェアを必要としないシステムであることから、センサー等の小型デバイスにも用いることができる。
【００１８】
＜デバイスの構成＞
図２に示すように、各デバイス１００Ａ、１００Ｂ、１００Ｃ、１００Ｄ、１００Ｅ、１００Ｎは、それぞれ、制御部１１０と、記憶部１２０と、改竄検知部１３０と、通知部１４０と、シャットダウン部１５０とから構成されている。
【００１９】
制御部１１０は、初期化処理において、他のデバイスにおける後述する記憶部１２０内のプログラムまたはデータを格納するメモリ領域からプログラムまたはデータの一部を取得し、検証用関数を用いて変換した後、検証用データを格納するメモリ領域に保存する。
【００２０】
具体的には、図３に示すように、デバイス１００Ａを例にとれば、デバイス１００Ａは、デバイス１００Ｂ、１００Ｃのプログラムまたはデータを格納するメモリ領域ＭＰの一部分を取得し、検証用関数ｈ（ｘ）を用いて変換した後、その変換後のデータを検証用データを格納するメモリ領域ＭＡにそれぞれ格納している。このように、各デバイス同士が互いにデータを持ち合う構成となっている。
【００２１】
また、検証用関数ｈ（ｘ）は、関数への入力と出力とが１対１に対応する全単射関数であることが好ましい。
【００２２】
また、制御部１１０は、検証用データを格納するメモリ領域がすべて異なる検証用データで埋め尽くされるように、他のデバイスにおけるプログラムまたはデータを格納するメモリ領域からプログラムまたはデータの一部を取得する。このことを実現するため、各デバイスの制御部間で、問合せを行い、すべてのデバイスにおける検証用データの重複を防止している。
【００２３】
記憶部１２０は、図３に示すように、プログラムまたはデータを格納するメモリ領域ＭＰと検証用データを格納するメモリ領域ＭＡとを有する。なお、プログラムまたはデータを格納するメモリ領域ＭＰと検証用データを格納するメモリ領域ＭＡのデータサイズがすべて同一であることが好ましい。こうすることによって、プログラムの改竄をすべて検知することができる。
【００２４】
改竄検知部１３０は、自デバイスの記憶部１２０からランダムに選択したデータが、プログラムまたはデータであった場合には、対応する検証用データを他のデバイスから取得し、照合を行い、ランダムに選択したデータが、検証用データであった場合には、対応するプログラムまたはデータを他のデバイスから取得し照合を行って、プログラムの改竄を検知する。
【００２５】
通知部１４０は、改竄検知部１３０が、プログラムの改竄を検知したときに、対応する検証用データあるいは対応するプログラムまたはデータを取得したデバイスに改竄検知情報を通知する。
【００２６】
シャットダウン部１５０は、改竄検知部１３０が、プログラムの改竄を検知したときに、自デバイスをシャットダウンする。また、改竄検知情報の通知を受けたデバイスも自デバイスをシャットダウンする。これにより、不正プログラム（マルウェア）等に感染したデバイスを効率的に特定することができる。
【００２７】
＜デバイスの処理＞
図４を用いて、デバイスの処理について説明する。
【００２８】
初期化処理ステップは、デバイス間で行われる。各デバイスの制御部１１０は、初期化処理において、他のデバイスにおける記憶部１２０内のプログラムまたはデータを格納するメモリ領域からプログラムまたはデータの一部を取得し、検証用関数を用いて変換した後、検証用データを格納するメモリ領域に保存する（ステップＳ１００）。
【００２９】
図３に示すように、デバイス１００Ａを例にとれば、デバイス１００Ａは、デバイス１００Ｂ、１００Ｃのプログラムまたはデータを格納するメモリ領域ＭＰの一部分を取得し、検証用関数ｈ（ｘ）を用いて変換した後、その変換後のデータを検証用データを格納するメモリ領域ＭＡにそれぞれ格納している。このように、各デバイス同士が互いにデータを持ち合う構成となっている。
【００３０】
次に、検証の際には、自デバイスの記憶部１２０からランダムに選択したデータが、プログラムまたはデータであった場合には、対応する検証用データを他のデバイスから取得し、照合を行い、ランダムに選択したデータが、検証用データであった場合には、対応するプログラムまたはデータを他のデバイスから取得し照合を行って、プログラムの改竄を検知する（ステップＳ２００）。
【００３１】
図３に示すように、デバイス１００Ａを例にとれば、デバイス１００Ａが、検証処理を行うときには、まず、自デバイスの記憶部１２０からランダムに１つの領域を選択する。例えば、上から２番目を選択した場合には、その領域がプログラム領域であるため、対応する検証用データをデバイス１００Ｂから取得し、照合を行う。一方、上から５番目（一番下）の領域を選択した場合には、デバイス１００Ｃから対応するプログラム領域のプログラムまたはデータを取得して照合する。この処理は、すべてのデバイスが定期的に行う。
【００３２】
そして、照合に失敗した場合（データの不整合が生じた場合）には、直ちに、改竄検知情報を、データを取得した相手方デバイスに通知し、終了処理（シャットダウン処理）を行う。終了処理実行後は、いかなる通信も行えない。また、改竄検知情報を受信したデバイスも終了処理（シャットダウン処理）を行う。
【００３３】
以上、説明したように、本実施形態によれば、不正プログラム（マルウェア）等に感染したデバイスを効率的に特定することができる。また、本実施形態のプログラム改竄検知システムは、軽量で、特殊なハードウェアを必要としないシステムであることから、センサー等の小型デバイスにも用いることができる。
【００３４】
なお、プログラム改竄検知システムの処理をコンピュータシステムが読み取り可能な記録媒体に記録し、この記録媒体に記録された情報を各デバイスに読み込ませ、実行することによって本発明のプログラム改竄検知システムを実現することができる。ここでいうコンピュータシステムとは、ＯＳや周辺装置等のハードウェアを含む。
【００３５】
また、「コンピュータシステム」は、ＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）システムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
【００３６】
また、プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【００３７】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００３８】
１００Ａ；デバイス
１００Ｂ；デバイス
１００Ｃ；デバイス
１００Ｄ；デバイス
１００Ｅ；デバイス
１００Ｎ；デバイス
１１０；制御部
１２０；記憶部
１３０；改竄検知部
１４０；通知部
１５０；シャットダウン部
２００；ネットワーク
【図１】
2014229239.tif 000003
【図２】
2014229239.tif 000004
【図４】
2014229239.tif 000005
【図３】
2014229239.tif 000006