JPWO2020136793A1 - Information processing equipment, information processing methods and information processing programs - Google Patents
Information processing equipment, information processing methods and information processing programs Download PDFInfo
- Publication number
- JPWO2020136793A1 JPWO2020136793A1 JP2019520661A JP2019520661A JPWO2020136793A1 JP WO2020136793 A1 JPWO2020136793 A1 JP WO2020136793A1 JP 2019520661 A JP2019520661 A JP 2019520661A JP 2019520661 A JP2019520661 A JP 2019520661A JP WO2020136793 A1 JPWO2020136793 A1 JP WO2020136793A1
- Authority
- JP
- Japan
- Prior art keywords
- information
- variable
- vulnerability
- type
- candidate
- 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.)
- Granted
Links
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
変数判別部(22)は、機器で実行されるプログラムに含まれる複数の変数の各々の種別を判別する。候補生成部(23)は、変数判別部(22)により判別された複数の変数の各々の種別と、機器が用いる複数の情報資産の各々の種別とを比較し、複数の情報資産の各々と複数の変数の各々との対応関係の候補を1つ以上生成する。The variable determination unit (22) determines the type of each of the plurality of variables included in the program executed by the device. The candidate generation unit (23) compares each type of the plurality of variables determined by the variable determination unit (22) with each type of the plurality of information assets used by the device, and compares each type of the plurality of information assets with each of the plurality of information assets. Generate one or more candidates for correspondence with each of a plurality of variables.
Description
本発明は、脆弱性分析に関する。 The present invention relates to vulnerability analysis.
セキュリティを考慮した開発プロセスでは、セキュリティ上の問題である脆弱性を作りこまないようにするために、開発上流の段階からセキュリティに関する分析や検討を行う。まず、システム設計等の開発上流フェーズで、開発対象システムで発生してはならない脅威を洗い出すための脅威分析を実施する(例えば、通信路を流れる機密情報が盗聴される等の脅威が洗い出される)。そして、脅威分析の結果に基づき、その脅威に至らないようにするための対策の方針を検討する(例えば、通信路を暗号化する必要がある等)。更に開発フェーズが進み設計及び実装の段階になると、開発対象システムを実現するための処理内容及び処理内容を実現するプログラムの具体的な実現方法に適したセキュリティ機能や運用方法を検討する。そして、検討結果を設計及び実装に盛り込む。設計及び実装の最終段階では、設計及び実装したプログラムに脆弱性がないかを確認するための分析を行う。 In the development process that considers security, security analysis and examination are conducted from the upstream stage of development in order to prevent the creation of vulnerabilities, which are security problems. First, in the upstream phase of development such as system design, threat analysis is conducted to identify threats that should not occur in the system to be developed (for example, threats such as eavesdropping of confidential information flowing through the communication path are identified. ). Then, based on the results of the threat analysis, consider the policy of measures to prevent the threat (for example, it is necessary to encrypt the communication path). As the development phase progresses to the design and implementation stages, the processing content for realizing the system to be developed and the security functions and operation methods suitable for the specific implementation method of the program that realizes the processing content will be examined. Then, the examination results are incorporated into the design and implementation. At the final stage of design and implementation, analysis is performed to confirm whether the designed and implemented program is vulnerable.
脆弱性がないかを確認する脆弱性分析装置の実現方法の一つとして、設計及び実装したプログラムの仕様又はプログラム自身を静的に分析する技術が存在する。
従来の脆弱性分析装置は、予め定められたルールに従い汚染分析等の分析技術を使ってプログラムのソースコードを分析する(例えば、特許文献1)。
また、プログラムの仕様をモデルで形式的に記述し、モデル検査と呼ばれる形式手法を使ってプログラムの動作が脆弱性を発生させる性質を満たすかを数学的に証明する手法も提案されている(例えば、特許文献2)。As one of the methods for realizing a vulnerability analyzer for confirming whether or not there is a vulnerability, there is a technique for statically analyzing the specifications of a designed and implemented program or the program itself.
The conventional vulnerability analyzer analyzes the source code of the program by using an analysis technique such as pollution analysis according to a predetermined rule (for example, Patent Document 1).
In addition, a method has been proposed in which the specifications of a program are formally described by a model, and a formal method called model checking is used to mathematically prove whether the behavior of the program satisfies the property of causing a vulnerability (for example). , Patent Document 2).
特許文献1の手法では、予め決められたルールに従いプログラムのソースコードを分析する。このため、上流工程で実施した脅威分析の後に検討したセキュリティ対策の設計及び実装の抜けや誤りに起因する脆弱性の確認ができない。
また、特許文献2の手法では、証明すべき対象の性質を定義または選択すれば検証が可能である。証明すべき対象の性質を正しく定義または選択するには、設計及び実装の仕様が正しくはどうなるべきかの詳細までを把握する必要がある。しかし、脅威分析は設計及び実装の仕様が未確定である開発上流フェーズで実施するものである。このため、脅威分析の結果とプログラムを設計及び実装した仕様とを対応付けて、証明すべき対象の性質を定義または選択することは非常に手間がかかる。また、プログラムの仕様を静的に分析する手法では、プログラム全体を分析対象とすると、メモリ等の計算機リソースを多く必要とし、計算時間も長くなる。In the method of
Further, in the method of
効率的に脆弱性分析を行うためには、上流工程での脅威分析後のセキュリティ対策が盛り込まれたプログラム(機器で実行されるプログラム)内の部分と当該機器が用いる情報資産との関係と、機器の情報資産と脆弱性との関係とを明確にすることが有用である。
このような観点より、本発明は、プログラム内の部分と情報資産と脆弱性との対応関係の明確化に資することを主な目的とする。In order to perform vulnerability analysis efficiently, the relationship between the part in the program (program executed by the device) that incorporates security measures after threat analysis in the upstream process and the information assets used by the device, and It is useful to clarify the relationship between device information assets and vulnerabilities.
From this point of view, it is a main object of the present invention to contribute to clarifying the correspondence between the part in the program, the information asset, and the vulnerability.
本発明に係る情報処理装置は、
機器で実行されるプログラムに含まれる複数の変数の各々の種別を判別する変数判別部と、
前記変数判別部により判別された前記複数の変数の各々の種別と、前記機器が用いる複数の情報資産の各々の種別とを比較し、前記複数の情報資産の各々と前記複数の変数の各々との対応関係の候補を1つ以上生成する候補生成部とを有する。The information processing device according to the present invention is
A variable discriminator that discriminates each type of multiple variables included in the program executed by the device,
Each type of the plurality of variables determined by the variable discriminating unit is compared with each type of the plurality of information assets used by the device, and each of the plurality of information assets and each of the plurality of variables It has a candidate generation unit that generates one or more candidates of the correspondence relationship of.
本発明によれば、機器で実行されるプログラムに含まれる変数と機器が用いる情報資産との対応関係の候補を生成するため、プログラム内の部分と情報資産と脆弱性との対応関係の明確化に資することができる。 According to the present invention, in order to generate candidates for the correspondence between the variables included in the program executed by the device and the information assets used by the device, the correspondence between the part in the program, the information assets and the vulnerability is clarified. Can contribute to.
以下、本発明の実施の形態について、図を用いて説明する。以下の実施の形態の説明及び図面において、同一の符号を付したものは、同一の部分又は相当する部分を示す。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the following description and drawings of the embodiments, those having the same reference numerals indicate the same parts or corresponding parts.
実施の形態1.
***構成の説明***
図1を参照して、実施の形態1に係る脆弱性分析装置10の構成を説明する。
脆弱性分析装置10は、情報処理装置に相当する。
*** Explanation of configuration ***
The configuration of the
The
脆弱性分析装置10は、コンピュータである。脆弱性分析装置10は、プロセッサ11と、メモリ12と、ストレージ13と、通信インタフェース14といったハードウェアを備える。信号線を介してプロプロセッサ11と他のハードウェアとは接続され、プロセッサ11はこれら他のハードウェアを制御する。
The
プロセッサ11は、プロセッシングを行うIC(Integrated Circuit)である。プロセッサ11は、具体例としては、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。なお、図1では、プロセッサ11は、1つだけ示されている。しかし、プロセッサ11は、複数であってもよく、複数のプロセッサ11が、各機能を実現するプログラムを連携して実行してもよい。
The
メモリ12は、プロセッサ11のプロセッシングのためにデータを一時的に記憶する記憶装置である。メモリ12は、具体例としては、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)である。
The
ストレージ13は、データを保管する記憶装置である。ストレージ13は、具体例としては、HDD(Hard Disk Drive)である。また、ストレージ13は、SSD(Solide State Drive)でも良い。また、ストレージ13は、SD(登録商標、Secure Digital)メモリカード、CF(CompactFlash、登録商標)、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD(Digital Versatile Disk)といった可搬記録媒体であってもよい。
The
通信インタフェース14は、外部の装置と通信するためのインタフェースである。通信インタフェース14は、具体例としては、Ethernet(登録商標)、USB(Universal Serial Bus)、HDMI(登録商標、High−Definition Multimedia Interface)のポートである。
The
脆弱性分析装置10は、機能構成要素として、第1の受付部21、変数判別部22、候補生成部23、第2の受付部24、関連脅威抽出部25、脆弱性候補抽出部26、脆弱性分析部27を備える。第2の受付部24は、出力部に相当する。
脆弱性分析装置10の各機能構成要素の機能はプログラムにより実現される。The
The functions of each functional component of the
脆弱性分析装置10の各機能構成要素の機能を実現するプログラムは、ストレージ13に格納されている。このプログラムは、プロセッサ11によりメモリ12に読み込まれ、プロセッサ11によって実行される。これにより、脆弱性分析装置10の各機能構成要素の機能が実現される。
A program that realizes the functions of each functional component of the
脆弱性分析装置10の各機能構成要素の機能は、そのプログラムで行う分析の動作を決定する情報及び判断の条件を決定する情報をストレージ13に保存されるデータベースや設定ファイルから読み込みこんでも良い。また、分析の動作を決定する情報及び判断の条件を決定する情報をプログラムの一部としても良い。例えば、本実施の形態では、変数判別部22は処理種別DB31を読み込んで分析の動作を変更する。また、脆弱性候補抽出部26は脅威−脆弱性対応DB32を読み込んで分析の動作を変更する。
The function of each functional component of the
なお、図1では脆弱性分析装置10が1台のみでの構成を例示した。これに代えて、複数のコンピュータがネットワークを経由して接続され、複数のコンピュータが協働して、脆弱性分析システムを構成するようにしてもよい。
更に、図1では、利用者が脆弱性分析装置10への入力や出力を行うための入出力装置が通信インタフェース14を介して接続されることが想定されている。これに代えて、脆弱性分析装置10に入力や出力を行うためのインタフェースを設け、脆弱性分析装置10を利用者が直接操作するようにしてもよい。Note that FIG. 1 illustrates a configuration in which only one
Further, in FIG. 1, it is assumed that an input / output device for the user to input or output to the
***動作の説明***
図2から図15を参照して、実施の形態1に係る脆弱性分析装置10の動作を説明する。なお、以下に示す脆弱性分析装置10の動作は、情報処理方法及び情報処理プログラムに相当する。*** Explanation of operation ***
The operation of the
図2は、実施の形態1に係る脆弱性分析装置10の全体動作を示すフローチャートである。
FIG. 2 is a flowchart showing the overall operation of the
最初に、第1の受付部21が、分析に必要な各種情報の入力を受け付ける(ステップS1)。
ステップS1では、第1の受付部21は、後述する情報資産フロー41(図3)、プログラム仕様42(図4)、構成要素とプログラム仕様の対応関係43(図5)、脅威分析結果44(図6)を受け付ける。First, the
In step S1, the
また、変数判別部22が、プログラム仕様42で表されるプログラムに含まれる変数を抽出し、抽出した変数の種別を判別する(ステップS2)。
後述するように、プログラム仕様42は、開発対象の機器で実行されるプログラム(ソースコード)又はプログラムの特徴が記載される情報(フローチャート、UML(Unified Modeling Language)又はSysMLのアクティビティ図又はシーケンス図等)である。
変数判別部22は、抽出した変数の種別として、抽出した変数が入力変数、出力変数、内部利用変数のいずれであるかを判別する。Further, the
As will be described later, the
The
次に、候補生成部23が、情報資産と変数の対応関係の候補を生成する(ステップS3)。
候補生成部23は、変数判別部22により判別された変数の種別と、機器が用いる情報資産の種別とを比較し、情報資産と変数の対応関係の候補を1つ以上生成する。
情報資産とは、本明細書では、脅威分析により構成要素(機器)が用いると判定された情報である。具体的には、構成要素(機器)の情報資産は、情報資産フロー41(図3)に記述されている。
情報資産の種別には、機器に入力される情報資産である入力情報資産、機器から機器の外部に出力される情報資産である出力情報資産、機器の内部で利用される情報資産である内部利用情報資産がある。
候補生成部23は、入力情報資産と入力変数、出力情報資産と出力変数、内部利用情報資産と内部利用変数とを対応付けて対応関係の候補を生成する。Next, the
The
The information asset is the information determined to be used by the component (equipment) by the threat analysis in the present specification. Specifically, the information assets of the constituent elements (equipment) are described in the information asset flow 41 (FIG. 3).
The types of information assets include input information assets, which are information assets input to the device, output information assets, which are information assets output from the device to the outside of the device, and internal use, which is information assets used inside the device. There are information assets.
The
なお、対応関係の候補が複数存在する場合には、第2の受付部24が複数の対応関係の候補を出力する。そして、第2の受付部24は、脆弱性分析装置10の利用者による、対応関係の選択を受け付ける(ステップS4)。
つまり、第2の受付部24は、複数の対応関係の候補を例えば入出力装置に表示し、脆弱性分析装置10の利用者が表示された複数の対応関係の候補の中から該当する対応関係を選択する。そして、第2の受付部24が、利用者からの選択を受け付ける。When there are a plurality of correspondence relationship candidates, the
That is, the
次に、関連脅威抽出部25が、情報資産と変数との対応関係に基づき、関連する脅威を抽出する(ステップS5)。
つまり、ステップS3で対応関係の候補が1つだけ生成された場合は、関連脅威抽出部25は、1つだけ生成された対応関係の候補に基づき、関連する脅威を抽出する。一方、ステップS3で対応関係の候補が複数生成され、ステップS4での対応関係の選択が受け付けられた場合は、ステップS4で選択された対応関係に基づき、関連する脅威を抽出する。
関連脅威抽出部25は、具体的には、ステップS1で受け付けた脅威分析結果44(図6)から関連する脅威を抽出する。Next, the related
That is, when only one correspondence relationship candidate is generated in step S3, the related
Specifically, the related
次に、脆弱性候補抽出部26が、関連する脅威に至る攻撃に利用される恐れのある脆弱性の種別の候補を抽出する(ステップS6)。
Next, the vulnerability
最後に、脆弱性分析部27が、脆弱性の種別の候補がプログラム仕様42の記述で発生し得るかを調べるための脆弱性分析を実施し、分析結果を出力する(ステップS7)。
Finally, the
次に、図2の各ステップの動作を順次説明していく。 Next, the operation of each step in FIG. 2 will be sequentially described.
(図2のステップS1:第1の受付処理)
第1の受付部21は、情報資産フロー41(図3)と、プログラム仕様42(図4)と、構成要素とプログラム仕様の対応関係43(図5)と、脅威分析結果44(図6)とを受け付ける。(Step S1: First reception process in FIG. 2)
The
具体的には、通信インタフェース14を介して接続された入出力装置が利用者によって操作される。利用者の操作により、情報資産フロー41と、プログラム仕様42と、構成要素とプログラム仕様の対応関係43と、脅威分析結果44とが入力される。そして、第1の受付部21は、通信インタフェース14を介して入力された情報資産フロー41と、プログラム仕様42と、構成要素とプログラム仕様の対応関係43と、脅威分析結果44とを受け付ける。
更に、第1の受付部21は、情報資産フロー41と、プログラム仕様42と、構成要素とプログラム仕様の対応関係43と、脅威分析結果44とを、それぞれメモリ12に書き込む。Specifically, the input / output device connected via the
Further, the
図3を参照して、情報資産フロー41の一例を説明する。
An example of the
情報資産フロー41は、脅威分析が行われた後の情報資産の流れ(フロー)が整理されて得られる。情報資産フロー41は、開発対象システムに含まれる機器ごとに生成される。
情報資産フロー41には、開発対象システムを構成する構成要素(機器)である構成要素411と、構成要素411と関連する構成要素(機器)である関連要素412と、構成要素411と関連要素412との間の接続関係413と、情報資産の名称414と、情報資産の種別415とが含まれる。
情報資産の種別は、前述したように、入力情報資産、出力情報資産及び内部利用情報資産である。入力情報資産、出力情報資産及び内部利用情報資産以外の情報資産の種別があってもよい。
「入力」とは、構成要素411の外部から構成要素411に入力される情報資産のフローである。「出力」とは、構成要素411から構成要素411の外部に出力される情報資産のフローである。「内部利用」とは、構成要素411の内部のみで利用される情報資産のフローである。The
The
As described above, the types of information assets are input information assets, output information assets, and internal use information assets. There may be types of information assets other than input information assets, output information assets, and internal use information assets.
The “input” is a flow of information assets input to the
情報資産フロー41は、具体的には、図3に示すように、UMLのコミュニケーション図を拡張したような図で表わすことができる。図3において、矩形は構成要素411又は関連要素412を表わす。構成要素411は、図3の例では「コントローラ」である。また、関連要素412は、図3の例では、「HMI」と「デバイス」である。
接続関係413は、構成要素411と関連要素412とを結ぶ実線で表される。
更に、図3では、接続関係413の付近に矢印が示されている。これら矢印は情報資産のフローを表す。矢印の方向が情報資産のフローの方向を表す。
また、コントローラから接続関係413とは無関係に始点が丸である線も伸びている。この線も情報資産のフローを表す。この線は、構成要素411と関連要素412との間ではフローがないこと、つまり、内部利用情報資産であることを示す。
情報資産のフローの線の付近に配置されている文字列がそのフローで扱う情報資産の名称414である。また≪≫で囲まれる文字列は、情報資産の種別415である。例えば、図3中のHMIからコントローラに向かう矢印は情報資産「コマンド」が「HMI」から「コントローラ」に向かって流れることを意味する。そして、当該矢印は「コントローラ」の立場では、情報資産の種別415が「入力」(入力情報資産)であることを示す。また、「コントローラ」から伸びる始点が丸の線は、情報資産「MAC鍵」の種別415が「内部利用」(内部利用情報資産)であること、すなわち、情報資産「MAC鍵」がコントローラの内部で利用されることを示す。
なお、情報資産フロー41は、情報資産情報に相当する。Specifically, the
The
Further, in FIG. 3, an arrow is shown near the
In addition, a line having a round starting point extends from the controller regardless of the
The character string arranged near the line of the flow of the information asset is the
The
次に、図4を参照して、プログラム仕様42の一例を説明する。
Next, an example of the
プログラム仕様42は、脆弱性分析する対象のプログラムの名称421と変数の流れ(データフロー)や処理の流れ(制御フロー)を表現するプログラム処理内容422を含む。
具体的には、プログラム仕様42には、脅威分析が行われた後の開発対象システムに含まれる機器(図3の構成要素411に対応)で実行されるプログラム全体もしくはその一部となるロジックが記述される。開発対象システムに含まれる機器ごとにプログラム仕様42が記述される。
また、脆弱性分析の対象でない機器及びプログラムの一部については、プログラム仕様42を脆弱性分析装置10に入力しなくてもよい。The
Specifically, the
Further, for some devices and programs that are not subject to vulnerability analysis, the
なお、プログラム仕様42は、具体的には、ソースコードもしくはプログラムモデルである。
プログラムモデルとは、フローチャート、UML、SysMLのようなプログラムの構造及び動作を図表で記述できる情報である。プログラムモデルは、例えば、プログラム言語で記述されたソースコード、処理/判断をC言語等のプログラム言語の形式で記述(m=n+1やm=add(n,1)等)されたフローチャートである。プログラムモデルは、また、UML又はSysMLのアクティビティ図又はシーケンス図、DFD、制御工学等で用いられるブロック線図が該当する。プログラムモデルは、プロセッサ11(変数判別部22)でその内容を処理できるように、階層的な構造を表現できるデータ形式で記述されて保管される。プログラムモデルは、例えば、XML(Extensible Markup Language)とJSON(JavaScript(登録商標) Object Notation)といったデータ形式で記述される。例えば、図4は、構成要素「コントローラ」のHMIとの通信処理に関するプログラム仕様42の一例を示している。図4では、一般的なC言語のソースコードの形式で、コントローラで動作するプログラムの一部の動作内容が記述されている。
また、プログラムの名称421は、「PROGRAM_C.C」であり、プログラム処理内容422は、C言語の記述内容である。図4の例では、プログラムの名称421は、C言語のソースコードのファイル名で示しているが、脆弱性分析装置10が一意に各プログラム仕様42を判別できる情報であればどのような形式でも良い。なお、プログラムの名称421は、後述する構成要素とプログラム仕様の対応関係43で利用される。Specifically, the
The program model is information that can describe the structure and operation of a program such as a flowchart, UML, and SysML in a chart. The program model is, for example, a flowchart in which a source code written in a program language and processing / judgment are described in a program language format such as C language (m = n + 1 or m = add (n, 1), etc.). The program model also corresponds to an activity diagram or sequence diagram of UML or SysML, a block diagram used in DFD, control engineering, and the like. The program model is described and stored in a data format capable of expressing a hierarchical structure so that the processor 11 (variable determination unit 22) can process its contents. The program model is described in a data format such as XML (Extension Markup Language) and JSON (Javascript® Object Notification), for example. For example, FIG. 4 shows an example of a
Further, the
次に、図5を参照して、構成要素とプログラム仕様の対応関係43の一例を説明する。
Next, an example of the
構成要素とプログラム仕様の対応関係43は、脆弱性分析の対象とする構成要素431とプログラム仕様432との対応関係を示す。
構成要素とプログラム仕様の対応関係43は、例えば、図5のような表として表現することができる。図5では、構成要素「コントローラ」で検査対象となるプログラム仕様42が2つあり、それぞれが「PROGRAM_C.C」と「PROGRAM_D.C」である。
The
次に、図6を参照して、脅威分析結果44の一例を説明する。
Next, an example of the
脅威分析結果44には、開発対象システムに対する脅威分析の結果が示される。
脅威分析結果44には、脅威441、構成要素442、関係する情報資産443及び脅威の種別444が含まれる。
脅威441には、脅威の内容が示される。
構成要素442には、脅威が発生する構成要素または接続関係が示される。
関係する情報資産443には、脅威に関係する情報資産が示される。
脅威の種別444には、脅威が発生した際に情報資産に与える影響の種別が示される。脅威の種別444には、例えば、一般的に情報セキュリティの属性を示すのに使われるC、I、Aのうちのいずれかが示される。なお、Cは機密性、Iは完全性、Aは可用性を意味する。
脅威分析結果44は、例えば、図6のように表の形式で表すことができる。図6の例では、1行目のレコードには、脅威441として「推測による漏洩」が示され、構成要素442として脅威が発生する構成要素である「リモート端末」が示され、関係する情報資産443として推測の漏洩に関係する「パスワード」が示され、また、脅威の種別444として「C」が示される。The
The
The content of the threat is shown in the
The
The
The
The
(図2のステップS2:プログラム変数処理関係分析処理)
変数判別部22は、ステップS1で受け入れられたプログラム仕様42に含まれる変数が用いられている処理に基づいて、変数の種別を判別し、変数間の伝搬関係及び処理の順番を分析する。
より具体的には、変数判別部22は、変数が用いられている処理が、入力処理、出力処理及び内部利用処理のいずれであるかを判別する。入力処理とは、機器の外部から値を入力する処理である。出力処理は、機器の外部に値を出力する処理である。内部利用処理とは、機器の内部で値を利用する処理である。変数判別部22は、処理の種別に基づいて変数の種別を判別する。
また、変数間の伝搬関係とは、変数間でのプログラム内部での値の伝搬関係である。(Step S2 in FIG. 2: Program variable processing-related analysis processing)
The
More specifically, the
The propagation relationship between variables is the propagation relationship of values between variables within the program.
図7は、変数判別部22の動作例を説明するフローチャートである。
FIG. 7 is a flowchart illustrating an operation example of the
最初に、変数判別部22は、分析に必要な各種情報をメモリ12から読み込む(ステップS21)。
First, the
次に、変数判別部22は、プログラム仕様42に含まれる変数を抽出する(ステップS22)。
Next, the
次に、変数判別部22は、抽出した変数の種別を判別する(ステップS23)。
Next, the
次に、変数判別部22は、種別が判別できた各変数の伝搬関係及び処理順番を分析する(ステップS24)。
Next, the
最後に、変数判別部22は、分析した結果をメモリ12に書き込む(ステップS25)。
Finally, the
次に、図7のステップS21〜S26の詳細を説明する。 Next, the details of steps S21 to S26 of FIG. 7 will be described.
<図7のステップS21の詳細>
ステップS21では、変数判別部22は、ストレージ13から処理種別DB31を読み出し、処理種別DB31をメモリ12に書き込む。
次に、変数判別部22は、プログラム仕様42と処理種別DB31の情報をメモリ12から読み出す。
ここで、プログラム仕様42は、ステップS1で受け付けられたプログラム仕様42である。<Details of step S21 in FIG. 7>
In step S21, the
Next, the
Here, the
図8を参照して、処理種別DB31の一例を説明する。
An example of the
処理種別DB31には、処理名311と処理種別312とが含まれる。
処理名311には、プログラム仕様42に含まれる処理の名称が示される。
処理種別312には、処理名311に示される処理が、入力処理、出力処理及び内部利用処理(セキュリティ処理)のいずれに該当するかが示される。図8では、入力処理はInputと記されている。出力処理はOutputと記されている。内部利用処理(セキュリティ処理)はSecurityと記されている。
処理名311に示される処理は、関数、メソッド等である。
図8の例では、例えば、処理名receiveMessageの処理種別は入力処理(Input)である。The
The
The
The process shown in the
In the example of FIG. 8, for example, the processing type of the processing name receiveMessage is input processing (Input).
<図7のステップS22の詳細>
ステップS22では、変数判別部22は、ステップS21で読み込んだプログラム仕様42から変数を抽出する。変数の抽出処理はプログラム仕様42の記述方法による異なる。
本実施の形態で説明に用いているプログラム仕様42(ソースコード)では、コンパイラで用いられる字句解析と構文解析の技術を用いることで、変数を抽出することができる。ソースコード以外の記述の場合も、変数判別部22は、それぞれの記述ルールに従い変数を抽出する。<Details of step S22 in FIG. 7>
In step S22, the
In the program specification 42 (source code) used in the description in this embodiment, variables can be extracted by using the lexical analysis and parsing techniques used in the compiler. Even in the case of description other than the source code, the
<図7のステップS23の詳細>
ステップS23では、変数判別部22は、ステップS22で抽出された各変数の種別を判別する。
変数判別部22は、抽出した各変数が、処理種別DB31の処理名311に示される関数、メソッド等の処理に用いられているか否かを調べる。「処理に用いられている」とは、関数又はメソッドの引数として変数が用いられている、もしくは、関数又はメソッドの戻り値として変数が用いられていることを意味する。
抽出した変数が、処理名311に示される処理に用いられている場合は、変数判別部22は、対象の処理の処理種別312によって変数の種別を判別する。前述したように、変数判別部22は、処理の種別に基づいて、変数の種別を判別する。
より具体的には、例えば、プログラム仕様42がC言語で記述されている場合には、処理種別が「Input」であれば、変数判別部22は、戻り値又はアドレス渡しの引数(参照渡し引数も含む)で用いられた変数は「入力変数」と判定する。一方、処理種別が「Output」であれば、変数判別部22は、値渡しの引数で用いられた変数は「出力変数」と判別する。また、アドレス渡しの引数で用いられた変数は、変数判別部22は「入力変数」と「出力変数」の両者に判別する。また、変数判別部22は、戻値に用いられた変数は「入力変数」と判別する。更に、変数判別部22は、すべての変数に対して前述の判定を行った結果、いずれの種別にも判別されない変数であって、条件文に利用されている変数と、処理種別が「Secuirty」の関数の引数又は戻り値に用いられている変数は、「内部利用変数」と判別する。<Details of step S23 in FIG. 7>
In step S23, the
The
When the extracted variable is used for the process indicated by the
More specifically, for example, when the
例えば、図4で示したプログラム仕様42を、図8で示した処理種別DB31を使って、上記の判定規則で解析した場合には、msg、lenが「入力変数」になる。また、dev、val、retが「出力変数」になる。また、key、stateが「内部利用変数」になる。また、cmdは、いずれにも分類されない。
For example, when the
なお、図4の例では存在しないが、2以上の同じ変数が、それぞれ別の種別として判別できる場合には、それぞれの変数は別に取り扱う。例えば、変数msgを入力変数と判定した箇所とは異なる箇所で同じ変数msgが別の変数種別と判定できる場合は、変数判別部22は、それぞれを別の変数として取り扱う。また、変数判別部22は、同じ変数名でも区別できるようにする。変数判別部22は、例えば、msg:12といったように、変数名:行番号等の形式で各変数を一意に識別できるようにする。
Although it does not exist in the example of FIG. 4, if two or more of the same variables can be identified as different types, each variable is treated separately. For example, when the same variable msg can be determined to be a different variable type at a place different from the place where the variable msg is determined to be an input variable, the
また、上記では、ステップS23において、変数判別部22が処理種別DB31の情報を用いて変数の処理種別を判定する例を説明した。このように事前に生成されたルールに基づいて処理種別の判定が行われても良いし、変数判別部22に設定されたロジックにより行われても良い。
Further, in the above, in step S23, an example in which the
また、上記では、変数の種別を判定する処理では、関数での変数の扱われ方又は関数に事前に割り当てた処理種別によって、「入力変数」又は「出力変数」を決定している。更に、上記では、一定の条件を満たす変数を「内部利用変数」と判定している。しかしながら、変数の種別の判定規則として、別の規則を用いてもよい。
また、本実施の形態では、上記の判定規則は、変数判別部22の内部に保持されていることを想定しているが、ファイルやデータベースに判定規則が保持されていてもよい。また、判定規則を変更してもよい。Further, in the above, in the process of determining the type of the variable, the "input variable" or the "output variable" is determined depending on how the variable is handled by the function or the processing type assigned in advance to the function. Further, in the above, a variable satisfying a certain condition is determined as an "internal use variable". However, another rule may be used as a rule for determining the type of variable.
Further, in the present embodiment, it is assumed that the above-mentioned determination rule is held inside the
<図7のステップS24の詳細>
ステップS24では、変数判別部22が、ステップS23で種別が判定できた各変数の伝搬関係及び処理順番を分析する。伝搬関係とは、「入力変数」として判定した変数の値が他の変数に伝搬するデータフローのことである。変数判別部22は、既存の静的コード解析と同様に変数の代入関係等から伝搬関係を分析することができる。
例えば、図4で示したプログラム仕様42に、図8で示した処理種別DB31を使った場合には、変数判別部22は、図9の伝搬関係453を得ることになる。<Details of step S24 in FIG. 7>
In step S24, the
For example, when the
<図7のステップS25の詳細>
ステップS25では、変数判別部22は、ステップS21〜S24で分析した結果をプログラム変数処理関係45(図9)としてメモリ12に書き込む。<Details of step S25 in FIG. 7>
In step S25, the
図9を参照して、プログラム変数処理関係45の一例を説明する。
An example of the program
プログラム変数処理関係45は、プログラム仕様42内の変数について、変数判別部22の分析結果を表す。
プログラム変数処理関係45は、変数種別451、変数名452及び伝搬関係453を含む。
変数種別451には、変数判別部22の分析により得られた変数の種別が示される。
変数名452には、変数の名称が示される。
伝搬関係453には、前述したように、「入力変数」として判定した変数の値が他の変数に伝搬するデータフロー(伝搬関係)が示される。
図9に示す例では、変数名msgの変数種別は「入力変数」である。更に、伝搬関係453から、変数名msgは、出力変数dev、valに伝搬する。The program
The program
The
The
As described above, the
In the example shown in FIG. 9, the variable type of the variable name msg is “input variable”. Further, from the
(図2のステップS3:情報資産−変数対応推測処理)
候補生成部23は、ステップS1で入力された情報資産フロー41と、ステップS2で得られたプログラム変数処理関係45に基づき、情報資産と変数の対応関係の候補を生成する。(Step S3 in FIG. 2: Information asset-variable correspondence guessing process)
The
具体的には、候補生成部23は、情報資産フロー41とプログラム変数処理関係45とをメモリ12から読み出す。
次に、候補生成部23は、情報資産フロー41の「入力」とプログラム変数処理関係45の「入力変数」とをマッピングする。同様に、候補生成部23は、情報資産フロー41の「出力」とプログラム変数処理関係45の「出力変数」とをマッピングする。更に、候補生成部23は、情報資産フロー41の「内部利用」とプログラム変数処理関係45の「内部利用変数」とをマッピングする。このようにして、候補生成部23は、情報資産とプログラム仕様42の変数との組み合わせをすべて生成する。
そして、候補生成部23は、生成した対応関係の候補を、情報資産−変数対応関係候補46として、メモリ12に書き込む。Specifically, the
Next, the
Then, the
図10を参照して、情報資産−変数対応関係候補46の一例を説明する。
An example of the information asset-
情報資産−変数対応関係候補46は、候補名461、入力または内部利用の情報資産462、変数名463、伝搬関係464、出力の情報資産465からなる。
図10の例では、候補1では、入力の情報資産であるコマンドは、変数len及びmsgと対応付けられている。また、入力の情報資産である値は、変数ansと対応付けられている。また、内部利用の情報資産であるMAC鍵は、変数keyと対応付けられている。また、出力の情報資産である指示は、変数dev及びvalと対応付けられている。また、出力の情報資産である応答は、変数retと対応付けられている。
情報資産−変数対応関係候補46に示される複数の候補は、各々異なっている。The information asset-
In the example of FIG. 10, in
The plurality of candidates shown in the information asset-
(図2のステップS4:第2の受付処理)
ステップS3で生成された情報資産−変数対応関係候補46(図10)に複数の対応関係の候補が存在する場合は、第2の受付部24が情報資産−変数対応関係候補46を出力する。
そして、第2の受付部24は、利用者が選択した情報資産と変数の対応関係の選択を受け付ける。(Step S4 in FIG. 2: Second reception process)
When there are a plurality of correspondence candidate candidates in the information asset-variable correspondence candidate 46 (FIG. 10) generated in step S3, the
Then, the
具体的には、第2の受付部24は、情報資産−変数対応関係候補46をメモリ12から読み出す。情報資産−変数対応関係候補46に複数の対応関係の候補が存在する場合には、第2の受付部24は、情報資産−変数対応関係候補46を、通信インタフェース14を介して接続された入出力装置に送信する。
そして、入出力装置に情報資産−変数対応関係候補46が表示される。利用者は入出力装置に対する操作を行って、情報資産−変数対応関係候補46から情報資産−変数対応関係47を選択する。選択された情報資産−変数対応関係47が、通信インタフェース14を介して第2の受付部24に入力される。そして第2の受付部24は、通信インタフェース14を介して入力された情報資産−変数対応関係47を受け付ける。さらに第2の受付部24は、受け付けた情報資産−変数対応関係47をメモリ12に書き込む。情報資産−変数対応関係47は、実際の情報資産と変数との対応関係が示される、情報資産−変数対応関係候補46に含まれる対応関係の候補の1つである。
図10に示すように、情報資産−変数対応関係候補46には伝搬関係及び処理順番も含まれる。このため、利用者は伝搬関係及び処理順番を考慮して、情報資産−変数対応関係47を選択することができる。
ここでは、図10の候補1が、情報資産−変数対応関係47として選択されたものとする。
なお、情報資産−変数対応関係候補46に対応関係の候補が1つしかない場合は、ステップS4は行われないが、情報資産−変数対応関係候補46に含まれる当該対応関係の候補も、以下では、情報資産−変数対応関係47と称する。Specifically, the
Then, the information asset-
As shown in FIG. 10, the information asset-
Here, it is assumed that
If there is only one correspondence candidate in the information asset-
(図2のステップS5:関連脅威抽出処理)
関連脅威抽出部25は、情報資産−変数対応関係47に基づき、プログラム仕様42に関連する脅威の一覧を、関連脅威一覧48として抽出する。なお、関連脅威一覧48の抽出はそれぞれのプログラム仕様42に対して行われる。(Step S5 in FIG. 2: Related threat extraction process)
The related
具体的には、関連脅威抽出部25は、脅威分析結果44(図6)と、構成要素とプログラム仕様の対応関係43(図5)とをメモリ12から読み込む。
そして、関連脅威抽出部25は、構成要素とプログラム仕様の対応関係43の各エントリを順に処理し、構成要素431の内容に対応する情報資産フロー41(図3)と、プログラム仕様432の内容に対応する情報資産−変数対応関係47とをメモリから読み込む。
そして、関連脅威抽出部25は、情報資産フロー41と、情報資産−変数対応関係47とを使って、脅威分析結果44(図6)からプログラム仕様42に関連する脅威を抽出する(詳細は図11を使い後述する)。
そして、関連脅威抽出部25は、抽出した結果を、関連脅威一覧48として、処理したプログラム仕様42に関連付けてメモリ12に書き込む。関連脅威抽出部25は、これらの動作を、構成要素とプログラム仕様の対応関係43(図5)のすべてのエントリについて行う。Specifically, the related
Then, the related
Then, the related
Then, the related
関連脅威抽出部25は、例えば、図11に示す動作によって関連する脅威の抽出を行う。
The related
まず、関連脅威抽出部25は、構成要素とプログラム仕様の対応関係43(図5)の構成要素431の記載内容が構成要素442に含まれるエントリを脅威分析結果44(図6)上で探索する。そして、関連脅威抽出部25は、探索により得られたエントリの脅威441の記載内容を仮に抽出する。
例えば、PROGRAM_C.Cに対して脅威抽出を行っている場合には、構成要素とプログラム仕様の対応関係43(図5)によれば、PROGRAM_C.Cが動作する構成要素はコントローラである。このため、関連脅威抽出部25は、構成要素442に「コントローラ」が含まれるエントリを脅威分析結果44(図6)上で探索する。脅威分析結果44(図6)では、「HMI−コントローラ間」、「コントローラ」及び「コントローラ−デバイス間」のエントリが得られる(図11の手順(1))。そして、関連脅威抽出部25は、これらエントリの脅威441に記載の「未暗号通信の改ざん」、「推測による漏えい」、「再送による改ざん」及び「再送によるDoS」を仮に抽出する(図11の手順(2))。First, the related
For example, PROGRAM_C. When threat extraction is performed for C, according to the correspondence relationship 43 (FIG. 5) between the components and the program specifications, PROGRAM_C. The component on which C operates is the controller. Therefore, the related
次に、関連脅威抽出部25は、探索により得られたエントリの関係する情報資産443の記載内容が情報資産−変数対応関係47において変数と対応付けられている場合に、該当するエントリの脅威441の記載内容を正式に抽出する。
関連脅威抽出部25は、図11の手順(1)で得られたエントリ(行番号4〜13)の関係する情報資産443の「コマンド」、「応答」、「MAC鍵」、「指示」、「値」及び「ステータス」のそれぞれが、情報資産−変数対応関係47(図10)において変数と対応付けられているか否かを判定する。
図10の情報資産−変数対応関係47では、「ステータス」以外の情報資産は変数と対応付けられている。
このため、関連脅威抽出部25は、図11の4行目〜11行目の脅威441の記載内容を正式に抽出する(図11の手順(3))。
そして、関連脅威抽出部25は、抽出した脅威441の記載内容を、関連脅威一覧48としてメモリ12に書き込む。Next, when the description content of the
The related
In the information asset-
Therefore, the related
Then, the related
また、図12を参照して、関連脅威一覧48の一例を説明する。 Further, an example of the related threat list 48 will be described with reference to FIG.
関連脅威一覧48は、図11で例示した抽出処理によって抽出された脅威分析結果44の一部である。関連脅威一覧48は、関連するプログラム仕様42(図4)と対応付けて記憶される。また、関連脅威一覧48は、構成要素とプログラム仕様の対応関係43(図5)のエントリと対応付けされてもよい。
The related threat list 48 is a part of the
(図2のステップS6:関連脆弱性候補抽出処理)
脆弱性候補抽出部26は、ステップS5で抽出された関連脅威一覧48(図12)と、脅威−脆弱性種別対応DB32(図13)の情報に基づき、該当のプログラム仕様42(図4)に関連する脅威の攻撃に利用される可能性がある検査すべき脆弱性種別候補49を、個々の関連する脅威毎に抽出する。(Step S6 of FIG. 2: Related vulnerability candidate extraction process)
Based on the information in the related threat list 48 (FIG. 12) extracted in step S5 and the threat-vulnerable type response DB 32 (FIG. 13), the vulnerability
具体的には、脆弱性候補抽出部26は、ストレージ13から脅威−脆弱性種別対応DB32を読み込み、脅威−脆弱性種別対応DB32をメモリ12に書き込む。
次に、脆弱性候補抽出部26は、構成要素とプログラム仕様の対応関係43(図5)をメモリ12から読み込む。
そして、脆弱性候補抽出部26は、構成要素とプログラム仕様の対応関係43(図5)の各エントリを順に処理し、プログラム仕様432に対応する関連脅威一覧48(図12)をメモリ12から読み込む。
次に、脆弱性候補抽出部26は、関連脅威一覧48に記載される脅威毎に脅威−脆弱性種別対応DB32のエントリを参照して、脅威と関係する脆弱性種別の候補を脆弱性種別一覧322から取得する。そして、脆弱性候補抽出部26は、取得した脆弱性種別の候補を脆弱性種別候補49(図14)として、個々の脅威と対応付けてメモリ12に書き込む。脆弱性候補抽出部26は、これをすべての脅威について行う。
そして、脆弱性候補抽出部26は、構成要素とプログラム仕様の対応関係43(図5)の次のエントリについても同様に処理を続け、すべてのエントリに対して脆弱性種別候補49の抽出を行う。Specifically, the vulnerability
Next, the vulnerability
Then, the vulnerability
Next, the vulnerability
Then, the vulnerability
図13を参照して、脅威−脆弱性種別対応DB32の一例を説明する。 An example of the threat-vulnerable type response DB 32 will be described with reference to FIG.
脅威−脆弱性種別対応DB32は、図13のように表の形式で表すことができる。
脅威−脆弱性種別対応DB32には、脅威321と、その脅威に対応する脆弱性種別一覧322の情報が含まれる。
脆弱性種別一覧322には、脅威に対応する脆弱性種別が列挙される。なお、脅威−脆弱性種別対応DB32に脅威のエントリが存在しない場合、もしくは、脅威のエントリは存在するが対応する脆弱性種別の記載がない場合は、その脅威にはプログラム仕様42で記述されるレベルで分析できる脆弱性種別が存在しない。例えば、図13の「故障」には脆弱性種別がないが、これは故障が機器の不具合であり、プログラムに起因する脆弱性ではないからである。このような、脆弱性がない場合には、脆弱性候補抽出部26は、後述するステップS7の脆弱性分析の結果出力において、脅威に対応する脆弱性の候補がないことを示す表示を含めてもよい。The threat-vulnerable type response DB 32 can be represented in the form of a table as shown in FIG.
The threat-vulnerable type response DB 32 includes information on the
The
図14を参照して、脆弱性種別候補49の一例を説明する。
An example of the
脆弱性種別候補49は、関連脅威一覧48の脅威441と、構成要素442と、関係する情報資産443と、脅威の種別444と、脅威−脆弱性種別対応DB32の脆弱性種別一覧322とを対応付けた情報である。なお、図14と異なり、脆弱性種別候補49は、脅威441、関係する情報資産443及び脆弱性種別一覧322のみで構成されてもよい。また、脆弱性種別候補49に、図14に示されていない要素が含まれていてもよい。
The
(図2のステップS7:脆弱性分析処理)
脆弱性分析部27は、ステップS6で抽出された脆弱性種別候補49の脆弱性種別一覧322に示される脆弱性種別がプログラム仕様42に存在するかの分析を行う。そして、脆弱性分析部27は、分析結果を出力する。
脆弱性分析は、背景技術で説明したような静的コード解析又は形式的検証の技術を使って行われる。脆弱性分析部27は、脆弱性種別候補49の情報に従って、各脅威に関連する脆弱性を検査する。(Step S7 in FIG. 2: Vulnerability analysis process)
The
Vulnerability analysis is performed using static code analysis or formal verification techniques as described in Background Techniques. The
具体的には、脆弱性分析部27は、脆弱性分析を行うプログラム仕様42(図4)と、対応する関連脅威一覧48(図12)と、各関連脅威に対応する脆弱性種別候補49(図14)とをメモリ12から読み出す。
次に、脆弱性分析部27は、脆弱性分析を行う。つまり、脆弱性分析部27は、脆弱性種別とそれに関連する変数を対応する関連脅威一覧48と脆弱性種別候補49に基づいて抽出し、脆弱性分析を行う。
そして、脆弱性分析部27は、脆弱性を検出した場合には、脆弱性検出結果410(図15)をメモリ12に書き込む(既に他の脆弱性検出結果410が存在する場合には新たな脆弱性検出結果410を既存の脆弱性検出結果410に追記する)。
脆弱性分析部27は、これをすべての検査対象のプログラム仕様42について行う。
すべての検査対象のプログラム仕様42に対してすべての脆弱性分析が完了した場合には、脆弱性分析部27は、通信インタフェース14を介して、接続された入出力装置に脆弱性検出結果410を送信する。
脆弱性検出結果410を受信した入出力装置は脆弱性検出結果410を表示する。また、脆弱性検出結果410をファイルに保存してもよい。
なお、脆弱性分析部27は、情報資産に対応付けられた変数も考慮して脆弱性分析を行う。Specifically, the
Next, the
Then, when the
The
When all the vulnerability analysis is completed for all the
The input / output device that has received the vulnerability detection result 410 displays the vulnerability detection result 410. Further, the vulnerability detection result 410 may be saved in a file.
In addition, the
図15を参照して、脆弱性検出結果410の一例を説明する。 An example of the vulnerability detection result 410 will be described with reference to FIG.
脆弱性検出結果410には、脆弱性種別411、変数412、箇所413、脅威414、構成要素415及び情報資産416が含まれる。
脆弱性種別411には、脆弱性分析部27が検出した脆弱性種別が示される。
変数412には、脆弱性分析部27が検出した脆弱性種別と関係する変数が示される。
箇所413には、脆弱性分析部27が検出した脆弱性種別と関係する、プログラム仕様42中の箇所が示される。
脅威414には、脆弱性分析部27が検出した脆弱性種別に対する脅威が示される。
構成要素415には、脆弱性分析部27が検出した脆弱性種別が存在する構成要素が示される。
情報資産416には、脆弱性分析部27が検出した脆弱性種別が存在する情報資産が示される。
図15は、PROGRAM_C.Cの脅威#6(推測による脅威)に関連する脆弱性検出結果410の一例を示している。図15の例では脆弱性種別411として「脆弱性1」が示される。また、変数412として「key」が示され、箇所413として「PROGRAM_C.Cの1行目」が示され、脅威414として「推測による漏えい」が示される。また、構成要素415として「コントローラ」が示され、情報資産416として「MAC鍵」が示される。The vulnerability detection result 410 includes the
The
The
The
The
FIG. 15 shows PROGRAM_C. An example of the vulnerability detection result 410 related to C threat # 6 (threat by guessing) is shown. In the example of FIG. 15, "
***実施の形態の効果の説明***
以上のように、本実施の形態によれば、機器で実行されるプログラムに含まれる変数と機器が用いる情報資産との対応関係の候補を生成するため、プログラム内の部分と情報資産と脆弱性との対応関係を明確にできる。*** Explanation of the effect of the embodiment ***
As described above, according to the present embodiment, in order to generate candidates for the correspondence between the variables included in the program executed by the device and the information assets used by the device, the parts in the program, the information assets, and the vulnerabilities. Can clarify the correspondence with.
また、本実施の形態では、脅威分析の情報資産の流れと、プログラム仕様の変数の入力/出力の分類の対応関係に基づき、脅威分析の結果とプログラム仕様との対応関係を明確にできる。このため、本実施の形態によれば、脆弱性分析の時点において分析対象を絞り込むことできる。 Further, in the present embodiment, the correspondence relationship between the threat analysis result and the program specification can be clarified based on the correspondence relationship between the flow of the information asset of the threat analysis and the input / output classification of the variable of the program specification. Therefore, according to this embodiment, the analysis target can be narrowed down at the time of vulnerability analysis.
また、本実施の形態では、脅威分析での情報資産の流れとプログラム仕様の変数の入出力関係の対応関係を分析して推測することができる。このため、本実施の形態によれば、脆弱性分析の利用者が個々にそれらを実行する手間を省くことができる。 Further, in the present embodiment, it is possible to analyze and infer the correspondence between the flow of information assets in the threat analysis and the input / output relationship of the variables of the program specifications. Therefore, according to the present embodiment, it is possible to save the user of the vulnerability analysis from having to execute them individually.
更に、本実施の形態では、各脅威に結びつく攻撃に利用される脆弱性の対応関係を記憶している。このため、脆弱性分析の際に、脅威分析の結果から、対応関係を参照して、攻撃に利用される脆弱性を導出することができる。 Further, in the present embodiment, the correspondence of the vulnerabilities used in the attacks linked to each threat is stored. Therefore, in the case of vulnerability analysis, it is possible to derive the vulnerability used in the attack by referring to the correspondence from the result of the threat analysis.
実施の形態2.
実施の形態1では、脆弱性分析装置10は、外部から取得した情報資産フロー41(図3)から、脆弱性分析の対象のシステムの機器構成、情報資産の種別及び情報資産の流れを得る。
本実施の形態では、脆弱性分析装置10が、脆弱性分析の対象のシステムの機器構成、情報資産の種別及び情報資産の流れを分析する例を説明する。
本実施の形態では、主に実施の形態1との差異を説明する。
なお、以下で説明していない事項は、実施の形態1と同様である。
In the first embodiment, the
In the present embodiment, an example in which the
In the present embodiment, the difference from the first embodiment will be mainly described.
The matters not explained below are the same as those in the first embodiment.
***構成の説明***
図16を参照して、実施の形態1に係る脆弱性分析装置10の構成を説明する。
図16では、図1の構成と比較して、情報資産判別部28が追加されている。図16に示す他の要素は、図1に示したものと同じである。*** Explanation of configuration ***
The configuration of the
In FIG. 16, an information
***動作の説明***
以下、図2を参照して、本実施の形態に係る脆弱性分析装置10の動作例を説明する。*** Explanation of operation ***
Hereinafter, an operation example of the
本実施の形態では、図2のステップS1において、第1の受付部21が、情報資産フロー41の替わりに、脅威分析入力情報51を受け付ける。
In the present embodiment, in step S1 of FIG. 2, the
具体的には、通信インタフェース14を介して接続された入力装置が利用者によって操作され、脅威分析入力情報51と、プログラム仕様42と、構成要素とプログラム仕様の対応関係43と、脅威分析結果44とが入力される。
そして、第1の受付部21は、通信インタフェース14を介して脅威分析入力情報51と、プログラム仕様42と、構成要素とプログラム仕様の対応関係43と、脅威分析結果44とを受け付ける。
更に、第1の受付部21は、脅威分析入力情報51と、プログラム仕様42と、構成要素とプログラム仕様の対応関係43と、脅威分析結果44とをメモリ12に書き込む。Specifically, the input device connected via the
Then, the
Further, the
脅威分析入力情報51は、脅威分析に用いられた情報である。
脅威分析入力情報51は、脆弱性分析の対象となるシステムを構成する複数の構成要素、構成要素間の接続関係、情報資産の一覧および情報資産の流れを示す情報が含まれている。The threat
The threat
次に、ステップS3を実施する前に、情報資産判別部28が、関連情報資産フロー抽出処理を行う。
関連情報資産フロー抽出処理では、情報資産判別部28は、ステップS1で受け付けられた脅威分析入力情報51と、構成要素とプログラム仕様の対応関係43とに基づき、脆弱性分析の対象となるプログラム仕様42に関連する情報資産フローを、構成要素毎に抽出する。情報資産フローは、実施の形態1で示した図3の情報資産フロー41と同じ形式である。
つまり、情報資産判別部28は、脅威分析の対象となるシステムで用いられる情報資産の各々が、入力情報資産、出力情報資産、内部利用情報資産のいずれであるかを判別する。Next, before carrying out step S3, the information
In the related information asset flow extraction process, the information
That is, the information
***実施の形態の効果の説明***
以上のように、本実施の形態によれば、脆弱性分析装置10が情報資産フローを生成することができるため、外部装置で情報資産フローを生成する必要がない。*** Explanation of the effect of the embodiment ***
As described above, according to the present embodiment, since the
実施の形態3.
実施の形態1及び2では、情報資産と変数との対応関係の候補を出力する場合に、候補の出力順序は考慮されていない。
本実施の形態では、脆弱性分析装置10は、情報資産と変数との対応関係の候補を出力する際に、各候補の確かさに従って出力順序を制御する。つまり、本実施の形態では、第2の受付部24が、複数の対応関係の候補を出力する場合に、複数の対応関係の候補の間に優先順位を設け、優先順位が高い対応関係の候補を優先して出力する。
本実施の形態では、主に実施の形態1との差異を説明する。
なお、以下で説明していない事項は、実施の形態1と同様である。
In the first and second embodiments, when the candidates for the correspondence between the information assets and the variables are output, the output order of the candidates is not taken into consideration.
In the present embodiment, the
In the present embodiment, the difference from the first embodiment will be mainly described.
The matters not explained below are the same as those in the first embodiment.
具体的には、図2のステップS3において、候補生成部23がプログラム仕様42内の変数と情報資産の対応を分析する際に、候補生成部23は候補としての確かさを推測する。候補生成部23は、例えば、事前に設定されたキーワードの組み合わせ等で変数と情報資産の対応関係の候補の確かさを推測する。
例えば、候補生成部23は、情報資産「コマンド」と、変数command及び変数cmdは、表記が近似するため、候補としての確かさが高いと推測する。また、候補生成部23は、対応する変数の組み合わせが多い候補はその確かさが高いと判定する。候補生成部23は、確かさに従って複数の対応関係の候補の出力順序(優先順位)を指定するする。
そして、第2の受付部24は、候補生成部23により指定された出力順序に従って、複数の対応関係の候補を出力する。Specifically, in step S3 of FIG. 2, when the
For example, the
Then, the
以上のように、本実施の形態では、対応関係の候補の確かさを推測し、確かさに基づいて対応関係の候補の出力順序を指定し、指定した出力順序で複数の対応関係の候補を出力する。このため、本実施の形態によれば、利用者は対応関係の候補が複数存在した場合でも、容易に正しい対応関係を選択することができる。 As described above, in the present embodiment, the certainty of the correspondence candidate is estimated, the output order of the correspondence candidate is specified based on the certainty, and a plurality of correspondence candidates are selected in the specified output order. Output. Therefore, according to the present embodiment, the user can easily select the correct correspondence relationship even when there are a plurality of correspondence relationship candidates.
実施の形態4.
実施の形態1〜3では、脆弱性候補抽出部26は、脅威−脆弱性対応DB32を使って、関連脅威に対応する脆弱性種別の候補を抽出する。
本実施の形態では、第1の受付部21がアタックツリーを取得する。そして、脆弱性候補抽出部26は、アタックツリーを用いて、脆弱性の種別の候補を抽出する。アタックツリーは、脅威分析結果44(図6)の各脅威を達成するための一連の攻撃手順と当該攻撃手順に利用される脆弱性の種別が示される情報である。
脆弱性候補抽出部26は、関連脅威一覧48(図12)の各脅威に対応する脆弱性の種別の候補を抽出する際に、脅威−脆弱性対応DB32を使う替わりに、アタックツリーに含まれる脆弱性の種別の情報を抽出する。なお、脆弱性候補抽出部26は、攻撃先が対応する構成要素であることを確認した後に、アタックツリーから脆弱性の種別を抽出する。
なお、本実施の形態で説明していない事項は、実施の形態1と同様である。
In the first to third embodiments, the vulnerability
In the present embodiment, the
The vulnerability
The matters not described in the present embodiment are the same as those in the first embodiment.
以上のように、本実施の形態では、アタックツリーに含まれる脆弱性の種別の情報を使うことで、柔軟な分析を行うことができる(脅威−脆弱性種別対応DB32を使った場合には、脅威と脆弱性の種別の対応関係は固定的である)。本実施の形態によれば、例えば、システムの構成や攻撃の仕方によって利用される脆弱性の種別が変化する場合に、柔軟な分析を行うことができる。 As described above, in this embodiment, flexible analysis can be performed by using the information on the type of vulnerability included in the attack tree (when the threat-vulnerable type response DB32 is used, the case of using the threat-vulnerable type response DB32). The correspondence between threat and vulnerability types is fixed). According to this embodiment, for example, when the type of vulnerability used changes depending on the system configuration and the attack method, flexible analysis can be performed.
実施の形態5.
実施の形態1〜4では、脆弱性分析の際にプログラム仕様42をそのまま利用する。
本実施の形態では、脆弱性分析部27は、情報資産と変数との対応付け又は/及び脅威の種別を参照して、脆弱性分析を行う。つまり、本実施の形態では、脆弱性分析部27は、情報資産−変数対応関係47(図10)から得られる複数の情報資産と複数の変数との対応付けをプログラム仕様42に追加して、脆弱性分析を行うことができる。また、脆弱性分析部27は、脅威分析結果44に記載の脅威の種別444(C、I、A)を参照して、脆弱性分析を行うことができる。つまり、脆弱性分析部27は、プログラム仕様42に脅威の種別444(C、I、A)を追加して、脆弱性分析を行うことができる。
また、本実施の形態では、脆弱性分析部27は、脆弱性候補抽出部26により抽出された脆弱性の種別の候補に関連する処理が記述される部分をプログラム仕様42からプログラム断片として抽出することができる。そして、脆弱性分析部27は、抽出したプログラム断片を用いて脆弱性分析を行うことができる。この場合には、脆弱性分析部27は、プログラム仕様42から、例えば、脅威に関連する変数を参照又は変更する処理、脅威に関連する変数に影響を与える他の変数を使った処理、分岐処理、判断処理等の上述の処理の実行を制御する処理を、プログラム断片として抽出することができる。
なお、本実施の形態で説明していない事項は、実施の形態1と同様である。
In the first to fourth embodiments, the
In this embodiment, the
Further, in the present embodiment, the
The matters not described in the present embodiment are the same as those in the first embodiment.
以上のように、本実施の形態では、検査対象のプログラム仕様に、情報資産と変数との対応付け、情報資産の価値(C、I、A)等のメタ情報を追加して脆弱性検査を行う。このため、本実施の形態では、検査式の生成又は/及びモデルの生成を効率化することができる。
また、本実施の形態では、プログラム断片を用いることで、プログラム仕様の全体を用いる場合に比べて、脆弱性分析を効率化することができる。As described above, in the present embodiment, vulnerability inspection is performed by adding meta information such as the correspondence between information assets and variables and the value of information assets (C, I, A) to the program specifications to be inspected. Do. Therefore, in the present embodiment, it is possible to improve the efficiency of the generation of the inspection formula and / and the generation of the model.
Further, in the present embodiment, by using the program fragment, the vulnerability analysis can be made more efficient as compared with the case where the entire program specification is used.
以上、本発明の実施の形態について説明したが、これらの実施の形態のうち、2つ以上を組み合わせて実施しても構わない。
あるいは、これらの実施の形態のうち、1つを部分的に実施しても構わない。
あるいは、これらの実施の形態のうち、2つ以上を部分的に組み合わせて実施しても構わない。
なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。Although the embodiments of the present invention have been described above, two or more of these embodiments may be combined and implemented.
Alternatively, one of these embodiments may be partially implemented.
Alternatively, two or more of these embodiments may be partially combined and implemented.
The present invention is not limited to these embodiments, and various modifications can be made as needed.
***ハードウェア構成の説明***
最後に、脆弱性分析装置10のハードウェア構成の補足説明を行う。*** Explanation of hardware configuration ***
Finally, a supplementary explanation of the hardware configuration of the
ストレージ13には、OS(Operating System)が記憶されている。
そして、OSの少なくとも一部がメモリ12にロードされ、プロセッサ11により実行される。
プロセッサ11はOSの少なくとも一部を実行しながら、第1の受付部21、変数判別部22、候補生成部23、第2の受付部24、関連脅威抽出部25、脆弱性候補抽出部26、脆弱性分析部27及び情報資産判別部28の機能を実現するプログラムを実行する。
プロセッサ11がOSを実行することで、タスク管理、メモリ管理、ファイル管理、通信制御等が行われる。
また、第1の受付部21、変数判別部22、候補生成部23、第2の受付部24、関連脅威抽出部25、脆弱性候補抽出部26、脆弱性分析部27及び情報資産判別部28の処理の結果を示す情報、データ、信号値及び変数値の少なくともいずれかが、メモリ12、ストレージ13、プロセッサ11内のレジスタ及びキャッシュメモリの少なくともいずれかに記憶される。
また、第1の受付部21、変数判別部22、候補生成部23、第2の受付部24、関連脅威抽出部25、脆弱性候補抽出部26、脆弱性分析部27及び情報資産判別部28の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD等の可搬記録媒体に格納されていてもよい。そして、第1の受付部21、変数判別部22、候補生成部23、第2の受付部24、関連脅威抽出部25、脆弱性候補抽出部26、脆弱性分析部27及び情報資産判別部28の機能を実現するプログラムが格納された可搬記録媒体を商業的に流通させてもよい。The OS (Operating System) is stored in the
Then, at least a part of the OS is loaded into the
While executing at least a part of the OS, the
When the
Further, the
Further, the
また、第1の受付部21、変数判別部22、候補生成部23、第2の受付部24、関連脅威抽出部25、脆弱性候補抽出部26、脆弱性分析部27及び情報資産判別部28の「部」を、「回路」又は「工程」又は「手順」又は「処理」に読み替えてもよい。
また、脆弱性分析装置10は、処理回路により実現されてもよい。処理回路は、例えば、ロジックIC(Integrated Circuit)、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field−Programmable Gate Array)である。
なお、本明細書では、プロセッサと処理回路との上位概念を、「プロセッシングサーキットリー」という。
つまり、プロセッサと処理回路とは、それぞれ「プロセッシングサーキットリー」の具体例である。In addition, the
Further, the
In this specification, the superordinate concept of the processor and the processing circuit is referred to as "processing circuit Lee".
That is, the processor and the processing circuit are specific examples of the "processing circuit Lee", respectively.
10 脆弱性分析装置、11 プロセッサ、12 メモリ、13 ストレージ、14 通信インタフェース、21 第1の受付部、22 変数判別部、23 候補生成部、24 第2の受付部、25 関連脅威抽出部、26 脆弱性候補抽出部、27 脆弱性分析部、28 情報資産判別部、31 処理種別DB、32 脅威−脆弱性種別対応DB、41 情報資産フロー、42 プログラム仕様、43 構成要素とプログラム仕様の対応関係、44 脅威分析結果、45 プログラム変数処理関係、46 情報資産−変数対応関係候補、47 情報資産−変数対応関係、48 関連脅威一覧、49 脆弱性種別候補、410 脆弱性検出結果。 10 Vulnerability analyzer, 11 Processor, 12 Memory, 13 Storage, 14 Communication interface, 21 1st reception unit, 22 Variable discrimination unit, 23 Candidate generation unit, 24 2nd reception unit, 25 Related threat extraction unit, 26 Vulnerability Candidate Extraction Department, 27 Vulnerability Analysis Department, 28 Information Asset Discrimination Department, 31 Processing Type DB, 32 Threat-Vulnerability Type Response DB, 41 Information Asset Flow, 42 Program Specifications, 43 Correspondence between Components and Program Specifications , 44 Threat analysis result, 45 Program variable processing relationship, 46 Information asset-variable correspondence relationship candidate, 47 Information asset-variable correspondence relationship, 48 Related threat list, 49 Vulnerability type candidate, 410 Vulnerability detection result.
Claims (15)
前記変数判別部により判別された前記複数の変数の各々の種別と、前記機器が用いる複数の情報資産の各々の種別とを比較し、前記複数の情報資産の各々と前記複数の変数の各々との対応関係の候補を1つ以上生成する候補生成部とを有する情報処理装置。A variable discriminator that discriminates each type of multiple variables included in the program executed by the device,
Each type of the plurality of variables determined by the variable discriminating unit is compared with each type of the plurality of information assets used by the device, and each of the plurality of information assets and each of the plurality of variables An information processing device having a candidate generation unit that generates one or more candidates for a correspondence relationship.
前記候補生成部により複数の対応関係の候補が生成された場合に、前記複数の対応関係の候補を出力する出力部を有する請求項1に記載の情報処理装置。The information processing device further
The information processing apparatus according to claim 1, further comprising an output unit that outputs the plurality of correspondence relationship candidates when a plurality of correspondence relationship candidates are generated by the candidate generation unit.
前記複数の変数の各々が、入力変数、出力変数、内部利用変数のいずれであるかを判別し、
前記候補生成部は、
前記機器の外部から前記機器に入力される情報資産である入力情報資産と前記入力変数、前記機器から前記機器の外部に出力される情報資産である出力情報資産と前記出力変数、前記機器の内部で利用される情報資産である内部利用情報資産と前記内部利用変数とを対応付けて、対応関係の候補を1つ以上生成する請求項1に記載の情報処理装置。The variable discriminating unit is
It is determined whether each of the plurality of variables is an input variable, an output variable, or an internally used variable.
The candidate generation unit
Input information assets and input variables which are information assets input from the outside of the device to the device, output information assets and output variables which are information assets output from the device to the outside of the device, and the inside of the device. The information processing device according to claim 1, wherein the internal use information asset, which is the information asset used in the above, is associated with the internal use variable to generate one or more correspondence candidates.
前記複数の情報資産の各々が、前記入力情報資産、前記出力情報資産、前記内部利用情報資産のいずれであるかが示される情報資産情報を取得し、前記情報資産情報に示される入力情報資産と前記入力変数と、前記情報資産情報に示される前記出力情報資産と前記出力変数、前記情報資産情報に示される前記内部利用情報資産と前記内部利用変数とを対応付ける請求項3に記載の情報処理装置。The candidate generation unit
Each of the plurality of information assets acquires information asset information indicating which of the input information asset, the output information asset, and the internal use information asset, and the input information asset shown in the information asset information The information processing apparatus according to claim 3, wherein the input variable, the output information asset and the output variable shown in the information asset information, and the internal use information asset and the internal use variable shown in the information asset information are associated with each other. ..
前記複数の情報資産の各々が、前記入力情報資産、前記出力情報資産、前記内部利用情報資産のいずれであるかを判別する情報資産判別部を有する請求項3に記載の情報処理装置。The information processing device further
The information processing apparatus according to claim 3, further comprising an information asset discriminating unit that discriminates whether each of the plurality of information assets is the input information asset, the output information asset, or the internal use information asset.
前記複数の変数の各々が用いられている処理が、入力処理、出力処理、内部利用処理のいずれであるかを判別し、判別した処理の種別に基づいて、前記複数の変数の各々の種別を判別する請求項3に記載の情報処理装置。The variable discriminating unit is
It is determined whether the process in which each of the plurality of variables is used is an input process, an output process, or an internal use process, and each type of the plurality of variables is determined based on the type of the determined process. The information processing apparatus according to claim 3.
前記複数の変数における変数値の伝搬関係を解析し、
前記出力部は、
前記候補生成部により生成された1つ以上の対応関係の候補と、前記変数判別部の解析により得られた変数値の伝搬関係とを出力する請求項2に記載の情報処理装置。The variable discriminating unit is
Analyzing the propagation relationship of variable values in the plurality of variables,
The output unit
The information processing apparatus according to claim 2, which outputs one or more correspondence relationship candidates generated by the candidate generation unit and a propagation relationship of variable values obtained by analysis of the variable discrimination unit.
複数の対応関係の候補を生成した場合に、前記複数の対応関係の候補の間に優先順位を設け、
前記出力部は、
優先順位が高い対応関係の候補を優先して出力する請求項2に記載の情報処理装置。The candidate generation unit
When a plurality of correspondence candidates are generated, a priority is set among the plurality of correspondence candidates.
The output unit
The information processing apparatus according to claim 2, wherein the candidate for the correspondence relationship having a high priority is preferentially output.
前記複数の対応関係の候補の各々について、対応関係の候補としての確かさを推測し、推測結果に基づき、前記複数の対応関係の候補の間に優先順位を設ける請求項8に記載の情報処理装置。The candidate generation unit
The information processing according to claim 8, wherein the certainty of each of the plurality of correspondence candidates is estimated as a correspondence candidate, and a priority is set among the plurality of correspondence candidates based on the estimation result. apparatus.
前記1つ以上の対応関係の候補の中から選択された対応関係に基づき、前記機器に存在する脆弱性の種別の候補を抽出する脆弱性候補抽出部と、
前記脆弱性候補抽出部により抽出された脆弱性の種別の候補に基づき、前記機器の脆弱性分析を行う脆弱性分析部とを有する請求項1に記載の情報処理装置。The information processing device further
A vulnerability candidate extraction unit that extracts candidates for the types of vulnerabilities existing in the device based on a correspondence relationship selected from the one or more correspondence relationship candidates.
The information processing apparatus according to claim 1, further comprising a vulnerability analysis unit that analyzes the vulnerability of the device based on the candidate for the type of vulnerability extracted by the vulnerability candidate extraction unit.
アタックツリーを参照して、前記機器に存在する脆弱性の種別の候補を抽出する請求項10に記載の情報処理装置。脆弱性の種別の候補The vulnerability candidate extraction unit
The information processing apparatus according to claim 10, wherein a candidate for a type of vulnerability existing in the device is extracted with reference to an attack tree. Candidates for the type of vulnerability
前記複数の情報資産と前記複数の変数との対応付け、脅威の種別の少なくともいずれかを参照して、前記機器の脆弱性分析を行う請求項10に記載の情報処理装置。The vulnerability analysis department
The information processing apparatus according to claim 10, wherein the vulnerability analysis of the device is performed with reference to at least one of the association between the plurality of information assets and the plurality of variables and the type of threat.
前記脆弱性候補抽出部により抽出された脆弱性の種別の候補に関連する処理が記述される部分を前記プログラムからプログラム断片として抽出し、抽出した前記プログラム断片を用いて前記機器の脆弱性分析を行う請求項10に記載の情報処理装置。The vulnerability analysis department
The part in which the process related to the candidate of the vulnerability type extracted by the vulnerability candidate extraction unit is described is extracted as a program fragment from the program, and the extracted program fragment is used to analyze the vulnerability of the device. The information processing apparatus according to claim 10.
前記コンピュータが、判別された前記複数の変数の各々の種別と、前記機器が用いる複数の情報資産の各々の種別とを比較し、前記複数の情報資産の各々と前記複数の変数の各々との対応関係の候補を1つ以上生成する情報処理方法。The computer determines the type of each of the multiple variables contained in the program running on the device.
The computer compares each type of the determined plurality of variables with each type of the plurality of information assets used by the device, and each of the plurality of information assets and each of the plurality of variables An information processing method that generates one or more correspondence candidates.
前記変数判別処理により判別された前記複数の変数の各々の種別と、前記機器が用いる複数の情報資産の各々の種別とを比較し、前記複数の情報資産の各々と前記複数の変数の各々との対応関係の候補を1つ以上生成する候補生成処理とをコンピュータに実行させる情報処理プログラム。Variable discrimination processing that discriminates each type of multiple variables included in the program executed by the device, and
Each type of the plurality of variables determined by the variable discrimination process is compared with each type of the plurality of information assets used by the device, and each of the plurality of information assets and each of the plurality of variables An information processing program that causes a computer to execute a candidate generation process that generates one or more candidates for the correspondence.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2018/048085 WO2020136793A1 (en) | 2018-12-27 | 2018-12-27 | Information processing device, information processing method, and information processing program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6599053B1 JP6599053B1 (en) | 2019-10-30 |
JPWO2020136793A1 true JPWO2020136793A1 (en) | 2021-02-15 |
Family
ID=68383317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019520661A Expired - Fee Related JP6599053B1 (en) | 2018-12-27 | 2018-12-27 | Information processing apparatus, information processing method, and information processing program |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6599053B1 (en) |
WO (1) | WO2020136793A1 (en) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03161844A (en) * | 1989-11-20 | 1991-07-11 | Fujitsu Ltd | Spelling correcting system |
US8646085B2 (en) * | 2007-10-10 | 2014-02-04 | Telefonaktiebolaget L M Ericsson (Publ) | Apparatus for reconfiguration of a technical system based on security analysis and a corresponding technical decision support system and computer program product |
JP2011165051A (en) * | 2010-02-12 | 2011-08-25 | Keihin Corp | Development support device, method and program |
JP2011186999A (en) * | 2010-03-11 | 2011-09-22 | Cats Kk | Device for supporting conversion of floating point representation program to fixed point representation and support program thereof |
JP2013171358A (en) * | 2012-02-20 | 2013-09-02 | Mitsubishi Electric Corp | Control program editor device and control program editor program |
-
2018
- 2018-12-27 WO PCT/JP2018/048085 patent/WO2020136793A1/en active Application Filing
- 2018-12-27 JP JP2019520661A patent/JP6599053B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
WO2020136793A1 (en) | 2020-07-02 |
JP6599053B1 (en) | 2019-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11017094B2 (en) | System and method for java deserialization vulnerability detection | |
WO2022180702A1 (en) | Analysis function addition device, analysis function addition program, and analysis function addition method | |
US8776239B2 (en) | In-development vulnerability response management | |
JP7287480B2 (en) | Analysis function imparting device, analysis function imparting method and analysis function imparting program | |
US8701186B2 (en) | Formal analysis of the quality and conformance of information flow downgraders | |
US20120072988A1 (en) | Detection of global metamorphic malware variants using control and data flow analysis | |
US20190361788A1 (en) | Interactive analysis of a security specification | |
WO2023067668A1 (en) | Analysis function addition method, analysis function addition device, and analysis function addition program | |
US8650546B2 (en) | Static analysis based on observed string values during execution of a computer-based software application | |
JP6632777B2 (en) | Security design apparatus, security design method, and security design program | |
US20230141948A1 (en) | Analysis and Testing of Embedded Code | |
WO2023067665A1 (en) | Analysis function addition method, analysis function addition device, and analysis function addition program | |
JP2009129204A (en) | Code inspection system, code inspection method, and program | |
JP6599053B1 (en) | Information processing apparatus, information processing method, and information processing program | |
JP6608569B1 (en) | Security design apparatus, security design method, and security design program | |
WO2018163274A1 (en) | Risk analysis device, risk analysis method and risk analysis program | |
JP7052870B2 (en) | Hypothesis reasoning device, hypothesis reasoning method, and program | |
JP6818568B2 (en) | Communication device, communication specification difference extraction method and communication specification difference extraction program | |
WO2023067663A1 (en) | Analysis function addition method, analysis function addition device, and analysis function addition program | |
WO2023067667A1 (en) | Analysis function imparting method, analysis function imparting device, and analysis function imparting program | |
JPWO2019138540A1 (en) | Threat identification device, threat identification method, and threat identification program | |
JP7292505B1 (en) | Attack scenario generation device, attack scenario generation method, and attack scenario generation program | |
WO2020008631A1 (en) | Observation event determination device, observation event determination method, and computer-readable recording medium | |
JPWO2023032203A5 (en) | ||
KR20210050178A (en) | Method, device, and computer readable medium for detecting vulnerability in source code |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190416 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190416 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20190416 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20190508 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190716 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190805 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190903 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191001 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6599053 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |