(57)【要約】  発生個所特定部（２２）は、システムを構成する構成要素間の相互作用を示す概要設計モデル（３１）と、脅威が発生する可能性のある構成要素を示す脅威情報（３２）とに基づき、システムを構成する構成要素において脅威が発生する可能性がある相互作用を特定する。詳細特定部（２３）は、概要設計モデル（３１）が示す相互作用を実現する処理を示す詳細設計モデル（３３〜３５）に基づき、発生個所特定部（２２）によって特定された相互作用を実現する処理を特定する。
2019138540.tif 000002
【特許請求の範囲】
【請求項１】
システムを構成する構成要素間の相互作用を示す概要設計モデルと、脅威が発生する可能性のある構成要素を示す脅威情報とに基づき、前記システムを構成する構成要素において脅威が発生する可能性がある相互作用を特定する発生個所特定部と、
前記概要設計モデルが示す相互作用を実現する処理を示す詳細設計モデルに基づき、前記発生個所特定部によって特定された相互作用を実現する処理を特定する詳細特定部と
を備える脅威特定装置。
【請求項２】
前記脅威情報は、脅威毎にその脅威が発生する情報資産を示し、
前記発生個所特定部は、前記概要設計モデルが示す相互作用のうち、前記脅威情報が示す情報資産を用いた相互作用を特定することにより、脅威が発生する可能性がある相互作用を特定する
を備える請求項１に記載の脅威特定装置。
【請求項３】
前記脅威情報は、脅威毎にその脅威が発生する要因を示し、
前記発生個所特定部は、前記概要設計モデルが示す相互作用のうち、前記脅威情報が示す要因に相当する相互作用を特定することにより、脅威が発生する可能性がある相互作用を特定する
を備える請求項１又は２に記載の脅威特定装置。
【請求項４】
前記脅威情報は、構成要素間の関係を示す複数のユースケースのうち、脅威毎にその脅威が発生するユースケースを示し、
前記発生個所特定部は、前記概要設計モデルが示す構成要素間の相互作用のうち、前記脅威情報が示すユースケースに相当する相互作用を特定することにより、脅威が発生する可能性がある相互作用を特定する
を備える請求項１から３までのいずれか１項に記載の脅威特定装置。
【請求項５】
前記脅威特定装置は、さらに、
脅威の要因毎にその脅威が成立するか否かの判定条件を示す検査ルールに基づき、前記詳細特定部によって特定された処理で脅威が成立するか否かを判定する成立判定部
を備える請求項１から４までのいずれか１項に記載の脅威特定装置。
【請求項６】
前記検査ルールは、処理で使用されるデータに基づく前記判定条件を示し、
前記詳細設計モデルは、処理で使用されるデータの仕様を示し、
前記成立判定部は、前記検査ルールが示す判定条件を前記詳細設計モデルが示すデータの仕様が満たすか否かにより、前記詳細特定部によって特定された処理で脅威が成立するか否かを判定する
請求項５に記載の脅威特定装置。
【請求項７】
発生個所特定部が、システムを構成する構成要素間の相互作用を示す概要設計モデルと、脅威が発生する可能性のある構成要素を示す脅威情報とに基づき、前記システムを構成する構成要素において脅威が発生する可能性がある相互作用を特定し、
詳細特定部が、前記概要設計モデルが示す相互作用を実現する処理を示す詳細設計モデルに基づき、前記発生個所特定部によって特定された相互作用を実現する処理を特定する脅威特定方法。
【請求項８】
システムを構成する構成要素間の相互作用を示す概要設計モデルと、脅威が発生する可能性のある構成要素を示す脅威情報とに基づき、前記システムを構成する構成要素において脅威が発生する可能性がある相互作用を特定する発生個所特定部と、
前記概要設計モデルが示す相互作用を実現する処理を示す詳細設計モデルに基づき、前記発生個所特定部によって特定された相互作用を実現する処理を特定する詳細特定部と
をコンピュータに実行させる脅威特定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、システムにおいて脅威が発生する可能性がある処理を特定する技術に関する。
【背景技術】
【０００２】
ソフトウェアシステムの開発プロセスでは、ソフトウェア機能を実現するための構成及び動作が徐々に詳細化される。セキュリティに関連する工程も同様であり、システムの要求分析といった抽象的な設計を行う開発フェーズの上流工程では、脅威分析及びリスク分析等という分析を行うことにより、開発対象のシステムに悪影響を及ぼす脅威を洗い出す。そして、詳細な設計を行う開発フェーズの下流工程では、システムの構成及び動作が具体化されると、洗い出した脅威に繋がる攻撃に利用される脆弱性が存在しないかが分析される。この際、必要に応じて脆弱性を防ぐためにセキュリティ機能の追加といった設計変更が行われる。
このような取組みにおいて、詳細化された設計の情報を確認して、脅威が実際に起こりえるかを分析するには、脅威に繋がるような攻撃方法とその攻撃方法に利用される脆弱性に関する知識が必要である。さらに開発するシステムで詳細な仕組みを把握する必要がある。そのため、作業負荷が高いという課題がある。【０００３】
特許文献１には、システムの機能を実現するための構成要素（文献中では「アーキテクチャ」）に依存したセキュリティ要求仕様の詳細化を容易にするための設計支援技術が記載されている。この技術では、機能を実現する構成要素の種別情報と、保護資産に対して発生する脅威情報とが入力される。そして、事前に用意した種別情報と攻撃方法との組み合わせの一覧と、脅威と攻撃方法との組み合わせの一覧とを用いて、入力された構成要素の種別に関係する攻撃方法と、入力された脅威情報に関係する攻撃方法とを抽出する。次に、抽出された攻撃方法が互いに一致する場合には入力された脅威情報を出力し、一致しない場合は出力しない。これにより、開発フェーズの上流工程において、洗い出された脅威情報が発生するか否かの判定を容易にしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１５２５７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載された技術は、機能を実現する構成要素の種類によって攻撃方法を特定することにより、発生し得る脅威を絞り込んでいく。このため、詳細化されたシステムのどの処理に脅威が発生し得るかを特定することができない。
この発明は、詳細化された設計情報が示すどの処理に脅威が発生する可能性があるかを特定可能にすることを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係る脅威特定装置は、
システムを構成する構成要素間の相互作用を示す概要設計モデルと、脅威が発生する可能性のある構成要素を示す脅威情報とに基づき、前記システムを構成する構成要素において脅威が発生する可能性がある相互作用を特定する発生個所特定部と、
前記概要設計モデルが示す相互作用を実現する処理を示す詳細設計モデルに基づき、前記発生個所特定部によって特定された相互作用を実現する処理を特定する詳細特定部と
を備える。
【発明の効果】
【０００７】
この発明では、概要設計モデルが示す相互作用において、脅威が発生する可能性がある相互作用が特定され、詳細設計モデルにおいて、特定された相互作用に対応する処理が特定される。これにより、脅威が発生する可能性がある処理を特定可能である。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１に係る脅威特定装置１０の構成図。
【図２】実施の形態１に係る脅威特定装置１０の動作を示すフローチャート。
【図３】実施の形態１に係る概要設計モデル３１の例を示す図。
【図４】実施の形態１に係る脅威情報３２の例を示す図。
【図５】実施の形態１に係る詳細設計モデル３３の例を示す図。
【図６】実施の形態１に係る詳細設計モデル３４の例を示す図。
【図７】実施の形態１に係る詳細設計モデル３５の例を示す図。
【図８】実施の形態１に係る詳細設計モデル３５の例を示す図。
【図９】実施の形態１に係る詳細設計モデル３５の例を示す図。
【図１０】実施の形態１に係る詳細設計モデル３５の例を示す図。
【図１１】実施の形態１に係る検査ルールの例を示す図。
【図１２】変形例２に係る脅威特定装置１０の構成図。
【発明を実施するための形態】
【０００９】
実施の形態１．
＊＊＊構成の説明＊＊＊
図１を参照して、実施の形態１に係る脅威特定装置１０の構成を説明する。
脅威特定装置１０は、コンピュータである。
脅威特定装置１０は、プロセッサ１１と、メモリ１２と、ストレージ１３と、通信インタフェース１４とのハードウェアを備える。プロセッサ１１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００１０】
プロセッサ１１は、プロセッシングを行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）である。プロセッサ１１は、具体例としては、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。
【００１１】
メモリ１２は、データを一時的に記憶する記憶装置である。メモリ１２は、具体例としては、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
【００１２】
ストレージ１３は、データを保管する記憶装置である。ストレージ１３は、具体例としては、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）である。また、ストレージ１３は、ＳＤ（登録商標，Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリカード、ＣＦ（ＣｏｍｐａｃｔＦｌａｓｈ，登録商標）、ＮＡＮＤフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ（登録商標）ディスク、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）といった可搬記録媒体であってもよい。
【００１３】
通信インタフェース１４は、外部の装置と通信するためのインタフェースである。通信インタフェース１４は、具体例としては、Ｅｔｈｅｒｎｅｔ（登録商標）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、ＨＤＭＩ（登録商標，Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）のポートである。
【００１４】
脅威特定装置１０は、機能構成要素として、受付部２１と、発生個所特定部２２と、詳細特定部２３と、成立判定部２４とを備える。脅威特定装置１０の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ１３には、脅威特定装置１０の各機能構成要素の機能を実現するプログラムが格納されている。このプログラムは、プロセッサ１１によりメモリ１２に読み込まれ、プロセッサ１１によって実行される。これにより、脅威特定装置１０の各機能構成要素の機能が実現される。
【００１５】
図１では、プロセッサ１１は、１つだけ示されている。しかし、プロセッサ１１は、複数であってもよく、複数のプロセッサ１１が、各機能を実現するプログラムを連携して実行してもよい。
【００１６】
＊＊＊動作の説明＊＊＊
図２から図１１を参照して、実施の形態１に係る脅威特定装置１０の動作を説明する。
実施の形態１に係る脅威特定装置１０の動作は、実施の形態１に係る脅威特定方法に相当する。また、実施の形態１に係る脅威特定装置１０の動作は、実施の形態１に係る脅威特定プログラムの処理に相当する。
【００１７】
（図２のステップＳ１：受付処理）
受付部２１は、概要設計モデル３１と、脅威情報３２と、詳細設計モデル３３〜３５との入力を受け付ける。
具体的には、通信インタフェース１４を介して接続された入力装置が利用者によって操作され、概要設計モデル３１と、脅威情報３２と、詳細設計モデル３３〜３５とが入力される。受付部２１は、通信インタフェース１４を介して、入力された概要設計モデル３１と、脅威情報３２と、詳細設計モデル３３〜３５とを受け付ける。受付部２１は、概要設計モデル３１と、脅威情報３２と、詳細設計モデル３３〜３５とをメモリ１２に書き込む。
【００１８】
図３を参照して、概要設計モデル３１を説明する。
概要設計モデル３１は、開発するプログラムを含むシステムの抽象的な仕様を表す情報である。概要設計モデル３１は、システムを構成する複数の構成要素と、構成要素間の接続関係と、システムが提供する各機能における構成要素間の相互作用とを示す。
具体例としては、図３に示すように、概要設計モデル３１は、ＵＭＬ（Ｕｎｉｆｉｅｄ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ）のシーケンス図のようにシステムの構成要素間のメッセージ交換といった相互作用の情報を含んでいる。図３において、相互作用を表す接続線は、各構成要素間でやり取りされる通信データと、プログラム呼び出しといった相互作用を表す有向線である。図３において、接続線として矢印が用いられており、矢印の方向は手順又はデータの流れを表している。
【００１９】
図４を参照して、脅威情報３２を説明する。
脅威情報３２は、概要設計モデル３１によって表されるシステムで発生し得る脅威毎に、その脅威が発生する可能性のある構成要素及び要因を示す。
具体例としては、図４に示すように、脅威情報３２は、表形式で表されるデータである。脅威情報３２は、脅威の説明と、情報資産と、脅威の要因とを含んでいる。脅威の説明は、システムに悪影響を与える脅威がどのようなものかの説明である。情報資産は、脅威の発生に関係するデータである。脅威の要因は、情報資産に何が発生した際に脅威に至るかを示す。
【００２０】
図５から図１０を参照して、詳細設計モデル３３〜３５を説明する。
詳細設計モデル３３〜３５は、概要設計モデル３１に含まれる開発するプログラムの具体的な仕様を表す情報である。詳細設計モデル３３〜３５は、概要設計モデルが示す相互作用を実現する処理と、その処理で使用されるデータの定義を示す。詳細設計モデル３３〜３５は、性質の異なる３つのタイプの情報である。
具体例としては、図５から図１０に示す通りである。
【００２１】
図５に示すように、詳細設計モデル３３は、ＵＭＬのシーケンス図のようにシステムの構成要素間のメッセージ交換といった相互作用の情報を含んでいる。このシーケンス図は、概要設計モデル３１のシーケンス図に対応しており、メッセージ交換して行われるソフトウェアの内部処理の処理名称と、メッセージとして流れるデータとを示す。ソフトウェアの内部処理とデータの定義とは、別の詳細設計モデル３４，３５に含まれている。
【００２２】
図６に示すように、詳細設計モデル３４は、ＵＭＬのクラス図で記述される情報を含む。同様に、図７から図１０に示すように、詳細設計モデル３５は、ＵＭＬのクラス図で記述される情報を含む。詳細設計モデル３４，３５は、シーケンス図のメッセージとソフトウェアの内部処理とで使われるデータの構造を示す。
詳細設計モデル３４，３５には、例えば、データの構造として、メッセージに含まれるデータ要素の型が指定されている。なお、セキュリティに関連する型は事前に定義されており、モデルにはその型が含まれて設計される。例えば、詳細設計モデル３４では、ＵｓｅｒＡｕｔｈＲｅｑｕｅｓｔメッセージのメンバとしてデータ要素が定義されており、ｐａｓｓｗｏｒｄメンバは、データの型としてＰａｓｓｗｏｒｄが指定されている。Ｐａｓｓｗｏｒｄ型は事前定義されたＰＡＳＳＷＯＲＤ型を参照している。
後述する処理において、成立判定部２４は、この情報を参照することにより、ＵｓｅｒＡｕｔｈＲｅｑｕｅｓｔのｐａｓｓｓｗｏｒｄメンバを、ユーザ認証を行うためのパスワードとして利用していることを特定する。また、成立判定部２４は、Ｐａｓｓｗｏｒｄ型の定義によりその最低長が８文字であることも特定する。
【００２３】
概要設計モデル３１と、詳細設計モデル３３〜３５は、階層的な構造を表現することが可能なデータ形式で記述される。例えば、概要設計モデル３１と、詳細設計モデル３３〜３５は、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）とＪＳＯＮ（ＪａｖａＳｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ）といったデータ形式で記述される。
【００２４】
（図２のステップＳ２：発生個所特定処理）
発生個所特定部２２は、ステップＳ１で受け付けられた概要設計モデル３１と脅威情報３２とに基づき、システムを構成する構成要素において脅威が発生する可能性がある相互作用を特定する。相互作用とは、図５に示すシーケンス図においてオブジェクト間を結ぶメッセージと、そのメッセージの両端に存在する送受信のオブジェクトとの組である。
【００２５】
具体的には、発生個所特定部２２は、概要設計モデル３１と脅威情報３２とをメモリ１２から読み出す。発生個所特定部２２は、概要設計モデル３１が示す相互作用のうち、脅威情報３２が示す情報資産を用いた相互作用を特定することにより、脅威が発生する可能性がある相互作用を特定する。例えば、発生個所特定部２２は、図３に示す概要設計モデル３１から、図４の脅威情報３２が示す情報資産であるＳｔｏｐコマンドを用いる相互作用を特定する。すると、ＨＭＩから２番目にメッセージが送信される相互作用（Ｓｔｏｐコマンドが送信される相互作用）が特定される。
また、発生個所特定部２２は、概要設計モデル３１が示す相互作用のうち、脅威情報３２が示す脅威の要因に相当する相互作用を特定することにより、脅威が発生する可能性がある相互作用を特定する。例えば、発生個所特定部２２は、図３に示す概要設計モデル３１から、図４の脅威情報３２が示す脅威の要因である未承認の送信メッセージに相当する相互作用を特定する。すると、ＨＭＩから１番目にメッセージが送信される相互作用（ユーザ認証要求が送信される相互作用）が特定される。ここで、脅威の要因からどのメッセージが関連するかの推測は、事前に作成されたルールに基づいて行われてもよいし、発生個所特定部２２に設定されたロジックにより行われてもよい。
発生個所特定部２２は、特定された相互作用を、その相互作用に対して発生する可能性がある脅威とともにメモリ１２に書き込む。
【００２６】
（図２のステップＳ３：詳細特定処理）
詳細特定部２３は、概要設計モデル３１が示す相互作用を実現する処理を示す詳細設計モデル３３〜３５に基づき、ステップＳ２で特定された相互作用を実現する処理を特定する。つまり、詳細特定部２３は、ステップＳ２で特定された相互作用に対応する詳細設計モデル３３〜３５の対応箇所を特定する。
【００２７】
具体的には、詳細特定部２３は、ステップＳ２で特定された相互作用と、その相互作用に対して発生する可能性がある脅威とをメモリ１２から読み出す。また、詳細特定部２３は、概要設計モデル３１と、詳細設計モデル３３〜３５とをメモリ１２から読み出す。詳細特定部２３は、相互作用に割り当てられた識別子等に基づき、詳細設計モデル３３の対応箇所を特定する。例えば、詳細特定部２３は、図３におけるＳｔｏｐコマンドから応答までの処理が、図５におけるＣｏｍｍａｎｄ（Ｓｔｏｐ）からＣｏｍｍａｎｄＲｅｓｐｏｎｓｅであることを特定する。また、詳細特定部２３は、図３におけるユーザ認証要求からＯＫの処理が、図５におけるＵｓｅｒＡｕｔｈＲｅｑｕｅｓｔからＵｓｅｒＡｕｔｈＲｅｓｐｏｎｓｅで表されていることを特定する。
詳細特定部２３は、特定された詳細設計モデル３３における対応箇所に対応する、詳細設計モデル３４，３５における対応箇所を特定する。これは、詳細設計モデル３３における対応箇所の名称から容易に特定できる。
対応箇所に対応する相互作用に対して発生する可能性がある脅威を、対応箇所に対応する脅威とする。詳細特定部２３は、特定された対応箇所を、その対応箇所に対応する脅威とともにメモリ１２に書き込む。
【００２８】
成立判定部２４は、ステップＳ３で特定された各対応箇所の処理を対象として、ステップＳ４からステップＳ６の処理を実行する。
【００２９】
（図２のステップＳ４：成立判定処理）
成立判定部２４は、脅威の要因毎にその脅威が成立するか否かの判定条件を示す検査ルールに基づき、対象の対応箇所の処理で脅威が成立するか否かを判定する。検査ルールは、ストレージ１３に事前に記憶されている。
【００３０】
具体的には、成立判定部２４は、検査ルールをストレージ１３からから読み出す。また、成立判定部２４は、対象の対応箇所と、対象の対応箇所に対応する脅威とをメモリ１２から読み出す。成立判定部２４は、脅威情報３２を参照して、対応箇所に対応する脅威の要因を特定する。成立判定部２４は、対象の対応箇所に対応する脅威の要因について検査ルールが示す判定条件を、対象の対応箇所が満たすか否かを判定する。
例えば、図１１に示すような検査ルールが読み出されたとする。図４に示すように、ステップＳ２３で特定された対応箇所に対応する脅威の要因は、未認証の送信メッセージである。図１１に示す検査ルールでは、脅威の要因が未認証の送信メッセージの場合には、攻撃方法としてユーザ認証なし／バイパスと、セッション／認証情報の推測との２つの攻撃についての判定条件が存在している。したがって、成立判定部２４は、各対応箇所を対象として、図１１に示す２つの判定条件それぞれを、対象の対応箇所が満たすか否かを判定する。図１１では、判定条件は、攻撃が不成立になる条件を示している。
【００３１】
ユーザ認証なし／バイパス攻撃については、攻撃が不成立になる条件として、（Ａ１）又は（Ａ２）が示されている。（Ａ１）メッセージに含まれるＰＡＳＳＷＯＲＤ型データの比較するユーザ認証処理が行われている。（Ａ２）ユーザ認証処理で払い出されたＳＥＳＳＩＯＮＩＤ型のデータがメッセージに含まれている。
【００３２】
１つ目の対応箇所である、図５におけるＵｓｅｒＡｕｔｈＲｅｑｕｅｓｔからＵｓｅｒＡｕｔｈＲｅｓｐｏｎｓｅについては、以下のように判定される。
ＵｓｅｒＡｕｔｈＲｅｑｕｅｓｔからＵｓｅｒＡｕｔｈＲｅｓｐｏｎｓｅでは、ＵｓｅｒＡｕｔｈ（）が行われている。図７に示すＵｓｅｒＡｕｔｈ（）のアクティビティ図では、ＵｓｅｒＣｈｅｃｋ（）の引数として、ＰＡＳＳＷＯＲＤ型のデータ形式を継承したＰａｓｓｗｏｒｄ型の引数ｐａｓｓｗｏｒｄが入力されている。そして、ＧｅｔＵｓｅｒＰａｓｓｗｏｒｄ（）で取得した情報との比較がなされている。よって、成立判定部２４は、この処理では、攻撃が不成立になる条件（Ａ１）を満たしており、ユーザ認証なし／バイパス攻撃が成立しないと判定する。
【００３３】
２つ目の対応箇所である、図５におけるＣｏｍｍａｎｄ（Ｓｔｏｐ）からＣｏｍｍａｎｄＲｅｓｐｏｎｓｅについては、以下のように判定される。
Ｃｏｍｍａｎｄ（Ｓｔｏｐ）からＣｏｍｍａｎｄＲｅｓｐｏｎｓｅでは、図６及び図１０に示すように、ｓｅｓｓｉｏｎｉｄというデータが含まれており、このデータはＰｏｗｅｒＣｏｎｔｒｏｌ（）の引数として含まれている。この引数の値は、ＰｏｗｅｒＣｏｎｔｒｏｌ（）のアクティビティ図のｉｓＶａｌｉｄＩＤ（）の引数として利用されている。ｉｓＶａｌｉｄＩＤ（）の結果がＴｒｕｅの場合に、フィールド装置に影響を及ぼすＳｅｔＰｏｗｅｒ（）が呼び出されている。つまり、ｓｅｓｓｉｏｎｉｄ引数の値がＳｅｔＰｏｗｅｒ（）の実行に影響を与える。ここで、Ｓｔｏｐコマンドの送信の前に、ＰＡＳＳＷＯＲＤ型のデータを比較した結果で払い出される値が返されている。この状況からｓｅｓｓｉｏｎｉｄには、ＰＡＳＳＷＯＲＤ型のデータが継承されていると認められる。よって、成立判定部２４は、この処理では、攻撃が不成立になる条件（Ａ２）を満たしており、ユーザ認証なし／バイパス攻撃が成立しないと判定する。
【００３４】
セッション／認証情報の推測攻撃については、攻撃が不成立になる条件として、（Ｂ１）セッションＩＤが乱数又はパスワードの長さが８以上であることが示されている。
図８ＣｒｅａｔｅＳｅｓｓｉｏｎＩｄ（）のアクティビティ図と、図９に示すＳｅｎｄＴｃｐＤａｔａ（）のアクティビティ図とから、セッションＩＤにＩＤをハッシュした値が使われており、ＲＡＮＤＯＭ型のデータが使われていないことが特定される。よって、成立判定部２４は、いずれの対応箇所についても、セッション／認証情報の推測攻撃が成立すると判定する。
【００３５】
（ステップＳ５：分岐処理）
成立判定部２４は、ステップＳ４で攻撃が成立すると判定された場合には、処理をステップＳ６に進める。一方、成立判定部２４は、ステップＳ４で攻撃が成立しないと判定された場合には、ステップＳ６をスキップする。
【００３６】
（ステップＳ６：出力処理）
成立判定部２４は、対象の対応箇所の処理と、対応箇所に対応する脅威に関する情報とを出力する。
具体的には、成立判定部２４は、通信インタフェース１４を介して、対象の対応箇所の処理と、対応箇所に対応する脅威に関する情報とを表示装置等に表示する。成立判定部２４は、例えば、詳細設計モデル３３〜３５に、対応箇所を明示して表示してもよい。
【００３７】
なお、ここでは、攻撃が成立すると判定された場合のみ、対応箇所等が出力された。しかし、攻撃が成立しない場合であっても、対応箇所等を出力してもよい。この際、攻撃が成立すると判定されたか否かについても合わせて出力してもよい。
【００３８】
＊＊＊実施の形態１の効果＊＊＊
以上のように、実施の形態１に係る脅威特定装置１０は、概要設計モデルが示す相互作用において、脅威が発生する可能性がある相互作用が特定され、詳細設計モデルにおいて、特定された相互作用に対応する処理が特定される。これにより、脅威が発生する可能性がある処理を特定可能である。システムの脆弱性がある処理を特定することにより、システムのセキュリティに関する設計を容易にすることができる。
【００３９】
また、実施の形態１に係る脅威特定装置１０は、特定された処理で脅威が成立するか否かを判定する。これにより、精度よく脆弱性の有無を判定することができる。
【００４０】
＊＊＊他の構成＊＊＊
＜変形例１＞
脅威情報３２は、構成要素間の関係を示す複数のユースケースのうち、脅威毎にその脅威が発生するユースケースを示してもよい。例えば、予め構成要素間の関係を示す複数のユースケースが用意されており、脅威情報３２は、脅威毎にその脅威が発生するユースケースの識別子を示している。
この場合には、発生個所特定部２２は、概要設計モデル３１が示す構成要素間の相互作用のうち、脅威情報３２が示すユースケースに相当する相互作用を特定することにより、脅威が発生する可能性がある相互作用を特定する。
【００４１】
＜変形例２＞
実施の形態１では、各機能構成要素がソフトウェアで実現された。しかし、変形例２として、各機能構成要素はハードウェアで実現されてもよい。この変形例２について、実施の形態１と異なる点を説明する。
【００４２】
図１２を参照して、変形例２に係る脅威特定装置１０の構成を説明する。
各機能構成要素がハードウェアで実現される場合には、脅威特定装置１０は、プロセッサ１１とメモリ１２とストレージ１３とに代えて、電子回路１５を備える。電子回路１５は、各機能構成要素と、メモリ１２と、ストレージ１３との機能とを実現する専用の回路である。
【００４３】
電子回路１５としては、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ（Ｇａｔｅ  Ａｒｒａｙ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）が想定される。
各機能構成要素を１つの電子回路１５で実現してもよいし、各機能構成要素を複数の電子回路１５に分散させて実現してもよい。
【００４４】
＜変形例３＞
変形例３として、一部の各機能構成要素がハードウェアで実現され、他の各機能構成要素がソフトウェアで実現されてもよい。
【００４５】
プロセッサ１１とメモリ１２とストレージ１３と電子回路１５とを処理回路という。つまり、各機能構成要素の機能は、処理回路により実現される。
【符号の説明】
【００４６】
１０  脅威特定装置、１１  プロセッサ、１２  メモリ、１３  ストレージ、１４  通信インタフェース、１５  電子回路、２１  受付部、２２  発生個所特定部、２３  詳細特定部、２４  成立判定部、３１  概要設計モデル、３２  脅威情報、３３  詳細設計モデル、３４  詳細設計モデル、３５  詳細設計モデル。
【図１】
2019138540.tif 000003
【図２】
2019138540.tif 000004
【図３】
2019138540.tif 000005
【図４】
2019138540.tif 000006
【図５】
2019138540.tif 000007
【図６】
2019138540.tif 000008
【図７】
2019138540.tif 000009
【図８】
2019138540.tif 000010
【図９】
2019138540.tif 000011
【図１０】
2019138540.tif 000012
【図１１】
2019138540.tif 000013
【図１２】
2019138540.tif 000014
【国際調査報告】
2019138540.tif 000015
2019138540.tif 000016