(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024179540
(43)【公開日】2024-12-26
(54)【発明の名称】セキュリティ判定装置、セキュアシステム設計装置、セキュリティ判定方法及びプログラム
(51)【国際特許分類】
G06F 21/55 20130101AFI20241219BHJP
【FI】
G06F21/55
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023098467
(22)【出願日】2023-06-15
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100181135
【弁理士】
【氏名又は名称】橋本 隆史
(72)【発明者】
【氏名】堀地 亮佑
(57)【要約】
【課題】システム構成案に存在する攻撃パスの有効性を評価したうえで、コンピュータのシステム構成がセキュアな設計であるかを判定する方法を提供する。
【解決手段】セキュリティ判定装置は、成立を防ぎたい攻撃の実行手順を示す脅威の鎖状ルートである攻撃パスを網羅的に生成する攻撃パス生成手段と、前記攻撃パスの有効性を判定する攻撃パス有効性判定手段と、前記攻撃パスの有効性に応じてシステム構成をセキュアあるいは非セキュアと判定するセキュリティ判定手段と、を有する。
【選択図】
図24
【特許請求の範囲】
【請求項1】
成立を防ぎたい攻撃の実行手順を示す脅威の鎖状ルートである攻撃パスを網羅的に生成する攻撃パス生成手段と、
前記攻撃パスの有効性を判定する攻撃パス有効性判定手段と、
前記攻撃パスの有効性に応じてシステム構成をセキュアあるいは非セキュアと判定するセキュリティ判定手段と、
を有するセキュリティ判定装置。
【請求項2】
前記脅威の有効性が離散値で表現され、前記攻撃パス有効性判定手段は、前記攻撃パスを構成する前記脅威の有効性の値がすべて有効であることを示す値である場合に前記攻撃パスを有効であると判定する、
請求項1に記載のセキュリティ判定装置。
【請求項3】
前記脅威の有効性が連続値で表現され、前記攻撃パス有効性判定手段は、前記攻撃パスを構成する前記脅威の有効性を元に当該攻撃パスの有効性を判定する、
請求項1に記載のセキュリティ判定装置。
【請求項4】
システム構成における対抗策の要素と、前記システム構成における対抗策の実施状況に基づいて前記脅威を削除するか、または前記脅威の離散値による有効性を決定するか、または、前記脅威の連続値による有効性を決定する手段、
をさらに有し、
前記攻撃パス有効性判定手段は、前記攻撃パスを構成する前記脅威の有効性に基づいて、前記攻撃パスの有効性を判定する、
請求項1から請求項3の何れか1項に記載のセキュリティ判定装置。
【請求項5】
前記攻撃パス有効性判定手段は、前記攻撃パスの有効性を連続値で表現し、前記攻撃パスを構成する前記脅威の有効性の積を前記攻撃パスの有効性とする、
請求項3に記載のセキュリティ判定装置。
【請求項6】
前記攻撃パス有効性判定手段は、前記攻撃パスの有効性を連続値で表現し、前記攻撃パスを構成する前記脅威の有効性の和を前記攻撃パスの有効性とする、
請求項3に記載のセキュリティ判定装置。
【請求項7】
請求項1または請求項2に記載のセキュリティ判定装置と、
システムへの要求を受け付ける手段と、
前記要求に基づいて前記脅威を具体化する具体化手段と、
を備え、
前記攻撃パス有効性判定手段は、前記具体化手段によって具体化された前記脅威に基づいて、前記攻撃パスを網羅的に生成する、
セキュアシステム設計装置。
【請求項8】
成立を防ぎたい攻撃の実行手順を示す脅威の鎖状ルートである攻撃パスを網羅的に生成するステップと、
前記攻撃パスの有効性を判定するステップと、
前記攻撃パスの有効性に応じてシステム構成をセキュアあるいは非セキュアと判定するステップと、
を有するセキュリティ判定方法。
【請求項9】
コンピュータに、
成立を防ぎたい攻撃の実行手順を示す脅威の鎖状ルートである攻撃パスを網羅的に生成するステップと、
前記攻撃パスの有効性を判定するステップと、
前記攻撃パスの有効性に応じてシステム構成をセキュアあるいは非セキュアと判定するステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、セキュリティ判定装置、セキュアシステム設計装置、セキュリティ判定方法及びプログラムに関する。
【背景技術】
【0002】
非特許文献1および非特許文献2には、セキュアなシステム構成を自動設計する技術(以下「セキュアシステム自動設計技術」)が開示されている。当該技術は、まず複数のシステム構成案を生成し、それぞれのシステム構成案のセキュリティを評価し、セキュアであると評価されたシステム構成案を抽出して出力する。生成されたシステム構成案は、具体的なシステム構成であり、セキュリティの評価は具体的なシステム構成に基づいて実施される。
【0003】
非特許文献1に示されるセキュアシステム自動設計技術は、システム自動設計のシステム設計者側が成立を防ぎたい攻撃と、その攻撃を攻撃者が実行する手段を、脅威という概念を用いて表現するという特徴を有する。本技術では、システム自動設計の際に生成されるシステム構成案において、システム設計者側が成立を防ぎたい攻撃を攻撃者が実行する手順を示す脅威の鎖状ルートである「攻撃パス」の存在を網羅的に探索し、攻撃パスが存在した場合には、当該システム構成案を非セキュアと判定している。非特許文献1で示される技術において攻撃パスの有無は、特定の脅威が存在するか否かに依存するため、システム構成内に存在する脅威を阻止または緩和する対策を講じたことによりセキュアとなるシステムの自動設計を行うことは不可能であった。
【0004】
非特許文献2に例示されるセキュアシステム自動設計技術は、具体的な要素のみで構成されたシステム構成案が生成されたタイミングでその構成案をセキュリティ判定にかける仕様であり、そこで非セキュアと判断された構成案は棄却され別の構成案探索を再開し、非セキュアではないと判断された構成案はそのまま最終出力結果として採用される、という仕組みである。このため、システム構成案の自動設計が終了するまでセキュリティ判定が行えず、棄却される非セキュアな構成案を大量に生成してしまい、セキュアなシステム構成の導出に長い時間を要してしまう。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】堀地亮佑,黒田貴之,“サイバー攻撃の実現方法の探索に基づくセキュアなシステムの自動設計”,電子情報通信学会,ネットワーク仮想化(NV)研究会,2022年11月24日,https://www.ieice.org/cs/nv/wp-content/uploads/2022/11/NV2022-11-Hotchi-NEC.pdf
【非特許文献2】S. E. Ooi, R. Beuran, T. Kuroda, T. Kuwahara, R. Hotchi, N. Fujita, Y. Tan, “Intent-Driven Secure System Design: Methodology and Implementation”, submitted to Elsevier Computers & Security.
【発明の概要】
【発明が解決しようとする課題】
【0006】
システム構成案に攻撃パスが存在した場合、当該攻撃パスの有効性を評価したうえで、システム構成案がセキュアな設計であるかを自動で判定する技術が求められている。
【0007】
そこで本開示は、上述の課題を解決するセキュリティ判定装置、セキュアシステム設計装置、セキュリティ判定方法及びプログラムを提供することを目的としている。
【課題を解決するための手段】
【0008】
本発明の一態様によれば、セキュリティ判定装置は、成立を防ぎたい攻撃の実行手順を示す脅威の鎖状ルートである攻撃パスを網羅的に生成する攻撃パス生成手段と、前記攻撃パスの有効性を判定する攻撃パス有効性判定手段と、前記攻撃パスの有効性に応じてシステム構成をセキュアあるいは非セキュアと判定するセキュリティ判定手段と、を有する。
【0009】
本発明の一態様によれば、セキュアシステム設計装置は、上記のセキュリティ判定装置と、システムへの要求を受け付ける手段と、前記要求に基づいて前記脅威を具体化する具体化手段と、を備え、前記攻撃パス有効性判定手段は、前記具体化手段によって具体化された前記脅威に基づいて、前記攻撃パスを網羅的に生成する。
【0010】
本発明の一態様によれば、セキュリティ判定方法は、成立を防ぎたい攻撃の実行手順を示す脅威の鎖状ルートである攻撃パスを網羅的に生成するステップと、前記攻撃パスの有効性を判定するステップと、前記攻撃パスの有効性に応じてシステム構成をセキュアあるいは非セキュアと判定するステップと、を有する。
【0011】
本発明の一態様によれば、プログラムは、コンピュータに、成立を防ぎたい攻撃の実行手順を示す脅威の鎖状ルートである攻撃パスを網羅的に生成するステップと、前記攻撃パスの有効性を判定するステップと、前記攻撃パスの有効性に応じてシステム構成をセキュアあるいは非セキュアと判定するステップと、を実行させる。
【発明の効果】
【0012】
本開示によれば、システム構成案に存在する攻撃パスの有効性を評価したうえで、コンピュータのシステム構成がセキュアな設計であるかを判定することができる。
【図面の簡単な説明】
【0013】
【
図1】第1実施形態によるセキュリティ判定装置の機能構成を示す概略ブロック図。
【
図2A】第1実施形態および第2実施形態で扱うシステム構成案の例にて用いられる表現方法の凡例を説明する第1図。
【
図2B】第1実施形態および第2実施形態で扱うシステム構成案の例にて用いられる表現方法の凡例を説明する第2図。
【
図3A】第1実施形態において入力されるセキュリティ対策を講じていないシステム構成案の例を示す第1図。
【
図3B】第1実施形態において入力されるセキュリティ対策を講じていないシステム構成案の例を示す第2図。
【
図4A】第1実施形態において入力されるセキュリティ対策を講じているシステム構成案の例を示す第1図。
【
図4B】第1実施形態において入力されるセキュリティ対策を講じているシステム構成案の例を示す第2図。
【
図5A】第1実施形態において用いられる対抗策モデル例を示す第1図。
【
図5B】第1実施形態において用いられる対抗策モデル例を示す第2図。
【
図6A】第1実施形態において用いられる、実施済みである対抗策の情報を付記したシステム構成案例を示す第1図。
【
図6B】第1実施形態において用いられる、実施済みである対抗策の情報を付記したシステム構成案例を示す第2図。
【
図7A】第1実施形態において用いられる、脅威有効性評価を行った結果のシステム構成案テキスト表現例を示す第1図。
【
図7B】第1実施形態において用いられる、脅威有効性評価を行った結果のシステム構成案テキスト表現例を示す第2図。
【
図7C】第1実施形態において用いられる、脅威有効性評価を行った結果のシステム構成案テキスト表現例を示す第3図。
【
図8A】第1実施形態において用いられる、セキュリティ対策を講じていないシステム構成案に対して、攻撃パスの生成および評価を行った結果のシステム構成案例を示す第1図。
【
図8B】第1実施形態において用いられる、セキュリティ対策を講じていないシステム構成案に対して、攻撃パスの生成および評価を行った結果のシステム構成案例を示す第2図。
【
図9A】第1実施形態において用いられる、セキュリティ対策を講じているシステム構成案に対して、対抗策が対象とする脅威を削除する脅威有効性評価方法を用いた場合における、攻撃パスの生成および評価を行った結果のシステム構成案例を示す第1図。
【
図9B】第1実施形態において用いられる、セキュリティ対策を講じているシステム構成案に対して、対抗策が対象とする脅威を削除する脅威有効性評価方法を用いた場合における、攻撃パスの生成および評価を行った結果のシステム構成案例を示す第2図。
【
図10】第1実施形態において用いられる、セキュリティ対策を講じているシステム構成案に対して、脅威の有効性を離散値または連続値にて表現する脅威有効性評価方法を用いた場合における、攻撃パスの生成および評価を行った結果のシステム構成案図表現例を示す図。
【
図11A】第1実施形態において用いられる、セキュリティ対策を講じているシステム構成案に対して、脅威の有効性を離散値または連続値にて表現する脅威有効性評価方法を用いた場合における、攻撃パスの生成および評価を行った結果のシステム構成案テキスト表現例を示す第1図。
【
図11B】第1実施形態において用いられる、セキュリティ対策を講じているシステム構成案に対して、脅威の有効性を離散値または連続値にて表現する脅威有効性評価方法を用いた場合における、攻撃パスの生成および評価を行った結果のシステム構成案テキスト表現例を示す第2図。
【
図11C】第1実施形態において用いられる、セキュリティ対策を講じているシステム構成案に対して、脅威の有効性を離散値または連続値にて表現する脅威有効性評価方法を用いた場合における、攻撃パスの生成および評価を行った結果のシステム構成案テキスト表現例を示す第3図。
【
図11D】第1実施形態において用いられる、セキュリティ対策を講じているシステム構成案に対して、脅威の有効性を離散値または連続値にて表現する脅威有効性評価方法を用いた場合における、攻撃パスの生成および評価を行った結果のシステム構成案テキスト表現例を示す第4図。
【
図12】第1実施形態によるセキュリティ判定装置の動作の一例を示すフローチャート。
【
図13】第2実施形態によるセキュリティ判定装置の機能構成を示す概略ブロック図。
【
図14】第2実施形態で扱うシステム構成案の例にて用いられる表現方法の凡例を説明する図。
【
図15A】第2実施形態において入力される要件データの一例を示す第1図。
【
図15B】第2実施形態において入力される要件データの一例を示す第2図。
【
図16A】第2実施形態において構成具体化処理適用前のシステム構成案の例を示す第1図。
【
図16B】第2実施形態において構成具体化処理適用前のシステム構成案の例を示す第2図。
【
図17】第2実施形態で扱う構成具体化規則のテキスト表現例を示す図。
【
図18】第2実施形態で扱う構成具体化規則の図表現の一例を示す図。
【
図19A】第2実施形態において対策を講じていないシステム構成案に対して構成具体化処理を適用した結果の一例を示す第1図。
【
図19B】第2実施形態において対策を講じていないシステム構成案に対して構成具体化処理を適用した結果の一例を示す第2図。
【
図20A】第2実施形態において対策を講じているシステム構成案に対して構成具体化処理を適用した結果の一例を示す第1図。
【
図20B】第2実施形態において対策を講じているシステム構成案に対して構成具体化処理を適用した結果の一例を示す第2図。
【
図21】第2実施形態で扱う脅威モデルのテキスト表現例を示す図。
【
図22】第2実施形態で扱う脅威モデルの図表現例を示す図。
【
図23】第2実施形態によるセキュアシステム設計装置の動作の一例を示すフローチャート。
【
図24】最小構成を有するセキュリティ判定装置の構成を示すブロック図である。
【
図25】最小構成を有するセキュリティ判定装置の動作を示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、本発明の各実施形態に係るセキュリティ判定処理について図面を参照して説明する。以下の説明に用いる図面において本発明に関係ない部分の構成については、記載を省略し、図示しない場合がある。
【0015】
<第1実施形態>
(構成)
図1は、第1実施形態によるセキュリティ判定装置の機能構成を示す概略ブロック図である。
図1に示すセキュリティ判定装置13は、対抗策実施状況調査部131と、脅威有効性評価部132と、攻撃パス生成部133と、攻撃パス評価部134と、セキュリティ判定部135と、判定結果出力部136とを備える。
【0016】
対抗策実施状況調査部131は、セキュリティ判定を行う対象であるシステム構成案を受け取り、当該システム構成案内にて実施されている対抗策の情報を調査し、実施済みの対抗策の情報を付記して、付記後のシステム構成案を脅威有効性評価部132へと送信する。
【0017】
脅威有効性評価部132は、対抗策実施状況調査部131から受信したシステム構成案にて存在する脅威の有効性をそれぞれ評価する。脅威の有効性の評価方法としては「脅威を削除する」、「脅威に離散値による有効性評価を与える」、「脅威に連続値による有効性評価を与える」の3通りがある。脅威有効性評価部132は、脅威の有効性の評価基準として同システム構成案にて付記された対抗策の情報を参照して脅威の有効性評価を行い、その情報を当該システム構成案に反映させた後に、同システム構成案を攻撃パス生成部133に送信する。
【0018】
攻撃パス生成部133は、脅威有効性評価部132から受信したシステム構成案にて存在する攻撃パスを網羅的に探索する。攻撃パスとは、システム設計者側が成立を防ぎたい攻撃の攻撃者による実行手順を示した脅威の鎖状ルート、「脅威」の可能な実現方法を具体化したものである。その後、攻撃パス生成部133は、当該システム構成案と、探索の結果見つかった攻撃パスの情報を、共に攻撃パス評価部134に送信する。
【0019】
攻撃パス評価部134は、攻撃パス生成部133から受信した攻撃パスの情報とシステム構成案を元に、当該攻撃パスの有効性を評価する。攻撃パスの評価手法としては、「攻撃パスの有効性を離散値(例えば、有効無効の2値)で表現し、攻撃パスを構成する脅威がすべて有効な脅威である場合のみ、有効な攻撃パスと評価する方法」、「攻撃パスの有効性を連続値で表現し、攻撃パスを構成する全ての脅威の有効性の積を同攻撃パスの有効性とする方法」、「攻撃パスの有効性を連続値で表現し、攻撃パスを構成する全ての脅威の有効性の和を同攻撃パスの有効性とする方法」の3通りが存在する。攻撃パスの評価を行った後、攻撃パス評価部134は、当該攻撃パスの情報とシステム構成案をセキュリティ判定部135に送信する。
【0020】
セキュリティ判定部135は、攻撃パス評価部134から受信した攻撃パスの情報とシステム構成案を元に、同システム構成案のセキュリティ判定を行う。セキュリティ判定部135は、攻撃パスの有効性の情報を元に当該システム構成案がセキュアあるいは非セキュアであると判定し、その結果を当該システム構成案と共に判定結果出力部136へと送信する。
【0021】
判定結果出力部136は、セキュリティ判定部135から受信したセキュリティ判定結果を有するシステム構成案を、セキュリティ判定装置13のセキュリティ判定結果として出力する。
【0022】
続いて、第1実施形態および後述する第2実施形態で扱うデータについて説明する。
図2A、
図2Bは、それぞれ、第1実施形態および第2実施形態で扱うシステム構成案の例にて用いられる表現方法の凡例を説明する第1図、第2図である。
図2Aに図表現の凡例を示し、
図2Bにテキスト表現の凡例を示す。
システム構成案は、システムを構成する部品を示すノードと2つの部品の関係性を示すエッジによって表現される。
図2Aに示すように、システム構成案の図表現においては、ノードは丸によって、エッジは矢印によって示される。ノードを示す丸の内部には個々のノードを識別するためのidが記述される。脅威の図表現はウィルス型アイコンを用いて表現する。脅威の攻撃型(攻撃終点型、起点型、中継型)の種類は、このウィルス型アイコンの線の種類によって表現され、太い実線の場合「攻撃終点型脅威」を、細い点線の場合「攻撃起点型脅威」を、細い実線の場合「攻撃中継型脅威」をそれぞれ示す。また、
図2Aに示されるように、対抗策は盾の上に南京錠のマークが乗っているアイコンを用いて表現する。攻撃終点型脅威とは、最終的に達成されたら困る脅威のことである。攻撃起点型脅威とは、攻撃者が明確に実行可能な脅威のことである。攻撃中継型脅威とは、攻撃起点型と攻撃終点型以外の脅威である。
【0023】
システム構成案のテキスト記述例は、yaml形式に沿って作成される。
図2Bでは、システム構成案の情報として構成とセキュリティに関する情報を記述するフィールドが存在する。図示するように、構成の情報としてノードとエッジの情報、セキュリティの情報として脅威と、対抗策と、攻撃パスの情報が示されている。
図2Bでは、システム構成案に存在する各ノードの情報としてそのidと型名を表記し、各エッジの情報としてそのidと型名とエッジ接続元ノードidとエッジ接続先ノードidを表記し、脅威の情報としてその型名と存在場所と有効性と攻撃型と具体化先脅威(型と場所)を表記し、対抗策の情報として対抗策の型名と効果値と対抗策の存在場所と、対象脅威の型名と対象脅威の存在場所を表記し、攻撃パスの情報として、1つ又は複数の脅威型名および脅威の場所と、攻撃パスの有効性を表記している。脅威の欄における脅威有効性は、セキュリティ判定装置13の脅威有効性評価部132の仕様に応じて記述方法が変化し、本明細書では、存在しない、0.0か1.0の離散的な2値で表現する、0.0から1.0までの連続値で表現する、の3通りを例として扱う。本明細書の例示においては、脅威の欄における脅威攻撃型は、攻撃終点型または起点型の場合はその旨の記述がされ、攻撃中継型の場合はこの欄が省略されるが、実際の運用上ではこれに限らない。対抗策の欄における対象脅威とは、その対抗策が阻止または緩和する対象となる脅威を指す。
【0024】
図3A、
図3Bはそれぞれ、第1実施形態において入力されるセキュリティ対策を講じていないシステム構成案の例を示す第1図、第2図である。
図3Aはセキュリティ対策を講じていないシステム構成案を図で示した例であり、
図3Bは同システム構成案をテキストで記述した例である。
図3A、
図3Bは、2つのAPP型のアプリケーションが通信するために、2つのアプリケーションがそれぞれPhysicalServer型の物理サーバにてホストされ、それら2つの物理サーバがRouter型のルータに繋がれ、そのルータがInternet型ノードで示されるインターネットへと接続している、という構図を示している。また、App1とApp2を繋ぐエッジ上にNetworkSniffing型である盗聴の脅威が存在し、Router1上にNetworkDeviceCLI型であるCLI上で任意コード実行の脅威が存在し、Router1とInternet1を繋ぐエッジ上およびInternet1上にNonApplicationLayerProtocol型である非アプリケーションレイヤプロトコルによる攻撃コマンド伝達の脅威が存在する。
図3A、
図3Bに示されている通り、App1とApp2を繋ぐエッジ上に存在するNetworkSniffing型脅威は攻撃終点型脅威であり、Internet1上に存在するNonApplicationLayerProtocol型脅威は攻撃起点型脅威である。
【0025】
図4A、
図4Bはそれぞれ、第1実施形態において入力されるセキュリティ対策を講じているシステム構成案の例を示す第1図、第2図である。
図4Aはセキュリティ対策を講じたシステム構成案を図で示した例であり、
図4Bは同システム構成案をテキストで記述した例である。
図4A、
図4Bに示すシステム構成は基本的に
図3A、
図3Bと同一であるが、
図3A、
図3Bではルータとインターネットのノードの間が直接エッジで繋がれているのに対し、
図4A、
図4BではルータはFirewall型のファイアウォールを示すノードを経由してインターネットにつながっている。また、
図3A、
図3BではRouter1とInternet1を繋ぐエッジ上にNonApplicationLayerProtocol型脅威が乗っていたが、
図4では同脅威がFirewall1上に乗っている。
【0026】
図5A、
図5Bはそれぞれ、第1実施形態において用いられる対抗策モデル例を示す第1図、第2図である。
図5Aには対抗策モデル例の図表現を示し、
図5Bに同対抗策モデル例のテキスト表現を示す。対抗策モデルには、対抗策型名と、同対抗策の実施による対象脅威の緩和度合を示す効果値と、同対抗策の対象脅威の型と場所仮idと、同対抗策が実施されていると判断されるためにシステム構成内に必要となる当該場所仮id周辺の構成情報と、が記述される。
図5Bで示した例では、ファイアウォールを設置することでネットワークトラフィックをフィルタリングし、特定の脅威の成立を阻止するというものであり、対抗策型名はFilterNetworkTrafficであり、対抗策効果値は0.8であり、阻止対象脅威の型はNonApplicationLayerProtocol、同脅威が存在する場所仮idがFirewallAである。対抗策効果値の値は、セキュリティ判定装置13の脅威有効性評価部132の仕様として、脅威の有効性を0.0から1.0までの連続値で表現する場合にのみ用いられる。また、当該対抗策が実施されていると判断される条件は、FirewallAという場所仮idで示された場所がFirewall型のノードであること、となる。また、
図5Aでは対抗策のアイコンがノードFirewallA上に存在するが、これは当該対抗策が阻止または緩和対象とする脅威の存在場所と同じ場所に当該対抗策が存在することを示している。
【0027】
図6A、
図6Bはそれぞれ、第1実施形態において用いられる、実施済みである対抗策の情報を付記したシステム構成案例を示す第1図、第2図である。
図6A、
図6Bに、
図4A、
図4Bにて示すセキュリティ対策を講じたシステム構成案の例に対して、
図5A、
図5Bに示す対抗策モデル情報を用いて、当該システム構成案にて実施済みである対抗策の情報を付記したシステム構成案情報である。この処理は、対抗策実施状況調査部131によって実行される。
図6A、
図6Bに示す内容は概ね
図4A、
図4Bの内容と一致するが、
図6Aの図表現は、
図4Aに対して、ノードFirewall1上に
図5Aに示す対抗策が乗っている点が異なり、
図6Bのテキスト表現は
図4Bに対して、
図5Bに示す対抗策に関する情報61が追記されている点が異なる。
【0028】
図7A、
図7B、
図7Cはそれぞれ、第1実施形態において用いられる、脅威有効性評価を行った結果のシステム構成案テキスト表現例を示す第1図、第2図、第3図である。
図7A~
図7Cは、
図6Bに示すシステム構成案情報に対し、脅威有効性評価部132によって脅威有効性評価を行った結果のテキスト表現のうち、構成の欄の記述を省略し、セキュリティの欄のみを表示した例である。
図7Aに示す例は、脅威有効性評価方法を「対抗策が実施されている際その対象となる脅威を削除する」とした場合の脅威有効性評価結果である。
図7Bに示す例は、脅威有効性評価方法を「脅威の有効性を離散値で表現し、対抗策が実施されている際その対象となる脅威の有効性を0.0とする」とした場合の脅威有効性評価結果である。
図7Cに示す例は、脅威有効性評価方法を「脅威の有効性を連続値で表現し、対抗策が実施されている際その対象となる脅威の有効性を当該対抗策の効果値を用いて算出する」とした場合の脅威有効性評価結果である。
図6Bに示すシステム構成案情報で唯一存在する対抗策の対象脅威は$Firewall上に存在するNonApplicationLayerProtocol型の脅威である。これに対して、脅威有効性評価を行った結果の
図7Aに示す例では、当該脅威が脅威の欄から削除されている。
図7Bに示す例では当該脅威の有効性が0.0に更新されている。
図7Cに示す例では当該脅威の有効性が0.8に更新されている。
図7Cにおける脅威有効性0.8という数値は、「脅威の有効性は実装されている対抗策の対抗策効果値の積により算出される」という計算方法を一例として用いたため、
図5Bに示されるように当該対抗策の効果値である0.8より導かれたものである。
【0029】
図8A、
図8Bはそれぞれ、第1実施形態において用いられる、セキュリティ対策を講じていないシステム構成案に対して、攻撃パスの生成および評価を行った結果のシステム構成案例を示す第1図、第2図である。
図8A、
図8Bは、
図3A、
図3Bに示すセキュリティ対策を講じていないシステム構成案の例に対し、攻撃パス生成部133による攻撃パスの生成と、攻撃パス評価部134による攻撃パスの評価を行った結果を示したものである。
図8Aは当該システム構成案の図表現であり、
図8Bは同システム構成案のテキスト表現である。
図3Aに対して、
図8Aには当該システム構成案に存在する攻撃パスを示す太い矢印81が加わっている。
図3Bに対して、
図8Bには攻撃パスに関するテキスト情報82が追加されている。
図8Bにおいて、攻撃パスの情報は、攻撃パスを形成する脅威が攻撃終点型脅威から攻撃起点型脅威に向けてリストの形式で並べられる形で表現される。
【0030】
図9A、
図9Bはそれぞれ、第1実施形態において用いられる、セキュリティ対策を講じているシステム構成案に対して、対抗策が対象とする脅威を削除する脅威有効性評価方法を用いた場合における、攻撃パスの生成および評価を行った結果のシステム構成案例を示す第1図、第2図である。
図9A、
図9Bに、
図7Aに示すシステム構成案の例に対し、攻撃パス生成部133による攻撃パスの生成と、攻撃パス評価部134による攻撃パスの評価を行った結果を示す。
図9Aは当該システム構成案の図表現であり、
図9Bは同システム構成案のテキスト表現である。
図7Aに対して、
図9Bの記述内容は攻撃パスの欄が作成されている点のみが異なり、データの内容としては差が生じていない。
【0031】
図10は、第1実施形態において用いられる、セキュリティ対策を講じているシステム構成案に対して、脅威の有効性を離散値または連続値にて表現する脅威有効性評価方法を用いた場合における、攻撃パスの生成および評価を行った結果のシステム構成案図の表現例を示す図である。
図10は、
図7Bおよび
図7Cに示すシステム構成案の例に対し、攻撃パス生成部133による攻撃パスの生成と、攻撃パス評価部134による攻撃パスの評価を行った結果を、図表現で示したものである。
図7Bと
図7Cは異なる脅威有効性評価方法を適用した別々のシステム構成案であるが、これら2つは共に
図6Aに示すシステム構成案に対して脅威有効性評価を行ったものであり、図表現で示すと同一のものとなる。
図10は、
図6Aに示されるシステム構成案の図表現に攻撃パスを示す太い矢印101が書き加えられている。
【0032】
図11A、
図11B、
図11C、
図11Dはそれぞれ、第1実施形態において用いられる、セキュリティ対策を講じているシステム構成案に対して、脅威の有効性を離散値または連続値にて表現する脅威有効性評価方法を用いた場合における、攻撃パスの生成および評価を行った結果のシステム構成案テキスト表現例を示す第1図、第2図、第3図、第4図である。
図11A~
図11Dは、
図7Bおよび
図7Cに示されるシステム構成案の例に対し、攻撃パス生成部133による攻撃パスの生成と、攻撃パス評価部134による攻撃パスの評価を行った結果を、テキスト表現で示した図である。
図11Aは、
図7Bに示される脅威の有効性を離散値で表現しているシステム構成案に対して、攻撃パス有効性評価方法を「攻撃パスを構成する全ての脅威の有効性の積で表現する」とした場合のシステム構成案の記述例である。
図11Bは、
図7Bに示されるシステム構成案に対して、攻撃パス有効性評価方法を「攻撃パスを構成する全ての脅威の有効性の和で表現する」とした場合のシステム構成案の記述例である。
図11Cは、
図7Cに示される脅威の有効性を連続値で表現しているシステム構成案に対して、攻撃パス有効性評価方法を「攻撃パスを構成する全ての脅威の有効性の積で表現する」とした場合のシステム構成案記述例である。
図11Dは、
図7Cに示されるシステム構成案に対して、攻撃パス有効性評価方法を「攻撃パスを構成する全ての脅威の有効性の和で表現する」とした場合のシステム構成案記述例である。
【0033】
(動作)
次に
図12を参照して、第1実施形態におけるセキュリティ判定処理の流れを説明する。
図12は、第1実施形態によるセキュリティ判定装置の動作の一例を示すフローチャートである。なお、脅威の有効性を連続値で表すか、離散値で表現するか、攻撃パス有効性を脅威の有効性の積で表現するか、和で表現するか等については予め設定されているとする。
まず、セキュリティ判定装置13は、システム構成案の入力を受け付ける(ステップS101)。例えば、システム構成案の情報には、構成の情報、セキュリティの脅威の情報が記載されている。入力されたシステム構成案の情報は、対抗策実施状況調査部131に渡される。対抗策実施状況調査部131は、実施済み対抗策を調査し、同システム構成案に実施済み対抗策を記載する(ステップS102)。例えば、対抗策実施状況調査部131は、
図5Bに例示する対抗策モデルを有しており、対抗策モデルの対抗策実施条件構成の記載されたid、型を有するノードやエッジが、ステップS101で受け付けたシステム構成案の構成に記載されているかどうかを調査する。そのような構成が記載されていれば、実施済み対抗策が存在することになる。実施済み対抗策が存在する場合、対抗策実施状況調査部131は、システム構成案に実施済み対抗策の項目(型、効果値、場所、対象脅威など)を記載する。例えば、
図4Bに例示するシステム構成案は、対抗策を記載する前のシステム構成案の例であり、
図6Bに例示するシステム構成案は、対抗策を記載した後のシステム構成案の例である。そして、当該システム構成案に対抗策が存在する場合はS104に進み、存在しない場合は(ステップS103;N)、ステップS108の処理へ進む。
【0034】
システム構成案に対抗策が存在した場合(ステップS103;Y)、当該システム構成案情報は、脅威有効性評価部132に渡され、当該システム構成案に存在する全ての対抗策に対して脅威有効性評価の処理を行う(ステップS104)。
脅威有効性評価部132は、システム構成案内に対抗策毎に定義された特定の構造が存在する場合、当該システム構成案にて当該対抗策が実施されていると判断する。そして、脅威有効性評価部132は、当該システム構成案に存在する実施済みの対抗策を1つ選択し、その対抗策が対象とする脅威が当該システム構成案に存在するかを調査する。例えば、脅威有効性評価部132は、対抗策における対象脅威の情報を参照して、それぞれの対抗策が対象とする脅威がシステム構成案情報に含まれるかどうかを調査する。脅威が存在しなかった場合(ステップS105;N)、ステップS107の処理へ進む。
【0035】
脅威が存在する場合(ステップS105;Y)、脅威有効性評価部132は、対抗策スコアを脅威の有効性に反映する(ステップS106)。この「対抗策スコアを脅威の有効性に反映する」という処理は、脅威有効性評価方法を「対抗策が実施されている際その対象となる脅威を削除する」とした場合と、「脅威の有効性を離散値で表現し、対抗策が実施されている際その対象となる脅威の有効性を0.0とする」とした場合と、「脅威の有効性を連続値で表現し、対抗策が実施されている際その対象となる脅威の有効性を当該対抗策の効果値を用いて算出する」とした場合とで、それぞれ該当する操作を行うこととなる。例えば、「対抗策が実施されている際その対象となる脅威を削除する」の場合、脅威有効性評価部132は、対象となる脅威を削除する(例えば、
図7A)。「脅威の有効性を離散値で表現し、対抗策が実施されている際その対象となる脅威の有効性を0.0とする」の場合、脅威有効性評価部132は、対象となる脅威の有効性を0.0とする(例えば、
図7B)。「脅威の有効性を連続値で表現し、対抗策が実施されている際その対象となる脅威の有効性を当該対抗策の効果値を用いて算出する」の場合、脅威有効性評価部132は、対象となる脅威に対抗策の効果値を乗じる等して、その値を脅威の有効性に設定する(例えば、
図7C)。
【0036】
次に、当該システム構成案に存在する全ての対抗策に対して、ステップS105の判定を行ったかを調査する(ステップS107)。判定を行っていない対抗策が当該システム構成案に残っている場合は(ステップS107;N)、ステップS104から残りの対抗策に対して処理を再開する。前記判定を全ての対抗策に対して行っている場合は(ステップS107;Y)、攻撃パス生成部133へと当該システム構成案の情報を渡す。
【0037】
攻撃パス生成部133は、ステップS107またはステップS103より受け取ったシステム構成案の情報を元に攻撃パスを生成して、当該システム構成案の情報を更新する(ステップS108)。例えば、攻撃パス生成部133は、システム構成案の情報に基づいて、攻撃終点型脅威から攻撃起点型脅威までの脅威をリストの形式で並べることにより攻撃パスを生成する。攻撃パス生成部133は、ステップS108の処理を行ったのち、当該システム構成案を攻撃パス評価部134へと渡す。
【0038】
攻撃パス評価部134は、ステップS108より受け取ったシステム構成案に攻撃パスが存在するかを調査する(ステップS109)。攻撃パスが存在しなかった場合(ステップS109;N)、当該システム構成案は非セキュアではないと判定されるため、当該システム構成案をセキュアなシステム構成案として出力する(ステップS112)。攻撃パスが存在した場合(ステップS109;Y)、存在する全ての攻撃パスそれぞれの有効性を導出する(ステップS110)。この「攻撃パスの有効性の導出」という処理は、攻撃パス有効性評価方法を「攻撃パスを構成する全ての脅威の有効性の積で表現する」とする場合と、「攻撃パスを構成する全ての脅威の有効性の和で表現する」とする場合のうち、該当する処理を行う。「攻撃パスを構成する全ての脅威の有効性の積で表現する」場合、例えば、
図11Aの例では、攻撃パス評価部134は、型NetworkSniffingの有効性1.0、型NetworkDeviceCLIの有効性1.0と、型NonApplicationalLayerProtocol、場所$Firewall1の有効性0.0と、型NonApplicationalLayerProtocol、場所$internet1の有効性1.0とを乗じて0.0を導出する。また、「攻撃パスを構成する全ての脅威の有効性の和で表現する」場合、例えば、
図11Bの例では、攻撃パス評価部134は、型NetworkSniffingの有効性1.0、型NetworkDeviceCLIの有効性1.0と、型NonApplicationalLayerProtocol、場所$Firewall1の有効性0.0と、型NonApplicationalLayerProtocol、場所$internet1の有効性1.0の和を算出して3.0を導出する。また、「攻撃パスの有効性を離散値(例えば、有効無効の2値)で表現し、攻撃パスを構成する脅威がすべて有効な脅威である場合のみ、有効な攻撃パスと評価する方法」の場合、攻撃パス評価部134は、攻撃パスを構成する脅威がすべて有効な脅威である場合のみ、その攻撃パスを有効な攻撃パスと評価する。攻撃パス評価部134は、全ての攻撃パスについて有効性を評価する。
【0039】
ステップS110の処理を行ったのち、システム構成案は、攻撃パス評価部134からセキュリティ判定部135に渡され、当該システム構成案に有効な攻撃パスが存在するかが調査される(ステップS111)。例えば、セキュリティ判定部135は、ステップS110で導出された攻撃パスの有効性が所定の閾値以上であれば、その攻撃パスは有効であると判定し、そうでない場合、当該攻撃パスは有効ではないと判定する。この閾値は、「攻撃パスを構成する全ての脅威の有効性の積で表現する」場合と、「攻撃パスを構成する全ての脅威の有効性の和で表現する」場合とで異なっていてもよい。また、ステップS110にて有効な攻撃パスと評価された場合、セキュリティ判定部135は、その攻撃パスは有効であると判定し、そうでない場合、当該攻撃パスは有効ではないと判定する。そして、セキュリティ判定部135は、1つでも有効な攻撃パスが存在すれば、有効な攻撃パスが存在すると判定し、全ての攻撃パスが有効ではない場合、有効な攻撃パスが存在しないと判定する。
【0040】
有効な攻撃パスが存在すると判定された場合は(ステップS111;Y)、判定結果出力部136は、当該システム構成案は非セキュアであると出力する(ステップS113)。有効な攻撃パスが存在しないと判定された場合、判定結果出力部136にて当該システム構成案はセキュアであると出力される(ステップS112)。
【0041】
(効果)
上記説明したように本実施形態では、システム構成案に攻撃パスが存在する場合、攻撃パスの有効性を評価したうえで、有効な攻撃パスが存在する場合に非セキュアと判定する。例えば、非特許文献1では、攻撃パスの有無を条件としてシステム構成案のセキュリティを判定していたが、本実施形態においては攻撃パスに有効性を示すパラメータを付与し、当該パラメータの値に応じてシステムのセキュリティを判定する。また、本実施形態において、非特許文献1にて示された脅威という概念に対して、脅威を阻止ないしは緩和する「対抗策」という概念を導入し、システム構成案内に対抗策毎に定義された特定の構造が存在する場合、当該システム構成案にて当該対抗策が実施されていると判断する。システム構成案にて対抗策が実施されている場合、当該対抗策が阻止ないしは緩和する対象である脅威がシステム構成案内に存在すれば、当該脅威を削除あるいは緩和して、当該脅威の有効性の評価を行う。これにより、システムが、脅威を阻止または緩和する対策を施したセキュアな設計であるかを判定することができる。また、判定したシステム構成案を出力することができる。
【0042】
<第2実施形態>
次に
図13~
図23を参照して、本発明の第2実施形態について説明する。
(構成)
図13は、第2実施形態によるセキュリティ判定装置の機能構成を示す概略ブロック図である。
図13に示すセキュアシステム設計装置100は、入出力部11と、構成具体化部12と、セキュリティ判定装置13とを備える。
入出力部11は、セキュアシステム設計を行う対象である要件データを入力として受け取り、構成具体化部12へと送信する。また、構成具体化部12から具体化が完了したシステム構成案を受け取り、当該システム構成案をセキュアシステム設計装置100の設計結果として出力する。
【0043】
構成具体化部12は、入出力部11から受け取った要件データを元に探索木を作成し、当該要件データに「構成具体化処理」及び「脅威具体化処理」を適用して具体化構成案を生成する。より具体的には、構成具体化部12は、入力された要件データの抽象的な要素を具体化し、具体化構成案の木構造である探索木を生成する。探索木は、要件データから具体構成を生成する過程で生成されるものであり、要件データを根ノードとする木構造のグラフとして表現される。葉ノードはシステムの具体化構成案を表し、設計途中の構成案も含む。探索木における具体構成の探索過程では、具体化途中の具体化構成案を表す葉ノードに対し、構成具体化処理を適用して、抽象的な要素が部分的に具体化された具体化構成案を次の状態を表す葉ノードとして生成する。このプロセスにおいて、構成具体化部12は、生成した具体化構成案がセキュアであるかどうかを判定するためにセキュリティ判定装置13に送信する。そして、セキュリティ判定装置13より「セキュアである」と判定された具体化構成案のみを受け取り、当該具体化構成案が完全に具体的な構成である場合は当該具体化構成案を設計結果として入出力部11へと送信し、当該具体化構成案が具体的な構成ではない場合は当該具体化構成案を探索木に追加する。その後は、探索木から構成具体化処理を適用していないシステム構成案を選択し、前記処理を繰り返す。探索木に構成具体化処理を適用していないシステム構成案がなくなった場合、設計失敗と出力する。
【0044】
セキュリティ判定装置13は、構成具体化部12より受け取ったシステム構成案に対して、当該システム構成案がセキュアであるか否かの判定を行う。セキュリティ判定装置13の機能および動作は、第1実施形態で説明したとおりである。
【0045】
続いて、実施形態2で扱うデータについて説明する。
図14は、第2実施形態で扱うシステム構成案の例にて用いられる表現方法の凡例を説明する図である。
図2Aに例示した図と異なり、システム構成案を図表現する際にノードおよびエッジがそれぞれ具体的であるか抽象的であるかという情報を示す。なお、本文書では抽象的ノードが登場しないため、抽象的ノードの図表現例は省略されているが、これは実運用上で抽象的ノードが出現しないことを示すものではない。また、
図14に示すように、具体化先脅威は通常の脅威とは異なり灰色に塗りつぶすことで表現される。なお、実施形態2で扱うシステム構成案の例にて用いられるテキスト表現の凡例は、
図2Bに示すものと同一である。
【0046】
図15A、
図15Bはそれぞれ、第2実施形態において入力される要件データの一例を示す第1図、第2図である。
図15Aに当該要件データ例の図表現の一例を示し、
図15Bに同要件データ例のテキスト表現の一例を示す。要件データもシステム構成案と同様に、
図14および
図2Bに示される凡例に従って表現される。要件データとは、セキュアシステム自動設計にて具体的な構成を出力してほしい要件構成情報である。
図15A、
図15Bでは、APP型のノード2つがConnTo型のエッジで繋がっているシステム構成を示している。また、
図15A、
図15Bで示されるAPP型ノード2つを繋ぐConnTo型のエッジの上には、NetworkSniffing型の攻撃終点型脅威が乗っている。第2実施形態に示す例では、前記攻撃終点型脅威は成立を回避したい脅威として明示的に要件データに記述されているが、実運用上では攻撃終点型脅威の情報は要件データに予め明示的に示す必要は必ずしもなく、システム構成案に登場するノードやエッジの型などに応じて自動生成される仕様も考えられる。
【0047】
図16A、
図16Bは、構成具体化部12にて具体化処理を適用される対象となるシステム構成案の一例を示したものである。
図16Aは、当該システム構成案の図表現であり、
図16Bは、同システム構成案のテキスト表現である。
図16A、
図16Bに示されるシステム構成案例は、
図3A、
図3Bに例示するシステム構成案と比較して、脅威が2種しか存在しない点と、ノードRouter1とノードInternet1を繋ぐエッジが抽象的エッジである点の計2点が異なる。
【0048】
図17は、第2実施形態にて、構成具体化部12において扱う構成具体化規則のテキストデータ例である。構成具体化部12における構成具体化処理は、構成具体化規則の情報と対象システム構成案の情報を用いて行われる。構成具体化規則には、具体化対象となるシステム構成(以下「具体化対象構成」と記載する。)の情報と、同システム構成を具体化した場合のシステム構成情報(以下「具体化先構成候補」と記載する。)が記述される。同一の具体化対象構成に対して複数の具体化先構成候補が存在する場合、当該具体化先候補は羅列する形で記述される。
図17には、具体化対象構成として「Router型ノードとInternet型ノードがAbstractConnTo型エッジで接続されている」構成を指定しており、当該構成に対する具体化先構成候補として、「同AbstractConnTo型エッジをConnTo型エッジに置き換えた」構成候補1と、「同AbstractConnTo型エッジを、Firewall型ノードを挟む2つのConnTo型エッジに置き換えた」構成候補2との2種類が記述されている。構成具体化部12は、このような構成具体化規則を有し、この構成具体化規則に基づいて、構成の具体化を行う。
【0049】
図18に、
図17で示した構成具体化規則のテキストデータ例を図表現で示す。
図18(a)に、
図17で示した具体化対象構成の図表現を示す。
図18(b)に、
図17で示した具体化先構成候補1の図表現を示す。
図18(c)に、
図17で示した具体化先構成候補2の図表現を示す。
【0050】
【0051】
【0052】
図21は、第2実施形態で扱う脅威モデルのテキスト表現例を示す図である。
構成具体化部12における脅威具体化処理は、脅威モデルの情報と対象システム構成案の情報を用いて行われる。脅威モデルには「脅威型」の欄に脅威型情報が、「場所」の欄に当該脅威に関する脅威具体化処理が発生するシステム構成上の条件および当該脅威具体化処理を行った結果生成される具体化先脅威の情報が記述される。脅威モデルにおける「場所」の欄に書かれる「脅威具体化処理の条件」(
図21の具体化条件構成)は、当該脅威が存在するシステム構成上の場所の型情報、当該場所の仮id、当該脅威存在場所周辺のシステム構成の条件、によって記述される。そして、脅威具体化処理を行った結果生成される具体化先脅威の情報は「具体化先脅威」の欄に記述される。
図21に示す例の場合、NetworkDeviceCLI型の脅威とNonApplicationLayerProtocol型の脅威の計2種類の脅威について脅威具体化規則が定義されている。
図21に示す例の場合、NetworkDeviceCLI型の脅威に関しては2通りの脅威具体化規則が定義されており、NonApplicationLayerProtocol型の脅威に関しても2通りの脅威具体化規則が定義されている。なお、構成具体化部12は、このような脅威モデルの情報(脅威具体化規則)を有しており、この脅威具体化規則に従って、脅威具体化を行う。構成具体化部12は、この脅威具体化規則の条件がシステム構成案にて当てはまる場合、当該脅威具体化規則は全て必ず実行する。
【0053】
【0054】
(動作)
図23は、第2実施形態によるセキュアシステム設計装置の動作の一例を示すフローチャート。
まず、入出力部11が、入力要件データを受け取り、探索木に追加する(ステップS201。その後、入出力部11は、当該探索木の情報を構成具体化部12へと送信する。
次に、構成具体化部12では、探索木の中から具体化対象とするシステム構成案を1つ選択する(ステップS202)。対象とするシステム構成案を選択したら、構成具体化部12は、当該システム構成案に対して構成案具体化処理を行う(ステップS203)。構成具体化部12は、構成具体化規則(例えば、
図17)に基づいて、当該システム構成案を具体化する。構成具体化部12は、構成案具体化処理の結果、1つ以上の具体化構成案が生成されたかを判定し(ステップS204)、1つ以上の具体化構成案が生成された場合はステップS205へ進み、具体化構成案が1つも生成されなかった場合は(ステップS204;N)、ステップS214の判定へと進む。
【0055】
構成具体化処理にて1つ以上の具体化構成案が生成された場合、当該具体化構成案全てに対し、順番に脅威具体化処理及びセキュリティ判定を実行していく(ステップS205)。まず、具体化構成案に対して脅威具体化処理を実行する(ステップS206)。構成具体化部12は、脅威モデル(例えば、
図21)に基づいて、当該システム構成案が有する脅威を具体化する。その後、構成具体化部12は、同具体化構成案の情報をセキュリティ判定装置13へと送信し、同具体化構成案が非セキュアであるか否かの判定を行う(ステップS207)。この処理については第1実施形態で説明したとおりである。
【0056】
当該具体化構成案に関して判定を行った後、セキュリティ判定装置13は、その判定結果を構成具体化部12へと送信する(ステップS208)。判定結果が「非セキュア」であった場合、構成具体化部12は、当該具体化構成案は棄却する(ステップS209)。「セキュア」であった場合、構成具体化部12は、当該具体化構成案が具体的な構成案であるかを調査する(ステップS210)。ここでいう「具体的な構成案」とは、セキュアシステム設計装置100に最初に入力された要件データの示す要件をすべて満たしつつ、システムを構成する部品がすべて具体的なノード及びエッジにて構成されている構成案、のことを指す。
【0057】
当該具体化構成案が具体的であった場合(ステップS210;Y)、構成具体化部12は、同具体化構成案を入出力部11へと送信する。入出力部11は、同具体化構成案をセキュアシステム設計装置100の設計結果として出力する(ステップS213)。一方で当該具体化構成案が具体的でない場合、同具体化構成案を探索木に追加する(ステップS211)。
【0058】
ステップS209またはS211の処理を行った後、構成具体化部12は、構成具体化処理において生成された全具体化構成案に対して、脅威具体化処理からセキュリティ判定までの一連の処理を行ったか否かを調査する(ステップS212)。一連の処置を未適用の具体化構成案が存在する場合(ステップS212;N)、ステップS205へと戻り処理を繰り返す。一連の処理を未適用の具体化構成案が存在しない場合(ステップS212;Y)、構成具体化処理の対象として選択されたことがないシステム構成案が探索木に残っているかを調査する(ステップS214)。探索木に未選択のシステム構成案が残存していない場合、セキュアシステム設計装置内にはセキュリティ要件を満たしながら要件データを具体化する術が残っていないこととなり、入出力部11より設計失敗を出力する(ステップS216)。探索木に未選択のシステム構成案が残っている場合、次に具体化対象とするシステム構成案を改めて探索木から選択し(ステップS215)、S203に戻って構成具体化処理を繰り返す。
【0059】
(効果)
第2実施形態によれば、セキュアシステム設計装置100に最初に入力された要件データの示す要件をすべて満たしつつ、システムを構成する部品がすべて具体的なノード及びエッジにて構成され、且つ、セキュアなシステムを自動的に生成することができる。
【0060】
(最小構成)
図24は、最小構成を有するセキュリティ判定装置の構成を示すブロック図である。
セキュリティ判定装置800は、攻撃パス生成手段801と、攻撃パス有効性判定手段802と、セキュリティ判定手段803と、を備える。
攻撃パス生成手段801は、成立を防ぎたい攻撃の攻撃者による実行手順を示す脅威の鎖状ルートである攻撃パスを網羅的に生成する。
攻撃パス有効性判定手段802は、攻撃パスの有効性を判定する。
セキュリティ判定手段803は、攻撃パスの有効性に応じてシステム構成をセキュアまたは非セキュアと判定する。
【0061】
図25は、最小構成を有するセキュリティ判定装置の動作を示すフローチャートである。
まず、攻撃パス生成手段801が、攻撃パスを網羅的に生成する(ステップS801)。
次に、攻撃パス有効性判定手段802は、全ての攻撃パスの有効性を判定する(ステップS802)。
次に、セキュリティ判定手段803が、攻撃パスの有効性に応じてシステム構成をセキュアまたは非セキュアと判定する(ステップS803)。
【0062】
なお、上述した実施形態におけるセキュリティ判定装置13、800、セキュアシステム設計装置100の一部をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、セキュリティ判定装置13、800、セキュアシステム設計装置100に内蔵されたコンピュータシステムであって、OS(Operating System)や周辺機器等のハードウェアを含むものとする。
【0063】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【0064】
また、上述した実施形態におけるセキュリティ判定装置13、800、セキュアシステム設計装置100の一部、または全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。セキュリティ判定装置13、800、セキュアシステム設計装置100の各機能部は個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【0065】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。また、本発明の一態様は、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。また、上記各実施形態や変形例に記載された要素であり、同様の効果を奏する要素同士を置換した構成も含まれる。
【符号の説明】
【0066】
100・・・セキュアシステム設計装置
11・・・入出力部
12・・・構成具体化部
13・・・セキュリティ判定装置
131・・・対抗策実施状況調査部
132・・・脅威有効性評価部
133・・・攻撃パス生成部
134・・・攻撃パス評価部
135・・・セキュリティ判定部
136・・・判定結果出力部
800・・・セキュリティ判定装置
801・・・攻撃パス生成手段
802・・・攻撃パス有効性判定手段
803・・・セキュリティ判定手段