JPWO2019093059A1 - Threat analyzers, threat analysis methods, and threat analysis programs - Google Patents
Threat analyzers, threat analysis methods, and threat analysis programs Download PDFInfo
- Publication number
- JPWO2019093059A1 JPWO2019093059A1 JP2019552672A JP2019552672A JPWO2019093059A1 JP WO2019093059 A1 JPWO2019093059 A1 JP WO2019093059A1 JP 2019552672 A JP2019552672 A JP 2019552672A JP 2019552672 A JP2019552672 A JP 2019552672A JP WO2019093059 A1 JPWO2019093059 A1 JP WO2019093059A1
- Authority
- JP
- Japan
- Prior art keywords
- information
- vulnerability
- model information
- application
- functional application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 259
- 238000004364 calculation method Methods 0.000 claims description 25
- 238000013461 design Methods 0.000 abstract description 30
- 230000006870 function Effects 0.000 description 249
- 238000004891 communication Methods 0.000 description 139
- 238000000034 method Methods 0.000 description 132
- 230000008569 process Effects 0.000 description 129
- 238000010586 diagram Methods 0.000 description 47
- 238000012545 processing Methods 0.000 description 31
- 230000004044 response Effects 0.000 description 26
- 230000008859 change Effects 0.000 description 3
- 238000010230 functional analysis Methods 0.000 description 3
- 241001195377 Prorates Species 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 230000002354 daily effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/77—Software metrics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Computer Security & Cryptography (AREA)
- Human Resources & Organizations (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Primary Health Care (AREA)
- Marketing (AREA)
- General Health & Medical Sciences (AREA)
- Economics (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
Abstract
概念設計段階の対象システムに対して脅威分析を行うことのできる脅威分析装置、脅威分析方法、及び脅威分析プログラムを提供する。対象システムに含まれる機能アプリケーションについて、システムの仕様を規定するためのシステム仕様情報を用いてモデル化した機能アプリケーションモデル情報500〜900を取得する第1取得部150と、事例システムに含まれる脆弱性についてシステム仕様情報を用いてモデル化した脆弱性モデル情報1100〜1300を取得する第2取得部160と、機能アプリケーションモデル情報500〜900と脆弱性モデル情報1100〜1300とに基づいて対象システムの脅威分析を行う実行部180と、を備える。We provide threat analysis equipment, threat analysis methods, and threat analysis programs that can perform threat analysis on target systems in the conceptual design stage. For the functional application included in the target system, the first acquisition unit 150 that acquires the functional application model information 500 to 900 modeled using the system specification information for defining the system specifications, and the vulnerability included in the case system. Threat of the target system based on the second acquisition unit 160 that acquires the vulnerability model information 1100 to 1300 modeled using the system specification information, the functional application model information 500 to 900, and the vulnerability model information 1100 to 1300. An execution unit 180 for performing analysis is provided.
Description
本発明は、脅威分析装置、脅威分析方法、及び脅威分析プログラムに関する。 The present invention relates to a threat analyzer, a threat analysis method, and a threat analysis program.
従来、脅威分析方法として、米国マイクロソフト社が発表した脅威分析ツール"Microsoft Threat Modeling Tool"(以下、「MS脅威分析ツール」という)を用いるものが知られている(例えば、非特許文献1参照)。MS脅威分析ツールでは、分析対象のシステムに含まれるデータフローを組織間のインタフェースで分割した上で、データフローの両端の要素の相互作用の特性情報を抽出する。そして、あらかじめSTRIDE分類軸でまとめた脅威分類表と抽出した特性情報とを比較することで、分析対象のシステムに発生する可能性がある脅威を提示できるようにしている。ここで、STRIDE分類軸とは、「なりすまし」(Spoofing)、「改ざん」(Tampering)、「否認」(Repudiation)、「情報の漏洩」(Information disclosure)、「DoS攻撃」(Denial of service)、「権限昇格」(Elevation of privilege)の各脅威から構成される分類軸である。 Conventionally, as a threat analysis method, a threat analysis tool "Microsoft Threat Modeling Tool" (hereinafter referred to as "MS threat analysis tool") announced by Microsoft Corporation in the United States is known (see, for example, Non-Patent Document 1). .. The MS threat analysis tool divides the data flow contained in the system to be analyzed by the interface between organizations, and then extracts the characteristic information of the interaction of the elements at both ends of the data flow. Then, by comparing the threat classification table compiled in advance with the STRIDE classification axis and the extracted characteristic information, it is possible to present the threats that may occur in the system to be analyzed. Here, the STRIDE classification axis is "spoofing" (Spoofing), "tampering" (Tampering), "denial" (Repudiation), "information disclosure" (Information disclosure), "DoS attack" (Denial of service), It is a classification axis composed of each threat of "Elevation of privilege".
“マイクロソフト脅威モデリングツール2016ユーザガイド”(Microsoft Threat Modeling Tool 2016 User Guide)、[online]、マイクロソフト社(Microsoft)、[平成29年10月26日検索]、インターネット<URL:https://www.microsoft.com/en-us/download/details.aspx?id=49168&751be11f-ede8-5a0c-058c-2ee190a24fa6=True&e6b34bbe-475b-1abd-2c51-b5034bcdd6d2=True&fa43d42b-25b5-4a42-fe9b-1634f450f5ee=True> "Microsoft Threat Modeling Tool 2016 User Guide" (Microsoft Threat Modeling Tool 2016 User Guide), [online], Microsoft (Microsoft), [Search on October 26, 2017], Internet <URL: https: // www. microsoft.com/en-us/download/details.aspx?id=49168&751be11f-ede8-5a0c-058c-2ee190a24fa6=True&e6b34bbe-475b-1abd-2c51-b5034bcdd6d2=True&fa43d42b-25b5-4a42-fe9b-1634f450f5
前述したMS脅威分析ツールは、分析対象のシステムのデータフローダイアグラムを用いて脅威分析を行う。しかしながら、データフローダイアグラムはシステム設計の詳細設計段階で使用されることが多いため、MS脅威分析ツールは概念設計段階のシステムを対象として脅威分析を行うことが困難であった。 The MS threat analysis tool described above performs threat analysis using the data flow diagram of the system to be analyzed. However, since data flow diagrams are often used in the detailed design stage of system design, it has been difficult for MS threat analysis tools to perform threat analysis on systems in the conceptual design stage.
また、脆弱性事例情報として、米国MITRE社によって収集・蓄積されたCWE(Common Weakness Enumeration)と呼ばれる大部の脆弱性事例情報データベースが公開されている。しかしながら、CWEには、実際に運用されている既存システムで発見された脆弱性事例が記述されているため、概念設計段階のシステムにCWEを適用して脅威分析を行うことは困難であった。 In addition, as vulnerability case information, most of the vulnerability case information database called CWE (Common Weakness Enumeration) collected and accumulated by MITER Corporation in the United States is open to the public. However, since CWE describes vulnerabilities found in existing systems that are actually in operation, it was difficult to apply CWE to systems in the conceptual design stage for threat analysis.
そこで、本発明は、概念設計段階の対象システムに対して脅威分析を行うことのできる脅威分析装置、脅威分析方法、及び脅威分析プログラムを提供することを目的とする。 Therefore, an object of the present invention is to provide a threat analysis device, a threat analysis method, and a threat analysis program capable of performing threat analysis on a target system in the conceptual design stage.
本発明の一態様に係る脅威分析装置は、対象システムに含まれる機能アプリケーションについて、システムの仕様を規定するためのシステム仕様情報を用いてモデル化した機能アプリケーションモデル情報を取得する第1取得部と、事例システムに含まれる脆弱性についてシステム仕様情報を用いてモデル化した脆弱性モデル情報を取得する第2取得部と、機能アプリケーションモデル情報と脆弱性モデル情報とに基づいて対象システムの脅威分析を行う実行部と、を備える。 The threat analyzer according to one aspect of the present invention includes a first acquisition unit that acquires functional application model information modeled using system specification information for defining system specifications for a functional application included in a target system. , A threat analysis of the target system is performed based on the second acquisition unit that acquires the vulnerability model information modeled using the system specification information for the vulnerabilities contained in the case system, and the functional application model information and the vulnerability model information. It has an execution unit to perform.
この態様によれば、対象システムに含まれる機能アプリケーションについて、システム仕様情報を用いてモデル化した機能アプリケーションモデル情報が取得され、事例システムに含まれる脆弱性について、システム仕様情報を用いてモデル化した脆弱性モデル情報が取得される。そして、機能アプリケーションモデル情報と脆弱性モデル情報とに基づいて、対象システムの脅威分析が行われる。ここで、システム仕様情報に含まれる抽象的な仕様情報は、概念設計段階のシステムでも得ることができる。よって、同じシステム仕様情報を用いて機能アプリケーションモデル情報及び脆弱性モデル情報を取得することにより、対象システムの機能アプリケーションモデル情報と事例システムの脆弱性モデル情報とを容易に比較することができ、対象システムに存在し得る脆弱性への脅威分析を行うことができる。従って、概念設計段階の対象システムに対して脅威分析を行うことができる。 According to this aspect, the functional application model information modeled by using the system specification information is acquired for the functional application included in the target system, and the vulnerability included in the case system is modeled by using the system specification information. Vulnerability model information is acquired. Then, threat analysis of the target system is performed based on the functional application model information and the vulnerability model information. Here, the abstract specification information included in the system specification information can also be obtained in the system at the conceptual design stage. Therefore, by acquiring the functional application model information and the vulnerability model information using the same system specification information, the functional application model information of the target system and the vulnerability model information of the case system can be easily compared. It is possible to perform threat analysis for vulnerabilities that may exist in the system. Therefore, threat analysis can be performed on the target system at the conceptual design stage.
前述の態様において、脆弱性モデル情報は、攻撃成立条件及び攻撃結果の情報を含み、第2取得部は、複数の脆弱性モデル情報を取得し、機能アプリケーションモデル情報が複数の脆弱性モデル情報のうちの少なくとも一つの攻撃条件を満たすときに、該脆弱性モデル情報の攻撃成立条件及び攻撃結果の情報に基づいて機能アプリケーションモデル情報の一部を更新する更新部をさらに備え、実行部は、更新された機能アプリケーションモデル情報と複数の脆弱性モデル情報とに基づいて対象システムの脅威分析を行ってもよい。 In the above-described embodiment, the vulnerability model information includes information on the attack establishment condition and the attack result, the second acquisition unit acquires a plurality of vulnerability model information, and the functional application model information is a plurality of vulnerability model information. When at least one of the attack conditions is satisfied, an update unit is further provided to update a part of the functional application model information based on the attack establishment condition and the attack result information of the vulnerability model information, and the execution unit is updated. The threat analysis of the target system may be performed based on the function application model information and the plurality of vulnerability model information.
この態様によれば、機能アプリケーションモデル情報が複数の脆弱性モデル情報のうちの少なくとも一つの攻撃条件を満たすときに、該脆弱性モデル情報の攻撃成立条件及び攻撃結果に基づいて、機能アプリケーションモデル情報の一部が更新される。これにより、当該機能アプリケーションに接続可能な機能アプリケーションに対する脅威分析が可能になり、複数の脆弱性を組み合わせた攻撃に対する対象システムの脅威分析を行うことができる。 According to this aspect, when the functional application model information satisfies at least one attack condition of the plurality of vulnerability model information, the functional application model information is based on the attack establishment condition and the attack result of the vulnerability model information. Is partly updated. This makes it possible to analyze threats to functional applications that can be connected to the functional application, and to perform threat analysis of the target system against attacks that combine multiple vulnerabilities.
前述の態様において、対象システムは、第1機能アプリケーションと、該第1機能アプリケーションと通信接続可能な第2機能アプリケーションとを含み、第1取得部は、第1機能アプリケーションの機能アプリケーションモデル情報と第2機能アプリケーションの機能アプリケーションモデル情報とを取得し、実行部は、第1機能アプリケーションの機能アプリケーションモデル情報及び第2機能アプリケーションの機能アプリケーションモデル情報と、脆弱性モデル情報とに基づいて前記対象システムの脅威分析を行ってもよい。 In the above-described embodiment, the target system includes the first functional application and the second functional application capable of communicating with the first functional application, and the first acquisition unit includes the functional application model information of the first functional application and the first. The functional application model information of the two functional applications is acquired, and the execution unit obtains the functional application model information of the first functional application, the functional application model information of the second functional application, and the vulnerability model information of the target system. Threat analysis may be performed.
この態様によれば、第1機能アプリケーションの機能アプリケーションモデル情報と、当該第1機能アプリケーションと通信接続可能な第2機能アプリケーションの機能アプリケーションモデル情報と、脆弱性モデル情報とに基づいて、対象システムの機能分析が行われる。これにより、通信接続可能な2つの機能アプリケーションの組合せに対する攻撃の可能性を分析することができる。 According to this aspect, the target system is based on the functional application model information of the first functional application, the functional application model information of the second functional application capable of communicating with the first functional application, and the vulnerability model information. Functional analysis is performed. This makes it possible to analyze the possibility of an attack on a combination of two functional applications that can be connected by communication.
前述の態様において、脅威分析を行った対象システムに対して利用料を算出する利用料算出部をさらに備えてもよい。 In the above-described embodiment, the usage fee calculation unit for calculating the usage fee for the target system for which the threat analysis has been performed may be further provided.
この態様によれば、脅威分析を行った対象システムに対して利用料が算出される。これにより、サービス利用者に利用料を請求することで、利用料の一部をサービス利用者以外の者、例えば情報登録者に報酬として還元(フィードバック)することができる。 According to this aspect, the usage fee is calculated for the target system for which the threat analysis has been performed. As a result, by charging the service user for the usage fee, a part of the usage fee can be returned (feedback) as a reward to a person other than the service user, for example, an information registrant.
前述の態様において、脅威分析の結果、対象システムが脆弱性を含むときに、該脆弱性に対応する脆弱性モデル情報に対する報酬を利用料に基づいて算出する報酬算出部をさらに備えてもよい。 In the above-described embodiment, when the target system includes a vulnerability as a result of threat analysis, a reward calculation unit may be further provided to calculate the reward for the vulnerability model information corresponding to the vulnerability based on the usage fee.
この態様によれば、脅威分析の結果、対象システムが脆弱性を含むときに、当該脆弱性に対応する脆弱性モデル情報に対する報酬が、対象システムの利用料に基づいて算出される。これにより、脆弱性モデル情報の情報登録者に登録のインセンティブを与えることができる。従って、登録と利用のサイクルがうまく回転し、脅威分析のサービス事業が継続的事業として成立することできる。 According to this aspect, when the target system contains a vulnerability as a result of threat analysis, the reward for the vulnerability model information corresponding to the vulnerability is calculated based on the usage fee of the target system. As a result, an incentive for registration can be given to the information registrant of the vulnerability model information. Therefore, the cycle of registration and use can be rotated well, and the threat analysis service business can be established as a continuous business.
本発明の他の態様に係る脅威分析方法は、対象システムに含まれる機能アプリケーションについて、システムの仕様を規定するためのシステム仕様情報を用いてモデル化した機能アプリケーションモデル情報を取得する第1取得ステップと、事例システムに含まれる脆弱性についてシステム仕様情報を用いてモデル化した脆弱性モデル情報を取得する第2取得ステップと、機能アプリケーションモデル情報と脆弱性モデル情報とに基づいて対象システムの脅威分析を行う実行ステップと、を含む。 The threat analysis method according to another aspect of the present invention is the first acquisition step of acquiring the functional application model information modeled by using the system specification information for defining the system specifications for the functional application included in the target system. And, threat analysis of the target system based on the second acquisition step to acquire the vulnerability model information modeled using the system specification information about the vulnerability included in the case system, and the functional application model information and the vulnerability model information. Includes execution steps and.
この態様によれば、対象システムに含まれる機能アプリケーションについて、システム仕様情報を用いてモデル化した機能アプリケーションモデル情報が取得され、事例システムに含まれる脆弱性について、システム仕様情報を用いてモデル化した脆弱性モデル情報が取得される。そして、機能アプリケーションモデル情報と脆弱性モデル情報とに基づいて、対象システムの脅威分析が行われる。ここで、システム仕様情報に含まれる抽象的な仕様情報は、概念設計段階のシステムでも得ることができる。よって、同じシステム仕様情報を用いて機能アプリケーションモデル情報及び脆弱性モデル情報を取得することにより、対象システムの機能アプリケーションモデル情報と事例システムの脆弱性モデル情報とを容易に比較することができ、対象システムに存在し得る脆弱性への脅威分析を行うことができる。従って、概念設計段階の対象システムに対して脅威分析を行うことができる。 According to this aspect, the functional application model information modeled by using the system specification information is acquired for the functional application included in the target system, and the vulnerability included in the case system is modeled by using the system specification information. Vulnerability model information is acquired. Then, threat analysis of the target system is performed based on the functional application model information and the vulnerability model information. Here, the abstract specification information included in the system specification information can also be obtained in the system at the conceptual design stage. Therefore, by acquiring the functional application model information and the vulnerability model information using the same system specification information, the functional application model information of the target system and the vulnerability model information of the case system can be easily compared. It is possible to perform threat analysis for vulnerabilities that may exist in the system. Therefore, threat analysis can be performed on the target system at the conceptual design stage.
前述の態様において、脆弱性モデル情報は、攻撃成立条件及び攻撃結果の情報を含み、第2取得ステップは、複数の脆弱性モデル情報を取得し、機能アプリケーションモデル情報が複数の脆弱性モデル情報のうちの少なくとも一つの攻撃条件を満たすときに、該脆弱性モデル情報の攻撃成立条件及び攻撃結果の情報に基づいて機能アプリケーションモデル情報の一部を更新する更新ステップをさらに含み、実行ステップは、更新された機能アプリケーションモデル情報と複数の脆弱性モデル情報とに基づいて対象システムの脅威分析を行うことを含んでもよい。 In the above-described embodiment, the vulnerability model information includes information on the attack establishment condition and the attack result, the second acquisition step acquires a plurality of vulnerability model information, and the functional application model information is a plurality of vulnerability model information. When at least one of the attack conditions is satisfied, the execution step further includes an update step of updating a part of the functional application model information based on the attack establishment condition and the attack result information of the vulnerability model information. It may include performing threat analysis of the target system based on the function application model information and a plurality of vulnerability model information.
この態様によれば、機能アプリケーションモデル情報が複数の脆弱性モデル情報のうちの少なくとも一つの攻撃条件を満たすときに、該脆弱性モデル情報の攻撃成立条件及び攻撃結果に基づいて、機能アプリケーションモデル情報の一部が更新される。これにより、当該機能アプリケーションに接続可能な機能アプリケーションに対する脅威分析が可能になり、複数の脆弱性を組み合わせた攻撃に対する対象システムの脅威分析を行うことができる。 According to this aspect, when the functional application model information satisfies at least one attack condition of the plurality of vulnerability model information, the functional application model information is based on the attack establishment condition and the attack result of the vulnerability model information. Is partly updated. This makes it possible to analyze threats to functional applications that can be connected to the functional application, and to perform threat analysis of the target system against attacks that combine multiple vulnerabilities.
前述の態様において、対象システムは、第1機能アプリケーションと、該第1機能アプリケーションと通信接続可能な第2機能アプリケーションとを含み、第1取得ステップは、第1機能アプリケーションの機能アプリケーションモデル情報と第2機能アプリケーションの機能アプリケーションモデル情報とを取得し、実行ステップは、第1機能アプリケーションの機能アプリケーションモデル情報及び第2機能アプリケーションの機能アプリケーションモデル情報と、脆弱性モデル情報とに基づいて前記対象システムの脅威分析を行うことを含んでもよい。 In the above aspect, the target system includes the first functional application and the second functional application capable of communicating with the first functional application, and the first acquisition step includes the functional application model information of the first functional application and the first. The functional application model information of the two functional applications is acquired, and the execution step is based on the functional application model information of the first functional application, the functional application model information of the second functional application, and the vulnerability model information of the target system. It may include performing a threat analysis.
この態様によれば、第1機能アプリケーションの機能アプリケーションモデル情報と、当該第1機能アプリケーションと通信接続可能な第2機能アプリケーションの機能アプリケーションモデル情報と、脆弱性モデル情報とに基づいて、対象システムの機能分析が行われる。これにより、通信接続可能な2つの機能アプリケーションの組合せに対する攻撃の可能性を分析することができる。 According to this aspect, the target system is based on the functional application model information of the first functional application, the functional application model information of the second functional application capable of communicating with the first functional application, and the vulnerability model information. Functional analysis is performed. This makes it possible to analyze the possibility of an attack on a combination of two functional applications that can be connected by communication.
前述の態様において、脅威分析を行った対象システムに対して利用料を算出する利用料算出ステップをさらに含んでもよい。 In the above aspect, the usage fee calculation step of calculating the usage fee for the target system for which the threat analysis has been performed may be further included.
この態様によれば、脅威分析を行った対象システムに対して利用料が算出される。これにより、サービス利用者に利用料を請求することで、利用料の一部をサービス利用者以外の者、例えば情報登録者に報酬として還元(フィードバック)することができる。 According to this aspect, the usage fee is calculated for the target system for which the threat analysis has been performed. As a result, by charging the service user for the usage fee, a part of the usage fee can be returned (feedback) as a reward to a person other than the service user, for example, an information registrant.
前述の態様において、脅威分析の結果、対象システムが脆弱性を含むときに、該脆弱性に対応する脆弱性モデル情報に対する報酬を利用料に基づいて算出する報酬算出ステップをさらに含んでもよい。 In the above aspect, when the target system includes a vulnerability as a result of threat analysis, a reward calculation step of calculating the reward for the vulnerability model information corresponding to the vulnerability based on the usage fee may be further included.
この態様によれば、脅威分析の結果、対象システムが脆弱性を含むときに、当該脆弱性に対応する脆弱性モデル情報に対する報酬が、対象システムの利用料に基づいて算出される。これにより、脆弱性モデル情報の情報登録者に登録のインセンティブを与えることができる。従って、登録と利用のサイクルがうまく回転し、脅威分析のサービス事業が継続的事業として成立することできる。 According to this aspect, when the target system contains a vulnerability as a result of threat analysis, the reward for the vulnerability model information corresponding to the vulnerability is calculated based on the usage fee of the target system. As a result, an incentive for registration can be given to the information registrant of the vulnerability model information. Therefore, the cycle of registration and use can be rotated well, and the threat analysis service business can be established as a continuous business.
本発明の他の態様に係る脅威分析プログラムは、コンピュータに実行させる脅威分析プログラムであって、対象システムに含まれる機能アプリケーションについて、システムの仕様を規定するためのシステム仕様情報を用いてモデル化した機能アプリケーションモデル情報を取得する第1取得ステップと、事例システムに含まれる脆弱性についてシステム仕様情報を用いてモデル化した脆弱性モデル情報を取得する第2取得ステップと、機能アプリケーションモデル情報と脆弱性モデル情報とに基づいて対象システムの脅威分析を行う実行ステップと、を含む。 The threat analysis program according to another aspect of the present invention is a threat analysis program to be executed by a computer, and the functional application included in the target system is modeled by using the system specification information for defining the system specifications. The first acquisition step to acquire the functional application model information, the second acquisition step to acquire the vulnerability model information modeled using the system specification information about the vulnerabilities contained in the case system, and the functional application model information and vulnerabilities. Includes execution steps to perform threat analysis of the target system based on model information.
この態様によれば、対象システムに含まれる機能アプリケーションについて、システム仕様情報を用いてモデル化した機能アプリケーションモデル情報が取得され、事例システムに含まれる脆弱性について、システム仕様情報を用いてモデル化した脆弱性モデル情報が取得される。そして、機能アプリケーションモデル情報と脆弱性モデル情報とに基づいて、対象システムの脅威分析が行われる。ここで、システム仕様情報に含まれる抽象的な仕様情報は、概念設計段階のシステムでも得ることができる。よって、同じシステム仕様情報を用いて機能アプリケーションモデル情報及び脆弱性モデル情報を取得することにより、対象システムの機能アプリケーションモデル情報と事例システムの脆弱性モデル情報とを容易に比較することができ、対象システムに存在し得る脆弱性への脅威分析を行うことができる。従って、概念設計段階の対象システムに対して脅威分析を行うことができる。 According to this aspect, the functional application model information modeled by using the system specification information is acquired for the functional application included in the target system, and the vulnerability included in the case system is modeled by using the system specification information. Vulnerability model information is acquired. Then, threat analysis of the target system is performed based on the functional application model information and the vulnerability model information. Here, the abstract specification information included in the system specification information can also be obtained in the system at the conceptual design stage. Therefore, by acquiring the functional application model information and the vulnerability model information using the same system specification information, the functional application model information of the target system and the vulnerability model information of the case system can be easily compared. It is possible to perform threat analysis for vulnerabilities that may exist in the system. Therefore, threat analysis can be performed on the target system at the conceptual design stage.
本発明によれば、概念設計段階の対象システムに対して脅威分析を行うことのできる脅威分析装置、脅威分析方法、及び脅威分析プログラムを提供することができる。 According to the present invention, it is possible to provide a threat analysis device, a threat analysis method, and a threat analysis program capable of performing threat analysis on a target system in the conceptual design stage.
以下に本発明の実施形態を説明する。以下の図面の記載において、同一又は類似の構成要素は同一又は類似の符号で表している。図面は例示であり、各部の寸法や形状は模式的なものであり、本発明の技術的範囲を当該実施形態に限定して解するべきではない。 An embodiment of the present invention will be described below. In the description of the drawings below, the same or similar components are represented by the same or similar reference numerals. The drawings are examples, and the dimensions and shapes of each part are schematic, and the technical scope of the present invention should not be limited to the embodiment.
[第1実施形態]
図1から図19を用いて本発明の第1実施形態に係る脅威分析装置、脅威分析方法、及び脅威分析プログラムについて説明する。[First Embodiment]
The threat analysis apparatus, the threat analysis method, and the threat analysis program according to the first embodiment of the present invention will be described with reference to FIGS. 1 to 19.
最初に、図1及び図2を参照しつつ、脅威分析装置100の構成について説明する。ここで、図1は、本発明の第1実施形態に係る脅威分析装置100の物理構成を示すブロック図である。図2は、本発明の第1実施形態に係る脅威分析装置100の機能構成を示すブロック図である。
First, the configuration of the
図1に示すように、脅威分析装置100は、バス101と、バス101に接続された中央情報処理装置(以下、「CPU」という)102、入出力プロセッサ(以下、「IOP」という)103、及び主記憶装置107と、を備える。脅威分析装置100は、例えば、ユーザUが対話形式で使用する通常のコンピュータである。
As shown in FIG. 1, the
IOP103は、ユーザUと脅威分析装置100がやり取りするデータを入出力する表示装置104及び入力装置105に接続されている。また、IOP103は、大容量の二次記憶装置106に接続されている。さらに、IOP103は、必要に応じて主記憶装置107との間でデータやプログラムのロードや退避を実行する。
The
主記憶装置107には、脅威分析処理S1400及び脆弱アプリケーション検索処理S1500と、脅威分析の対象となるシステムの設計情報(以下、「対象システム設計情報120」という)と、脆弱性事例情報130と、システム仕様情報140と、脅威分析結果情報1900及び攻撃経路ツリー1950と、が格納され、記憶されている。
The
対象システム設計情報120は、機能ブロック定義情報400と、機能アプリケーションモデル情報500,600,700,800,900(以下、「500〜900」と記す)と、システム構成要素関係情報1000と、を含んで構成される。
The target
機能ブロック定義情報400は、対象システムの構成及び機能の割当てを示すためのものである。具体的には、機能ブロック定義情報400は、対象システムを構成するハードウェア及びソフトウェアについて、ハードウェアのハードブロックと、当該システムのソフトウェア、例えばオペレーティングシステム(以下、「OS」という)、Webブラウザ、アプリケーション等、との相互関係を規定した情報である。機能ブロック定義情報400は、例えば、OMG(Object Management Group)が策定したシステム記述言語Systems Modeling Language(SysML)のブロック定義図に相当する情報である。
The function
機能アプリケーションモデル情報500〜900は、対象システムに含まれる機能アプリケーションについて、システム仕様情報140を用いてモデル化された情報である。機能アプリケーションモデル情報500〜900は、機能アプリケーションが備える様々な属性情報、例えば実行環境や入出力属性等を含む。
The functional
システム構成要素関係情報1000は、機能ブロック定義情報400に記載されたハードブロックと機能モジュールとの包含関係や接続関係を含む情報である。システム構成要素関係情報1000は、前述した包含関係や接続関係を、例えば表形式で表している。
The system
脆弱性事例情報130は、脆弱性モデル情報1100,1200,1300(以下、「1100〜1300」と記す)を含んで構成される。
The
脆弱性モデル情報1100〜1300は、既存のシステムであって、脆弱性への攻撃等を受けた事例のあるシステム(以下、「事例システム」という)に含まれる脆弱性について、システム仕様情報140を用いてモデル化した情報である。脆弱性モデル情報1100〜1300は、各脆弱性が備える様々な属性情報、例えば攻撃成立条件や攻撃結果等を含む。
システム仕様情報140は、機能アプリケーションモデル情報500〜900及び脆弱性モデル情報1100〜1300を作成するためのものである。システム仕様情報140は、システムの仕様を規定するための抽象的な情報である。
The
脅威分析処理S1400及び脆弱アプリケーション検索処理S1500は、対象となるシステム(以下、「対象システム」という)の脅威分析を行うための処理である。脅威分析処理S1400及び脆弱アプリケーション検索処理S1500は、対象システム設計情報120及び脆弱性事例情報130を使用して、処理結果として脅威分析結果情報1900及び攻撃経路ツリーを出力する。
The threat analysis process S1400 and the vulnerable application search process S1500 are processes for performing threat analysis of a target system (hereinafter, referred to as “target system”). The threat analysis process S1400 and the vulnerability application search process S1500 use the target
図2に示すように、脅威分析装置100は、その機能構成として、第1取得部150と、第2取得部160と、更新部170と、実行部180と、を備える。
As shown in FIG. 2, the
第1取得部150は、対象システムに含まれる機能アプリケーションについて、機能アプリケーションモデル情報500〜900を取得するように構成されている。第1取得部150は、対象システムが複数の機能アプリケーションを含む場合、機能アプリケーション毎に対応する機能アプリケーションモデル情報500〜900を取得する。また、第1取得部150は、機能アプリケーションモデル情報500〜900を含む対象システム設計情報120の全てを、取得するように構成されていてもよい。
The
第1取得部150は、例えば、図1に示すバス101、CPU102、IOP103、入力装置105、二次記憶装置106、及び主記憶装置107で構成することが可能である。
The
第2取得部160は、事例システムに含まれる脆弱性について脆弱性モデル情報1100〜1300を取得するように構成されている。第2取得部160は、複数の事例システムがある、事例システムが複数の脆弱性を含む、及びその両方の場合、脆弱性毎に対応する脆弱性モデル情報1100〜1300を取得する。また、第2取得部160は、脆弱性モデル情報1100〜1300を含む脆弱性事例情報130の全てを、取得するように構成されていてもよい。
The
第2取得部160は、例えば、図1に示すバス101、CPU102、IOP103、入力装置105、二次記憶装置106、及び主記憶装置107で構成することが可能である。
The
更新部170は、機能アプリケーションモデル情報500〜900を更新するためのものである。具体的には、更新部170は、機能アプリケーションモデル情報500〜900の一つが、脆弱性モデル情報1100〜1300の一つに含まれる攻撃成立条件を満たすときに、脆弱性モデル情報の攻撃成立条件及び攻撃結果に基づいて、攻撃成立条件を満たす当該機能アプリケーションモデル情報の一部を更新する。
The
更新部170は、例えば、図1に示すバス101、CPU102、及び主記憶装置107で構成することが可能である。
The
実行部180は、対象システムの脅威分析を行うためのものである。具体的には、実行部180は、機能アプリケーションモデル情報500〜900と脆弱性モデル情報1100〜1300とに基づいて、対象システムの脅威分析を行うように構成されている。また、実行部180は、脅威分析装置100で実行される処理の全般を行うように構成されている。
The
実行部180は、更新部170が攻撃成立条件を満たす当該機能アプリケーションモデル情報の一部を更新したときに、更新された機能アプリケーションモデル情報と脆弱性モデル情報1100〜1300とに基づいて、対象システムの脅威分析を行うように構成されている。
When the
さらに、実行部180は、複数の機能アプリケーションモデル情報500〜900が、一の機能アプリケーションモデル情報と当該一の機能アプリケーションモデル情報と通信接続可能な他の機能アプリケーションモデル情報を含むときに、一の機能アプリケーションモデル情報及び他の機能アプリケーションモデル情報と脆弱性モデル情報1100〜1300とに基づいて、対象システムの脅威分析を行うように構成されている。なお、一の機能アプリケーションモデル情報は本発明の「第1機能アプリケーションモデル情報」の一例に相当し、他の機能アプリケーションモデル情報は本発明の「第2機能アプリケーションモデル情報」の一例に相当する。
Further, the
実行部180は、例えば、図1に示すバス101、CPU102、表示装置104、及び主記憶装置107で構成することが可能である。
The
以下の説明において、対象システムとして、米国テスラ・モーターズ社製の電気自動車に代表される、ネット接続が可能でかつ電子制御が多用される、いわゆるコネクティッドカーのシステム(以下、「コネクティッドカーシステム」という)を例に挙げて説明する。 In the following description, the target system is a so-called connected car system (hereinafter referred to as "connected car system"), which is typified by an electric vehicle manufactured by Tesla Motors of the United States and is capable of connecting to the Internet and frequently using electronic control. ”) As an example.
次に、図3を参照しつつ、脅威分析装置100で使用されるシステム仕様情報140について説明する。図3は、コネクティッドカーシステムのシステム仕様情報140を示す図である。
Next, the
図3に示すように、システム仕様情報140は、項番“1”の「機能アプリケーション名称」、項番“2”の「機能アプリケーション種別」、項番“3”の「実装ユニット名」、項番“4”の「実行条件」、項番“5”の「入力数n」(nは正の整数)、項番“6”の「第1入力〜第n入力」、項番“7”の「出力数m」(mは正の整数)、項番“8”の「第1出力〜第m出力」、項番“9”の「動作順序」、及び項番“10”の「機能」、のそれぞれの主属性に大別される。項番“4”の「実行条件」、項番“6”の「第1入力〜第n入力」、及び項番“8”の「第1出力〜第m出力」は、それぞれ複数の副属性を含んでいる。
As shown in FIG. 3, the
各々の属性の名称と属性値の内容は、図4に示す通りである。ここでは、後述する脅威分析処理S1400及び脆弱アプリケーション検索処理S1500で重要な役割を果たす属性のみを説明し、その他の属性はその説明を省略する。 The names of the respective attributes and the contents of the attribute values are as shown in FIG. Here, only the attributes that play an important role in the threat analysis process S1400 and the vulnerable application search process S1500, which will be described later, will be described, and the description of the other attributes will be omitted.
項番“4”の「実行条件」は、その機能アプリケーションを実行するために必要なソフトウェア環境を示す。同じ機能を備える機能アプリケーションであっても、実行に必要なOSが異なる場合、影響を受ける脆弱性の有無や脆弱性の種別が異なることがある。従って、ソフトウェア環境の情報は、機能アプリケーションの脆弱性を判断する上で、重要な情報である。 The “execution condition” in item number “4” indicates the software environment required to execute the functional application. Even functional applications with the same functions may have different vulnerabilities and types of vulnerabilities that are affected if the OS required for execution is different. Therefore, information on the software environment is important information for determining vulnerabilities in functional applications.
項番“6”の「第1入力〜第n入力」及び項番“8”の「第1出力〜第m出力」は、機能アプリケーションが外部と情報を交換するチャネルであり、攻撃を受けたり、逆に攻撃したりする経路となり得ることから、脆弱性の判断において重要な情報である。項番“6”の「第1入力〜第n入力」及び項番“8”の「第1出力〜第m出力」には、それぞれ、通信経路、通信プロトコル、アクセス制御の有無を表す権限チェック、通信内容等が属性値として記述される。 The "1st input to nth input" of the item number "6" and the "1st output to the mth output" of the item number "8" are channels for the functional application to exchange information with the outside, and are attacked. On the contrary, it can be a route to attack, so it is important information in determining vulnerability. The "first input to nth input" of item number "6" and the "first output to mth output" of item number "8" are authority checks indicating the communication path, communication protocol, and the presence or absence of access control, respectively. , Communication content, etc. are described as attribute values.
前述したように、システム仕様情報140は、システムの仕様を規定するための抽象的な情報である。このシステム仕様情報140を用いて、対象システムに含まれる機能アプリケーションは、モデル化されて機能アプリケーションモデル情報500〜900が作成される。
As described above, the
ここで、対象システムが概念設計段階である場合、対象システムの仕様が抽象的にしか規定できていないことが想定される。一方、システム仕様情報140に含まれる抽象的な仕様情報は、概念設計段階のシステムでも得ることができる。よって、対象システムが概念設計段階であっても、当該対象システムに含まれる機能アプリケーションについて、システム仕様情報140を用いてモデル化した機能アプリケーションモデル情報500〜900を取得することができる。
Here, when the target system is in the conceptual design stage, it is assumed that the specifications of the target system can be defined only abstractly. On the other hand, the abstract specification information included in the
同様に、事例システムに含まれる脆弱性について、システム仕様情報140を用いて、モデル化した脆弱性モデル情報1100〜1300が取得される。このように、同じシステム仕様情報140を用いて機能アプリケーションモデル情報500〜900及び脆弱性モデル情報1100〜1300を取得することにより、対象システムの機能アプリケーションモデル情報500〜900と事例システムの脆弱性モデル情報1100〜1300とを容易に比較することができ、対象システムに存在し得る脆弱性への脅威分析を行うことができる。従って、概念設計段階の対象システムに対して脅威分析を行うことができる。
Similarly, for the vulnerability included in the case system, the modeled
次に、図4から図10を参照しつつ、脅威分析装置100で使用される対象システム設計情報120について説明する。図4は、コネクティッドカーシステムの機能ブロック定義情報400を示す図である。図5は、車両電子制御機能アプリケーション417の機能アプリケーションモデル情報500を示す図である。図6は、車両通信制御機能アプリケーション428の機能アプリケーションモデル情報600を示す図である。図7は、車両情報表示機能アプリケーション439aの機能アプリケーションモデル情報700を示す図である。図8は、Web情報表示機能アプリケーション439bの機能アプリケーションモデル情報800を示す図である。図9は、Web情報サーバ機能アプリケーション449の機能アプリケーションモデル情報900を示す図である。図10は、コネクティッドカーシステムのシステム構成要素関係情報1000を示す図である。
Next, the target
図4に示すように、コネクティッドカーシステムの機能ブロック定義情報400は、ハードウェアブロックである、車両電子制御ユニット(ECU)410、車両通信ゲートウェイ(GW)420、コンソールディスプレイ(CD)430、及びWebサーバ(WS)440と、機能アプリケーションである、車両電子制御機能アプリケーション417、車両通信制御機能アプリケーション428、車両情報表示機能アプリケーション439a、Web情報表示機能アプリケーション439b、及びWeb情報サーバ機能アプリケーション449と、を含む。ここで、機能アプリケーションとは、ハードウェアブロックの主記憶に格納され、CPUで実行されて、ハードウェアブロックが必要とする機能的役割を実現するアプリケーションプログラムである。
As shown in FIG. 4, the functional
また、機能ブロック定義情報400は、OS(RTOS)427と、OS(Linux(登録商標))437,347と、Webブラウザ(Webkit)438と、Webサーバ(httpd)448と、をさらに含む。
Further, the functional
ハードウェアブロックのうち、車両電子制御ユニット(ECU)410、車両通信ゲートウェイ(GW)420、及びコンソールディスプレイ(CD)430は、車両内部に搭載される。一方、インターネット上のWebサーバ(WS)440は、車両外部に設置される。Webサーバ(WS)440は、インターネットを介して車両のコンソールディスプレイ(CD)430に接続されている。 Among the hardware blocks, the vehicle electronic control unit (ECU) 410, the vehicle communication gateway (GW) 420, and the console display (CD) 430 are mounted inside the vehicle. On the other hand, the Web server (WS) 440 on the Internet is installed outside the vehicle. The web server (WS) 440 is connected to the vehicle console display (CD) 430 via the Internet.
各ハードウェアブロックは、それぞれが独立したコンピュータシステムである。例えば、車両電子制御ユニット(ECU)410は、バス411に接続されたCPU412、IOP413、及び主記憶装置414を含む。IOP413は、ハーネス(通信アダプタ)415及びCANBus通信アダプタ416に接続され、ブロック内外のデータ通信を制御する。車両電子制御ユニット(ECU)410は、通信経路であるCANBus450を介して車両通信ゲートウェイ(GW)420に接続されている。他のハードウェアブロックである車両通信ゲートウェイ(GW)420、コンソールディスプレイ(CD)430、及びWebサーバ(WS)440は、車両電子制御ユニット(ECU)410と同様の内部構成であるため、その説明を省略する。車両通信ゲートウェイ(GW)420は、通信経路であるEthernet(登録商標)451を介してコンソールディスプレイ(CD)430に接続されている。コンソールディスプレイ(CD)430は、通信経路であるWifi452を介してWebサーバ(WS)440に接続される。
Each hardware block is an independent computer system. For example, the vehicle electronic control unit (ECU) 410 includes a
コネクティッドカーシステムのハードウェアブロックの機能的役割は、(第1機能)車両電子制御機能及び(第2機能)Web情報表示機能の2つに大別される。2つの機能は、ともに車両運転者とのインタフェースを司るコンソールディスプレイ(CD)430の車両情報表示機能アプリケーション439a、Web情報表示機能アプリケーション439bを起点として、実行される。
The functional roles of the hardware block of the connected car system are roughly divided into two (first function) vehicle electronic control function and (second function) Web information display function. Both of the two functions are executed starting from the vehicle information
(第1機能)車両電子制御機能
コンソールディスプレイ(CD)430は、車両情報表示機能アプリケーション439aを実行する。車両情報表示機能アプリケーション439aは、入力された車両運転者の指定に従い、該当する車両制御コマンド、例えば、エンジンの動作状態のモニタリングや、ドアやリアゲートの開放のためのコマンド等を作成し、作成された車両制御コマンドをEthernet451を介して車両通信ゲートウェイ(GW)420に送信する。車両通信ゲートウェイ(GW)420の車両通信制御機能アプリケーション428は、受信した車両制御コマンドをECUコマンドにプロトコル変換し、変換されたECUコマンドをCANBus450を介して車両電子制御ユニット(ECU)410に送信する。車両電子制御ユニット(ECU)410の車両電子制御機能アプリケーション417は、受信したECUコマンドに従ってユニット内部コマンドを生成し、車両運転者の指定した車両制御を実行する。(First Function) The vehicle electronic control function console display (CD) 430 executes the vehicle information
(第2機能)Web情報表示機能
コンソールディスプレイ(CD)430は、Web情報表示機能アプリケーション439bを実行する。Web情報表示機能アプリケーション439bは、入力された車両運転者の指定に従い、該当するWebページ要求コマンド、例えばhttpプロトコルのgetコマンド等を作成し、作成されたWebページ要求コマンドをWifi452を介してWebサーバ(WS)440に送信する。Webサーバ(WS)440のWeb情報サーバ機能アプリケーション449は、受信したWebページ要求コマンドに従って該当するWebページを検索し、検索結果であるページ内容、例えば、HTMLコンテンツやJavascript(登録商標)コード等を、Webページ応答コマンドとしてコンソールディスプレイ(CD)430に返信する。(Second function) Web information display function The console display (CD) 430 executes the Web information
図5に示すように、車両電子制御機能アプリケーション417の機能アプリケーションモデル情報500は、項番“1”の属性値に車両電子制御機能アプリケーション417の名称である「車両電子制御」が記述されている。項番“2”の属性値には、車両電子制御機能アプリケーション417のソフトウェア種別である「アプリケーション」が記述されている。項番“3”の属性値には、車両電子制御機能アプリケーション417の実装ユニットである「車両電子制御ユニット(ECU)」が記述されている。車両電子制御機能アプリケーション417は、実行時に、OS、Webブラウザ、及びWebサーバを必要としない。そのため、項番“4−1”、“4−2”、“4−3”の属性値には、それぞれ「−(なし)」が記述されている。一方、項番“4−4”の属性値には、アプリケーション実行時のプロセスモードである「ユーザ」が記述されている。
As shown in FIG. 5, in the functional
車両電子制御機能アプリケーション417は1系統の入力を備える。第1入力の送信元は、車両通信ゲートウェイ(GW)420で実行される車両通信制御機能アプリケーション428である。第1入力のデータは、CANBus450を介して入力され、通信プロトコルはCANであり、権限チェックは行わない。また、通信内容は、アプリコマンドであり、ECU制御コマンドを含んでいる。そのため、項番“5”の属性値には「1」が、項番“6−1”の属性値には「車両通信制御」が、項番“6−2”の属性値には「アプリケーション」が、項番“6−3”の属性値には「車両通信ゲートウェイ(GW)」が、項番“6−4”の属性値には「CANBus」が、項番“6−5”の属性値には「CAN」が、項番“6−6”の属性値には「−(なし)」が、項番“6−7”の属性値には「アプリコマンド(ECU制御コマンド)」が、それぞれ記述されている。
The vehicle electronic
車両電子制御機能アプリケーション417は1系統の出力を備える。第1出力の送信先は、同じ車両電子制御ユニット(ECU)410で実行される、ユニット内部モジュールの車両機器ハンドラ(図示省略)である。第1出力のデータは、ハーネス(図示省略)を介して出力され、通信プロトコルはユニット内部固有のものであり、権限チェックは行わない。また、通信内容は、ユニット内部コマンドであり、ECU制御コマンドを含んでいる。そのため、項番“7”の属性値には「1」が、項番“8−1”の属性値には「車両機器ハンドラ」が、項番“8−2”の属性値には「ユニット内部モジュール」が、項番“8−3”の属性値には「車両電子制御ユニット(ECU)」が、項番“8−4”の属性値には「ハーネス」が、項番“8−5”の属性値には「ユニット内部固有」が、項番“8−6”の属性値には「−(なし)」が、項番“8−7”の属性値には「ユニット内部固有コマンド(ECU制御コマンド)」が、それぞれ記述されている。
The vehicle electronic
項番“9”の属性値に、車両電子制御機能アプリケーション417の動作順序である「第1入力を入力し、次に第1出力を出力する。」が記述されている。項番“10”の属性値に、車両電子制御機能アプリケーション417の機能内容である「第1入力にECU制御コマンドが入力され、第1出力からユニットコマンドを出力して、車両機器を制御する。」が記述されている。
In the attribute value of the item number "9", "the first input is input and then the first output is output", which is the operation order of the vehicle electronic
図6に示すように、車両通信制御機能アプリケーション428の機能アプリケーションモデル情報600は、項番“1”の属性値に車両通信制御機能アプリケーション428の名称である「車両通信制御」が記述されている。項番“2”の属性値には、車両通信制御機能アプリケーション428のソフトウェア種別である「アプリケーション」が記述されている。項番“3”の属性値には、車両通信制御機能アプリケーション428の実装ユニットである「車両通信ゲートウェイ(GW)」が記述されている。車両通信制御機能アプリケーション428は、実行時に、OSとしてRTOSが必要であるが、Webブラウザ及びWebサーバを必要としない。そのため、項番“4−1”の属性値に「RTOS」が、項番“4−2”、“4−3”の属性値に「−(なし)」が、それぞれ記述されている。一方、項番“4−4”の属性値には、アプリケーション実行時のプロセスモードである「ユーザ」が記述されている。
As shown in FIG. 6, in the functional
車両通信制御機能アプリケーション428は1系統の入力を備える。第1入力の送信元は、コンソールディスプレイ(CD)430で実行される、Webブラウザアプリケーションの車両情報表示機能アプリケーション439aである。第1入力のデータは、Ethernet451を介して入力され、通信プロトコルはUDP/IP(Port3500)であり、権限チェックは行わない。また、通信内容は、アプリコマンドであり、ECU制御コマンド(要求)を含んでいる。そのため、項番“5”の属性値には「1」が、項番“6−1”の属性値には「車両情報表示」が、項番“6−2”の属性値には「Webブラウザアプリケーション」が、項番“6−3”の属性値には「コンソールディスプレイ(CD)」が、項番“6−4”の属性値には「Ethernet」が、項番“6−5”の属性値には「UDP/IP(Port3500)」が、項番“6−6”の属性値には「−(なし)」が、項番“6−7”の属性値には「アプリコマンド(ECU制御コマンド(要求))」が、それぞれ記述されている。
The vehicle communication
車両通信制御機能アプリケーション428は1系統の出力を備える。第1出力の送信先は、車両電子制御ユニット(ECU)410で実行される、車両電子制御機能アプリケーション417である。第1出力のデータは、CANBus450を介して出力され、通信プロトコルはCANであり、権限チェックは行わない。また、通信内容は、アプリコマンドであり、ECU制御コマンド(要求)を含んでいる。そのため、項番“7”の属性値には「1」が、項番“8−1”の属性値には「車両電子制御」が、項番“8−2”の属性値には「アプリケーション」が、項番“8−3”の属性値には「車両電子制御ユニット(ECU)」が、項番“8−4”の属性値には「CANBus」が、項番“8−5”の属性値には「CAN」が、項番“8−6”の属性値には「−(なし)」が、項番“8−7”の属性値には「アプリコマンド(ECU制御コマンド(要求))」が、それぞれ記述されている。
The vehicle communication
項番“9”の属性値に、車両通信制御機能アプリケーション428の動作順序である「第1入力が入力され、次に第1出力を出力する。」が記述されている。項番“10”の属性値に、車両通信制御アプリケーション428の機能内容である「第1入力にECU制御コマンドが入力され、プロトコル変換して第1出力から出力する。」が記述されている。
In the attribute value of the item number "9", "the first input is input, then the first output is output", which is the operation order of the vehicle communication
図7に示すように、車両情報表示機能アプリケーション439aの機能アプリケーションモデル情報700は、項番“1”の属性値に車両情報表示機能アプリケーション439aの名称である「車両情報表示」が記述されている。項番“2”の属性値には、車両情報表示機能アプリケーション439aのソフトウェア種別である「Webブラウザアプリケーション」が記述されている。項番“3”の属性値には、車両情報表示機能アプリケーション439aの実装ユニットである「コンソールディスプレイ(CD)」が記述されている。車両情報表示機能アプリケーション439aは、実行時に、OSとしてLinuxと、WebブラウザとしてWebkitとが必要であるが、Webサーバを必要としない。そのため、項番“4−1”の属性値に「Linux」が、項番“4−2” の属性値に「Webkit」が、“4−3”の属性値に「−(なし)」が、それぞれ記述されている。一方、項番“4−4”の属性値には、アプリケーション実行時のプロセスモードである「特権」が記述されている。
As shown in FIG. 7, in the functional
車両情報表示機能アプリケーション439aは2系統の入力を備える。第1入力の送信元は、同じコンソールディスプレイ(CD)430で実行される、ユニット内部モジュールのユーザI/Fハンドラ(図示省略)である。第1入力のデータは、ユニット内部バス(図示省略)を介して入力され、通信プロトコルはユニット内部固有のものであり、権限チェックは行わない。また、通信内容は、ユニット内部コマンドであり、ユーザ入力コマンドを含んでいる。そのため、項番“5”の属性値には「2」が、項番“6−11”の属性値には「ユーザI/Fハンドラ」が、項番“6−12”の属性値には「ユニット内部モジュール」が、項番“6−13”の属性値には「コンソールディスプレイ(CD)」が、項番“6−14”の属性値には「ユニット内部バス」が、項番“6−15”の属性値には「ユニット内部固有」が、項番“6−16”の属性値には「−(なし)」が、項番“6−17”の属性値には「ユニット内部コマンド(ユーザ入力コマンド)」が、それぞれ記述されている。
The vehicle information
第2入力には、後述する第1出力からECU制御コマンド(要求)が出力された結果、車両通信ゲートウェイ(GW)420から送信されるECU制御コマンド(応答)が入力される。ECU制御コマンド(応答)の詳細については、その説明を省略する。 As a result of outputting the ECU control command (request) from the first output described later, the ECU control command (response) transmitted from the vehicle communication gateway (GW) 420 is input to the second input. The details of the ECU control command (response) will be omitted.
車両情報表示機能アプリケーション439aは1系統の出力を備える。第1出力の送信先は、車両通信ゲートウェイ(GW)420で実行される、車両通信制御機能アプリケーション428である。第1出力のデータは、Ethernet451を介して出力され、通信プロトコルはUDP/IP(Port3500)であり、権限チェックは行わない。また、通信内容は、アプリコマンドであり、ECU制御コマンド(要求)を含んでいる。そのため、項番“7”の属性値には「1」が、項番“8−1”の属性値には「車両通信制御」が、項番“8−2”の属性値には「アプリケーション」が、項番“8−3”の属性値には「車両通信ゲートウェイ(GW)」が、項番“8−4”の属性値には「Ethernet」が、項番“8−5”の属性値には「UDP/IP(Port3500)」が、項番“8−6”の属性値には「−(なし)」が、項番“8−7”の属性値には「アプリコマンド(ECU制御コマンド(要求))」が、それぞれ記述されている。
The vehicle information
項番“9”の属性値に、車両情報表示機能アプリケーション439aの動作順序である「第1入力が入力され、次に第1出力を出力し、次に第2入力が入力される。」が記述されている。項番“10”の属性値に、車両情報表示機能アプリケーション439aの機能内容である「第1入力に車両機器の動作指示が入力され、ECU制御コマンド(要求)を作成して第1出力から出力し、第2入力にECU制御コマンド(応答)が入力され、車両情報を表示する。」が記述されている。
In the attribute value of item number "9", the operation order of the vehicle information
図8に示すように、Web情報表示機能アプリケーション439bの機能アプリケーションモデル情報800は、項番“1”の属性値にWeb情報表示機能アプリケーション439bの名称である「Web情報表示」が記述されている。項番“2”の属性値には、Web情報表示機能アプリケーション439bのソフトウェア種別である「Webブラウザアプリケーション」が記述されている。項番“3”の属性値には、Web情報表示機能アプリケーション439bの実装ユニットである「コンソールディスプレイ(CD)」が記述されている。車両情報表示機能アプリケーション439aは、実行時に、OSとしてLinuxと、WebブラウザとしてWebkitとが必要であるが、Webサーバを必要としない。そのため、項番“4−1”の属性値に「Linux」が、項番“4−2” の属性値に「Webkit」が、“4−3”の属性値に「−(なし)」が、それぞれ記述されている。一方、項番“4−4”の属性値には、アプリケーション実行時のプロセスモードである「ユーザ」が記述されている。
As shown in FIG. 8, in the functional
Web情報表示機能アプリケーション439bは2系統の入力を備える。第1入力の送信元は、同じコンソールディスプレイ(CD)430で実行される、ユニット内部モジュールのユーザI/Fハンドラ(図示省略)である。第1入力のデータは、ユニット内部バス(図示省略)を介して入力され、通信プロトコルはユニット内部固有のものであり、権限チェックは行わない。また、通信内容は、ユニット内部コマンドであり、ユーザ入力コマンドを含んでいる。そのため、項番“5”の属性値には「2」が、項番“6−11”の属性値には「ユーザI/Fハンドラ」が、項番“6−12”の属性値には「ユニット内部モジュール」が、項番“6−13”の属性値には「コンソールディスプレイ(CD)」が、項番“6−14”の属性値には「ユニット内部バス」が、項番“6−15”の属性値には「ユニット内部固有」が、項番“6−16”の属性値には「−(なし)」が、項番“6−17”の属性値には「ユニット内部コマンド(ユーザ入力コマンド)」が、それぞれ記述されている。
The Web information
第2入力には、後述する第1出力からhttp要求コマンドが出力された結果、Webサーバ(WS)440から送信されるhttp応答コマンド(応答)が入力される。第2入力の送信元は、Webサーバ(WS)440で実行される、WebサーバアプリケーションのWeb情報サーバ機能アプリケーション449である。第2入力のデータは、Wifi452を介して入力され、通信プロトコルはTCP/IPであり、権限チェックはページアドレス、パスワードに基づくTLS通信で行う。また、通信内容は、http応答コマンドであり、ページコンテンツであるHTMLデータと、Javascriptコードを含んでいる。そのため、項番“6−21”の属性値には「Web情報サーバ」が、項番“6−22”の属性値には「Webサーバアプリケーション」が、項番“6−23”の属性値には「Webサーバ(WS)」が、項番“6−24”の属性値には「Wifi」が、項番“6−25”の属性値には「TCP/IP」が、項番“6−26”の属性値には「ページアドレス、パスワードに基づくTLS通信」が、項番“6−27”の属性値には「http応答コマンド(HTML、Javascript)」が、それぞれ記述されている。
As a result of the http request command being output from the first output described later, the http response command (response) transmitted from the Web server (WS) 440 is input to the second input. The source of the second input is the Web information
Web情報表示機能アプリケーション439bは1系統の出力を備える。第1出力の送信先は、Webサーバ(WS)440で実行される、WebサーバアプリケーションのWeb情報サーバ機能アプリケーション449である。第1出力のデータは、Wifi452を介して入力され、通信プロトコルはTCP/IPであり、権限チェックはページアドレス、パスワードに基づくTLS通信で行う。また、通信内容は、http要求コマンドであり、ページアドレスとパスワードを含んでいる。そのため、項番“7”の属性値には「1」が、項番“8−1”の属性値には「Web情報サーバ」が、項番“8−2”の属性値には「Webサーバアプリケーション」が、項番“8−3”の属性値には「Webサーバ(WS)」が、項番“8−4”の属性値には「Wifi」が、項番“8−5”の属性値には「TCP/IP」が、項番“8−6”の属性値には「ページアドレス、パスワードに基づくTLS通信」が、項番“8−7”の属性値には「http要求コマンド(ページアドレス、パスワード)」が、それぞれ記述されている。
The Web information
項番“9”の属性値に、Web情報表示機能アプリケーション439bの動作順序である「第1入力が入力され、次に第1出力を出力し、次に第2入力が入力される。」が記述されている。項番“10”の属性値に、Web情報表示機能アプリケーション439bの機能内容である「第1入力にWebページ取得要求が入力され、http要求コマンドを作成して第1出力から出力し、第2入力にhttp応答コマンド(応答)が入力され、Web情報を表示する。」が記述されている。
In the attribute value of item number "9", the operation order of the Web information
図9に示すように、Web情報サーバ機能アプリケーション449の機能アプリケーションモデル情報900は、項番“1”の属性値にWeb情報サーバ機能アプリケーション449の名称である「Web情報サーバ」が記述されている。項番“2”の属性値には、Web情報サーバ機能アプリケーション449のソフトウェア種別である「Webサーバアプリケーション」が記述されている。項番“3”の属性値には、Web情報サーバ機能アプリケーション449の実装ユニットである「Webサーバ(WS)」が記述されている。Web情報サーバ機能アプリケーション449は、実行時に、OSとしてLinuxと、Webサーバとしてhttpdとが必要であるが、Webブラウザを必要としない。そのため、項番“4−1”の属性値に「Linux」が、項番“4−2” の属性値に「−(なし)」が、“4−3”の属性値に「httpd」が、それぞれ記述されている。一方、項番“4−4”の属性値には、アプリケーション実行時のプロセスモードである「ユーザ」が記述されている。
As shown in FIG. 9, in the functional
Web情報サーバ機能アプリケーション449は1系統の入力を備える。第1入力の送信元は、コンソールディスプレイ(CD)430で実行される、Webブラウザ機能アプリケーションのWeb情報表示機能アプリケーション429bである。第1入力のデータは、Wifi452を介して入力され、通信プロトコルはTCP/IPであり、権限チェックはページアドレス、パスワードに基づくTLS通信で行う。また、通信内容は、http要求コマンドであり、ページアドレスとパスワードを含んでいる。そのため、項番“5”の属性値には「1」が、項番“6−1”の属性値には「Web情報表示」が、項番“6−2”の属性値には「Webサーバアプリケーション」が、項番“6−3”の属性値には「コンソールディスプレイ(CD)」が、項番“6−4”の属性値には「Wifi」が、項番“6−5”の属性値には「TCP/IP」が、項番“6−6”の属性値には「ページアドレス、パスワードに基づくTLS通信」が、項番“6−7”の属性値には「http要求コマンド(ページアドレス、パスワード)」が、それぞれ記述されている。
The Web information
Web情報サーバ機能アプリケーション449は1系統の出力を備える。第1出力の送信先は、コンソールディスプレイ(CD)430で実行される、WebブラウザアプリケーションのWeb情報表示機能アプリケーション439bである。第1出力のデータは、Wifi452を介して入力され、通信プロトコルはTCP/IPであり、権限チェックはページアドレス、パスワードに基づくTLS通信で行う。また、通信内容は、http応答コマンドであり、ページコンテンツであるHTMLデータと、Javascriptコードを含んでいる。そのため、項番“7”の属性値には「1」が、項番“8−1”の属性値には「Web情報表示」が、項番“8−2”の属性値には「Webブラウザアプリケーション」が、項番“8−3”の属性値には「コンソールディスプレイ(CD)」が、項番“8−4”の属性値には「Wifi」が、項番“8−5”の属性値には「TCP/IP」が、項番“8−6”の属性値には「ページアドレス、パスワードに基づくTLS通信」が、項番“8−7”の属性値には「http応答コマンド(HTML、Javascript)」が、それぞれ記述されている。
The Web information
項番“9”の属性値に、Web情報サーバ機能アプリケーション449の動作順序である「第1入力が入力され、次に第1出力を出力する。」が記述されている。項番“10”の属性値に、Web情報サーバ機能アプリケーション449の機能内容である「第1入力にWebページ取得要求が入力され、httpページコンテンツを検索して、http応答コマンド(応答)を第1出力から出力する。」が記述されている。
In the attribute value of the item number "9", "the first input is input and then the first output is output", which is the operation order of the Web information
図10に示すように、コネクティッドカーシステムのシステム構成要素関係情報1000は、コネクティッドカーシステムの任意のアプリケーションについて、実行環境と機能連携に関する関係情報をまとめた情報である。本情報を参照することで、以下の種類Aから種類Dの情報を得ることができる。
As shown in FIG. 10, the system
種類A:アプリケーションを実行するために必要なソフトウェア環境(OS、Webサーバ、Webブラウザ)
例えば、項番“4”は、第1構成要素の「車両通信制御」という名の「アプリケーション」が、第2構成要素の「RTOS」という名の「OS」を、実行環境として必要とすることを示している。Type A: Software environment (OS, web server, web browser) required to execute the application
For example, item number "4" means that the "application" named "vehicle communication control" of the first component requires the "OS" named "RTOS" of the second component as the execution environment. Is shown.
種類B:アプリケーションの存在するハードウェア環境(ハードウェアブロック)
例えば、項番“1”は、第1構成要素の「車両電子制御」という名の「アプリケーション」が、第2構成要素の「車両電子制御ユニット(ECU)」という名のハードウェアブロックに実装され、実行されることを示している。Type B: Hardware environment in which the application exists (hardware block)
For example, in the item number "1", the "application" named "vehicle electronic control" of the first component is implemented in the hardware block named "vehicle electronic control unit (ECU)" of the second component. , Indicates that it will be executed.
種類C:機能モジュールの呼び出し関係
例えば、項番“2”は、第1構成要素の「車両電子制御」という名の「アプリケーション」が、第2構成要素の「車両通信制御」という名の「アプリケーション」と、機能的な呼び出し関係があることを示している。Type C: Calling relationship of function module For example, in the item number "2", the "application" named "vehicle electronic control" of the first component is the "application" named "vehicle communication control" of the second component. ", Indicates that there is a functional calling relationship.
種類D:ハードウェアブロックの接続関係
例えば、項番“3”は、第1構成要素の「車両電子制御」という名の「ハードウェアブロック」が、第2構成要素の「車両通信ゲートウェイ(GW)」という名の「ハードウェアブロック」と、ネットワーク接続関係があることを示している。Type D: Connection relationship of hardware block For example, in item number "3", the "hardware block" named "vehicle electronic control" of the first component is the "vehicle communication gateway (GW)" of the second component. It indicates that there is a network connection relationship with the "hardware block" named "".
システム構成要素関係情報1000は、機能ブロック定義情報400と、機能アプリケーションモデル情報500〜900に基づいて作成される情報である。そのため、システム構成要素関係情報1000は、機能ブロック定義情報400及び機能アプリケーションモデル情報500〜900が示す以上の新しい情報を提供するものではない。しかし、コネクティッドカーシステムをインプリメント(実装)する際の一事例として提示している。
The system
本実施形態では、図4において、図形で表した機能ブロック定義情報400の例を示したが、これに限定されるものではない。機能ブロック定義情報は、コンピュータ内の実際の情報格納形式は、図形である必要はなく、例えば、図10に示すような表形式や、リンク接続されたレコードデータや、XML(eXtensive Markup Language)のようなテキストデータで表現されていてもよい。
In the present embodiment, an example of the functional
また、説明の都合上、図形を用いているものは、実際のシステム実装にあたって、任意のデータ形式で実装することが可能である。例えば、接続関係や包含関係は、図10に示すような表形式のデータとして、関係データベースに格納することも可能である。 In addition, for convenience of explanation, those using figures can be implemented in any data format when actually implementing the system. For example, the connection relationship and the inclusion relationship can be stored in the relational database as tabular data as shown in FIG.
次に、図11から図13を参照しつつ、脅威分析装置100で使用される脆弱性事例情報130について説明する。図11は、[Webサーバの偽装]の脆弱性モデル情報1100を示す図である。図12は、[Webブラウザで任意のシェルコード実行]の脆弱性モデル情報1200を示す図である。図13は、[Webブラウザアプリ実行プロセスの権限昇格]の脆弱性モデル情報1300を示す図である。
Next, the
脆弱性事例情報130は、[Webサーバの偽装]の脆弱性モデル情報1100と、[Webブラウザで任意のシェルコード実行]の脆弱性モデル情報1200と、[Webブラウザアプリ実行プロセスの権限昇格]の脆弱性モデル情報1300と、を含む。
図11に示すように、[Webサーバの偽装]の脆弱性モデル情報1100は、項番“1”の属性値に脆弱性モデル名称である「Webサーバの偽装」が記述されている。項番“10”の属性値に、脆弱性内容である「Webサーバのアドレスとパスワードが公開されているため、Webサーバの偽装設置が可能となる」が記述されている。
As shown in FIG. 11, in the
ここで、項番“2”から項番“8”の属性値は、「攻撃成立条件」と「攻撃結果」という2種類の属性値を含んでいる。攻撃成立条件とは、当該脆弱性を悪用した攻撃が成り立つための条件である。すなわち、任意の機能アプリケーションが与えられた場合、そのアプリケーションの属性値が、ある脆弱性モデル情報の複数の攻撃成立条件と一致する場合、その機能モジュールは当該脆弱性を有しており、攻撃される可能性がある、と判定することができる。もう一つの属性値である攻撃結果は、ある機能アプリケーションが脆弱性を有しており、攻撃を受けた場合、その機能アプリケーションの特定の属性値が変化した結果を示している。 Here, the attribute values of the item numbers "2" to the item numbers "8" include two types of attribute values, "attack establishment condition" and "attack result". The attack establishment condition is a condition for establishing an attack that exploits the vulnerability. That is, when an arbitrary functional application is given, if the attribute value of the application matches a plurality of attack establishment conditions of certain vulnerability model information, the functional module has the vulnerability and is attacked. It can be determined that there is a possibility. The attack result, which is another attribute value, shows the result of a specific attribute value of a functional application being changed when a functional application is vulnerable to an attack.
項番“2”の攻撃成立条件の属性値に、当該脆弱性を有する機能アプリケーションの種別である「Webサーバアプリケーション」が記述されている。当該脆弱性が成り立つための実行条件は、OSがLinux(Version)であり、Webサーバがhttpd(Version)であり、プロセスモードがユーザモードである。そのため、項番“4−1”の攻撃成立条件の属性値に「Linux(Version)」が、項番“4−2”の攻撃成立条件の属性値に「httpd(Version)」が、項番“4−4”の攻撃成立条件の属性値に「ユーザ」が、それぞれ記述されている。 In the attribute value of the attack establishment condition of item number "2", "Web server application" which is a type of functional application having the vulnerability is described. The execution conditions for the vulnerability to be established are that the OS is Linux (Version), the Web server is httpd (Version), and the process mode is user mode. Therefore, "Linux (Version)" is the attribute value of the attack establishment condition of item number "4-1", and "httpd (Version)" is the attribute value of the attack establishment condition of item number "4-2". "User" is described in the attribute value of the attack establishment condition of "4-4".
当該脆弱性の入力は、1系統以上の入力のうち一つについて、通信プロトコルがTCP/IPであり、権限チェックがページアドレス, パスワード(公開)で行われ、通信内容がhttp要求コマンド(ぺージアドレス)である。そのため、項番“5”の攻撃成立条件の属性値に「n>1」(nは入力数であり、正の整数)が、項番“6−5”の攻撃成立条件の属性値に「TCP/IP」が、項番“6−6”の攻撃成立条件の属性値に「ページアドレス, パスワード(公開)」が、項番“6−7”の攻撃成立条件の属性値に「http要求コマンド(ぺージアドレス)」が、それぞれ記述されている。 For the input of the vulnerability, the communication protocol is TCP / IP, the authority check is performed by the page address and password (public), and the communication content is the http request command (page) for one or more inputs. Address). Therefore, "n> 1" (n is the number of inputs and is a positive integer) is set as the attribute value of the attack establishment condition of the item number "5", and "n> 1" is set as the attribute value of the attack establishment condition of the item number "6-5". "TCP / IP" has "page address, password (public)" in the attribute value of the attack establishment condition of item number "6-6", and "http request" in the attribute value of the attack establishment condition of item number "6-7". "Command (page address)" is described respectively.
ここで、項番“6−6”のパスワードが公開されているという攻撃成立条件は、脆弱性そのものを表している。これにより、項番“10”に示す通りに「Webサーバの偽装設置が可能」という結果を引き起こすことになる。 Here, the attack establishment condition that the password of the item number "6-6" is disclosed represents the vulnerability itself. As a result, as shown in the item number "10", the result that "the Web server can be impersonated and installed" is caused.
当該脆弱性の出力は、1系統以上の出力のうち一つについて、通信プロトコルがTCP/IPであり、権限チェックがページアドレス, パスワード(公開)で行われ、通信内容がhttp応答コマンド(HTML, Javascript)である。そのため、項番“7”の攻撃成立条件の属性値に「m>1」(mは出力数であり、正の整数)が、項番“8−5”の攻撃成立条件の属性値に「TCP/IP」が、項番“8−6”の攻撃成立条件の属性値に「ページアドレス, パスワード(公開)」が、項番“8−7”の攻撃成立条件の属性値に「http応答コマンド(HTML, Javascript)」が、それぞれ記述されている。 As for the output of the vulnerability, for one of the outputs of one or more systems, the communication protocol is TCP / IP, the authority check is performed by the page address and password (public), and the communication content is the http response command (HTML, Javascript). Therefore, "m> 1" (m is the number of outputs and is a positive integer) is set as the attribute value of the attack establishment condition of item number "7", and "m> 1" is set as the attribute value of the attack establishment condition of item number "8-5". "TCP / IP" is the attribute value of the attack establishment condition of item number "8-6", and "page address, password (public)" is the attribute value of the attack establishment condition of item number "8-7". Commands (HTML, Javascript) "are described respectively.
以上の攻撃条件が満たされた場合、当該脆弱性に対する攻撃の可能性が生じる。当該脆弱性の場合、攻撃の結果は、前述した通り「Webサーバの偽装設置が可能」となり、http応答コマンドとしてHTML, Javascriptに加えて、オペレーティングシステムのシステムコードであるShell code (任意内容)が出力可能となる。そのため、項番“8−7”の攻撃結果の属性値に「http応答コマンド(HTML, Javascript, Shell code (任意内容))」が記述されている。 If the above attack conditions are met, there is a possibility of an attack against the vulnerability. In the case of this vulnerability, the result of the attack is "It is possible to impersonate a Web server" as described above, and in addition to HTML and Javascript as http response commands, Shell code (arbitrary content), which is the system code of the operating system, is used. It becomes possible to output. Therefore, "http response command (HTML, Javascript, Shell code (arbitrary content))" is described in the attribute value of the attack result of the item number "8-7".
ここで、通常のWebブラウザであれば、偽サーバをアクセスして、Shell codeが含まれたhttp応答コマンドを入力したとしても、ブラウザ上では実行がされないので、偽サーバのアクセスによる被害は限られる。しかし、Webブラウザに他の脆弱性があり、当該脆弱性と組み合わせて攻撃が実行された場合、被害が拡大する問題がある。後述するように、脅威分析装置100は、複数の脆弱性の組み合わせた攻撃について脅威分析が可能であるという特徴的な利点を有する。
Here, if you use a normal Web browser, even if you access the fake server and enter the http response command that includes the Shell code, it will not be executed on the browser, so the damage caused by the fake server access is limited. .. However, there is a problem that the damage spreads when the Web browser has other vulnerabilities and the attack is executed in combination with the vulnerabilities. As will be described later, the
図12に示すように、[Webブラウザで任意シェルコード実行]の脆弱性モデル情報1200は、項番“1”の属性値に脆弱性モデル名称である「Webブラウザで任意シェルコード実行 」が記述されている。項番“10”の属性値に、脆弱性内容である「Webブラウザで、アドレスリークとUse After Freeの脆弱性により、任意のシェルコードが実行可能となる(CVE2011-3928及びCVE2011-0154)」が記述されている。ここで、CVEとは米国MITRE社が登録して公開している脆弱性事例情報データベースの採番であり、当該脆弱性が実際に発生した脆弱性事例であることを示している。
As shown in FIG. 12, in the
項番“2”の攻撃成立条件の属性値に、当該脆弱性を有する機能アプリケーションの種別である「Webブラウザアプリケーション」が記述されている。当該脆弱性が成り立つための実行条件は、OSがLinux(Version)であり、WebブラウザがWebkit(Version)であり プロセスモードがユーザモードである。そのため、項番“4−1”の攻撃成立条件の属性値に「Linux(Version)」が、項番“4−2”の攻撃成立条件の属性値に「Webkit(Version)」が、項番“4−4”の攻撃成立条件の属性値に「ユーザ」が、それぞれ記述されている。 In the attribute value of the attack establishment condition of item number "2", "Web browser application" which is a type of functional application having the vulnerability is described. The execution conditions for the vulnerability to be established are that the OS is Linux (Version), the Web browser is Webkit (Version), and the process mode is user mode. Therefore, "Linux (Version)" is the attribute value of the attack establishment condition of item number "4-1", and "Webkit (Version)" is the attribute value of the attack establishment condition of item number "4-2". "User" is described in the attribute value of the attack establishment condition of "4-4".
当該脆弱性の入力は、1系統以上の入力のうち一つについて、通信プロトコルがTCP/IPであり、通信内容がhttp応答コマンド(HTML, Javascript, Shell code(任意内容))である。そのため、項番“5”の攻撃成立条件の属性値に「n>=1」(nは入力数であり、正の整数)が、項番“6−5”の攻撃成立条件の属性値に「TCP/IP」が、項番“6−7”の攻撃成立条件の属性値に「[<]http応答コマンド(HTML, Javascript, Shell code(任意内容))」が、それぞれ記述されている。 For the input of the vulnerability, the communication protocol is TCP / IP and the communication content is an http response command (HTML, Javascript, Shell code (arbitrary content)) for one of the inputs of one or more systems. Therefore, "n> = 1" (n is the number of inputs and is a positive integer) in the attribute value of the attack establishment condition of the item number "5" becomes the attribute value of the attack establishment condition of the item number "6-5". In "TCP / IP", "[<] http response command (HTML, Javascript, Shell code (arbitrary content))" is described in the attribute value of the attack establishment condition of item number "6-7".
ここで、項番“6−7”の攻撃成立条件の先頭に付された[<]は、機能アプリケーションに当該脆弱性モデル情報を適用可能であるか否かを判定する際の条件の一部であることを示す。詳細な説明については、後述する。 Here, [<] added to the beginning of the attack establishment condition of item number "6-7" is a part of the condition for determining whether or not the vulnerability model information can be applied to the functional application. Indicates that. A detailed description will be described later.
当該脆弱性の出力は、1系統以上の出力のうち一つについて、通信プロトコルがTCP/IPであり、通信内容がhttp要求コマンド(ページアドレス)である。そのため、項番“7”の攻撃成立条件の属性値に「m>=1」(mは出力数であり、正の整数)が、項番“8−5”の攻撃成立条件の属性値に「TCP/IP」が、項番“8−7”の攻撃成立条件の属性値に「http要求コマンド(ページアドレス)」が、それぞれ記述されている。 The output of the vulnerability is that the communication protocol is TCP / IP and the communication content is the http request command (page address) for one of the outputs of one or more systems. Therefore, "m> = 1" (m is the number of outputs and is a positive integer) in the attribute value of the attack establishment condition of the item number "7" becomes the attribute value of the attack establishment condition of the item number "8-5". "TCP / IP" and "http request command (page address)" are described in the attribute value of the attack establishment condition of item number "8-7".
以上の攻撃条件が満たされた場合、当該脆弱性に対する攻撃の可能性が生じる。当該脆弱性の場合、攻撃の結果は、前述した通り「Webブラウザで、任意のシェルコードが入力され実行可能 」となり、加えて、新たな出力として、通信経路がEthernetで、通信プロトコルがUDP/IP (Port 3500)で、通信内容がアプリコマンド(任意内容)を出力することが可能となる。そのため、項番“7”の攻撃結果の属性値に「m+1」が、項番“11−4”の攻撃結果の属性値に「Ethernet」が、項番“11−5”の攻撃結果の属性値に「UDP/IP (Port 3500)」が、項番“11−7”の攻撃結果の属性値に「アプリコマンド(任意内容)」が、それぞれ記述されている。 If the above attack conditions are met, there is a possibility of an attack against the vulnerability. In the case of this vulnerability, the result of the attack is "Any shellcode can be entered and executed with a Web browser" as described above, and in addition, as a new output, the communication path is Ethernet and the communication protocol is UDP /. With IP (Port 3500), it is possible to output application commands (arbitrary content) for communication content. Therefore, "m + 1" is the attribute value of the attack result of item number "7", "Ethernet" is the attribute value of the attack result of item number "11-4", and the attribute of the attack result of item number "11-5". "UDP / IP (Port 3500)" is described in the value, and "App command (arbitrary content)" is described in the attribute value of the attack result of the item number "11-7".
なお、本実施形態では、具体的な攻撃時に「アプリコマンド(ECU制御コマンド(要求))」が使用されることになる。しかし、項番“11−7”の攻撃結果は「アプリコマンド(任意内容)」であるから、これを含むことは明らかである。 In this embodiment, the "app command (ECU control command (request))" is used at the time of a specific attack. However, since the attack result of item number "11-7" is "app command (arbitrary content)", it is clear that this is included.
図13に示すように、[Webブラウザアプリ実行プロセスの権限昇格]の脆弱性モデル情報1300は、項番“1”の属性値に脆弱性モデル名称である「Webブラウザアプリ実行プロセスの権限昇格」が記述されている。項番“10”の属性値に、脆弱性内容である「Linuxで、カーネルAPIの脆弱性により、プロセスの実行権限の昇格が可能となる(CVE2013-6282)」が記述されている。
As shown in FIG. 13, the
当該脆弱性が成り立つための実行条件は、OSがLinux(Version)であり、プロセスモードがユーザモードである。そのため、項番“4−1”の攻撃成立条件の属性値に「Linux(Version)」が、項番“4−4”の攻撃成立条件の属性値に「ユーザ」が、それぞれ記述されている。 The execution conditions for this vulnerability to hold are that the OS is Linux (Version) and the process mode is user mode. Therefore, "Linux (Version)" is described in the attribute value of the attack establishment condition of the item number "4-1", and "user" is described in the attribute value of the attack establishment condition of the item number "4-4". ..
当該脆弱性の入力は、1系統以上の入力のうち一つについて、通信プロトコルがTCP/IPであり、通信内容がhttp応答コマンド(HTML, Javascript, Shell code(任意内容))である。そのため、項番“5”の攻撃成立条件の属性値に「n>=1」(nは入力数であり、正の整数)が、項番“6−5”の攻撃成立条件の属性値に「TCP/IP」が、項番“6−7”の攻撃成立条件の属性値に「[<]http応答コマンド(HTML, Javascript, Shell code(任意内容))」が、それぞれ記述されている。 For the input of the vulnerability, the communication protocol is TCP / IP and the communication content is an http response command (HTML, Javascript, Shell code (arbitrary content)) for one of the inputs of one or more systems. Therefore, "n> = 1" (n is the number of inputs and is a positive integer) in the attribute value of the attack establishment condition of the item number "5" becomes the attribute value of the attack establishment condition of the item number "6-5". In "TCP / IP", "[<] http response command (HTML, Javascript, Shell code (arbitrary content))" is described in the attribute value of the attack establishment condition of item number "6-7".
以上の攻撃条件が満たされた場合、当該脆弱性に対する攻撃の可能性が生じる。当該脆弱性の場合、攻撃の結果は、プロセスモードがユーザモードから特権モードになることである。そのため、項番“4−4”の攻撃結果の属性値に「特権」が記述されている。 If the above attack conditions are met, there is a possibility of an attack against the vulnerability. For this vulnerability, the result of the attack is that the process mode changes from user mode to privileged mode. Therefore, "privilege" is described in the attribute value of the attack result of the item number "4-4".
次に、図14から図19を参照しつつ、脅威分析装置100で実行される脅威分析処理S1400及び脆弱アプリケーション検索処理S1500について説明する。図14は、脅威分析処理S1400のフローチャートである。図15は、脆弱アプリケーション検索処理S1500のフローチャートである。図16は、Web情報表示機能アプリケーション439bの機能アプリケーションモデル情報800に対する脆弱性モデル情報1100,1200のマッチング結果を示す図である。図17は、Web情報サーバ機能アプリケーション449の機能アプリケーションモデル情報900に対する脆弱性モデル情報1100のマッチング結果を示す図である。図18は、脆弱性攻撃後の機能アプリケーションの属性値の関係を示す図である。図19は、攻撃経路ツリー1950を示す図である。
Next, the threat analysis process S1400 and the vulnerable application search process S1500 executed by the
実行部180が脅威分析処理S1400を実行する前に、あらかじめ、第1取得部150は機能アプリケーションモデル情報500〜900を取得し、第2取得部160は脆弱性モデル情報1100〜1300を取得しておく。また、機能アプリケーションモデル情報500〜900以外の対象システム設計情報120についても、あらかじめ取得するものとする。
Before the
ユーザUによって脅威分析処理S1400が起動されると、図14に示すように、最初に、実行部180は機能ブロック定義情報400を表示する(S1401)。
When the threat analysis process S1400 is activated by the user U, the
次に、実行部180は、ユーザUによって攻撃対象に指定された機能アプリケーションについて、対応する機能アプリケーションモデル情報500〜900を取得するとともに、ユーザ指定機能アプリケーションUAに設定する(S1402)。
Next, the
以下において、ユーザUによって車両電子制御機能アプリケーション417が攻撃対象に指定され、ユーザ指定機能アプリケーションUAに設定される場合を具体例として説明する。
In the following, a case where the vehicle electronic
次に、実行部180は、分析結果出力用の脆弱アプリケーションリストVLに空(NULL)を設定する(S1403)。
Next, the
次に、実行部180は、ユーザ指定機能アプリケーションUAについて、攻撃成立条件を満たす脆弱性モデル情報VIがあるか否かを判定する(S1404)。具体的には、実行部180は、ユーザ指定機能アプリケーションUAの機能アプリケーションモデル情報500〜900の属性値に一致する攻撃成立条件を含む脆弱性モデル情報VIがあるか否かを判定する。
Next, the
判定の結果、ユーザ指定機能アプリケーションUAに対して攻撃成立条件を満たす脆弱性モデル情報VIがある場合、ユーザ指定機能アプリケーションUAは、当該脆弱性モデル情報VIの脆弱性を有すると考えられる。そのため、更新部170は、攻撃成立条件を満たす脆弱性モデル情報VIの攻撃成立条件及び攻撃結果に基づいて、ユーザ指定機能アプリケーションUAの機能アプリケーションモデル情報500〜900の一部を更新する(S1405)。具体的には、更新部170は、ユーザ指定機能アプリケーションUAの機能アプリケーションモデル情報500〜900の一部の属性値を、攻撃成立条件を満たす脆弱性モデル情報VIの攻撃成立条件及び攻撃結果の属性値に書き換える。
As a result of the determination, if there is a vulnerability model information VI that satisfies the attack establishment condition for the user-specified function application UA, it is considered that the user-specified function application UA has a vulnerability of the vulnerability model information VI. Therefore, the
次に、実行部180は、ユーザ指定機能アプリケーションUAと、攻撃成立条件を満たす脆弱性モデル情報VIとを組にして、脆弱アプリケーションリストVLの先頭に追加する(S1406)。
Next, the
一方、ユーザ指定機能アプリケーションUAに対して攻撃成立条件を満たす脆弱性モデル情報VIがない場合、ユーザ指定機能アプリケーションUAは、脆弱性を有しないと考えられる。そのため、実行部180は、ユーザ指定機能アプリケーションUAと、攻撃成立条件を満たす脆弱性がないことを示す空(NULL)とを組にして、脆弱アプリケーションリストVLの先頭に追加する(S1407)。
On the other hand, if there is no vulnerability model information VI that satisfies the attack establishment condition for the user-specified function application UA, it is considered that the user-specified function application UA does not have a vulnerability. Therefore, the
前述した具体例の場合、脆弱性モデル情報1100〜1300の攻撃成立条件のいずれも、車両電子制御機能アプリケーション417の機能アプリケーションモデル情報500の属性値と一致しない。よって、実行部180は、ステップS1407において車両電子制御機能アプリケーション417の名称と空(NULL)とを組にして脆弱アプリケーションリストVLの先頭に加える。この結果、脆弱アプリケーションリストVLは、以下のデータ(1)になる。
脆弱アプリケーションリストVL=
((車両電子制御機能アプリケーション417、NULL)) …(1)In the case of the above-mentioned specific example, none of the attack establishment conditions of the
Vulnerable application list VL =
((Vehicle electronic
データ(1)は、車両電子制御機能アプリケーション417を攻撃目的対象に設定したが、脆弱性は見つからなかったことを示す。
Data (1) indicates that the vehicle electronic
次に、実行部180は、所定の引数で、図15に示す脆弱アプリケーション検索処理S1500を呼び出す(S1408)。所定の引数は、例えば、第1引数がユーザ指定機能アプリケーションUA、第2引数が脆弱アプリケーションリストVLである。脆弱アプリケーション検索処理S1500の結果、戻り値として脆弱アプリケーション検索処理結果リストFRVが返される。
Next, the
前述した具体例の場合、第1引数のユーザ指定機能アプリケーションUAは、車両電子制御機能アプリケーション417である。一方、第2引数の脆弱アプリケーションリストVLは、前述したデータ(1)である。以下、これらの引数による脆弱アプリケーション検索処理S1500の呼び出しを<1回目の呼び出し>という。
In the case of the above-mentioned specific example, the user-specified function application UA of the first argument is the vehicle electronic
脆弱アプリケーション検索処理S1500は、第1引数で指定された機能アプリケーションを攻撃目標に設定し、関連する機能アプリケーションに対する攻撃の試行が波及する場合に、どの機能アプリケーションのどのような脆弱性が攻撃されるか、つまり、脆弱性攻撃が波及する範囲を検索する処理である。脆弱アプリケーション検索処理S1500において、第1引数は、攻撃の目標点、つまり、脆弱性波及の検索の起点を規定する分析起点アプリケーションSPとして扱われ、第2引数は、処理呼び出しの時点までに実施された検索経路の履歴リストをリストする分析経路リストAPLとして扱われる。 Vulnerability application search process S1500 sets the functional application specified by the first argument as an attack target, and when an attack attempt on a related functional application spreads, what vulnerability of which functional application is attacked. In other words, it is a process to search the range where the vulnerability attack spreads. In the vulnerability application search process S1500, the first argument is treated as an analysis starting point application SP that defines the target point of the attack, that is, the starting point of the vulnerability spread search, and the second argument is executed by the time of the processing call. It is treated as an analysis route list APL that lists the history list of the search routes.
脆弱アプリケーション検索処理S1500の詳細な説明については、<1回目の呼び出し>の処理内容とともに、後述する。 A detailed description of the vulnerable application search process S1500 will be described later together with the process content of <first call>.
前述した具体例の場合、<1回目の呼び出し>の戻り値である脆弱アプリケーション検索処理結果リストFRVは、以下のデータ(2)になる。
脆弱アプリケーション検索処理結果リストFRV=
(((車両電子制御機能アプリケーション417、NULL)、
(車両通信制御機能アプリケーション428、NULL)、
(車両情報表示機能アプリケーション439a、NULL))、
((車両電子制御機能アプリケーション417、NULL)、
(車両通信制御機能アプリケーション428、NULL)、
(Web情報表示機能アプリケーション1961、脆弱性モデル情報1200、1300)、
(Web情報サーバ機能アプリケーション1962、脆弱性モデル情報1100)))…(2)In the case of the above-mentioned specific example, the vulnerable application search processing result list FRV, which is the return value of <first call>, becomes the following data (2).
Vulnerable application search processing result list FRV =
(((Vehicle electronic
(Vehicle communication
(Vehicle information
((Vehicle electronic
(Vehicle communication
(Web information
(Web information
次に、実行部180は、脆弱アプリケーション検索処理結果リストFRVと脆弱アプリケーションリストVLとを単一リストにマージして作成した脅威分析結果情報1900を主記憶装置107に格納して登録する(ステップ1409)。
Next, the
前述した具体例の場合、脆弱アプリケーション検索処理結果リストFRVは前述したデータ(2)である。一方、脆弱アプリケーションリストVLは空(NULL)なので、脅威分析結果情報1900の値は、前述したデータ(2)となる。
In the case of the above-mentioned specific example, the vulnerable application search processing result list FRV is the above-mentioned data (2). On the other hand, since the vulnerable application list VL is empty (NULL), the value of the threat
次に、実行部180は、脅威分析結果情報1900から図19に示す攻撃経路ツリー1950を作成して表示装置104に表示する(S1410)。詳細な説明は後述するが、図19に示す攻撃経路ツリー1950の構成は、前述したデータ(2)のリスト構造を反映している。
Next, the
ステップS1411の後、CPU102は、脅威分析処理S1400を終了する。
After step S1411, the
以上の処理フローに示す通り、本願の脅威分析処理S1400では、対象システムの構成要素である機能アプリケーションの機能アプリケーションモデル情報500〜900を、脆弱性モデル情報1100〜1300と突き合わせながら、脅威分析を行うことにより、抜けや漏れのない高精度な脅威分析を実現する特徴を備えている。
As shown in the above processing flow, in the threat analysis process S1400 of the present application, threat analysis is performed while matching the functional
ここで、前述のステップS1410で作成する攻撃経路ツリー1950について説明する。
Here, the
図19に示すように、攻撃経路ツリー1950は、脅威分析結果情報1900の内容を視覚的に表示した図表である。攻撃経路ツリー1950には、コネクティッドカーシステムの既に説明済みの設計情報のうち、4個のハードウェアブロック410、420、430、440と、5個の機能アプリケーション417,428,439a、439b、449が含まれている。各機能アプリケーション417,428,439a、439b、449には、図5から図9に示した機能アプリケーションモデル情報500〜900から抽出された名称、機能、入力、及び出力が、記述されている。また、攻撃経路ツリー1950には、各機能アプリケーション417,428,439a、439b、449がネットワークを介して接続され、車両情報表示機能アプリケーション439a及びWeb情報表示機能アプリケーション439bが実現されていることを、視覚的に示している。図19の右下部分において、破線枠で囲まれた機能アプリケーションは、後述する脆弱性攻撃後の機能アプリケーションモデル情報の属性値の変化と、攻撃経路を示している。
As shown in FIG. 19, the
次に、脆弱アプリケーション検索処理S1500について説明する。 Next, the vulnerable application search process S1500 will be described.
脆弱アプリケーション検索処理S1500が起動されると、図15に示すように、最初に、実行部180は、結果出力用の検索結果リストRTに空(NULL)を設定する(S1501)。具体的には、CPU102は、検索結果リストRTに空(NULL)を設定する。
When the vulnerable application search process S1500 is started, as shown in FIG. 15, the
次に、実行部180は、システム構成要素関係情報1000を検索して第1引数の分析起点アプリケーションSPが含まれるハードウェアブロックを特定し、当該ハードウェアブロックに接続する隣接ハードウェアブロックの有無を判定する(S1502)。
Next, the
ステップS1502の判定の結果、隣接ハードウェアブロックが有る場合、実行部180は、再びシステム構成要素関係情報1000を検索し、隣接ハードウェアブロック内の全ての機能アプリケーションを分析対象アプリケーションリストALに登録する(S1503)。
If there is an adjacent hardware block as a result of the determination in step S1502, the
前述した具体例の場合、すなわち、<1回目の呼び出し>の場合、ステップS1502において、第1引数に設定されたユーザ指定機能アプリケーションUAである車両電子制御機能アプリケーション417が含まれるハードウェアブロックとして、図10に示すシステム構成要素関係情報1000の項番“1”の第2構成要素に記述された「車両電子制御ユニット(ECU)」が特定される。そして、図10に示すシステム構成要素関係情報1000の項番“3”に記述されるように、車両電子制御ユニット(ECU)410に接続する隣接ハードウェアブロックである車両通信ゲートウェイ(GW)420が有る。よって、ステップS1503において、図10に示すシステム構成要素関係情報1000の項番“5”の第2構成要素に記述された「車両通信制御」である車両通信制御機能アプリケーション428が、分析対象アプリケーションリストALに登録される。
In the case of the above-mentioned specific example, that is, in the case of <first call>, in step S1502, as a hardware block including the vehicle electronic
次に、実行部180は、分析対象アプリケーションリストALに機能アプリケーションが有るか否かを判定する(S1504)。
Next, the
ステップS1504の判定の結果、機能アプリケーションが有る場合、実行部180は、分析対象アプリケーションリストALの先頭(1番目)の機能アプリケーションを取り出し、分析対象アプリケーションOAに設定する。(S1505)。このとき、実行部180は、取り出した機能アプリケーションを分析対象アプリケーションリストALから除去する。これにより、分析対象アプリケーションリストALに機能アプリケーションが複数有る場合、分析対象アプリケーションリストALにおいて、2番目の機能アプリケーションが先頭(1番目)の機能アプリケーションになる。一方、分析対象アプリケーションリストALに機能アプリケーションが1つしかない場合、分析対象アプリケーションリストALに機能アプリケーションはなくなる。
As a result of the determination in step S1504, if there is a functional application, the
次に、実行部180は、分析対象アプリケーションOAについて、攻撃成立条件を満たす脆弱性モデル情報VIがあるか否かを判定する(S1506)。具体的には、実行部180は、分析対象アプリケーションOAの機能アプリケーションモデル情報500〜900の属性値に一致する攻撃成立条件を含む脆弱性モデル情報VIがあるか否かを判定する。
Next, the
ステップS1506の判定の結果、分析対象アプリケーションOAに対して攻撃成立条件を満たす脆弱性モデル情報VIがある場合、分析対象アプリケーションOAは、当該脆弱性を有すると考えられる。そのため、更新部170は、攻撃成立条件を満たす脆弱性モデル情報VIの攻撃成立条件及び攻撃結果に基づいて、分析対象アプリケーションOAの機能アプリケーションモデル情報500〜900の一部を更新する(S1507)。具体的には、更新部170は、分析対象アプリケーションOAの機能アプリケーションモデル情報500〜900の一部の属性値を、攻撃成立条件を満たす脆弱性モデル情報VIの攻撃成立条件及び攻撃結果の属性値に書き換える。
As a result of the determination in step S1506, if the analysis target application OA has a vulnerability model information VI that satisfies the attack establishment condition, the analysis target application OA is considered to have the vulnerability. Therefore, the
一方、ステップS1506の判定の結果、分析対象アプリケーションOAの機能アプリケーションモデル情報500〜900の属性値に一致する攻撃成立条件を含む脆弱性モデル情報1100〜1300がない場合、分析対象アプリケーションOAは、当該脆弱性モデル情報1100〜1300の攻撃成立条件を満たさないので、当該脆弱性を有しないと考えられる。そのため、実行部180は、攻撃成立条件を満たす脆弱性モデル情報VIに「NULL」を設定する(S1508)。
On the other hand, as a result of the determination in step S1506, if there is no
前述した具体例の場合、分析対象アプリケーションリストALに車両通信制御機能アプリケーション428が有るので、ステップS1505において、車両通信制御機能アプリケーション428が分析対象アプリケーションOAに設定される。しかし、車両通信制御機能アプリケーション428の機能アプリケーションモデル情報600の属性値に一致する攻撃成立条件を含む脆弱性モデル情報1100〜1300がないので、ステップS1508において脆弱性モデル情報VIに「NULL」が設定される。
In the case of the above-mentioned specific example, since the vehicle communication
次に、実行部180は、分析対象アプリケーションOAの機能アプリケーションモデル情報500〜900と分析起点アプリケーションSPの機能アプリケーションモデル情報500〜900とに基づいて、分析対象アプリケーションOAが分析起点アプリケーションSPと通信接続可能か否かを判定する(S1509)。当該判定は、例えば、分析対象アプリケーションOAの機能アプリケーションモデル情報500〜900における出力の通信経路、通信プロトコル、権限チェック、通信内容の各属性値が、分析起点アプリケーションSPの機能アプリケーションモデル情報500〜900における入力の各属性値と一致するか否かを基準とする。
Next, the
前述した具体例の場合、車両通信制御機能アプリケーション428の機能アプリケーションモデル情報600における項番“7”及び項番“8−4”〜“8−7”の属性値が、車両電子制御機能アプリケーション417の機能アプリケーションモデル情報500における項番“5”及び項番“6−4”〜“7−7”の属性値と一致している。よって、ステップS1509において、車両通信制御機能アプリケーション428及び車両電子制御機能アプリケーション417は通信接続可能であると判定される。
In the case of the above-mentioned specific example, the attribute values of the item numbers “7” and the item numbers “8-4” to “8-7” in the function
S1509の判定の結果、分析対象アプリケーションOAが分析起点アプリケーションSPと通信接続可能である場合、実行部180は、分析対象アプリケーションOAと脆弱性モデル情報VIとを組にし、当該組を脆弱アプリケーション検索処理S1500の第2引数である分析経路リストAPLの最終要素に追加したものを次分析経路リストAPLNXに設定する。(S1510)。
As a result of the determination in S1509, when the analysis target application OA can communicate with the analysis starting application SP, the
前述した具体例の場合、ステップS1508において、実行部180は脆弱性モデル情報VIに「NULL」を設定したので、ステップS1510において、分析対象アプリケーションOAである車両通信制御機能アプリケーション428と「NULL」との組が分析経路リストAPLの最終要素に追加され、次分析経路リストAPLNXに設定される。その結果、次分析経路リストAPLNXは、以下のデータ(3)になる。
次分析経路リストAPLNX=
((車両電子制御機能アプリケーション417、NULL)、
(車両通信制御機能アプリケーション428、NULL)) …(3)In the case of the above-mentioned specific example, in step S1508, the
Next analysis route list APLNX =
((Vehicle electronic
(Vehicle communication
データ(3)では、次分析経路リストAPLNXとして、車両電子制御機能アプリケーション417と車両通信制御機能アプリケーション428がリスト形式データとして表現されているが、これは、この2つの機能アプリケーションが直列に接続されていること、すなわち、2階層のツリーを形成していることを意味する。このように、脆弱アプリケーション検索処理S1500を呼び出すことで、順次、攻撃経路ツリーが形成されることが、脆弱アプリケーション検索処理S1500の特徴である。
In the data (3), the vehicle electronic
一方、S1509の判定の結果、分析対象アプリケーションOAが分析起点アプリケーションSPと通信接続可能でない場合、実行部180は、ステップS1504に戻り、再度、分析対象アプリケーションリストALに機能アプリケーションが有るか否かを判定する。
On the other hand, as a result of the determination in S1509, if the analysis target application OA cannot communicate with the analysis start application SP, the
ステップS1510の後、CPU102は、所定の引数で脆弱アプリケーション検索処理S1500を再帰的に呼び出す(S1511)。所定の引数は、例えば、第1引数が分析対象アプリケーションOA、第2引数が次分析経路リストAPLNXである。脆弱アプリケーション検索処理S1500の処理の結果、戻り値として脆弱アプリケーション検索処理結果リストFRVが返される。
After step S1510, the
前述した具体例の場合、第1引数の分析対象アプリケーションOAは、車両通信制御機能アプリケーション428である。一方、第2引数の次分析経路リストAPLNXは、前述したデータ(3)である。以下、これらの引数による脆弱アプリケーション検索処理S1500の再帰的呼び出しを<2回目の呼び出し>といい、その処理内容については後述する。
In the case of the above-mentioned specific example, the analysis target application OA of the first argument is the vehicle communication
次に、実行部180は、再帰呼び出しした脆弱アプリケーション検索処理S1500の戻り値である脆弱アプリケーション検索処理結果リストFRVを検索結果リストRTに追加して検索結果リストRTを更新する(S1512)。
Next, the
前述した具体例の場合、<2回目の呼び出し>の戻り値である脆弱アプリケーション検索処理結果リストFRVは、前述したデータ(2)になる。一方、検索結果リストRTは、ステップS1501において空(NULL)が設定されている。よって、ステップS1512において更新された検索結果リストRTは、前述したデータ(2)である。 In the case of the above-mentioned specific example, the vulnerable application search processing result list FRV, which is the return value of <second call>, becomes the above-mentioned data (2). On the other hand, the search result list RT is set to empty (NULL) in step S1501. Therefore, the search result list RT updated in step S1512 is the above-mentioned data (2).
ステップS1512の後、実行部180は、分析対象アプリケーションリストALに機能アプリケーションがなくなるまで、ステップS1504〜ステップS1512の処理を繰り返す。
After step S1512, the
ステップS1502の判定の結果、隣接ハードウェアブロックがない場合、又は、ステップS1504の判定の結果、分析対象アプリケーションリストALに機能アプリケーションがない場合、実行部180は、検索結果リストRTが空(NULL)か否かを判定する(S1513)。
If there is no adjacent hardware block as a result of the determination in step S1502, or if there is no functional application in the analysis target application list AL as a result of the determination in step S1504, the
ステップS1513の判定の結果、検索結果リストRTが空(NULL)の場合、実行部180は、検索結果リストRTに、脆弱アプリケーション検索処理S1500の第2引数である分析経路リストAPLを追加する(S1514)。
If the search result list RT is empty (NULL) as a result of the determination in step S1513, the
ステップS1513の判定の結果、検索結果リストRTが空(NULL)でない場合、又は、ステップS1514の後、CPU102は、脆弱アプリケーション検索処理S1500を終了する。
As a result of the determination in step S1513, if the search result list RT is not empty (NULL), or after step S1514, the
前述した具体例の場合、ステップS1503において、分析対象アプリケーションリストALに登録された車両通信制御機能アプリケーション428のみであるから、未分析の機能アプリケーションはない。よって、ステップS1513に進む。また、ステップ1512において、検索結果リストRTは前述したデータ(2)に更新されたので、ステップS1514を行わない。このようにして、<1回目の呼び出し>による脆弱アプリケーション検索処理S1500は終了する。
In the case of the above-mentioned specific example, since only the vehicle communication
以下において、<2回目の呼び出し>による脆弱アプリケーション検索処理S1500の処理内容を説明する。前述した内容と同様の部分の説明は、適宜省略する。 The processing content of the vulnerable application search processing S1500 by <second call> will be described below. The description of the same parts as those described above will be omitted as appropriate.
ステップS1502において、第1引数に設定された分析対象アプリケーションOAは、車両通信制御機能アプリケーション428が含まれるハードウェアブロックとして、図10に示すシステム構成要素関係情報1000の項番“5”の第2構成要素に記述された「車両通信ゲートウェイ(GW)」が特定される。そして、図10に示すシステム構成要素関係情報1000の項番“9”に記述されるように、車両通信ゲートウェイ(GW)420に接続する隣接ハードウェアブロックであるコンソールディスプレイ(CD)430が有る。よって、ステップS1503において、図10に示すシステム構成要素関係情報1000の項番“11”の第2構成要素に記述された「車両情報表示」である車両情報表示機能アプリケーション439aと、システム構成要素関係情報1000の項番“14”の第2構成要素に記述された「Web情報表示」であるWeb情報表示機能アプリケーション439bとが、分析対象アプリケーションリストALに登録される。
In step S1502, the analysis target application OA set in the first argument is the second item “5” of the system
このように、脆弱アプリケーション検索処理S1500は、呼び出し元の機能アプリケーションに接続する可能性を有する機能アプリケーションに対して、接続可能性と脆弱性モデル情報の適用可能性とを順次判定していく。これにより、対象システムに内在する複数の機能アプリケーションに対して、それぞれの脆弱性の有無を判定し、対象システム全体の組合せに対して攻撃の可能性を分析することができる、という特徴を有する。 In this way, the vulnerable application search process S1500 sequentially determines the connectivity and the applicability of the vulnerability model information to the functional application that has the possibility of connecting to the calling functional application. As a result, it is possible to determine the presence or absence of vulnerabilities in a plurality of functional applications inherent in the target system and analyze the possibility of an attack on the combination of the entire target system.
すなわち、一の機能アプリケーションの機能アプリケーションモデル情報500〜900と、当該一の機能アプリケーションと通信接続可能な機能アプリケーションの機能アプリケーションモデル情報500〜900と、脆弱性モデル情報1100〜1300とに基づいて、対象システムの機能分析を行うことにより、通信接続可能な2つの機能アプリケーションの組合せに対する攻撃の可能性を分析することができる。
That is, based on the functional
次に、分析対象アプリケーションリストALに車両情報表示機能アプリケーション439a及びWeb情報表示機能アプリケーション439bが登録されているので、ステップS1505において、車両情報表示機能アプリケーション439aが分析対象アプリケーションOAに設定される。しかし、車両情報表示機能アプリケーション439aの機能アプリケーションモデル情報700の属性値に一致する攻撃成立条件を含む脆弱性モデル情報1100〜1300がないので、ステップS1508において攻撃成立条件を満たす脆弱性モデル情報VIに「NULL」が設定される。
Next, since the vehicle information
次に、車両情報表示機能アプリケーション439aの機能アプリケーションモデル情報700における項番“7”及び項番“8−4”〜“8−7”の属性値が、第1引数である車両通信制御機能アプリケーション428の機能アプリケーションモデル情報600における項番“5”及び項番“6−4”〜“7−7”の属性値と一致している。よって、ステップS1509において、車両情報表示機能アプリケーション439a及び車両通信制御機能アプリケーション428が通信接続可能であると判定される。
Next, the vehicle communication control function application in which the attribute values of the item numbers "7" and the item numbers "8-4" to "8-7" in the functional
次に、ステップS1508で攻撃成立条件を満たす脆弱性モデル情報VIに「NULL」を設定したので、実行部180は、ステップS1510において、分析対象アプリケーションOAである車両情報表示機能アプリケーション439aとNULLとの組が分析経路リストAPLの最終要素に追加され、次分析経路リストAPLNXに設定される。その結果、次分析経路リストAPLNXは、以下のデータ(4)になる。
次分析経路リストAPLNX=
((車両電子制御機能アプリケーション417、NULL)、
(車両通信制御機能アプリケーション428、NULL)、
(車両情報表示機能アプリケーション439a、NULL)) …(4)Next, since "NULL" is set in the vulnerability model information VI that satisfies the attack establishment condition in step S1508, the
Next analysis route list APLNX =
((Vehicle electronic
(Vehicle communication
(Vehicle information
次に、ステップ1511において、分析対象アプリケーションOAである車両情報表示機能アプリケーション439aを第1引数、次分析経路リストAPLNXである前述のデータ(4)を第2引数として脆弱アプリケーション検索処理S1500が再帰的に呼び出される。これらの引数による脆弱アプリケーション検索処理S1500の再帰的呼び出しを<3回目の呼び出し>という。
Next, in step 1511, the vulnerable application search process S1500 recursively uses the vehicle information
ここで、脆弱アプリケーション検索処理S1500の<3回目の呼び出し>の処理内容について簡略化して説明する。コンソールディスプレイ(CD)430に隣接するハードウェアブロックはWebサーバ(WS)440である。しかし、Webサーバ(WS)440に内在する機能アプリケーションであるWeb情報サーバ機能アプリケーション449に脆弱性を適用しても、Web情報表示機能アプリケーション439bと通信接続可能にならない。脆弱アプリケーション検索処理S1500の<3回目の呼び出し>は、戻り値として前述のデータ(4)を返して終了する。
Here, the processing content of the <third call> of the vulnerable application search processing S1500 will be briefly described. The hardware block adjacent to the console display (CD) 430 is the web server (WS) 440. However, even if the vulnerability is applied to the Web information
脆弱アプリケーション検索処理S1500の<2回目の呼び出し>の処理内容の説明に戻ると、ステップ1512において、<3回目の呼び出し>の戻り値である脆弱アプリケーション検索処理結果リストFRVの前述のデータ(4)が、ステップS1501で空(NULL)が設定された検索結果リストRTに追加され、検索結果リストRTが更新される。よって、更新された検索結果リストRTは、前述のデータ(4)である。 Returning to the description of the processing content of the <second call> of the vulnerable application search process S1500, in step 1512, the above-mentioned data (4) of the vulnerable application search process result list FRV which is the return value of the <third call>. Is added to the search result list RT set to empty (NULL) in step S1501, and the search result list RT is updated. Therefore, the updated search result list RT is the above-mentioned data (4).
次に、ステップS1504に戻り、分析対象アプリケーションリストALにWeb情報表示機能アプリケーション439bが残っているので、ステップ1505に進み、分析対象アプリケーションOAにWeb情報表示機能アプリケーション439bが設定される。
Next, returning to step S1504, since the Web information
次に、ステップ1506において、Web情報表示機能アプリケーション439bの機能アプリケーションモデル情報900の属性値に一致する攻撃成立条件を含む脆弱性モデル情報1100〜1300が有るか否かが判定される。
Next, in step 1506, it is determined whether or not there is
図16に示すように、Web情報表示機能アプリケーション439bの機能アプリケーションモデル情報800の属性値1601は、項番“6?7”の通信内容を除き、脆弱性モデル情報1200,1300の攻撃成立条件1602と一致している。一方、機能アプリケーションモデル情報800の属性値1601は、脆弱性モデル情報1200,1300の項番“6?7”の脆弱性成立条件である入力内容「http応答コマンド(Shell code (任意内容))」を満たしていない。
As shown in FIG. 16, the
しかし、脆弱性モデル情報1200,1300の攻撃成立条件1602の通信内容は、攻撃成立条件の一部であることを示す「[<]」を含んでいる。この場合、機能アプリケーションモデル情報800の属性値1601が、脆弱性モデル情報1200,1300の攻撃成立条件1602を満たすものとみなす。よって、ステップS1507において、Web情報表示機能アプリケーション439bの機能アプリケーションモデル情報800の属性値1601は、更新されて属性値1603になる。
However, the communication content of the attack establishment condition 1602 of the
このような充足条件「[<]」を脆弱性モデル情報1200,1300の攻撃成立条件1602が含むことで、Web情報表示機能アプリケーション439bへの攻撃成立の可能性を留保することができる。言い換えると、この入力条件が満たされれば、Web情報表示機能アプリケーション439bが有する脆弱性への攻撃が成立することになる。
By including such a satisfaction condition "[<]" in the attack establishment condition 1602 of the
後述するように、Web情報表示機能アプリケーション439bに接続するWeb情報サーバ機能アプリケーション449には[Webサーバの偽装]の脆弱性モデル情報1100があり、その脆弱性の攻撃後に、情報サーバ機能アプリケーション449は「http応答コマンド(Shell code (任意内容))」を出力するようになる。
As will be described later, the Web information
以上説明したように、脆弱アプリケーション検索処理S1500は、任意の機能アプリケーションについて、攻撃成立条件を満たす脆弱性が存在する場合、当該脆弱性モデル情報の攻撃成立条件及び攻撃結果に基づいて、当該機能アプリケーションの機能アプリケーションモデル情報の一部の属性値を更新することで、攻撃の可能性を留保しつつ、その先の機能アプリケーションに対する脅威分析が可能になる、という特徴を有する。その後の分析で他の機能アプリケーションに他の脆弱性モデル情報が適用された場合、留保された攻撃が実際に成立することを確認することができ、対象システム全体で複数の脆弱性を組み合わせた攻撃に対する脅威分析が実現される。 As described above, when the vulnerability application search process S1500 has a vulnerability that satisfies the attack establishment condition for any functional application, the functional application is based on the attack establishment condition and the attack result of the vulnerability model information. By updating some attribute values of the functional application model information of, it is possible to analyze the threat to the functional application in the future while retaining the possibility of attack. If other vulnerability model information is applied to other functional applications in subsequent analysis, it can be confirmed that the reserved attack is actually established, and an attack that combines multiple vulnerabilities throughout the target system. Threat analysis is realized.
Web情報表示機能アプリケーション439bの機能アプリケーションモデル情報800の更新後の属性値1603は、項番“4−4” のプロセスモードが、「特権モード」に変更され、新たな出力、つまり、第(m+1)出力として、項番“11−4”の通信経路に「Ethernet」、項番“11−5”のプロトコルに「UDP/IP(Port3500)」が、項番“11−7”の通信内容に「アプリコマンド(ECU制御コマンド(要求))」が、それぞれ追加されている。
Web information display function Function of
図19に示すように、攻撃前のWeb情報表示機能アプリケーション439bは、脆弱性への攻撃後にWeb情報表示機能アプリケーション1961に更新され、機能属性に変化が生じる。攻撃を受けたWeb情報表示機能アプリケーション1961は、任意のシェルコードを入力して実行し、新たな第2出力を出力可能となる。具体的には、ロジカルな通信経路1963を介して、車両通信制御機能アプリケーション428に対して、偽のECU制御コマンドを送付可能となる。この攻撃は、例えば、走行中に車両のドアが開いたり、燃料制御が異常動作したりする等、予測できない危険(ハザード)を引き起こす結果となる。
As shown in FIG. 19, the Web information
このように、攻撃成立条件を満たす脆弱性モデル情報1200,1300の攻撃成立条件及び攻撃結果に基づいて、Web情報表示機能アプリケーション439bの機能アプリケーションモデル情報800の一部を更新することにより、当該機能アプリケーションに接続可能な機能アプリケーションに対する脅威分析が可能になり、複数の脆弱性を組み合わせた攻撃に対する対象システムの脅威分析を行うことができる。
In this way, by updating a part of the functional
脆弱アプリケーション検索処理S1500の<2回目の呼び出し>の処理内容の説明に戻ると、ステップS1509では、脆弱性への攻撃後の分析対象アプリケーションOAであるWeb情報表示機能アプリケーション1961と、分析起点アプリケーションSPである車両通信制御機能アプリケーション428とが通信接続可能か否かが判定される。
Returning to the explanation of the processing content of the <second call> of the vulnerable application search process S1500, in step S1509, the Web information
図18に示すように、Web情報表示機能アプリケーション1961の属性値1802における出力の各属性値と、車両通信制御機能アプリケーション428の機能アプリケーションモデル情報600の属性値1801における入力の各属性値とが一致する。
As shown in FIG. 18, each attribute value of the output in the
よって、ステップS1509において、Web情報表示機能アプリケーション1961及び車両通信制御機能アプリケーション428は通信接続可能と判定され、ステップS1510に進む。
Therefore, in step S1509, it is determined that the Web information
ステップS1510では、分析対象アプリケーションOAであるWeb情報表示機能アプリケーション1961と、脆弱性モデル情報VIである脆弱性モデル情報1200,1300との組が分析経路リストAPLの最終要素に追加され、次分析経路リストAPLNXに設定される。その結果、次分析経路リストAPLNXは、以下のデータ(5)になる。
次分析経路リストAPLNX=
((車両電子制御機能アプリケーション417、NULL)、
(車両通信制御機能アプリケーション428、NULL)、
(Web情報表示機能アプリケーション1961、脆弱性モデル情報1200,1300)) …(5)In step S1510, a pair of the Web information
Next analysis route list APLNX =
((Vehicle electronic
(Vehicle communication
(Web information
ステップS1511では、分析対象アプリケーションOAであるWeb情報表示機能アプリケーション1961を第1引数、次分析経路リストAPLNXである前述のデータ(5)を第2引数として脆弱アプリケーション検索処理S1500が再帰的に呼び出される。以下、これらの引数による脆弱アプリケーション検索処理S1500の再帰的呼び出しを<4回目の呼び出し>という。
In step S1511, the vulnerable application search process S1500 is recursively called with the Web information
ここで、脆弱アプリケーション検索処理S1500の<4回目の呼び出し>の処理内容について説明する。 Here, the processing content of the <fourth call> of the vulnerable application search processing S1500 will be described.
ステップS1502では、第1引数に指定されたWeb情報表示機能アプリケーション1961が含まれるハードウェアブロックとして、(CD)430が特定され、これに接続する隣接ハードウェアブロックとして、Webサーバ(WS)440が検索されてステップS1503に進む。
In step S1502, (CD) 430 is specified as a hardware block including the Web information
ステップS1503では、Webサーバ(WS)440内の機能アプリケーションとして、Web情報サーバ機能アプリケーション449が選択され、分析対象アプリケーションリストALに登録される。ステップS1504では分析対象アプリケーションリストALにWeb情報サーバ機能アプリケーション449があるので、ステップS1505に進む。
In step S1503, the Web information
ステップS1505では、Web情報サーバ機能アプリケーション449が分析対象アプリケーションOAに設定され、ステップS1506でWeb情報サーバ機能アプリケーション449に攻撃成立条件を有する脆弱性情報があるか否か判定される。ここで、Web情報サーバ機能アプリケーション449に対して、攻撃成立条件を満たす脆弱性モデル情報1100が存在する。
In step S1505, the Web information
図17に示すように、Web情報サーバ機能アプリケーション449の機能アプリケーションモデル情報900の属性値1701と、脆弱性モデル情報1100の攻撃成立条件1702とが一致している。Web情報サーバ機能アプリケーション449の更新された属性値1703として、項番“8?7”の通信内容に、「http応答コマンド(Shell code(任意内容))」が追加される。
As shown in FIG. 17, the
図19に示すように、攻撃前のWeb情報サーバ機能アプリケーション449は、攻撃後にWeb情報サーバ機能アプリケーション1962に変更され、機能属性に変化が生じる。攻撃を受けたWeb情報サーバ機能アプリケーション1962は、任意のシェルコードを出力可能となる。具体的には、ロジカルな通信経路1964を介して、Web情報表示機能アプリケーション1961に対して、偽のECU制御コマンドを生成させるためのShell codeを送付可能となる。
As shown in FIG. 19, the Web information
以上により、Web情報表示アプリケーション439bの脆弱性に対する攻撃によるアプリケーション機能の変化、すなわち、攻撃後のWeb情報表示機能アプリケーション1961に呼応して、Web情報サーバ機能アプリケーション449の脆弱性に対する攻撃によってアプリケーション機能の変化、すなわち、攻撃後のWeb情報サーバ機能アプリケーション1962が発生する。このように、Web情報表示機能アプリケーション1961及びWeb情報サーバ機能アプリケーション1962を組み合わせた車両外部からの攻撃のシーケンスが完成することを、本発明の脅威分析により求めることが可能となる。
As described above, the change in the application function due to the attack on the vulnerability of the Web
脆弱アプリケーション検索処理S1500の<4回目の呼び出し>の説明に戻ると、ステップS1509では、脆弱性への攻撃後の分析対象アプリケーションOAであるWeb情報サーバ機能アプリケーション1962と、分析起点アプリケーションSPであるWeb情報表示機能アプリケーション1961が通信接続可能か否か判定される。
Returning to the explanation of the <fourth call> of the vulnerable application search process S1500, in step S1509, the Web information
図18に示すように、Web情報サーバ機能アプリケーション1962の属性値1803における出力の各属性値と、Web情報表示機能アプリケーション1961の属性値1802における入力の各属性値とが一致する。
As shown in FIG. 18, each attribute value of the output in the
よって、ステップS1509でWeb情報サーバ機能アプリケーション1962及びWeb情報表示機能アプリケーション1961が通信接続可能と判定され、ステップS1510に進む。
Therefore, in step S1509, it is determined that the Web information
ステップ1510では、分析対象アプリケーションOAであるWeb情報サーバ機能アプリケーション1962と、脆弱性モデル情報VIである脆弱性モデル情報1100との組が分析経路リストAPLの最終要素に追加され、次分析経路リストAPLNXに設定される。その結果、次分析経路リストAPLNXは、以下のデータ(6)になる。
次分析経路リストAPLNX=
((車両電子制御機能アプリケーション417、NULL)、
(車両通信制御機能アプリケーション428、NULL)、
(Web情報表示機能アプリケーション1961、脆弱性モデル情報1100,1200))
(Web情報サーバ機能アプリケーション1962、脆弱性モデル情報1100)) …(6)In step 1510, a pair of the Web information
Next analysis route list APLNX =
((Vehicle electronic
(Vehicle communication
(Web information
(Web information
ステップS1511では、分析対象アプリケーションOAであるWeb情報サーバ機能アプリケーション1962を第1引数、次分析経路リストAPLNXである前述のデータ(6)を第2引数として、脆弱アプリケーション検索処理S1500が再帰的に呼び出される。以下、これらの引数による脆弱アプリケーション検索処理S1500の再帰的呼び出しを<5回目の呼び出し>という。
In step S1511, the vulnerable application search process S1500 is recursively called with the Web information
ここで、脆弱アプリケーション検索処理S1500の<5回目の呼び出し>の処理内容を簡単に説明する。ステップS1502では、Webサーバ(WS)440には隣接するハードウェアユニットが存在しないので、ステップS1513に進む。そして、脆弱アプリケーション検索処理S1500の<5回目の呼び出し>は、戻り値として前述のデータ(6)を返して終了する。 Here, the processing content of the <fifth call> of the vulnerable application search processing S1500 will be briefly described. In step S1502, since there is no adjacent hardware unit in the Web server (WS) 440, the process proceeds to step S1513. Then, the <fifth call> of the vulnerable application search process S1500 returns the above-mentioned data (6) as a return value and ends.
脆弱アプリケーション検索処理S1500の<4回目の呼び出し>の説明に戻ると、ステップ1512において、<5回目の呼び出し>の戻り値である脆弱アプリケーション検索処理結果リストFRVの前述のデータ(6)が、ステップS1501において空(NULL)が設定された検索結果リストRTに追加され、検索結果リストRTが更新される。よって、更新された検索結果リストRTは、前述のデータ(6)である。 Returning to the explanation of the <fourth call> of the vulnerable application search process S1500, in step 1512, the above-mentioned data (6) of the vulnerable application search process result list FRV, which is the return value of the <fifth call>, is the step. It is added to the search result list RT set to empty (NULL) in S1501, and the search result list RT is updated. Therefore, the updated search result list RT is the above-mentioned data (6).
次に、ステップS1504に戻り、分析対象アプリケーションリストALに分析対象がないので、ステップS1513に進む。 Next, the process returns to step S1504, and since there is no analysis target in the analysis target application list AL, the process proceeds to step S1513.
ステップS1513の判定では、検索結果リストRTは前述のデータ(6)であり、空(NULL)ではないので、そのまま何もせずに脆弱アプリケーション検索処理S1500の<4回目の呼び出し>は終了する。戻り値として前述したデータ(6)の検索結果リストRTが返される。 In the determination of step S1513, since the search result list RT is the above-mentioned data (6) and is not empty (NULL), the <fourth call> of the vulnerable application search process S1500 ends without doing anything as it is. As a return value, the search result list RT of the above-mentioned data (6) is returned.
脆弱アプリケーション検索処理S1500の<2回目の呼び出し>の説明に戻ると、ステップ1512において、<4回目の呼び出し>の戻り値である脆弱アプリケーション検索処理結果リストFRVの前述のデータ(6)が、検索結果リストRTであるデータ(4)に追加され、検索結果リストRTが更新される。よって、更新された検索結果リストRTは、以下のデータ(7)になる。
検索結果リストRT=
(((車両電子制御機能アプリケーション417、NULL)、
(車両通信制御機能アプリケーション428、NULL)、
(車両情報表示機能アプリケーション439a、NULL))、
((車両電子制御機能アプリケーション417、NULL)、
(車両通信制御機能アプリケーション428、NULL)、
(Web情報表示機能アプリケーション1961、脆弱性モデル情報1200、1300)、
(Web情報サーバ機能アプリケーション1962、脆弱性モデル情報1100)))…(7)Returning to the description of the <second call> of the vulnerable application search process S1500, in step 1512, the above-mentioned data (6) of the vulnerable application search process result list FRV, which is the return value of the <fourth call>, is searched. It is added to the data (4) which is the result list RT, and the search result list RT is updated. Therefore, the updated search result list RT becomes the following data (7).
Search result list RT =
(((Vehicle electronic
(Vehicle communication
(Vehicle information
((Vehicle electronic
(Vehicle communication
(Web information
(Web information
このように、検索結果リストRTは、機能アプリケーションとその機能アプリケーションに適用可能な脆弱性モデル情報との組をリストとして示したものである。また、データ(7)は、前述したデータ(2)と同一である。 As described above, the search result list RT shows a set of the functional application and the vulnerability model information applicable to the functional application as a list. Further, the data (7) is the same as the above-mentioned data (2).
図19に示すように、ユーザ指定機能アプリケーションUAとして車両電子制御機能アプリケーション417が指定された場合、前述した検索結果リストRTは、車両電子制御機能アプリケーション417への脆弱性請攻撃パスとして、2つの機能アプリケーションのシーケンシャルな呼び出し関係が、脆弱アプリケーション検索処理S1500の結果として得られたことを示している。
As shown in FIG. 19, when the vehicle electronic
第1の呼び出し関係は、前述のデータ(7)の第1要素に示されるように、車両情報表示機能アプリケーション439aを起点とする正常な呼び出し関係の実行パスである。第2の呼び出し関係は、前述のデータ(7)の第2要素に示されるように、Web情報サーバ機能アプリケーション1962を起点とする脆弱性攻撃の実行パスである。
The first call relationship is an execution path of a normal call relationship starting from the vehicle information
脆弱アプリケーション検索処理S1500の<2回目の呼び出し>の説明に戻ると、次のステップS1504では、分析対象アプリケーションリストALに分析対象がないので、ステップS1513に進む。 Returning to the explanation of <second call> of the vulnerable application search process S1500, in the next step S1504, since there is no analysis target in the analysis target application list AL, the process proceeds to step S1513.
ステップS1513の判定では、検索結果リストRTは前述のデータ(7)であり、空(NULL)ではないので、そのまま何もせずに脆弱アプリケーション検索処理S1500の<2回目の呼び出し>は終了する。戻り値として前述したデータ(7)の検索結果リストRTが返される。 In the determination of step S1513, since the search result list RT is the above-mentioned data (7) and is not empty (NULL), the <second call> of the vulnerable application search process S1500 ends without doing anything as it is. As a return value, the search result list RT of the above-mentioned data (7) is returned.
前述したように、脆弱アプリケーション検索処理S1500の<2回目の呼び出し>の処理結果は、脅威分析処理S1400による脆弱アプリケーション検索処理S1500の<1回目の呼び出し>に返される。さらに、脅威分析処理S1400の処理結果は、図示しない脅威分析メイン処理に返されて最終的な分析結果である脅威分析結果情報1900が得られる。
As described above, the processing result of the <second call> of the vulnerable application search process S1500 is returned to the <first call> of the vulnerable application search process S1500 by the threat analysis process S1400. Further, the processing result of the threat analysis processing S1400 is returned to the threat analysis main processing (not shown) to obtain the threat
本実施形態では、対象システムとしてコネクティッドカーシステムの例を示したが、これに限定されるものではない。コネクティッドカーシステム以外の他のシステムに対して脅威分析を行ってもよい。 In the present embodiment, an example of a connected car system is shown as a target system, but the present invention is not limited to this. Threat analysis may be performed on systems other than the connected car system.
このように、本実施形態の脅威分析装置100、脅威分析方法、及び脅威分析プログラムによれば、対象システムに含まれる機能アプリケーションについて、システム仕様情報140を用いてモデル化した機能アプリケーションモデル情報500〜900が取得され、事例システムに含まれる脆弱性について、システム仕様情報140を用いてモデル化した脆弱性モデル情報1100〜1300が取得される。そして、機能アプリケーションモデル情報500〜900と脆弱性モデル情報1100〜1300とに基づいて、対象システムの脅威分析が行われる。ここで、システム仕様情報140に含まれる抽象的な仕様情報は、概念設計段階のシステムでも得ることができる。よって、同じシステム仕様情報140を用いて機能アプリケーションモデル情報500〜900及び脆弱性モデル情報1100〜1300を取得することにより、対象システムの機能アプリケーションモデル情報500〜900と事例システムの脆弱性モデル情報1100〜1300とを容易に比較することができ、対象システムに存在し得る脆弱性への脅威分析を行うことができる。従って、概念設計段階の対象システムに対して脅威分析を行うことができる。
As described above, according to the
[第2実施形態]
次に、図20から図26を参照しつつ、本発明の第2実施形態に係る脅威分析装置、脅威分析方法、及び脅威分析プログラムについて説明する。なお、第2実施形態では第1実施形態と共通の事柄についての記述を省略し、異なる点についてのみ説明する。特に、同様の構成による同様の作用効果については実施形態毎には逐次言及しない。[Second Embodiment]
Next, the threat analysis device, the threat analysis method, and the threat analysis program according to the second embodiment of the present invention will be described with reference to FIGS. 20 to 26. In the second embodiment, the description of the matters common to the first embodiment will be omitted, and only the differences will be described. In particular, the same action and effect due to the same configuration will not be mentioned sequentially for each embodiment.
図20は、本発明の第2実施形態に係る脅威分析装置200の物理構成を示すブロック図である。図21は、本発明の第2実施形態に係る脅威分析装置200の機能構成を示すブロック図である。図22は、対象システム管理テーブル2200を示す図である。図23は、脆弱性事例情報管理テーブル2300を示す図である。図24は、脆弱性事例情報登録処理S2400のフローチャートである。図25は、脅威分析サービス管理処理S2500のフローチャートである。図26は、課金情報管理処理S2600のフローチャートである。
FIG. 20 is a block diagram showing a physical configuration of the
図20に示すように、脅威分析装置200の主記憶装置107に、対象システム管理テーブル2200と、脆弱性事例情報管理テーブル2300と、脆弱性事例情報登録処理S2400と、脅威分析サービス管理処理S2500と、課金情報管理処理S2600と、がさらに格納され、記憶されている。
As shown in FIG. 20, the target system management table 2200, the vulnerability case information management table 2300, the vulnerability case information registration process S2400, and the threat analysis service management process S2500 are stored in the
対象システム管理テーブル2200は、対象システムを管理するためのテーブルデータである。対象システム管理テーブル2200は、脅威分析サービス管理処理S2500によって使用される。 The target system management table 2200 is table data for managing the target system. The target system management table 2200 is used by the threat analysis service management process S2500.
脆弱性事例情報管理テーブル2300は、脆弱性モデル情報を管理するためのテーブルデータであり、どのような脆弱性モデル情報を登録したのか、登録者は誰か、など管理用の属性情報を含んでいる。脆弱性事例情報管理テーブル2300は、脆弱性事例情報登録処理S2400によって使用される。 The vulnerability case information management table 2300 is table data for managing the vulnerability model information, and includes attribute information for management such as what kind of vulnerability model information is registered and who is the registrant. .. The vulnerability case information management table 2300 is used by the vulnerability case information registration process S2400.
脆弱性事例情報登録処理S2400は、情報登録者IRによる脆弱性モデル情報1100〜1300の登録を管理するプログラムである。
The vulnerability case information registration process S2400 is a program that manages the registration of
脅威分析サービス管理処理S2500は、サービス利用者SUに、第1実施形態で説明した脅威分析処理S1400及び脆弱アプリケーション検索処理S1500を用い、脅威分析装置200によるサービス(以下、「脅威分析サービス」という)を提供するプログラムである。サービス利用者SUは、自分が設計している情報システムの脅威分析を行うために脅威分析サービスを利用する者である。 The threat analysis service management process S2500 uses the threat analysis process S1400 and the vulnerable application search process S1500 described in the first embodiment for the service user SU, and provides a service by the threat analysis device 200 (hereinafter referred to as “threat analysis service”). Is a program that provides. The service user SU is a person who uses the threat analysis service to perform threat analysis of the information system he / she designs.
課金情報管理処理S2600は、脆弱性モデル情報1100〜1300の情報登録者IRに対する登録のインセンティブである報酬(奨励金)を算出するプログラムである。情報登録者IRは、脆弱性モデル情報1100〜1300を登録する者である。
The billing information management process S2600 is a program for calculating a reward (incentive) that is an incentive for registration of the information registrant IR of
図21に示すように、脅威分析装置200は、その機能構成として、利用料算出部210と、報酬算出部220と、をさらに備える。
As shown in FIG. 21, the
利用料算出部210は、脅威分析を行った対象システムに対して、利用料を算出するように構成されている。
The usage
報酬算出部220は、利用料算出部210により算出された利用料に基づいて、脆弱性モデル情報1100〜1300に対する報酬を算出するように構成されている。この報酬は、対象システムの脅威分析の結果、当該対象システムが脆弱性を含むときに、その脆弱性に対応する脆弱性モデル情報1100〜1300に対して算出される。
The
脆弱性モデル情報1100〜1300は、一例として、米国MITRE社のCVE(Common Vulnerabilities and Exposures)のように一般から登録される脆弱性情報に基づいて、これをモデル化して作成される。情報技術の進歩と情報システムの複雑性は年々増大化の一途をたどっている。それに伴い、脆弱性が発見される分野は年々拡大し、日々新しい事例が発見される。そのため、脅威分析のサービス事業者は、自社のリソースのみを用いて、単独で脆弱性情報を収集し、モデル化することにより、脆弱性モデル情報を整備することは困難である。すなわち、一般の他の事業者から、脆弱性事例情報を報告してもらい、可能であればモデル化してもらい、脆弱性モデル情報の内容を、日々最新のものに更新する必要がある。
しかし、現状では、一般の事業者には脆弱性事例情報を報告し、登録するための労力を支払う金銭等のインセンティブがないため、脆弱性モデル情報をもれなく、品質良く整備することは困難であった。 However, at present, general businesses do not have incentives such as money to report vulnerability case information and pay the effort to register it, so it is difficult to maintain good quality without missing vulnerability model information. It was.
本実施形態に係る脅威分析装置200では、脅威分析サービスで利用した脆弱性モデル情報1100〜1300について、その情報を登録した人々に利用料の一部を情報登録への報酬としてフィードバックする仕組みを備えることを特徴とする。これにより、脆弱性モデル情報1100〜1300の登録者には登録のインセンティブを与え、登録と利用のサイクルがうまく回転し、脅威分析のサービス事業が継続的事業として成立することを可能とする。
The
次に、図22を参照しつつ、脅威分析装置200で使用される対象システム管理テーブル2200について説明する。図22は、対象システム管理テーブル2200を示す図である。
Next, the target system management table 2200 used in the
図22に示すように、対象システム管理テーブル2200は、対象システム毎に、脅威分析の結果としてどのような脆弱性が検出されたのか、対象システムと脆弱性との関係情報を格納する。具体的には、「第1対象システム」は、サービス利用者SUの「山本」が脅威分析サービスの提供を受け、サービス利用料は「1000円」であり、脅威分析の結果、「第1対象システム」は、「第1脆弱性」と「第3脆弱性」とを含むことが示されている。 As shown in FIG. 22, the target system management table 2200 stores information on what kind of vulnerabilities are detected as a result of threat analysis and the relationship between the target system and the vulnerabilities for each target system. Specifically, in the "first target system", the service user SU "Yamamoto" receives the threat analysis service, and the service usage fee is "1000 yen". As a result of the threat analysis, the "first target system" The "system" is shown to include a "first vulnerability" and a "third vulnerability".
なお、対象システム管理テーブル2200の構成は、図22に示す例に限定されるものではない。以下の対応関係が管理されていれば、脆弱性事例情報管理テーブルは、他の情報形式であってもよく、また複数の表に分けて管理されていてもよい。
第1管理情報:対象システムの識別情報と、サービス利用者URや利用日時、サービス利用料等の分析サービス管理業務一般に関連する属性情報
第2管理情報:対象システムの識別情報と、脅威分析の結果として得られた当該対象システムに内在する脆弱性の脆弱性モデル情報の識別情報及び脆弱性モデル情報の格納先への参照情報(リンク情報)を関連づけた情報The configuration of the target system management table 2200 is not limited to the example shown in FIG. As long as the following correspondence is managed, the vulnerability case information management table may be in another information format, or may be managed by being divided into a plurality of tables.
1st management information: Analysis of target system identification information and service user UR, usage date and time, service usage fee, etc. 2nd management information: Target system identification information and threat analysis results Information related to the identification information of the vulnerability model information of the vulnerability inherent in the target system and the reference information (link information) to the storage destination of the vulnerability model information.
後述するように、対象システム管理テーブル2200の情報を用いて、脆弱性モデル情報1100〜1300の情報登録者IRに支払う報酬を算出することが可能となる。
As will be described later, it is possible to calculate the reward to be paid to the information registrant IR of the
次に、図23を参照しつつ、脅威分析装置200で使用される脆弱性事例情報管理テーブル2300について説明する。図23は、脆弱性事例情報管理テーブル2300を示す図である。
Next, the vulnerability case information management table 2300 used in the
図23に示すように、脆弱性事例情報管理テーブル2300は、脅威分析に使用する脆弱性モデル情報1100〜1300を、当該脆弱性が発見された事例システム名称と対応付けて管理している。具体的には、事例システム名称が「第1事例システム」であるシステムの脆弱性が、登録者「田中」により登録され「第2脆弱性」と「第3脆弱性」を含んでいる。「第2脆弱性」は、対象システム管理テーブル2200で管理する「第2事例システム」と「第3事例システム」の2つの脅威分析の際に利用され、その結果、利用料として「100円」が格納されている。同様に、「第3脆弱性」は、「第1対象システム」と「第3対象システム」の2つの脅威分析の際に使用され、利用料として「150円」が格納されている。
As shown in FIG. 23, the vulnerability case information management table 2300 manages the
なお、脆弱性事例情報管理テーブル2300の構成は図23の例に限定されるものではない。脆弱性事例情報管理テーブルは、下記の対応関係が管理されていれば、他の情報形式であってもよく、また複数の表に分けて管理されていてもよい。
第1管理情報:事例システムの識別情報と、登録日時や登録者等の登録サービス管理業務一般に関連する属性情報
第2管理情報:事例システムの識別情報と、当該事例システムに内在する脆弱性の脆弱性モデル情報の識別情報及び脆弱性モデル情報の格納先への参照情報(リンク情報)を関連づけた情報
第3管理情報:事例システムの識別情報と、当該事例システムに内在する脆弱性の脆弱性モデル情報を関連付けた情報毎に、当該情報が脅威分析に利用された利用履歴情報(利用料又は利用回数等)The configuration of the vulnerability case information management table 2300 is not limited to the example shown in FIG. 23. The vulnerability case information management table may be in another information format as long as the following correspondence is managed, or may be managed by being divided into a plurality of tables.
1st management information: Case system identification information and attribute information related to registration service management work such as registration date and time and registrants 2nd management information: Case system identification information and vulnerabilities inherent in the case system Information related to the identification information of the sex model information and the reference information (link information) to the storage destination of the vulnerability model information. Third management information: The identification information of the case system and the vulnerability model of the vulnerability inherent in the case system. For each information associated with the information, usage history information (usage fee, number of times of use, etc.) in which the information was used for threat analysis
次に、図24を参照しつつ、脅威分析装置200で実行される脆弱性事例情報登録処理S2400について説明する。図24は、脆弱性事例情報登録処理S2400のフローチャートである。
Next, the vulnerability case information registration process S2400 executed by the
脆弱性事例情報登録処理S2400が起動されると、図24に示すように、実行部180は、情報登録者IRによる脆弱性事例情報130の登録要求を受け付ける(S2401)。ステップS2401では、実行部180は、登録要求が来るまで待ち受ける。
When the vulnerability case information registration process S2400 is started, as shown in FIG. 24, the
次に、第2取得部160は、情報登録者IRによって入力された脆弱性事例情報130を登録する(S2402)。
Next, the
次に、実行部180は、情報登録者IRによって入力された脆弱性事例情報を、図23に示す脆弱性事例情報管理テーブル2300に追加して登録する(S2403)。
Next, the
ステップS2403の後、実行部180は、脆弱性事例情報登録処理S2400を終了する。
After step S2403, the
本実施形態では、登録要求を1件受け付けると脆弱性事例情報登録処理S2400を終了する例を示したが、これに限定されるものではない。脆弱性事例情報登録処理は、例えば、次の登録要求を待つようにループ処理構造であってもよい。 In the present embodiment, an example in which the vulnerability case information registration process S2400 is terminated when one registration request is received is shown, but the present invention is not limited to this. The vulnerability case information registration process may have, for example, a loop process structure so as to wait for the next registration request.
次に、図25を参照しつつ、脅威分析装置200で実行される脅威分析サービス管理処理S2500について説明する。図25は、脅威分析サービス管理処理S2500のフローチャートである。
Next, the threat analysis service management process S2500 executed by the
脅威分析サービス管理処理S2500が起動されると、図25に示すように、実行部180は、サービス利用者SUによる脅威分析の利用要求を受け付ける(S2501)。ステップS2501では、実行部180は、利用要求が来るまで待ち受ける。
When the threat analysis service management process S2500 is started, as shown in FIG. 25, the
次に、第1取得部150は、サービス利用者SUによって入力された対象システム設計情報120を登録する(S2502)。
Next, the
次に、実行部180は、脅威分析処理S1400を呼び出す(S2503)。これにより、対象システムに対して脅威分析が行われる。
Next, the
次に、実行部180は、脅威分析結果情報1900を用いて図22に示す対象システム管理テーブル2200を更新する(S2504)。
Next, the
次に、利用料算出部210は、ステップS2503で脅威分析を行った対象システムに対して利用料を算出する(S2504)。具体的には、利用料算出部210は、脅威分析に要したCPU処理時間等のシステムリソース利用量を用い、所定の利用料計算式に従う利用料を算出する。
Next, the usage
次に、利用料算出部210は、ステップS2504で算出された利用料を、対象システム管理テーブル2200の利用料に加算して登録する(S2505)。例えば、対象システム管理テーブル2200の「第1対象システム」に、利用料として「1000円」が登録される。
Next, the usage
サービス利用者SUによる要求毎に脅威分析が行われ、脅威分析の結果及び利用料が対象システム管理テーブル2200に登録されることになる。 A threat analysis is performed for each request by the service user SU, and the result of the threat analysis and the usage fee are registered in the target system management table 2200.
ステップS2505の後、実行部180は、脅威分析サービス管理処理S2500を終了する。
After step S2505, the
このように、脅威分析を行った対象システムに対して利用料を算出することにより、サービス利用者URに利用料を請求することで、利用料の一部を、サービス利用者UR以外の者、例えば情報登録者IRに報酬として還元(フィードバック)することができる。 In this way, by calculating the usage fee for the target system for which the threat analysis was performed, the usage fee is charged to the service user UR, and a part of the usage fee is paid to a person other than the service user UR. For example, it can be returned (feedback) to the information registrant IR as a reward.
本実施形態では、利用要求を1件受け付けると脅威分析サービス管理処理S2500が終了する例を示したが、これに限定されるものではない。脅威分析サービス管理処理は、次の利用要求を待つようにループ処理構造であってもよい。 In the present embodiment, an example is shown in which the threat analysis service management process S2500 is terminated when one usage request is received, but the present embodiment is not limited to this. The threat analysis service management process may have a loop process structure so as to wait for the next usage request.
次に、図26を参照しつつ、脅威分析装置200で実行される課金情報管理処理S2600について説明する。図26は、課金情報管理処理S2600のフローチャートである。
Next, the billing information management process S2600 executed by the
課金情報管理処理S2600が起動されると、図26に示すように、実行部180は、対象システム管理テーブル2200に利用料が未請求の結果レコードがあるか否かを判定する(S2601)。
When the billing information management process S2600 is started, as shown in FIG. 26, the
判定の結果、対象システム管理テーブル2200に利用料が未請求の結果レコードがある場合、実行部180は、未請求の結果レコードのうちの先頭の結果レコードを取り出し、サービス利用者SUに利用料を請求する(S2602)。例えば、図22に示す「第1対象システム」の利用料「1000円」をサービス利用者「山本」に請求する。
As a result of the determination, when there is a result record for which the usage fee has not been charged in the target system management table 2200, the
次に、報酬算出部220は、当該結果レコードの対象システムが含む各脆弱性について、脆弱性に対応する脆弱性モデル情報1100〜1300に対する報酬を、対象システムの利用料に基づいて算出する(S2603)。具体的には、報酬算出部220は、対象システムの利用料に所定の脆弱性利用料計算式を適用し、脆弱性モデル情報に対する報酬を算出する。
Next, the
例えば、図22に示す「第1対象システム」はサービス利用料が「1000円」であり、「第1脆弱性」と「第3脆弱性」の2つを含む。ここで、利用料の10%を、脅威分析に使用した脆弱性モデル情報1100〜1300の報酬として支払う契約条件があると仮定する。この場合、「第1分析対象システム」の脅威分析による脆弱性モデル情報に対する報酬は、1000円×10%=100円となる。また、脅威分析を行った対象システムが複数の脆弱性を含む場合、算出された脆弱性モデル情報の報酬を対象システムに含まれる脆弱性情報の数で按分するものとすれば、「第1脆弱性」の脆弱性モデル情報への報酬として50円が、「第3脆弱性」の脆弱性モデル情報への報酬として50円が、それぞれ算出されることになる。
For example, the "first target system" shown in FIG. 22 has a service usage fee of "1000 yen" and includes two "first vulnerability" and "third vulnerability". Here, it is assumed that there is a contract condition in which 10% of the usage fee is paid as a reward for the
このように、脅威分析の結果、対象システムが脆弱性を含むときに、当該脆弱性に対応する脆弱性モデル情報1100〜1300に対する報酬を、対象システムの利用料に基づいて算出することにより、脆弱性モデル情報1100〜1300の情報登録者IRに登録のインセンティブを与えることができる。従って、登録と利用のサイクルがうまく回転し、脅威分析のサービス事業が継続的事業として成立することできる。
In this way, when the target system contains vulnerabilities as a result of threat analysis, the vulnerabilities are calculated by calculating the reward for the
次に、報酬算出部220は、図23に示す脆弱性事例情報管理テーブル2300において、ステップS2603で報酬が算出された脆弱性を含む全ての脆弱性事例レコードを検索する。(S2604)。
Next, the
例えば、図23に示す脆弱性事例情報管理テーブル2300を検索すると、「第1脆弱性」を含む事例システムの名称は、「第2事例システム」と「第3事例システム」の2件である。また、「第3脆弱性」を含む事例システムの名称は、「第1事例システム」の1件のみである。 For example, when the vulnerability case information management table 2300 shown in FIG. 23 is searched, the names of the case systems including the "first vulnerability" are "second case system" and "third case system". Moreover, the name of the case system including the "third vulnerability" is only one case of the "first case system".
次に、報酬算出部220は、ステップS2603で算出された報酬を当該脆弱性事例レコードの該当する脆弱性の報酬に加算して更新する(S2605)。脆弱性事例レコードが複数ある場合、報酬算出部220は、算出された報酬をステップS2604で検索された脆弱性事例レコードの数で按分し、按分した報酬を当該脆弱性事例レコードの該当する脆弱性の報酬に加算して更新する。
Next, the
例えば、ステップS2603で算出された「第1脆弱性」の脆弱性モデル情報に対する報酬の50円を、ステップS2604で検索された事例システムの名称である「第2事例システム」と「第3事例システム」の2件のレコードで按分し、「第2事例システム」と「第3事例システム」の各レコードにおける「第1脆弱性」の「報酬」の欄に、50円÷2=25円を加算する。また、「第3脆弱性」の脆弱性モデル情報に対する報酬の50円を、「第3脆弱性」を登録した事例システムの名称である「第1事例システム」のレコードの「第3脆弱性」の「報酬」の欄に加算する。 For example, the reward of 50 yen for the vulnerability model information of the "first vulnerability" calculated in step S2603 is the name of the case system searched in step S2604, "second case system" and "third case system". , And add 50 yen / 2 = 25 yen to the "Reward" column of "1st vulnerability" in each record of "2nd case system" and "3rd case system". To do. In addition, the reward of 50 yen for the vulnerability model information of "3rd vulnerability" is "3rd vulnerability" in the record of "1st case system" which is the name of the case system in which "3rd vulnerability" is registered. Add to the "Reward" column of.
対象システム管理テーブル2200及び脆弱性事例情報管理テーブル2300は、「第1脆弱性」、「第2脆弱性」、「第3脆弱性」の脆弱性識別情報で結び付けられているので、対象システム管理テーブル2200で管理する利用料の一部を、脆弱性事例情報管理テーブル2300で管理する脆弱性モデル情報の報酬として配分することが可能となる。 Since the target system management table 2200 and the vulnerability case information management table 2300 are linked by the vulnerability identification information of "first vulnerability", "second vulnerability", and "third vulnerability", the target system management A part of the usage fee managed in Table 2200 can be allocated as a reward for the vulnerability model information managed in the Vulnerability Case Information Management Table 2300.
なお、脆弱性事例情報の情報登録者IRに対するインセンティブの配賦方法は、前述した例に限定されるものではない。別方法として、例えば、脆弱性事例情報管理テーブル2300の各脆弱性情報について、該脆弱性の利用単価をあらかじめ設定して格納しておく方法も考えられる。この場合、対象システム管理テーブル2200のサービス利用料の算出時に、対象システムが含む脆弱性識別情報に応じて、その脆弱性識別情報に対応する脆弱性の利用単価を脆弱性事例情報管理テーブル2300から検索し、該利用単価を積み上げることで、分析サービス利用料に対して脆弱性データ利用料を反映させることとなる。 The method of allocating the incentive to the information registrant IR of the vulnerability case information is not limited to the above-mentioned example. As another method, for example, for each vulnerability information in the vulnerability case information management table 2300, a method of setting and storing the usage unit price of the vulnerability in advance can be considered. In this case, when calculating the service usage fee of the target system management table 2200, the usage unit price of the vulnerability corresponding to the vulnerability identification information included in the target system is calculated from the vulnerability case information management table 2300. By searching and accumulating the usage unit price, the vulnerability data usage fee will be reflected in the analysis service usage fee.
ステップS2605の後、実行部180は、対象システム管理テーブル2200に、利用料が未請求の結果レコードがなくなるまで、ステップS2601〜ステップS2605の各ステップを繰り返す。
After step S2605, the
対象システム管理テーブル2200に利用料が未請求の結果レコードがなくなった場合、実行部180は、脆弱性事例情報管理テーブル2300に登録された各事例システムについて、当該事例システムに含まれる全ての脆弱性の報酬を合計して合計額を算出し、該算出した報酬合計額を各情報登録者IRに支払う(S2606)。
ステップS2606の後、実行部180は、課金情報管理処理S2600を終了する。When there are no records in the target system management table 2200 as a result of not charging the usage fee, the
After step S2606, the
このように、本実施形態の脅威分析装置200、脅威分析方法、及び脅威分析プログラムによれば、脅威分析を行った対象システムに対して利用料が算出される。これにより、サービス利用者に利用料を請求することで、利用料の一部をサービス利用者以外の者、例えば情報登録者に報酬として還元(フィードバック)することができる。
As described above, according to the
また、本実施形態の脅威分析装置200、脅威分析方法、及び脅威分析プログラムによれば、脅威分析の結果、対象システムが脆弱性を含むときに、当該脆弱性に対応する脆弱性モデル情報1100〜1300に対する報酬が、対象システムの利用料に基づいて算出される。これにより、脆弱性モデル情報1100〜1300の情報登録者IRに登録のインセンティブを与えることができる。従って、登録と利用のサイクルがうまく回転し、脅威分析のサービス事業が継続的事業として成立することできる。
Further, according to the
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。各実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。 The embodiments described above are for facilitating the understanding of the present invention, and are not for limiting and interpreting the present invention. Each element included in each embodiment and its arrangement, material, condition, shape, size, etc. are not limited to those exemplified, and can be changed as appropriate. In addition, the configurations shown in different embodiments can be partially replaced or combined.
100…脅威分析装置、101…バス、102…中央情報処理装置(CPU)、103…入出力プロセッサ(IOP)、104…表示装置、105…入力装置、106…二次記憶装置、107…主記憶装置、120…対象システム設計情報、130…脆弱性事例情報、140…システム仕様情報、150…第1取得部、160…第2取得部、170…更新部、180…実行部、200…脅威分析装置、210…利用料算出部、220…報酬算出部、400…機能ブロック定義情報、410…車両電子制御ユニット(ECU)、411…バス、414…主記憶装置、415…ハーネス(通信アダプタ)、416…CANBus通信アダプタ、417…車両電子制御機能アプリケーション、420…車両通信ゲートウェイ(GW)、428…車両通信制御機能アプリケーション、429b…情報表示機能アプリケーション、430…コンソールディスプレイ(CD)、438…ブラウザ(Webkit)、439a…車両情報表示機能アプリケーション、439b…Web情報表示機能アプリケーション、440…Webサーバ(WS)、448…Webサーバ(httpd)、449…Web情報サーバ機能アプリケーション、450…CANBus、451…Ethernet、500〜900…機能アプリケーションモデル情報、1000…システム構成要素関係情報、1100〜1300…脆弱性モデル情報、S1400…脅威分析処理、S1500…脆弱アプリケーション検索処理、1900…脅威分析結果情報、1950…攻撃経路ツリー、1961…Web情報表示機能アプリケーション、1962…Web情報サーバ機能アプリケーション、1963…通信経路、1964…通信経路、2200…対象システム管理テーブル、2300…脆弱性事例情報管理テーブル、S2400…脆弱性事例情報登録処理、S2500…脅威分析サービス管理処理、S2600…課金情報管理処理、IR…情報登録者、SU…サービス利用者、U…ユーザ。 100 ... Threat analyzer, 101 ... Bus, 102 ... Central information processing device (CPU), 103 ... Input / output processor (IOP), 104 ... Display device, 105 ... Input device, 106 ... Secondary storage device, 107 ... Main storage Device, 120 ... Target system design information, 130 ... Vulnerability case information, 140 ... System specification information, 150 ... 1st acquisition department, 160 ... 2nd acquisition department, 170 ... Update department, 180 ... Execution department, 200 ... Threat analysis Device, 210 ... Usage fee calculation unit, 220 ... Reward calculation unit, 400 ... Functional block definition information, 410 ... Vehicle electronic control unit (ECU), 411 ... Bus, 414 ... Main storage device, 415 ... Harness (communication adapter), 416 ... CANBus communication adapter, 417 ... Vehicle electronic control function application, 420 ... Vehicle communication gateway (GW), 428 ... Vehicle communication control function application, 229b ... Information display function application, 430 ... Console display (CD), 438 ... Browser ( Webkit), 439a ... Vehicle information display function application, 439b ... Web information display function application, 440 ... Web server (WS), 448 ... Web server (http), 449 ... Web information server function application, 450 ... CANBus, 451 ... Ethernet , 500-900 ... Functional application model information, 1000 ... System component related information, 1100-1300 ... Vulnerability model information, S1400 ... Threat analysis processing, S1500 ... Vulnerable application search processing, 1900 ... Threat analysis result information, 1950 ... Attack Route tree, 1961 ... Web information display function application, 1962 ... Web information server function application, 1963 ... Communication route, 1964 ... Communication route, 2200 ... Target system management table, 2300 ... Vulnerability case information management table, S2400 ... Vulnerability case Information registration process, S2500 ... Threat analysis service management process, S2600 ... Billing information management process, IR ... Information registrant, SU ... Service user, U ... User.
Claims (11)
事例システムに含まれる脆弱性について前記システム仕様情報を用いてモデル化した脆弱性モデル情報を取得する第2取得部と、
前記機能アプリケーションモデル情報と前記脆弱性モデル情報とに基づいて前記対象システムの脅威分析を行う実行部と、を備える、
脅威分析装置。For the functional application included in the target system, the first acquisition unit that acquires the functional application model information modeled using the system specification information for defining the system specifications, and
A second acquisition unit that acquires vulnerability model information modeled using the system specification information for vulnerabilities included in the case system,
It includes an execution unit that performs threat analysis of the target system based on the functional application model information and the vulnerability model information.
Threat analyzer.
前記第2取得部は、複数の前記脆弱性モデル情報を取得し、
前記機能アプリケーションモデル情報が前記複数の脆弱性モデル情報のうちの少なくとも一つの前記攻撃条件を満たすときに、該脆弱性モデル情報の前記攻撃成立条件及び前記攻撃結果の情報に基づいて前記機能アプリケーションモデル情報の一部を更新する更新部をさらに備え、
前記実行部は、更新された前記機能アプリケーションモデル情報と前記複数の脆弱性モデル情報とに基づいて前記対象システムの脅威分析を行う、
請求項1に記載の脅威分析装置。The vulnerability model information includes information on attack establishment conditions and attack results.
The second acquisition unit acquires a plurality of the vulnerability model information.
When the functional application model information satisfies at least one of the attack conditions of the plurality of vulnerability model information, the functional application model is based on the attack establishment condition and the attack result information of the vulnerability model information. It also has an update section that updates part of the information.
The execution unit performs threat analysis of the target system based on the updated functional application model information and the plurality of vulnerability model information.
The threat analyzer according to claim 1.
前記第1取得部は、前記第1機能アプリケーションの前記機能アプリケーションモデル情報と前記第2機能アプリケーションの前記機能アプリケーションモデル情報とを取得し、
前記実行部は、前記第1機能アプリケーションの前記機能アプリケーションモデル情報及び前記第2機能アプリケーションの前記機能アプリケーションモデル情報と、前記脆弱性モデル情報とに基づいて前記対象システムの脅威分析を行う、
請求項1又は2に記載の脅威分析装置。The target system includes a first function application and a second function application capable of communicating with the first function application.
The first acquisition unit acquires the functional application model information of the first functional application and the functional application model information of the second functional application.
The execution unit performs threat analysis of the target system based on the functional application model information of the first functional application, the functional application model information of the second functional application, and the vulnerability model information.
The threat analyzer according to claim 1 or 2.
請求項1から3のいずれか一項に記載の脅威分析装置。A usage fee calculation unit for calculating a usage fee for the target system for which the threat analysis has been performed is further provided.
The threat analyzer according to any one of claims 1 to 3.
請求項4に記載の脅威分析装置。As a result of the threat analysis, when the target system includes a vulnerability, it further includes a reward calculation unit that calculates a reward for the vulnerability model information corresponding to the vulnerability based on the usage fee.
The threat analyzer according to claim 4.
事例システムに含まれる脆弱性について前記システム仕様情報を用いてモデル化した脆弱性モデル情報を取得する第2取得ステップと、
前記機能アプリケーションモデル情報と前記脆弱性モデル情報とに基づいて前記対象システムの脅威分析を行う実行ステップと、を含む、
脅威分析方法。For the functional application included in the target system, the first acquisition step to acquire the functional application model information modeled using the system specification information for defining the system specifications, and
The second acquisition step to acquire the vulnerability model information modeled using the system specification information for the vulnerability included in the case system, and
Including an execution step of performing a threat analysis of the target system based on the functional application model information and the vulnerability model information.
Threat analysis method.
前記第2取得ステップは、複数の前記脆弱性モデル情報を取得し、
前記機能アプリケーションモデル情報が前記複数の脆弱性モデル情報のうちの少なくとも一つの前記攻撃条件を満たすときに、該脆弱性モデル情報の前記攻撃成立条件及び前記攻撃結果の情報に基づいて前記機能アプリケーションモデル情報の一部を更新する更新ステップをさらに含み、
前記実行ステップは、更新された前記機能アプリケーションモデル情報と前記複数の脆弱性モデル情報とに基づいて前記対象システムの脅威分析を行うことを含む、
請求項6に記載の脅威分析方法。The vulnerability model information includes information on attack establishment conditions and attack results, and the second acquisition step acquires a plurality of the vulnerability model information.
When the functional application model information satisfies at least one of the attack conditions of the plurality of vulnerability model information, the functional application model is based on the attack establishment condition and the attack result information of the vulnerability model information. Includes additional update steps to update some of the information
The execution step includes performing a threat analysis of the target system based on the updated functional application model information and the plurality of vulnerability model information.
The threat analysis method according to claim 6.
前記第1取得ステップは、前記第1機能アプリケーションの前記機能アプリケーションモデル情報と前記第2機能アプリケーションの前記機能アプリケーションモデル情報とを取得し、
前記実行ステップは、前記第1機能アプリケーションの前記機能アプリケーションモデル情報及び前記第2機能アプリケーションの前記機能アプリケーションモデル情報と、前記脆弱性モデル情報とに基づいて前記対象システムの脅威分析を行うことを含む、
請求項6又は7に記載の脅威分析方法。The target system includes a first function application and a second function application capable of communicating with the first function application.
The first acquisition step acquires the functional application model information of the first functional application and the functional application model information of the second functional application.
The execution step includes performing threat analysis of the target system based on the functional application model information of the first functional application, the functional application model information of the second functional application, and the vulnerability model information. ,
The threat analysis method according to claim 6 or 7.
請求項6から8のいずれか一項に記載の脅威分析方法。A usage fee calculation step for calculating a usage fee for the target system for which the threat analysis has been performed is further included.
The threat analysis method according to any one of claims 6 to 8.
請求項9に記載の脅威分析方法。As a result of the threat analysis, when the target system contains a vulnerability, the reward calculation step of calculating the reward for the vulnerability model information corresponding to the vulnerability based on the usage fee is further included.
The threat analysis method according to claim 9.
対象システムに含まれる機能アプリケーションについて、システムの仕様を規定するためのシステム仕様情報を用いてモデル化した機能アプリケーションモデル情報を取得する第1取得ステップと、
事例システムに含まれる脆弱性について前記システム仕様情報を用いてモデル化した脆弱性モデル情報を取得する第2取得ステップと、
前記機能アプリケーションモデル情報と前記脆弱性モデル情報とに基づいて前記対象システムの脅威分析を行う実行ステップと、を含む、
脅威分析プログラム。A threat analysis program that runs on a computer
For the functional application included in the target system, the first acquisition step to acquire the functional application model information modeled using the system specification information for defining the system specifications, and
The second acquisition step to acquire the vulnerability model information modeled using the system specification information for the vulnerability included in the case system, and
Including an execution step of performing a threat analysis of the target system based on the functional application model information and the vulnerability model information.
Threat analysis program.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017217474 | 2017-11-10 | ||
JP2017217474 | 2017-11-10 | ||
PCT/JP2018/037907 WO2019093059A1 (en) | 2017-11-10 | 2018-10-11 | Threat analysis device, threat analysis method, and threat analysis program |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2019093059A1 true JPWO2019093059A1 (en) | 2020-10-01 |
Family
ID=66438835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019552672A Pending JPWO2019093059A1 (en) | 2017-11-10 | 2018-10-11 | Threat analyzers, threat analysis methods, and threat analysis programs |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2019093059A1 (en) |
WO (1) | WO2019093059A1 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021005165A (en) * | 2019-06-25 | 2021-01-14 | 株式会社日立製作所 | Incident scenario generation device and incident scenario generation system |
WO2021059518A1 (en) * | 2019-09-27 | 2021-04-01 | 日本電気株式会社 | Analysis system, method, and program |
WO2021059519A1 (en) * | 2019-09-27 | 2021-04-01 | 日本電気株式会社 | Analysis system, method, and program |
WO2021240770A1 (en) * | 2020-05-29 | 2021-12-02 | Nec Corporation | Knowledge generation apparatus, control method, and storage device |
CN112165469B (en) * | 2020-09-18 | 2023-04-18 | 中国船舶重工集团公司第七一四研究所 | Method for detecting deformed shell |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4733885B2 (en) * | 2001-09-29 | 2011-07-27 | 株式会社東芝 | Vulnerability assessment program, method and system |
JP2009110334A (en) * | 2007-10-31 | 2009-05-21 | Mitsubishi Electric Corp | Terminal, security system, terminal program, and security information management method |
JP5825117B2 (en) * | 2012-01-24 | 2015-12-02 | 富士通株式会社 | Design support program, design support method, and design support apparatus |
-
2018
- 2018-10-11 WO PCT/JP2018/037907 patent/WO2019093059A1/en active Application Filing
- 2018-10-11 JP JP2019552672A patent/JPWO2019093059A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2019093059A1 (en) | 2019-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPWO2019093059A1 (en) | Threat analyzers, threat analysis methods, and threat analysis programs | |
US9727649B2 (en) | Use of stored search results by a travel search system | |
US20240086471A1 (en) | Data search and analysis for distributed data systems | |
Giurgiu et al. | Calling the cloud: Enabling mobile phones as interfaces to cloud applications | |
US8019860B2 (en) | Service accounting method and apparatus for composite service | |
CN109672741A (en) | Micro services monitoring method, device, computer equipment and storage medium | |
US9491223B2 (en) | Techniques for determining a mobile application download attribution | |
US20070136278A1 (en) | Computer network | |
CN104793932A (en) | Method and device used for software release | |
CN104601408A (en) | Website data statistics and analysis method and system used for non-open network environment | |
CN113961332A (en) | Method and device for realizing workflow engine, electronic equipment and storage medium | |
CN106067879B (en) | The detection method and device of information | |
CN112308515A (en) | NDC (network data center) processing system for NDC aggregator and service request processing method thereof | |
CN111209325A (en) | Service system interface identification method, device and storage medium | |
JP2016162016A (en) | Management information acquisition program, management information acquisition method, and management information acquisition device | |
EP3188010A1 (en) | System and method for creating an integrated digital platform | |
CN113923250B (en) | Method, device and system for assisting network service arrangement | |
JP2003044602A (en) | Apparatus for providing application and method therefor | |
JP2013164647A (en) | Time limit data history management system | |
JP2007026296A (en) | Integrated retrieval processing method and device | |
KR102003941B1 (en) | System for integrated management of service | |
KR20220106435A (en) | Method and system for collecting user inforamtion according to providing virtual desktop infrastructure service | |
CN112527426A (en) | Graphical interface interaction method and system based on behavior data analysis | |
Ruiz et al. | Applying a web engineering method to design web services | |
JPH10222357A (en) | Method for constructing software by data reutilization and its system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A80 | Written request to apply exceptions to lack of novelty of invention |
Free format text: JAPANESE INTERMEDIATE CODE: A80 Effective date: 20191224 |