(58)【調査した分野】(Int.Cl.,DB名)
前記判定部により前記保護資産の保護状態を侵害する状態にあると判定された場合、前記保護資産の保護状態を侵害する状態に至るような前記製品への入力を生成する入力生成部をさらに備えたことを特徴とする請求項1又は2に記載の脆弱性評価装置。
前記資産入力部は、前記出力部に出力された設計モデルが示す動作の中から前記保護状態に影響を与える動作を選択して入力でき、選択された動作が行われた結果、前記保護資産がどのような状態であれば保護されているかを保護状態として入力できるようにしていることを特徴とする請求項4に記載の脆弱性評価装置。
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明は、以上の背景に鑑みてなされたものであり、網羅的に脆弱性の評価を行うことができる脆弱性評価装置を提供することを目的としている。
【課題を解決するための手段】
【0008】
本発明の態様である脆弱性評価装置は、コンピュータが内蔵された製品の設計仕様が入力される仕様入力部と、前記仕様入力部により入力された設計仕様に基づいて前記製品の動作及び前記製品で用いられるデータを示す設計モデルを生成する設計モデル生成部と、前記製品の保護資産、及び、当該保護資産の保護状態を入力する資産入力部と、前記設計モデル生成部により生成された設計モデルから前記資産入力部により入力された前記保護資産に関連する動作部分を抽出した保護状態モデルを生成する保護状態モデル生成部と、前記保護状態モデルから前記保護資産の保護状態を侵害する状態にあるか否かを判定する判定部と、を備えたことを特徴とする。
【0009】
本発明の態様である脆弱性評価装置は、コンピュータが内蔵された製品の動作及び前記製品で用いられるデータを示す設計モデルが入力される設計モデル入力部と、前記製品の保護資産、及び、当該保護資産の保護状態を入力する資産入力部と、前記設計モデル入力部により入力された設計モデルから前記資産入力部により入力された前記保護資産に関連する動作部分を抽出した保護状態モデルを生成する保護状態モデル生成部と、前記保護状態モデルから前記保護資産の保護状態を侵害する状態にあるか否かを判定する判定部と、を備えたことを特徴とする。
【0010】
また、前記判定部により前記保護資産の保護状態を侵害する状態にあると判定された場合、前記保護資産の保護状態を侵害する状態に至るような前記製品への入力を生成する入力生成部をさらに備えてもよい。
【0011】
また、前記設計モデルを出力する出力部をさらに有し、前記資産入力部は、前記出力部に出力された設計モデルが示す前記製品の動作及び前記製品で用いられるデータの中から前記保護資産を選択して入力できるようにしてもよい。
【0012】
また、前記資産入力部は、前記出力部に出力された設計モデルが示す動作の中から前記保護状態に影響を与える動作を選択して入力でき、選択された動作が行われた結果、前記保護資産がどのような状態であれば保護されているかを保護状態として入力できるようにしてもよい。
【0013】
また、前記設計モデルは、動作フロー又は状態遷移図から構成され、前記保護状態モデル生成部は、前記動作フロー又は前記状態遷移図のうち、初期状態から前記資産入力部により選択された動作に至るまでを保護状態モデルとして生成し、前記判定部は、抽出した前記保護状態モデルから前記保護資産の保護状態を逸脱する状態があれば前記保護状態を侵害する状態にあると判定してもよい。
【0014】
また、前記入力生成部は、前記製品への入力フレームの各フィールドが、前記保護資産の保護状態を侵害する状態に至らせる場合に取りえる値の範囲を演算してもよい。
【発明の効果】
【0015】
上記態様によれば、資産入力部に入力された前記製品の保護資産、及び、当該保護資産の保護状態についての脆弱性の評価を行うことができるので、様々な保護資産、保護状態についての評価を行うことができ、網羅的に脆弱性の評価を行うことができる。
【発明を実施するための形態】
【0017】
以下、本発明の一実施形態を、
図1に基づいて説明する。
図1に示す脆弱性評価装置は、コンピュータが内蔵された組み込みシステム製品(実機)のセキュリティの脆弱性を評価する装置である。同図に示すように、脆弱性評価装置1は、入出力装置2と、モデル生成装置3と、パターン生成装置4と、から構成される。
【0018】
入出力装置2は、仕様入力部21と、出力部22と、資産入力部23と、を備えている。
【0019】
仕様入力部21は、キーボード、マウスやタッチパネルなどの操作部から構成され、実機の設計仕様が入力される。設計仕様としては、入力(データ)のフォーマットや、実機の動作などが入力される。実機の動作は、設計モデルを生成できるように実機が行う各種機能とその関係性や実機の各種状態とその関係性などが入力される。
【0020】
設計仕様は、後述するモデル生成装置にとって理解可能な形(形式記述)で入力する必要があるが、形式記述と呼ばれる言語は難解であることが多く、形式記述言語をユーザに求めることは難しい。本実施形態では、設計仕様としては、自然言語で記述されたドキュメントが入力できるようにし、入出力装置又はモデル生成装置に入力されたドキュメントを形式記述に変換する機能を内蔵させている。もちろん、形式記述言語で設計仕様を入力できるようにしてもよい。
【0021】
出力部22は、タッチパネルなどの表示部から構成され、後述するモデル生成装置3が生成した製品の動作を示す設計モデル(フローチャートや状態遷移図など含む)をユーザに表示する。
【0022】
資産入力部23は、キーボード、マウスやタッチパネルなどの操作部から構成され、実機の保護資産、及び、当該保護資産の保護状態を入力する。資産入力部23は、設計モデルとして出力部22に表示されている入力データなどから保護資産を選択して入力できる。また、資産入力部23は、設計モデルとして表示部に表示されている各種機能や各種状態の遷移を選択し、選択した動作や状態の遷移が行われた結果、保護資産がどのような状態であれば保護されているのかを保護状態として定義して入力できる。なお、保護資産、保護状態は、ドキュメントによりユーザが自由に入力できるようにしてもよい。
【0023】
モデル生成装置3は、設計モデル生成部31と、保護状態モデル生成部32と、を備えている。
【0024】
設計モデル生成部31は、ROM、RAM、CPUを有する周知のマイクロコンピュータが機能する。設計モデル生成部31は、仕様入力部21により入力された設計仕様に基づいて、例えばデータのフォーマットや、フローチャート、状態遷移図などの製品の動作を示す設計モデルを生成する。設計モデル生成部31は、生成した設計モデルを出力部22に対して出力する。
【0025】
保護状態モデル生成部32は、設計モデル生成部31により生成された設計モデルから資産入力部23により入力された保護資産に関連する動作部分を抽出した保護状態モデルを生成する。具体的には、保護状態モデル生成部32は、設計モデル(動作フロー、状態遷移図)のうち初期状態から資産入力部23により保護状態を定義するために選択された動作や状態までを抽出して保護状態モデルとする。
【0026】
パターン生成装置4は、演算部41と、入力生成部42と、を備えている。
【0027】
判定部としての演算部41は、保護状態モデルから保護資産の保護状態を侵害する状態に至るか否かを判定する。具体的には、演算部41は、保護状態モデルに保護資産が保護状態を逸脱する場合、または、保護状態を保証する動作がない場合、保護資産の保護状態を侵害する状態にあると判定する。
【0028】
入力生成部42は、演算部41により保護資産の保護状態を侵害する状態にあると判定された場合、保護資産の保護状態を侵害する状態に至るような製品への入力を生成して出力する。
【0029】
次に、具体的な設計仕様例、保護資産例、保護状態例を挙げて上述した脆弱性評価装置1の動作を説明する。実機の設計仕様例、保護資産例、保護状態例を下記に示す。
【0030】
(設計仕様例)
メッセージを受信し、パスワード認証し、正しければデータの書換えをして成功メッセージを送信する。メッセージ受信は繰り返す。
(保護資産例)
書換えデータ
(保護状態例)
正しい「書換えデータ」を「データ書換え」機能によって書き込むこと
【0031】
まず、ユーザは、仕様入力部21を用いて実機の動作(設計仕様)を入力する。具体的には、ユーザは、設計モデルの一つとしてのフローチャートを生成するための各種機能と、機能間の関係性と、を入力する。上記設計仕様例においては、ユーザは、下記の機能、及び、関係性を設計仕様として入力する。
【0032】
(機能の設計仕様)
・メッセージを受信する機能
・パスワードを認証する機能
・データ書換え機能
・成功メッセージ送信機能
【0033】
(機能間の関係性の設計仕様)
・開始後、メッセージを受信する機能に遷移する。
・メッセージを受信する機能を実行後に、パスワード認証をする機能を動作させる。
・パスワード認証に成功した後に、データ書換え機能を実施する。
・パスワード認証に失敗した後に、メッセージ受信する機能に戻る。
・データ書換え機能を実行後に、成功メッセージ送信機能に戻る。
・成功メッセージ送信機能を実行後に、メッセージを受信する機能を動作させる。
【0034】
また、ユーザは、仕様入力部21を用いて設計モデルの一つとして状態遷移図を生成するための各種状態と、状態間の関係性と、を入力する。上記設計仕様例においては、ユーザは、下記の状態、及び、関係性を設計仕様として入力する。
【0035】
(状態の設計仕様)
・メッセージ受信待ち状態
・パスワード認証状態
・データ書換え状態
・メッセージ送信状態
【0036】
(状態の関係性の設計仕様)
・「開始後」に、「メッセージ受信待ち状態」に遷移する。
・「メッセージ受信待ち状態」でメッセージを受信した際に、「パスワード認証状態」に遷移する。
・「パスワード認証状態」で、パスワードが一致した際に、「データ書換え状態」に遷移する。
・「パスワード認証状態」で、パスワードが一致しない際に、「メッセージ受信待ち状態」に遷移する。
・「データ書換え状態」で、データの書換えが完了した際に、「メッセージ受信待ち状態」に遷移する。
・「メッセージ送信状態」で、メッセージ送信完了した際に、「メッセージ受信待ち状態」に遷移する。
【0037】
このとき、ユーザは、仕様入力部21を用いて、入力した機能と状態とを紐付ける情報も入力する。また、ユーザは、下記の入力メッセージ(入力)のフォーマットを入力する。
【0038】
(入力メッセージのフォーマット)
・アドレスを持つ
・書換えデータを持つ
・パスワードを持つ
【0039】
設計仕様が入力されるとモデル生成装置3の設計モデル生成部31が、設計仕様に基づいて
図2に示すフローチャート、
図3に示す状態遷移図を設計モデルとして生成する。設計モデル生成部31は、
図4に示すように、フローチャートの機能と状態遷移図の状態とを紐付けるようにしてもよい。
【0040】
設計モデル生成部31は、生成した設計モデルを出力部22に出力させる。これにより、出力部22が、設計モデルとしたフローチャート、状態遷移図及び入力メッセージを表示(出力)する。
【0041】
その後、ユーザが、資産入力部23を用いて保護資産、及び、保護資産の保護状態を入力する。ユーザは、出力部22に表示されたフローチャート、状態遷移図及び入力メッセージから選択して保護資産、及び、保護状態を入力することができる。上記保護資産例において、ユーザは、表示された入力メッセージのデータフォーマットから書換えデータを選択して保護資産として入力する。
【0042】
また、ユーザは、フローチャート及び状態遷移図の「データ書換え」機能、状態を選択操作する。そして、ユーザは、選択した機能、状態において書換えデータが正しいことを例えばドキュメントで入力し、保護状態を定義する。
【0043】
次に、モデル生成装置3の保護状態モデル生成部32は、入力された保護資産、保護状態に基づいて、設計モデルの中から保護資産に関連する動作部分(保護資産に影響を与える可能性のある動作部分)を保護状態モデルとして抽出する。
【0044】
具体的には、保護状態モデル生成部32は、開始(初期状態)から保護状態の入力時に資産入力部23により選択された「データ書換え」機能、状態までを保護状態モデルとして生成する。これにより、
図6、
図7に示すようなフローチャート、状態遷移図が保護状態モデルとして生成される。
【0045】
演算部は、保護状態モデル生成部により生成された保護状態モデルから保護資産の保護状態を侵害する状態にあるか否かを判定する。具体的には、演算部は、保護状態モデルに保護資産の保護状態(書換えデータが正しいか)を確認する機能、状態がなければ、保護資産の保護状態を侵害する状態にあると判定する。
【0046】
入力生成部42は、演算部41により保護資産の保護状態を侵害する状態にあると判定されると、保護資産の保護状態を侵害する状態に至るような製品への入力を生成する。具体例では、入力として
図5に示す入力メッセージがある。入力生成部42は、入力メッセージ(入力フレーム)に含まれる各情報(各フィールド;
図5に示す例ではアドレス、書換えデータ、パスワード)のうち保護資産である「書換えデータ」以外(即ち、アドレス、パスワード)がどのような場合にデータ書換え機能、動作に到達できるか検証する。
【0047】
まず、入力生成部42は、まず入力メッセージのアドレスについて検討する。入力生成部42は、保護状態モデルではアドレスを参照した動作を行っていないので、アドレスを任意の値とする。
【0048】
次に、入力生成部42は、パスワードについて検討する。入力生成部42は、保護状態モデルではパスワードはパスワード認証にてパスワード一致と判定される正しいパスワードのみで「データ書換え」を行えるので、パスワードを正しいパスワードとする。
【0049】
次に、入力生成部42は、「データ書換え」機能、状態において正しい書換えデータに書換えられることが定義された保護状態であるので、正しくない(不正な)書換えデータが書き込まれることが「保護資産の保護状態を侵害する状態である」と判定し、書換えデータを不正な書換えデータとする。
【0050】
これにより、
図8に示すように、入力生成部42は、任意のアドレス、不正な書換えデータ、正しいパスワードを持つ入力メッセージを生成して、出力することができる。ユーザは、入力生成部42により生成された入力メッセージを実機に入力して、実機の脆弱性を評価することができる。
【0051】
なお、入力生成部42は、製品への入力メッセージの各情報が、保護資産の保護状態を侵害する状態に至らせる場合に取りえる値の範囲を演算し、その範囲内となる複数の入力メッセージを生成するようにしてもよい。
【0052】
上述した実施形態によれば、資産入力部23に入力された実機の保護資産、及び、当該保護資産の保護状態についての脆弱性の評価を行うことができるので、入力する保護資産、保護状態を変更することにより様々な保護資産、保護状態についての評価を行うことができ、網羅的に脆弱性の評価を行うことができる。
【0053】
上述した実施形態によれば、入力生成部42が、演算部41により保護資産の保護状態を侵害する状態にあると判定された場合、保護資産の保護状態を侵害する状態に至るような実機への入力メッセージを生成する。これにより、入力メッセージを実機に入力して脆弱性の評価を行うことができるため、精度良く脆弱性の評価を行うことができる。
【0054】
上述した実施形態によれば、資産入力部23は、出力部22に出力(表示)された設計モデルが示す実機の動作及び実機で用いられるデータの中から保護資産を選択して入力できる。これにより、容易に保護資産を入力することができる。
【0055】
上述した実施形態によれば、資産入力部23は、出力部22に出力(表示)された設計モデルが示す動作の中から保護状態に影響を与える動作を選択して入力でき、選択された動作が行われた結果、保護資産がどのような状態であれば保護されているかを保護状態として入力できる。これにより、容易に保護状態を入力することができる。
【0056】
上述した実施形態によれば、保護状態モデル生成部32は、フローチャート又は状態遷移図のうち、初期状態から資産入力部23により選択された動作に至るまでを保護状態モデルとして生成し、演算部41は、抽出した保護状態モデルから保護資産の保護状態を確認する状態がなければ保護状態を侵害する状態にあると判定する。これにより、容易に保護状態を侵害する状態にあるか否かを判定することができる。
【0057】
なお、上述した実施形態によれば、初期状態から資産入力部23により選択された「データ書換え」機能、状態までを保護状態モデルとして抽出していたが、これに限ったものではない。加えて、「データ書換え」機能、状態を含むループを形成する機能、状態部分も保護状態モデルとして抽出してもよい。
【0058】
また、上述した実施形態によれば、入力生成部42が保護状態を侵害する状態に至る入力メッセージを生成していたが、これに限ったものではない。入力生成部42は必須ではない。例えば
図9に示すように、入力生成部42を設けずに、演算部41が、その判定結果を出力部22から出力(表示)させるだけでもよい。これにより、ユーザは入力した保護資産、保護状態の脆弱性の評価を行うことができ、実機のプログラムの手直しなど行うことができる。
【0059】
また、上述した実施形態によれば、仕様入力部21により入力された設計仕様に基づいて設計モデル生成部31が設計モデルを生成していたが、これに限ったものではない。例えば、
図10に示すように、仕様入力部21、設計モデル生成部31を設けずに、ユーザにより設計モデルを入力させる設計モデル入力部24を設けてもよい。出力部22には、設計モデル入力部24により入力された設計モデルが表示される。
【0060】
なお、本発明は上記実施形態に限定されるものではない。即ち、本発明の骨子を逸脱しない範囲で種々変形して実施することができる。