(57)【要約】【課題】情報システムの保護資産に対して網羅的にセキュリティ脆弱性評価を自動で行うことができるセキュリティ脆弱性評価装置を提供する。【解決手段】仕様入力部２１は、コンピュータが内蔵された製品の設計仕様が入力される。設計モデル生成部３１は、仕様入力部２１により入力された設計仕様に基づいて製品の動作及び製品で用いられるデータを示す設計モデルを生成する、資産入力部２３は、製品の保護資産、及び、当該保護資産の保護状態を入力する。保護状態モデル生成部３２は、設計モデル生成部３１により生成された設計モデルから資産入力部２３により入力された保護資産に関連する動作部分を抽出した保護状態モデルを生成する。演算部４１は、保護状態モデルから保護資産の保護状態を侵害する状態にあるか否かを判定する。【選択図】図１
2019211947.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが内蔵された製品の設計仕様が入力される仕様入力部と、
前記仕様入力部により入力された設計仕様に基づいて前記製品の動作及び前記製品で用いられるデータを示す設計モデルを生成する設計モデル生成部と、
前記製品の保護資産、及び、当該保護資産の保護状態を入力する資産入力部と、
前記設計モデル生成部により生成された設計モデルから前記資産入力部により入力された前記保護資産に関連する動作部分を抽出した保護状態モデルを生成する保護状態モデル生成部と、
前記保護状態モデルから前記保護資産の保護状態を侵害する状態にあるか否かを判定する判定部と、を備えたことを特徴とする脆弱性評価装置。
【請求項２】
コンピュータが内蔵された製品の動作及び前記製品で用いられるデータを示す設計モデルが入力される設計モデル入力部と、
前記製品の保護資産、及び、当該保護資産の保護状態を入力する資産入力部と、
前記設計モデル入力部により入力された設計モデルから前記資産入力部により入力された前記保護資産に関連する動作部分を抽出した保護状態モデルを生成する保護状態モデル生成部と、
前記保護状態モデルから前記保護資産の保護状態を侵害する状態にあるか否かを判定する判定部と、を備えたことを特徴とする脆弱性評価装置。
【請求項３】
前記判定部により前記保護資産の保護状態を侵害する状態にあると判定された場合、前記保護資産の保護状態を侵害する状態に至るような前記製品への入力を生成する入力生成部をさらに備えたことを特徴とする請求項１又は２に記載の脆弱性評価装置。
【請求項４】
前記設計モデルを出力する出力部をさらに有し、
前記資産入力部は、前記出力部に出力された設計モデルが示す前記製品の動作及び前記製品で用いられるデータの中から前記保護資産を選択して入力できるようにしていることを特徴とする請求項１〜３何れか１項に記載の脆弱性評価装置。
【請求項５】
前記資産入力部は、前記出力部に出力された設計モデルが示す動作の中から前記保護状態に影響を与える動作を選択して入力でき、選択された動作が行われた結果、前記保護資産がどのような状態であれば保護されているかを保護状態として入力できるようにしていることを特徴とする請求項４に記載の脆弱性評価装置。
【請求項６】
前記設計モデルは、動作フロー又は状態遷移図から構成され、
前記保護状態モデル生成部は、前記動作フロー又は前記状態遷移図のうち、初期状態から前記資産入力部により選択された動作に至るまでを保護状態モデルとして生成し、
前記判定部は、抽出した前記保護状態モデルから前記保護資産の保護状態を逸脱する状態があれば前記保護状態を侵害する状態にあると判定することを特徴とする請求項４に記載の脆弱性評価装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、脆弱性評価装置に関する。
【背景技術】
【０００２】
コンピュータに組み込まれた情報システムに存在するセキュリティ上の脆弱性を検出する検出法として、特許文献１、２に記載されたものが提案されている。
【０００３】
特許文献１では、セキュリティのバグ情報等から構成されるデータベースを参照して被監査コンピュータのオペレーティングシステムに適合する検査データを自動的に選択し、この検査データによって被監査コンピュータに存在するセキュリティ上の脆弱性を検出するシステムが提案されている。
【０００４】
特許文献２では、ソースコードを静的に分析し、オーバーフロー、競合状態、及び、特権エスカレーションの3種類の脆弱性を検出する手法が提案されている。
【０００５】
特許文献1の手法では、データベース上に登録されていない独自に作成したソフトウェア等のセキュリティ上に脆弱性を検出できない問題がある。特許文献２の手法では、オーバーフロー、競合状態、及び、特権エスカレーション以外の種類の脆弱性を検出できない問題がある。さらに、組込システムを含む情報システムに対する攻撃は、活発化してきており、網羅的なセキュリティ上の脆弱性検出は、ますます重要になってきている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−１５７２２１号公報
【特許文献２】特表２００６−５２３８９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、以上の背景に鑑みてなされたものであり、網羅的に脆弱性の評価を行うことができる脆弱性評価装置を提供することを目的としている。
【課題を解決するための手段】
【０００８】
本発明の態様である脆弱性評価装置は、コンピュータが内蔵された製品の設計仕様が入力される仕様入力部と、前記仕様入力部により入力された設計仕様に基づいて前記製品の動作及び前記製品で用いられるデータを示す設計モデルを生成する設計モデル生成部と、前記製品の保護資産、及び、当該保護資産の保護状態を入力する資産入力部と、前記設計モデル生成部により生成された設計モデルから前記資産入力部により入力された前記保護資産に関連する動作部分を抽出した保護状態モデルを生成する保護状態モデル生成部と、前記保護状態モデルから前記保護資産の保護状態を侵害する状態にあるか否かを判定する判定部と、を備えたことを特徴とする。
【０００９】
本発明の態様である脆弱性評価装置は、コンピュータが内蔵された製品の動作及び前記製品で用いられるデータを示す設計モデルが入力される設計モデル入力部と、前記製品の保護資産、及び、当該保護資産の保護状態を入力する資産入力部と、前記設計モデル入力部により入力された設計モデルから前記資産入力部により入力された前記保護資産に関連する動作部分を抽出した保護状態モデルを生成する保護状態モデル生成部と、前記保護状態モデルから前記保護資産の保護状態を侵害する状態にあるか否かを判定する判定部と、を備えたことを特徴とする。
【００１０】
また、前記判定部により前記保護資産の保護状態を侵害する状態にあると判定された場合、前記保護資産の保護状態を侵害する状態に至るような前記製品への入力を生成する入力生成部をさらに備えてもよい。
【００１１】
また、前記設計モデルを出力する出力部をさらに有し、前記資産入力部は、前記出力部に出力された設計モデルが示す前記製品の動作及び前記製品で用いられるデータの中から前記保護資産を選択して入力できるようにしてもよい。
【００１２】
また、前記資産入力部は、前記出力部に出力された設計モデルが示す動作の中から前記保護状態に影響を与える動作を選択して入力でき、選択された動作が行われた結果、前記保護資産がどのような状態であれば保護されているかを保護状態として入力できるようにしてもよい。
【００１３】
また、前記設計モデルは、動作フロー又は状態遷移図から構成され、前記保護状態モデル生成部は、前記動作フロー又は前記状態遷移図のうち、初期状態から前記資産入力部により選択された動作に至るまでを保護状態モデルとして生成し、前記判定部は、抽出した前記保護状態モデルから前記保護資産の保護状態を逸脱する状態があれば前記保護状態を侵害する状態にあると判定してもよい。
【００１４】
また、前記入力生成部は、前記製品への入力フレームの各フィールドが、前記保護資産の保護状態を侵害する状態に至らせる場合に取りえる値の範囲を演算してもよい。
【発明の効果】
【００１５】
上記態様によれば、資産入力部に入力された前記製品の保護資産、及び、当該保護資産の保護状態についての脆弱性の評価を行うことができるので、様々な保護資産、保護状態についての評価を行うことができ、網羅的に脆弱性の評価を行うことができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の脆弱性評価装置の一実施形態を示す機能ブロック図である。
【図２】図１に示す設計モデル生成部により生成された設計モデルの一例を示すフローチャートである。
【図３】図１に示す設計モデル生成部により生成された設計モデルの一例を示す状態遷移図である。
【図４】図１に示す設計モデル生成部により生成された設計モデルの一例を示す互いに紐付けられたフローチャートと状態遷移図である。
【図５】実機に入力される入力メッセージのフォーマットを示す図である。
【図６】図１に示す保護状態モデル生成部により生成された保護状態モデルの一例を示すフローチャートである。
【図７】図１に示す保護状態モデル生成部により生成された保護状態モデルの一例を示す状態遷移図である。
【図８】図１に示す入力生成部により生成された入力メッセージの一例を示す図である。
【図９】他の実施形態における脆弱性評価装置を示す機能ブロック図である。
【図１０】他の実施形態における脆弱性評価装置を示す機能ブロック図である。
【発明を実施するための形態】
【００１７】
以下、本発明の一実施形態を、図１に基づいて説明する。図１に示す脆弱性評価装置は、コンピュータが内蔵された組み込みシステム製品（実機）のセキュリティの脆弱性を評価する装置である。同図に示すように、脆弱性評価装置１は、入出力装置２と、モデル生成装置３と、パターン生成装置４と、から構成される。
【００１８】
入出力装置２は、仕様入力部２１と、出力部２２と、資産入力部２３と、を備えている。
【００１９】
仕様入力部２１は、キーボード、マウスやタッチパネルなどの操作部から構成され、実機の設計仕様が入力される。設計仕様としては、入力（データ）のフォーマットや、実機の動作などが入力される。実機の動作は、設計モデルを生成できるように実機が行う各種機能とその関係性や実機の各種状態とその関係性などが入力される。
【００２０】
設計仕様は、後述するモデル生成装置にとって理解可能な形（形式記述）で入力する必要があるが、形式記述と呼ばれる言語は難解であることが多く、形式記述言語をユーザに求めることは難しい。本実施形態では、設計仕様としては、自然言語で記述されたドキュメントが入力できるようにし、入出力装置又はモデル生成装置に入力されたドキュメントを形式記述に変換する機能を内蔵させている。もちろん、形式記述言語で設計仕様を入力できるようにしてもよい。
【００２１】
出力部２２は、タッチパネルなどの表示部から構成され、後述するモデル生成装置３が生成した製品の動作を示す設計モデル（フローチャートや状態遷移図など含む）をユーザに表示する。
【００２２】
資産入力部２３は、キーボード、マウスやタッチパネルなどの操作部から構成され、実機の保護資産、及び、当該保護資産の保護状態を入力する。資産入力部２３は、設計モデルとして出力部２２に表示されている入力データなどから保護資産を選択して入力できる。また、資産入力部２３は、設計モデルとして表示部に表示されている各種機能や各種状態の遷移を選択し、選択した動作や状態の遷移が行われた結果、保護資産がどのような状態であれば保護されているのかを保護状態として定義して入力できる。なお、保護資産、保護状態は、ドキュメントによりユーザが自由に入力できるようにしてもよい。
【００２３】
モデル生成装置３は、設計モデル生成部３１と、保護状態モデル生成部３２と、を備えている。
【００２４】
設計モデル生成部３１は、ＲＯＭ、ＲＡＭ、ＣＰＵを有する周知のマイクロコンピュータが機能する。設計モデル生成部３１は、仕様入力部２１により入力された設計仕様に基づいて、例えばデータのフォーマットや、フローチャート、状態遷移図などの製品の動作を示す設計モデルを生成する。設計モデル生成部３１は、生成した設計モデルを出力部２２に対して出力する。
【００２５】
保護状態モデル生成部３２は、設計モデル生成部３１により生成された設計モデルから資産入力部２３により入力された保護資産に関連する動作部分を抽出した保護状態モデルを生成する。具体的には、保護状態モデル生成部３２は、設計モデル（動作フロー、状態遷移図）のうち初期状態から資産入力部２３により保護状態を定義するために選択された動作や状態までを抽出して保護状態モデルとする。
【００２６】
パターン生成装置４は、演算部４１と、入力生成部４２と、を備えている。
【００２７】
判定部としての演算部４１は、保護状態モデルから保護資産の保護状態を侵害する状態に至るか否かを判定する。具体的には、演算部４１は、保護状態モデルに保護資産が保護状態を逸脱する場合、または、保護状態を保証する動作がない場合、保護資産の保護状態を侵害する状態にあると判定する。
【００２８】
入力生成部４２は、演算部４１により保護資産の保護状態を侵害する状態にあると判定された場合、保護資産の保護状態を侵害する状態に至るような製品への入力を生成して出力する。
【００２９】
次に、具体的な設計仕様例、保護資産例、保護状態例を挙げて上述した脆弱性評価装置１の動作を説明する。実機の設計仕様例、保護資産例、保護状態例を下記に示す。
【００３０】
（設計仕様例）
メッセージを受信し、パスワード認証し、正しければデータの書換えをして成功メッセージを送信する。メッセージ受信は繰り返す。
（保護資産例）
書換えデータ
（保護状態例）
正しい「書換えデータ」を「データ書換え」機能によって書き込むこと
【００３１】
まず、ユーザは、仕様入力部２１を用いて実機の動作（設計仕様）を入力する。具体的には、ユーザは、設計モデルの一つとしてのフローチャートを生成するための各種機能と、機能間の関係性と、を入力する。上記設計仕様例においては、ユーザは、下記の機能、及び、関係性を設計仕様として入力する。
【００３２】
（機能の設計仕様）
・メッセージを受信する機能
・パスワードを認証する機能
・データ書換え機能
・成功メッセージ送信機能
【００３３】
（機能間の関係性の設計仕様）
・開始後、メッセージを受信する機能に遷移する。
・メッセージを受信する機能を実行後に、パスワード認証をする機能を動作させる。
・パスワード認証に成功した後に、データ書換え機能を実施する。
・パスワード認証に失敗した後に、メッセージ受信する機能に戻る。
・データ書換え機能を実行後に、成功メッセージ送信機能に戻る。
・成功メッセージ送信機能を実行後に、メッセージを受信する機能を動作させる。
【００３４】
また、ユーザは、仕様入力部２１を用いて設計モデルの一つとして状態遷移図を生成するための各種状態と、状態間の関係性と、を入力する。上記設計仕様例においては、ユーザは、下記の状態、及び、関係性を設計仕様として入力する。
【００３５】
（状態の設計仕様）
・メッセージ受信待ち状態
・パスワード認証状態
・データ書換え状態
・メッセージ送信状態
【００３６】
（状態の関係性の設計仕様）
・「開始後」に、「メッセージ受信待ち状態」に遷移する。
・「メッセージ受信待ち状態」でメッセージを受信した際に、「パスワード認証状態」に遷移する。
・「パスワード認証状態」で、パスワードが一致した際に、「データ書換え状態」に遷移する。
・「パスワード認証状態」で、パスワードが一致しない際に、「メッセージ受信待ち状態」に遷移する。
・「データ書換え状態」で、データの書換えが完了した際に、「メッセージ受信待ち状態」に遷移する。
・「メッセージ送信状態」で、メッセージ送信完了した際に、「メッセージ受信待ち状態」に遷移する。
【００３７】
このとき、ユーザは、仕様入力部２１を用いて、入力した機能と状態とを紐付ける情報も入力する。また、ユーザは、下記の入力メッセージ（入力）のフォーマットを入力する。
【００３８】
（入力メッセージのフォーマット）
・アドレスを持つ
・書換えデータを持つ
・パスワードを持つ
【００３９】
設計仕様が入力されるとモデル生成装置３の設計モデル生成部３１が、設計仕様に基づいて図２に示すフローチャート、図３に示す状態遷移図を設計モデルとして生成する。設計モデル生成部３１は、図４に示すように、フローチャートの機能と状態遷移図の状態とを紐付けるようにしてもよい。
【００４０】
設計モデル生成部３１は、生成した設計モデルを出力部２２に出力させる。これにより、出力部２２が、設計モデルとしたフローチャート、状態遷移図及び入力メッセージを表示（出力）する。
【００４１】
その後、ユーザが、資産入力部２３を用いて保護資産、及び、保護資産の保護状態を入力する。ユーザは、出力部２２に表示されたフローチャート、状態遷移図及び入力メッセージから選択して保護資産、及び、保護状態を入力することができる。上記保護資産例において、ユーザは、表示された入力メッセージのデータフォーマットから書換えデータを選択して保護資産として入力する。
【００４２】
また、ユーザは、フローチャート及び状態遷移図の「データ書換え」機能、状態を選択操作する。そして、ユーザは、選択した機能、状態において書換えデータが正しいことを例えばドキュメントで入力し、保護状態を定義する。
【００４３】
次に、モデル生成装置３の保護状態モデル生成部３２は、入力された保護資産、保護状態に基づいて、設計モデルの中から保護資産に関連する動作部分（保護資産に影響を与える可能性のある動作部分）を保護状態モデルとして抽出する。
【００４４】
具体的には、保護状態モデル生成部３２は、開始（初期状態）から保護状態の入力時に資産入力部２３により選択された「データ書換え」機能、状態までを保護状態モデルとして生成する。これにより、図６、図７に示すようなフローチャート、状態遷移図が保護状態モデルとして生成される。
【００４５】
演算部は、保護状態モデル生成部により生成された保護状態モデルから保護資産の保護状態を侵害する状態にあるか否かを判定する。具体的には、演算部は、保護状態モデルに保護資産の保護状態（書換えデータが正しいか）を確認する機能、状態がなければ、保護資産の保護状態を侵害する状態にあると判定する。
【００４６】
入力生成部４２は、演算部４１により保護資産の保護状態を侵害する状態にあると判定されると、保護資産の保護状態を侵害する状態に至るような製品への入力を生成する。具体例では、入力として図５に示す入力メッセージがある。入力生成部４２は、入力メッセージ（入力フレーム）に含まれる各情報（各フィールド；図５に示す例ではアドレス、書換えデータ、パスワード）のうち保護資産である「書換えデータ」以外（即ち、アドレス、パスワード）がどのような場合にデータ書換え機能、動作に到達できるか検証する。
【００４７】
まず、入力生成部４２は、まず入力メッセージのアドレスについて検討する。入力生成部４２は、保護状態モデルではアドレスを参照した動作を行っていないので、アドレスを任意の値とする。
【００４８】
次に、入力生成部４２は、パスワードについて検討する。入力生成部４２は、保護状態モデルではパスワードはパスワード認証にてパスワード一致と判定される正しいパスワードのみで「データ書換え」を行えるので、パスワードを正しいパスワードとする。
【００４９】
次に、入力生成部４２は、「データ書換え」機能、状態において正しい書換えデータに書換えられることが定義された保護状態であるので、正しくない（不正な）書換えデータが書き込まれることが「保護資産の保護状態を侵害する状態である」と判定し、書換えデータを不正な書換えデータとする。
【００５０】
これにより、図８に示すように、入力生成部４２は、任意のアドレス、不正な書換えデータ、正しいパスワードを持つ入力メッセージを生成して、出力することができる。ユーザは、入力生成部４２により生成された入力メッセージを実機に入力して、実機の脆弱性を評価することができる。
【００５１】
なお、入力生成部４２は、製品への入力メッセージの各情報が、保護資産の保護状態を侵害する状態に至らせる場合に取りえる値の範囲を演算し、その範囲内となる複数の入力メッセージを生成するようにしてもよい。
【００５２】
上述した実施形態によれば、資産入力部２３に入力された実機の保護資産、及び、当該保護資産の保護状態についての脆弱性の評価を行うことができるので、入力する保護資産、保護状態を変更することにより様々な保護資産、保護状態についての評価を行うことができ、網羅的に脆弱性の評価を行うことができる。
【００５３】
上述した実施形態によれば、入力生成部４２が、演算部４１により保護資産の保護状態を侵害する状態にあると判定された場合、保護資産の保護状態を侵害する状態に至るような実機への入力メッセージを生成する。これにより、入力メッセージを実機に入力して脆弱性の評価を行うことができるため、精度良く脆弱性の評価を行うことができる。
【００５４】
上述した実施形態によれば、資産入力部２３は、出力部２２に出力（表示）された設計モデルが示す実機の動作及び実機で用いられるデータの中から保護資産を選択して入力できる。これにより、容易に保護資産を入力することができる。
【００５５】
上述した実施形態によれば、資産入力部２３は、出力部２２に出力（表示）された設計モデルが示す動作の中から保護状態に影響を与える動作を選択して入力でき、選択された動作が行われた結果、保護資産がどのような状態であれば保護されているかを保護状態として入力できる。これにより、容易に保護状態を入力することができる。
【００５６】
上述した実施形態によれば、保護状態モデル生成部３２は、フローチャート又は状態遷移図のうち、初期状態から資産入力部２３により選択された動作に至るまでを保護状態モデルとして生成し、演算部４１は、抽出した保護状態モデルから保護資産の保護状態を確認する状態がなければ保護状態を侵害する状態にあると判定する。これにより、容易に保護状態を侵害する状態にあるか否かを判定することができる。
【００５７】
なお、上述した実施形態によれば、初期状態から資産入力部２３により選択された「データ書換え」機能、状態までを保護状態モデルとして抽出していたが、これに限ったものではない。加えて、「データ書換え」機能、状態を含むループを形成する機能、状態部分も保護状態モデルとして抽出してもよい。
【００５８】
また、上述した実施形態によれば、入力生成部４２が保護状態を侵害する状態に至る入力メッセージを生成していたが、これに限ったものではない。入力生成部４２は必須ではない。例えば図９に示すように、入力生成部４２を設けずに、演算部４１が、その判定結果を出力部２２から出力（表示）させるだけでもよい。これにより、ユーザは入力した保護資産、保護状態の脆弱性の評価を行うことができ、実機のプログラムの手直しなど行うことができる。
【００５９】
また、上述した実施形態によれば、仕様入力部２１により入力された設計仕様に基づいて設計モデル生成部３１が設計モデルを生成していたが、これに限ったものではない。例えば、図１０に示すように、仕様入力部２１、設計モデル生成部３１を設けずに、ユーザにより設計モデルを入力させる設計モデル入力部２４を設けてもよい。出力部２２には、設計モデル入力部２４により入力された設計モデルが表示される。
【００６０】
なお、本発明は上記実施形態に限定されるものではない。即ち、本発明の骨子を逸脱しない範囲で種々変形して実施することができる。
【符号の説明】
【００６１】
１  脆弱性評価装置
２１  仕様入力部
２２  出力部
２３  資産入力部
２４  設計モデル入力部
３１  設計モデル生成部
３２  保護状態モデル生成部
４１  演算部（判定部）
４２  入力生成部
【図１】
2019211947.tif 000003
【図２】
2019211947.tif 000004
【図３】
2019211947.tif 000005
【図４】
2019211947.tif 000006
【図５】
2019211947.tif 000007
【図６】
2019211947.tif 000008
【図７】
2019211947.tif 000009
【図８】
2019211947.tif 000010
【図９】
2019211947.tif 000011
【図１０】
2019211947.tif 000012