JP6608569B1 - Security design apparatus, security design method, and security design program - Google Patents
Security design apparatus, security design method, and security design program Download PDFInfo
- Publication number
- JP6608569B1 JP6608569B1 JP2019541481A JP2019541481A JP6608569B1 JP 6608569 B1 JP6608569 B1 JP 6608569B1 JP 2019541481 A JP2019541481 A JP 2019541481A JP 2019541481 A JP2019541481 A JP 2019541481A JP 6608569 B1 JP6608569 B1 JP 6608569B1
- Authority
- JP
- Japan
- Prior art keywords
- vulnerability
- model
- list
- threat
- template
- 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.)
- Active
Links
- 238000013461 design Methods 0.000 title claims abstract description 83
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000012545 processing Methods 0.000 claims abstract description 63
- 230000008569 process Effects 0.000 claims abstract description 57
- 238000012038 vulnerability analysis Methods 0.000 claims abstract description 52
- 238000007689 inspection Methods 0.000 claims description 86
- 238000011161 development Methods 0.000 claims description 22
- 239000000284 extract Substances 0.000 claims description 13
- 238000012502 risk assessment Methods 0.000 claims description 11
- 238000012795 verification Methods 0.000 claims description 10
- 238000012360 testing method Methods 0.000 claims 2
- 230000007704 transition Effects 0.000 description 35
- 238000010586 diagram Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 19
- 238000004891 communication Methods 0.000 description 13
- 238000012986 modification Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 8
- 238000012938 design process Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Abstract
セキュリティ設計装置(100)は、ソフトウェアの処理フローのレベルで脆弱性箇所を自動的に判定する。セキュリティ設計装置(100)が備える脆弱性分析部(105)は、ソフトウェアの処理に対する攻撃による脅威と、脅威に対して脆弱性を有する処理の記述である脆弱性記述との一覧を脅威一覧(202)として取得する。そして、脆弱性分析部(105)は、ソフトウェアの処理の処理フローから、脅威一覧(202)に含まれる脆弱性記述に対応する脆弱性箇所を判定する。そして、脆弱性分析部(105)は、脆弱性箇所の一覧を脆弱性一覧(211)として生成する。The security design device (100) automatically determines the vulnerable part at the level of the software processing flow. The vulnerability analysis unit (105) included in the security design device (100) displays a list of threats caused by attacks on software processes and vulnerability descriptions that are descriptions of processes having vulnerability to the threats. ) Get as. Then, the vulnerability analysis unit (105) determines a vulnerability location corresponding to the vulnerability description included in the threat list (202) from the processing flow of the software processing. And a vulnerability analysis part (105) produces | generates the list of vulnerability locations as a vulnerability list (211).
Description
本発明は、セキュリティ設計装置、セキュリティ設計方法およびセキュリティ設計プログラムに関する。 The present invention relates to a security design device, a security design method, and a security design program.
制御システムのオープン化およびネットワーク化に伴い、制御システムを構成する制御機器へのサイバー攻撃が増加している。よって、セキュリティ対策の必要性が高まっている。セキュリティ対策を体系的に実施するにはセキュリティの専門知識が必要である。しかし、増加するサイバー攻撃に対して、専門知識を持つセキュリティ専門家の不足が課題になっている。そこで、セキュリティの設計および実装プロセスを、体系化し自動化することが必要になる。 With the opening and networking of control systems, cyber attacks on control devices that make up control systems are increasing. Therefore, the need for security measures is increasing. Security expertise is required to systematically implement security measures. However, the shortage of security experts with specialized knowledge is a challenge for the increasing cyber attacks. It is therefore necessary to systematize and automate the security design and implementation process.
セキュリティの設計および実装プロセスの流れを説明する。まず、対象機器における潜在的な脅威を網羅的に洗い出す。そして、各脅威の対象となる情報資産の価値および脅威の発生確率といった情報に基づき、各脅威のリスクを評価する。次に、リスクの評価結果に基づき対策すべき脅威を決定する。具体的には、リスクが高いと評価された脅威を優先して対策すべき脅威として決定する。その後、脅威に対するセキュリティ対策を立案し、セキュリティ対策を対象機器の設計に反映させるとともに、実装する。 Explain the security design and implementation process flow. First, comprehensively identify potential threats in the target device. Then, the risk of each threat is evaluated based on information such as the value of the information asset that is the target of each threat and the probability of occurrence of the threat. Next, determine the threats to be addressed based on the risk assessment results. Specifically, a threat that is evaluated as having a high risk is determined as a threat to be preferentially taken. After that, security measures against threats are planned, and the security measures are reflected in the design of the target device and implemented.
このようなセキュリティの設計および実装プロセスを体系化し自動化する方法として、モデルベース開発と呼ばれる開発手法を利用し、機器のソフトウェア開発とそのセキュリティ対策を同一の設計および開発プロセスに統合する方法がある。
特許文献1の技術では、まず、開発対象の設計書から生成された制御モデルに対して、セキュリティの脅威を保持する脅威データベースの中から該当する脅威を自動的に抽出する。そして、脅威に対する対策を保持する対策データベースから該当する対策が自動的に抽出される。そして、その対策が制御モデルに自動的に反映される。
また、特許文献2の技術では、まず、ユーザにより入力された対象システムのシステム構成、コンポーネント連携、および制約条件といった情報に基づき、脅威および対策データベースを用いて、対象システムに対するセキュリティ脅威を自動的に抽出する。そして、その脅威への対策を自動的に抽出し、出力する。As a method of systematizing and automating such security design and implementation processes, there is a method of integrating device software development and its security measures into the same design and development process using a development technique called model-based development.
In the technique of
In the technique of
従来技術では、対象システムあるいは対象機器に対する潜在的な脅威を抽出している。しかし、抽出した潜在的な脅威を実際に発生させてしまう対象システムあるいは対象機器の脆弱性を特定することはできない。したがって、脅威が存在する機器あるいは機能ブロックという粒度でしか対策箇所を決定することができない。よって、対策を反映したソフトウェアを自動的に設計することができない。よって、対策を反映したソフトウェアを生成するためには、セキュリティ専門家がソフトウェアの設計書あるいはソースコードを分析し、抽出した脅威に対応する脆弱性の箇所を特定する必要があるという課題があった。 In the prior art, a potential threat to the target system or target device is extracted. However, the vulnerability of the target system or target device that actually generates the extracted potential threat cannot be specified. Therefore, the countermeasure location can be determined only with the granularity of the device or functional block in which the threat exists. Therefore, software that reflects the countermeasure cannot be automatically designed. Therefore, in order to generate software that reflects the countermeasures, there was a problem that security experts had to analyze the software design document or source code and identify the location of the vulnerability corresponding to the extracted threat. .
本発明は、ソフトウェアの処理フローのレベルで脆弱性の箇所を自動的に特定することを目的とする。 It is an object of the present invention to automatically identify the location of a vulnerability at the level of software processing flow.
本発明に係るセキュリティ設計装置は、
ソフトウェアの処理に対する攻撃による脅威と、前記脅威に対して脆弱性を有する処理の記述である脆弱性記述との一覧を脅威一覧として取得し、前記ソフトウェアの処理の処理フローから、前記脅威一覧に含まれる脆弱性記述に対応する脆弱性箇所を判定し、前記脆弱性箇所の一覧を脆弱性一覧として生成する脆弱性分析部を備えた。The security design device according to the present invention is:
A list of threats due to attacks on software processing and vulnerability descriptions that are descriptions of processes having vulnerability to the threat is acquired as a threat list, and included in the threat list from the processing flow of the software processing A vulnerability analysis unit that determines a vulnerability location corresponding to the vulnerability description to be generated and generates a list of the vulnerability locations as a vulnerability list.
本発明に係るセキュリティ設計装置では、脆弱性分析部が、ソフトウェアの処理に対する攻撃による脅威と脅威に対して脆弱性を有する処理の記述である脆弱性記述との一覧を脅威一覧として取得する。また、脆弱性分析部が、ソフトウェアの処理の処理フローから、脅威一覧に含まれる脆弱性記述に対応する脆弱性箇所を判定する。そして、脆弱性分析部が、脆弱性箇所の一覧を脆弱性一覧として生成する。よって、本発明に係るセキュリティ設計装置によれば、処理フローのレベルで脆弱性箇所を自動的に判定することができる。 In the security design device according to the present invention, the vulnerability analysis unit acquires a list of threats caused by attacks on software processes and vulnerability descriptions that are descriptions of processes having vulnerability to threats as a threat list. Further, the vulnerability analysis unit determines a vulnerability location corresponding to the vulnerability description included in the threat list from the processing flow of the software processing. Then, the vulnerability analysis unit generates a list of vulnerability locations as a vulnerability list. Therefore, according to the security design device according to the present invention, it is possible to automatically determine the vulnerable part at the level of the processing flow.
以下、本発明の実施の形態について、図を用いて説明する。なお、各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. In addition, the same code | symbol is attached | subjected to the part which is the same or it corresponds in each figure. In the description of the embodiments, the description of the same or corresponding parts will be omitted or simplified as appropriate.
実施の形態1.
***構成の説明***
図1を用いて、本実施の形態に係るセキュリティ設計装置100の構成を説明する。
セキュリティ設計装置100は、コンピュータである。セキュリティ設計装置100は、プロセッサ910を備えるとともに、記憶装置920、入力インタフェース930、および出力インタフェース940といった他のハードウェアを備える。記憶装置920は、メモリと補助記憶装置を備える。プロセッサ910は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
*** Explanation of configuration ***
The configuration of the security design device 100 according to the present embodiment will be described with reference to FIG.
The security design device 100 is a computer. The security design device 100 includes a processor 910 and other hardware such as a
セキュリティ設計装置100は、機能要素として、モデル取得部101と、脅威一覧取得部103と、脆弱性分析部105と、出力部107とを備える。
脆弱性分析部105の機能は、ソフトウェアにより実現される。
モデル取得部101および脅威一覧取得部103の機能は、入力インタフェース930に備えられる。
出力部107の機能は、出力インタフェース940に備えられる。The security design device 100 includes a
The function of the
The functions of the
The function of the
プロセッサ910は、セキュリティ設計プログラムを実行する装置である。セキュリティ設計プログラムは、脆弱性分析部105の機能を実現するプログラムである。
プロセッサ910は、演算処理を行うIC(Integrated Circuit)である。プロセッサ910の具体例は、CPU、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。The processor 910 is a device that executes a security design program. The security design program is a program that realizes the function of the
The processor 910 is an IC (Integrated Circuit) that performs arithmetic processing. Specific examples of the processor 910 are a CPU, a DSP (Digital Signal Processor), and a GPU (Graphics Processing Unit).
メモリは、データを一時的に記憶する記憶装置である。メモリの具体例は、SRAM(Static Random Access Memory)、あるいはDRAM(Dynamic Random Access Memory)である。メモリには、モデル201、脅威一覧202、あるいは脆弱性一覧211といったデータが記憶される。
補助記憶装置は、データを保管する記憶装置である。補助記憶装置の具体例は、HDDである。また、補助記憶装置は、SD(登録商標)メモリカード、CF、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVDといった可搬記憶媒体であってもよい。なお、HDDは、Hard Disk Driveの略語である。SD(登録商標)は、Secure Digitalの略語である。CFは、CompactFlash(登録商標)の略語である。DVDは、Digital Versatile Diskの略語である。The memory is a storage device that temporarily stores data. A specific example of the memory is SRAM (Static Random Access Memory) or DRAM (Dynamic Random Access Memory). Data such as the
The auxiliary storage device is a storage device that stores data. A specific example of the auxiliary storage device is an HDD. The auxiliary storage device may be a portable storage medium such as an SD (registered trademark) memory card, CF, NAND flash, flexible disk, optical disk, compact disk, Blu-ray (registered trademark) disk, or DVD. HDD is an abbreviation for Hard Disk Drive. SD (registered trademark) is an abbreviation for Secure Digital. CF is an abbreviation for CompactFlash (registered trademark). DVD is an abbreviation for Digital Versatile Disk.
入力インタフェース930は、マウス、キーボード、あるいはタッチパネルといった入力装置と接続されるポートである。入力インタフェース930は、具体的には、USB(Universal Serial Bus)端子である。なお、入力インタフェース930は、LAN(Local Area Network)と接続されるポートであってもよい。
出力インタフェース940は、ディスプレイといった出力機器のケーブルが接続されるポートである。出力インタフェース940は、表示インタフェースともいう。出力インタフェース940は、具体的には、USB端子またはHDMI(登録商標)(High Definition Multimedia Interface)端子である。ディスプレイは、具体的には、LCD(Liquid Crystal Display)である。The input interface 930 is a port connected to an input device such as a mouse, a keyboard, or a touch panel. Specifically, the input interface 930 is a USB (Universal Serial Bus) terminal. The input interface 930 may be a port connected to a LAN (Local Area Network).
The output interface 940 is a port to which a cable of an output device such as a display is connected. The output interface 940 is also referred to as a display interface. Specifically, the output interface 940 is a USB terminal or a HDMI (registered trademark) (High Definition Multimedia Interface) terminal. The display is specifically an LCD (Liquid Crystal Display).
セキュリティ設計プログラムは、プロセッサ910に読み込まれ、プロセッサ910によって実行される。メモリには、セキュリティ設計プログラムだけでなく、OS(Operating System)も記憶されている。プロセッサ910は、OSを実行しながら、セキュリティ設計プログラムを実行する。セキュリティ設計プログラムおよびOSは、補助記憶装置に記憶されていてもよい。補助記憶装置に記憶されているセキュリティ設計プログラムおよびOSは、メモリにロードされ、プロセッサ910によって実行される。なお、セキュリティ設計プログラムの一部または全部がOSに組み込まれていてもよい。 The security design program is read into the processor 910 and executed by the processor 910. The memory stores not only a security design program but also an OS (Operating System). The processor 910 executes the security design program while executing the OS. The security design program and the OS may be stored in the auxiliary storage device. The security design program and OS stored in the auxiliary storage device are loaded into the memory and executed by the processor 910. A part or all of the security design program may be incorporated into the OS.
セキュリティ設計装置100は、プロセッサ910を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、セキュリティ設計プログラムの実行を分担する。それぞれのプロセッサは、プロセッサ910と同じように、セキュリティ設計プログラムを実行する装置である。 The security design device 100 may include a plurality of processors that replace the processor 910. The plurality of processors share the execution of the security design program. Each processor, like the processor 910, is a device that executes a security design program.
セキュリティ設計プログラムにより利用、処理または出力されるデータ、情報、信号値および変数値は、メモリ、補助記憶装置、または、プロセッサ910内のレジスタあるいはキャッシュメモリに記憶される。 Data, information, signal values, and variable values used, processed, or output by the security design program are stored in a memory, an auxiliary storage device, a register in the processor 910, or a cache memory.
モデル取得部101は、セキュリティ設計装置100への入力であるモデル201を取得する。
脅威一覧取得部103は、セキュリティ設計装置100への入力である脅威一覧202を取得する。図1では入力されたデータをモデル201および脅威一覧202として示している。
脆弱性分析部105は、モデル201および脅威一覧202を入力とし、脆弱性一覧211を出力する。
出力部107は、脆弱性一覧211をセキュリティ設計装置100の外部に出力する。具体的には、出力部107は、脆弱性一覧211をディスプレイに表示する。The
The threat
The
The
図2は、本実施の形態に係る脆弱性分析部105の内部構成を示している。
脆弱性分析部105は、モデル201と脅威一覧202を入力とする。脆弱性分析部105は、脅威一覧202の各脅威に対応する脆弱性の箇所をモデル201において特定さいた脆弱性一覧211を出力する。FIG. 2 shows an internal configuration of the
The
脆弱性分析部105は、検査モデル生成部203と、脆弱性テンプレート生成部205と、モデル検査部207と、脆弱性判定部208と、検査プロパティ生成部209とを備える。
脆弱性テンプレート生成部205は、入力された脅威一覧202の各脅威に対応する脆弱性を検証するためのモデルのテンプレートを脆弱性テンプレート206として生成する。
検査プロパティ生成部209は、入力された脅威一覧202の各脅威に対応する脆弱性を検証するためのプロパティを検査プロパティ210として生成する。
検査モデル生成部203は、入力されたモデル201の粒度を脆弱性テンプレート206に合わせて変換し、検査モデル204として出力する。
モデル検査部207は検査モデル204と検査プロパティ210を用いてモデル201に脆弱性箇所があるかを検証する。
脆弱性判定部208は、モデル検査部207が出力する検証結果に基づき、モデル201における脆弱性の有無とその箇所を特定し、脆弱性一覧211として出力する。The
The vulnerability
The inspection
The inspection
The
The
セキュリティ設計プログラムは、脆弱性分析部105の各部である検査モデル生成部203と脆弱性テンプレート生成部205とモデル検査部207と脆弱性判定部208と検査プロパティ生成部209の機能を実現するプログラムである。
脆弱性分析部105の各部の「部」を「処理」、「手順」あるいは「工程」に読み替えてもよい。
セキュリティ設計プログラムは、上記の各部の「部」を「処理」、「手順」あるいは「工程」に読み替えた各処理、各手順あるいは各工程を、コンピュータに実行させる。また、セキュリティ設計方法は、セキュリティ設計装置100がセキュリティ設計プログラムを実行することにより行われる方法である。
セキュリティ設計プログラムは、コンピュータ読取可能な記録媒体に格納されて提供されてもよい。また、セキュリティ設計プログラムは、プログラムプロダクトとして提供されてもよい。The security design program is a program that realizes the functions of the inspection
The “part” of each part of the
The security design program causes the computer to execute each process, each procedure, or each process in which “part” of each part is replaced with “process”, “procedure”, or “process”. The security design method is a method performed by the security design apparatus 100 executing a security design program.
The security design program may be provided by being stored in a computer-readable recording medium. The security design program may be provided as a program product.
***動作の説明***
次に、本実施の形態に係るセキュリティ設計処理S100について説明する。
まず、図3を用いて、セキュリティ設計処理S100の説明に用いる制御システムについて説明する。
制御システムは、HMI401、機器コントローラ402、およびフィールド機器404からなる。HMIは、Human Machine Interfaceの略語である。HMI401と機器コントローラ402は、接続405で接続される。機器コントローラ402とフィールド機器404は、接続406で接続される。
HMI401は、運転員が制御システムの監視制御を行うための端末である。運転員による操作に従い、HMI401は、機器コントローラ402に、接続405を介して、コマンドを送信する。コマンドは、Finish、Start、あるいはStopいずれかである。また、HMI401は、レスポンスあるいはセンサ情報を受信する。*** Explanation of operation ***
Next, the security design process S100 according to the present embodiment will be described.
First, a control system used for explaining the security design process S100 will be described with reference to FIG.
The control system includes an
The
機器コントローラ402は、HMI401から受信したコマンドに従い、フィールド機器404にONあるいはOFFいずれかのコマンドを送信する。機器コントローラ402の機能は通信ソフトウェア403と機器制御ソフトウェア407からなる。
通信ソフトウェア403は、HMI401から接続405を介して送信されたコマンドを受信する。そして、通信ソフトウェア403は、コマンドに対応するレスポンスあるいはセンサ情報をHMI401に送信する。通信ソフトウェア403が受信したコマンドに従って、機器制御ソフトウェア407は、接続406を介してフィールド機器404にONあるいはOFFいずれかのコマンドを送信する。また、機器制御ソフトウェア407は、フィールド機器404から送信されるセンサ情報を受信する。
以下の本実施の形態の説明の具体例として、通信ソフトウェア403をセキュリティの検査対象とする。The
The communication software 403 receives a command transmitted from the
As a specific example of the description of the present embodiment below, the communication software 403 is a security inspection target.
図4は、図3の通信ソフトウェア403をステートマシン500として表したものである。
501は開始状態を表す。503は終了状態を表す。502と511は状態を表す。505と508は条件分岐を表す。T0、T1、T2、T3、T4、T5、およびT6は各状態遷移を識別するラベルである。504のように、状態遷移に付与された角括弧ありの文字列は、その状態遷移が発生する条件を表す。506のように、状態遷移に付与された角括弧無しの文字列は、その状態遷移に伴い実行される処理を表す。509および510のように、状態遷移が発生する条件とその状態遷移に伴い実行される処理の両方を記す場合もある。FIG. 4 shows the communication software 403 in FIG. 3 as a state machine 500.
図4のステートマシン500により、以下のような通信ソフトウェア403の動作が表されている。プログラムの起動後、状態502においてコマンド待ちになる。コマンドを受信すると、条件504のようにコマンドがFinishであればプログラムを終了する。条件および処理509のようにコマンドがStopであれば、フィールド機器をOFFし、再びコマンド待ちになる。条件および処理510のようにコマンドがStartであれば、フィールド機器をONし、再びコマンド待ちになる。
The operation of the communication software 403 as described below is represented by the state machine 500 of FIG. After starting the program, the command waits in
セキュリティの設計および実装プロセスの流れに従って、通信ソフトウェア403に対するセキュリティが設計される。まず、図3の制御システムにおける潜在的な脅威を網羅的に洗い出す。本実施の形態に係るセキュリティ設計装置100では、脅威を網羅的に洗い出した結果の脅威一覧202は入力データとして与えられる。
図4のステートマシン500において、フィールド機器のONあるいはOFFは制御システムの動作に影響する処理である。これらの処理を不正に実行することは、システムに対するセキュリティの脅威である。そこで、「HMIおよび機器コントローラ間の通信コマンドの改ざんによるフィールド機器の停止」という脅威が、制御システムにおける潜在的な脅威を網羅的に洗い出した結果の一例となる。Security for the communication software 403 is designed according to the security design and implementation process flow. First, potential threats in the control system of FIG. 3 are comprehensively identified. In security design apparatus 100 according to the present embodiment,
In the state machine 500 of FIG. 4, ON or OFF of the field device is a process that affects the operation of the control system. Unauthorized execution of these processes is a security threat to the system. Therefore, the threat “stop of field device due to falsification of communication command between HMI and device controller” is an example of the result of exhaustively identifying potential threats in the control system.
図5は、本実施の形態に係る脅威一覧202の例に含まれる表601および表602を示す図である。
脅威一覧202は、ソフトウェアの処理に対する攻撃による脅威161と、脅威161に対して脆弱性を有する処理の記述である脆弱性記述162との一覧である。具体的には、機器である制御システムの処理における潜在的な脅威161を網羅的に洗い出し、脅威161に対する脆弱性を対応付けた情報である。脅威161に対する脆弱性として、脆弱性記述162が対応付けられている。脅威一覧202は、表601と表602から構成される。
脅威一覧202の表601には、1行ごとに付される番号と、脅威と、対応する脆弱性とが設定される。対応する脆弱性には、脅威一覧202に記された各脅威に対して、その脅威に対応する脆弱性の情報が設定される。脅威一覧202に含まれる脆弱性は、例えば、CWE(Common Weakness Enumeration)から取得される。CWEは対象に依存しない一般的な情報である。このため、各脅威に対応するCWEを容易に決定することができる。FIG. 5 is a diagram showing a table 601 and a table 602 included in the example of the
The
In the table 601 of the
図5の表601は、通信ソフトウェア403に関わる潜在的な脅威を表している。また、各脅威が通信ソフトウェア403において実際に発生するのは、通信ソフトウェア403が各脅威に対応する脆弱性を持つ場合である。したがって、各脅威への対策を設計するためには、その脅威に対応する脆弱性を特定する必要がある。 A table 601 in FIG. 5 represents potential threats related to the communication software 403. Each threat actually occurs in the communication software 403 when the communication software 403 has a vulnerability corresponding to each threat. Therefore, in order to design countermeasures against each threat, it is necessary to identify vulnerabilities corresponding to the threat.
図5の表602は、表601の番号1の脅威に対応するCWEの記述を示している。この記述を脆弱性記述と呼ぶ。
脆弱性分析部105による脆弱性の特定の動作について、表601の番号1の脅威を例として説明する。
脆弱性分析部105は、表602のCWEの情報に基づき、番号1の脅威に対応する脆弱性を検査するための検査モデル204と検査プロパティ210を作成する。そして、脆弱性分析部105は、検査モデル204と検査プロパティ210を用いて番号1の脅威に対応する脆弱性の特定を行う。
そのため、まず、脆弱性テンプレート生成部205が抽象的なCWEの記述を具体化した脆弱性テンプレート206を生成する。また、検査プロパティ生成部209が脆弱性テンプレート206に対応する検査プロパティ210を生成する。次に、検査モデル生成部203がモデル201を脆弱性テンプレート206に対応付けて変換し、検査モデル204を生成する。A table 602 in FIG. 5 shows a description of the CWE corresponding to the
The specific operation of vulnerability by the
The
Therefore, first, the vulnerability
図6は、本実施の形態に係る表701を示す図である。図6の表701は図5の表602におけるCWEの記述の具体化の一例である。図6の表701によってCWE−807の具体化の規則が与えられている。
番号1では「Reliance on A in B」という語句を、検査モデルの大枠を与えるものとして区分している。そして、「Reliance on A in B」は、Aのデータを使ってBの処理を行うことを意味すると定義している。
番号2では「Inputs」という語句をデータとして区分している。そして、「Inputs」は入力データを意味すると定義している。
番号3では「Untrusted」という語句を修飾子として区分している。そして、「Untrusted」によって修飾されるデータが未検証であることを意味すると定義している。
番号4では「Decision」という語句を処理として区分している。そして、番号1の規則によって対応付けられた入力データを用いた処理を意味すると定義している。
番号5では「Security」という語句を修飾子として区分している。そして、「Security」によって修飾子される処理の前に、その処理の対象となるデータの検証が必要である事を意味すると定義している。FIG. 6 is a diagram showing a table 701 according to the present embodiment. A table 701 in FIG. 6 is an example of a specific description of the CWE in the table 602 in FIG. Table 701 in FIG. 6 gives the rules for the implementation of CWE-807.
In
In
In
図7を用いて、本実施の形態に係るセキュリティ設計処理S100について説明する。
図7は本実施の形態に係るセキュリティ設計装置100の動作をフローチャートで表したものである。
セキュリティ設計装置100では、脆弱性分析部105は、ソフトウェアの処理の処理フローから、脅威一覧202に含まれる脆弱性記述に対応する脆弱性箇所を判定する。そして、脆弱性分析部105は、脆弱性箇所の一覧を脆弱性一覧211として生成する。The security design process S100 according to the present embodiment will be described with reference to FIG.
FIG. 7 is a flowchart showing the operation of the security design device 100 according to the present embodiment.
In the security design device 100, the
ステップS101において処理が開始される。
ステップS102において、脆弱性分析部105は、モデル取得部101を介してモデル201を取得する。また、脆弱性分析部105は、脅威一覧取得部103を介して脅威一覧202を取得する。なお、通常、脅威一覧202には複数の脅威が含まれている。
ステップS103からステップS112の処理は、脅威一覧202に含まれる各脅威に関するループ処理である。なお、通常、各脅威に対して、それに対応するCWE形式の脆弱性は複数ある。
ステップS104からステップS111の処理は、脅威に対応する各CWEに関するループ処理である。Processing starts in step S101.
In step S <b> 102, the
The processing from step S103 to step S112 is a loop processing related to each threat included in the
The process from step S104 to step S111 is a loop process for each CWE corresponding to the threat.
<脆弱性テンプレート生成処理>
ステップS105において、脆弱性テンプレート生成部205は、脅威一覧202に含まれる脆弱性記述162に基づいて、脆弱性テンプレート206を生成する。具体的には、脆弱性テンプレート生成部205は、処理対象のCWEから脆弱性テンプレート206を生成する。脆弱性テンプレート206とは、脅威一覧202に含まれる脆弱性記述162を用いて取得されるテンプレートである。
図8は、本実施の形態に係る脆弱性テンプレート生成処理の例を示す図である。
図8では、図6の表701で与えられるCWE−807の具体化の規則に基づき、CWE−807を検査するための検査モデル204の脆弱性テンプレート206を作成する手順を示している。
まず、表701の番号1の大枠により、801の大枠が与えられる。次に、大枠のAおよびBの各々に、対応する語句が代入され802に変換される。次に、表701の番号2および4により、「Inputs」の語句が入力データを表す「Input」に、「Decision」の語句が入力データを用いた処理を表す「InputUsed」に変換され、802が803に変換される。最後に、表701の番号3および5により、入力データを未検証のまま処理するような遷移に「脆弱性」のラベルが付与され、803が804に変換される。
以上の動作により、脆弱性テンプレート生成部205は、脆弱性テンプレート206を生成する。表701は、脆弱性テンプレート206の生成のための具体化規則として、例えば、脆弱性テンプレート生成部205により保持される。<Vulnerability template generation processing>
In step S <b> 105, the vulnerability
FIG. 8 is a diagram showing an example of vulnerability template generation processing according to the present embodiment.
FIG. 8 shows a procedure for creating the
First, a large frame of 801 is given by the large frame of
With the above operation, the vulnerability
<検査プロパティ生成処理>
ステップS106において、検査プロパティ生成部209は、脆弱性テンプレート206を用いて検査プロパティ210を生成する。検査プロパティ210とは、脆弱性テンプレート206を用いて脆弱性記述の有無を判定するために用いられる。脆弱性テンプレート206の一具体例である804では、状態遷移に「脆弱性」のラベルが付与されていることにより、状態遷移と脆弱性が対応付けられている。したがって、検査プロパティ生成部209は、この状態遷移の発生の有無を検査する検査プロパティ210を生成する。<Inspection property generation process>
In step S <b> 106, the inspection
<検査モデル生成処理>
ステップS107において、検査モデル生成部203は、脆弱性テンプレート206と処理フローを表すモデル201とを取得し、モデル201を脆弱性テンプレート206に当てはめた検査モデル204を生成する。検査モデル生成部203は、モデル201を脆弱性テンプレート206に対応付けて変換することにより、検査モデル204を得る。
図9は、モデル201の一具体例である図4のステートマシンを変換する例を示している。図4では、「WaitForCommand」のラベルで示された状態502を起点として、「T1」の状態遷移506に伴う「Command=ReceiveFromHMI()」の処理によってデータが入力される。そして、「T3」の状態遷移の後、「T4」の状態遷移に伴う「SendToFD(OFF)」の処理、もしくは、「T5」の状態遷移に伴う「SendToFD(ON)」の処理によってデータが使用されている。これらを804と対応付ける事で検査モデル204が得られる。
以上により、抽象的なCWEの記述が検査モデル204と検査プロパティ210として具体化された。<Inspection model generation process>
In step S <b> 107, the inspection
FIG. 9 shows an example of converting the state machine of FIG. 4, which is a specific example of the
As described above, the abstract CWE description is realized as the
<モデル検査処理>
ステップS108において、モデル検査部207は、検査モデル204と検査プロパティ210を用いて検証を行う。モデル検査部207は、検査プロパティ210を取得し、検査モデル201と検査プロパティ210とを用いて、モデル201に脆弱性箇所が存在するかを検証する。検査モデルの一具体例である図9の検査モデル204に対して、検査プロパティ210は「脆弱性」のラベルが付けられた状態遷移の発生の有無を検証することである。図9の検査モデル204では、「T1」、「T3」、「T4」という状態遷移の連なり、または、「T1」、「T3」、「T5」という状態遷移の連なりによって、「脆弱性」のラベルが付けられた状態遷移が発生する。モデル検査部207は、「T1」、「T3」、「T4」という状態遷移の連なり、または、「T1」、「T3」、「T5」という状態遷移の連なりによって、「脆弱性」のラベルが付けられた状態遷移が発生することを検証する。<Model checking process>
In step S <b> 108, the
ステップS109において、脆弱性判定部208は、モデル検査部207による検証結果に基づき、脆弱性箇所を判定する。モデルに脆弱性箇所がある場合、処理はステップS110に進む。モデルに脆弱性箇所がない場合、処理はステップS111に進む。
In step S <b> 109, the
<脆弱性判定処理>
ステップS110では、脆弱性判定部208は、モデル201に脆弱性箇所が存在すると検証されると、処理フローにおける脆弱性箇所を脆弱性一覧211に追加する。脆弱性判定部208は、検査モデル204で見つかった「脆弱性」の状態遷移に対し、それ対応するモデル201の状態遷移を抽出する。そして、脆弱性判定部208は、抽出されたモデル201の状態遷移をモデル201の脆弱性の箇所として脆弱性一覧211に追加する。具体例では、図9の検査モデル204に対する検証により、「脆弱性」のラベルが付けられた状態遷移が発生することが判明した。この状態遷移は、検査モデル204に変換される前のモデルである図4の「T4」または「T5」の状態遷移に対応している。したがって、図4のステートマシン500において「T4」と「T5」の状態遷移が脆弱性箇所であると判定される。脆弱性判定部208は、「T4」と「T5」の状態遷移が脆弱性箇所であるという結果を脆弱性一覧211に追加する。<Vulnerability judgment processing>
In step S <b> 110, when it is verified that the
ステップS111およびステップS112において、各脅威と各CWEに対するループ処理が終了すると、モデル201において判定された全ての脆弱性箇所が脆弱性一覧211として記述される。
ステップS113において、脆弱性判定部208は、出力インタフェース940を介して、脆弱性一覧211を出力する。
ステップS114において、処理を終了する。In step S111 and step S112, when the loop processing for each threat and each CWE ends, all the vulnerability points determined in the
In step S113, the
In step S114, the process ends.
図10は、本実施の形態に係る脆弱性テンプレート生成処理の別の例を示す図である。
図10では、表701で与えられるCWE−807の具体化の規則に基づき、CWE−807を検査するための検査モデル204の脆弱性テンプレート206を作成する手順の別の例を示している。図8で801から804を得るのと同様の手順で、1001から1002が得られる。図8の例では脆弱性のある状態遷移のみ作成している。しかし、図10ではそれに加えて脆弱性の無い状態遷移も作成し、脆弱性がある場合と無い場合の両方を明示した脆弱性テンプレート206を作成する。その結果、1003の脆弱性テンプレート206では、「InputVerified」という状態、および、それに関わる状態遷移が追加されている。
図10の脆弱性テンプレート206に対応する検査プロパティ210として、1004のプロパティを作成することができる。1004はモデル検査と呼ばれる形式手法で用いられる形式であり、状態「Input」に到達すれば、その後必ず状態「InputVerified」にも到達することを表している。これにより、入力されたデータは必ず検証されるという処理が表現されており、このプロパティを検証することによって処理に脆弱性が無いことが保証される。FIG. 10 is a diagram showing another example of vulnerability template generation processing according to the present embodiment.
FIG. 10 shows another example of a procedure for creating the
A
***他の構成***
<変形例1>
本実施の形態では、一般的な脆弱性の情報としてCWEを使った場合の動作を説明した。しかし、CWE以外の脆弱性情報を使った場合でも、本実施の形態と同様の動作を規定することは容易である。*** Other configurations ***
<
In the present embodiment, the operation when CWE is used as general vulnerability information has been described. However, even when vulnerability information other than CWE is used, it is easy to specify the same operation as in the present embodiment.
<変形例2>
セキュリティ設計装置100は、通信装置を備えていてもよい。通信装置は、ネットワークを介して他の装置と通信する。通信装置はネットワークインタフェースでもよい。通信装置は、レシーバとトランスミッタを有する。通信装置は、無線で、LAN、インターネット、あるいは電話回線といった通信網に接続している。通信装置は、具体的には、通信チップまたはNIC(Network Interface Card)である。<
The security design device 100 may include a communication device. The communication device communicates with other devices via a network. The communication device may be a network interface. The communication device has a receiver and a transmitter. The communication device is wirelessly connected to a communication network such as a LAN, the Internet, or a telephone line. Specifically, the communication device is a communication chip or a NIC (Network Interface Card).
<変形例3>
モデル取得部および脅威一覧取得部が行う入力処理を、入力インタフェースを介するのではなく、補助記憶装置に保存されたデータの読み込みにより行ってもよい。また、出力部が行う出力処理を、出力インタフェースを介するのではなく、補助記憶装置へのデータ書き込みにより行ってもよい。データ入出力に関しては、通信装置あるいはネットワークインタフェースを用いてもよい。<
The input processing performed by the model acquisition unit and the threat list acquisition unit may be performed by reading data stored in the auxiliary storage device instead of via the input interface. Further, the output process performed by the output unit may be performed by writing data to the auxiliary storage device instead of via the output interface. For data input / output, a communication device or a network interface may be used.
<変形例4>
本実施の形態では、脆弱性分析部105の機能がソフトウェアで実現される。変形例として、脆弱性分析部105の機能がハードウェアで実現されてもよい。<
In the present embodiment, the function of the
図11は、本実施の形態の変形例に係るセキュリティ設計装置100の構成を示す図である。
セキュリティ設計装置100は、電子回路909、記憶装置920、入力インタフェース930、および出力インタフェース940を備える。FIG. 11 is a diagram illustrating a configuration of a security design device 100 according to a modification of the present embodiment.
The security design device 100 includes an electronic circuit 909, a
電子回路909は、脆弱性分析部105の機能を実現する専用の電子回路である。
電子回路909は、具体的には、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、ASIC、または、FPGAである。GAは、Gate Arrayの略語である。ASICは、Application Specific Integrated Circuitの略語である。FPGAは、Field−Programmable Gate Arrayの略語である。
脆弱性分析部105の機能は、1つの電子回路で実現されてもよいし、複数の電子回路に分散して実現されてもよい。
別の変形例として、脆弱性分析部105の一部の機能が電子回路で実現され、残りの機能がソフトウェアで実現されてもよい。The electronic circuit 909 is a dedicated electronic circuit that realizes the function of the
Specifically, the electronic circuit 909 is a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, a logic IC, a GA, an ASIC, or an FPGA. GA is an abbreviation for Gate Array. ASIC is an abbreviation for Application Specific Integrated Circuit. FPGA is an abbreviation for Field-Programmable Gate Array.
The function of the
As another modification, some functions of the
プロセッサと電子回路の各々は、プロセッシングサーキットリとも呼ばれる。つまり、セキュリティ設計装置100において、脆弱性分析部105の機能は、プロセッシングサーキットリにより実現される。
Each of the processor and the electronic circuit is also called a processing circuit. That is, in the security design device 100, the function of the
***本実施の形態の効果の説明***
本実施の形態に係るセキュリティ設計装置100によれば、機器のソフトウェア開発においてソフトウェアの処理レベルで脆弱性箇所を特定し、処理レベルで対策を入れることができる。本実施の形態に係るセキュリティ設計装置100では、対象システムおよび対象機器に対する潜在的な脅威に対応する一般的な脆弱性の記述を、脆弱性テンプレートと検査プロパティとして具体化する。そして、ソフトウェアの処理フローレベルのモデルを脆弱性テンプレートと対応付けて検査モデルに変換する。さらに、検査モデルと検査プロパティの検証によって脆弱性の有無とその箇所を特定する。よって、本実施の形態に係るセキュリティ設計装置100によれば、ソフトウェアの処理フローレベルで脆弱性の有無とその箇所を特定することができる。*** Explanation of effects of this embodiment ***
According to the security design device 100 according to the present embodiment, it is possible to identify a vulnerability part at the software processing level in the software development of the device, and to take measures at the processing level. In the security design device 100 according to the present embodiment, a general vulnerability description corresponding to a potential threat to the target system and target device is embodied as a vulnerability template and an inspection property. Then, the software processing flow level model is converted into an inspection model in association with the vulnerability template. Furthermore, the presence or absence of the vulnerability and the location thereof are specified by verifying the inspection model and the inspection property. Therefore, according to the security design device 100 according to the present embodiment, the presence / absence of the vulnerability and the location thereof can be specified at the software processing flow level.
実施の形態2.
本実施の形態では、主に、実施の形態1と異なる点について説明する。
なお、本実施の形態において、実施の形態1と同様の構成には同一の符号を付し、その説明を省略する。
In the present embodiment, differences from the first embodiment will be mainly described.
In the present embodiment, the same components as those in the first embodiment are denoted by the same reference numerals, and the description thereof is omitted.
実施の形態1のセキュリティ設計装置は、入力された脅威一覧の各脅威に対応する脆弱性を検証するための脆弱性テンプレートと検査プロパティを動的に作成していた。本実施の形態に係るセキュリティ設計装置では、脆弱性テンプレートと検査プロパティを予め作成し、データベースとして保持する。そして、セキュリティ設計装置は、脆弱性分析を行う際、脆弱性に対応する脆弱性テンプレートと検査プロパティをデータベースから抽出する。 The security design device according to the first embodiment dynamically creates a vulnerability template and an inspection property for verifying the vulnerability corresponding to each threat in the input threat list. In the security design device according to the present embodiment, vulnerability templates and inspection properties are created in advance and stored as a database. Then, when performing the vulnerability analysis, the security design device extracts the vulnerability template and the inspection property corresponding to the vulnerability from the database.
***構成の説明***
図12は、本実施の形態に係る脆弱性分析部105aの内部構成を示している。
本実施の形態に係る脆弱性分析部105aは、実施の形態1の脆弱性テンプレート生成部205と検査プロパティ生成部209に替えて、データベース検索部221を備える。また、記憶装置920には脆弱性データベース222を備える。
脆弱性データベース222は、脆弱性テンプレート206と検査プロパティ210とを記憶する。脆弱性テンプレート206と検査プロパティ210は、予め生成されて記憶されている。
データベース検索部221は、脅威一覧202に含まれる脆弱性記述に基づいて、脆弱性テンプレート206と検査プロパティ210とを脆弱性データベース222から抽出する。*** Explanation of configuration ***
FIG. 12 shows an internal configuration of the
The
The
The
***動作の説明***
図13を用いて、本実施の形態に係るセキュリティ設計処理S100aについて説明する。
ステップS101からステップS104、および、ステップS107からステップS114の処理は図7と同様である。
図13のセキュリティ設計処理S100aは、図7のステップS105の脆弱性テンプレート生成処理とステップS106の検査プロパティ生成処理に代わり、ステップS105aのデータベース検索処理を有する。
ステップS105aにおいて、データベース検索部221は、脆弱性データベース222を検索し、脆弱性テンプレートと検査プロパティを抽出する。具体的には、データベース検索部221は、脅威一覧202に含まれるCWE−807のようなCWE番号をキーとして脆弱性データベース222を検索する。あるいは、データベース検索部221は、脅威一覧202に含まれる脆弱性記述そのものをキーとして脆弱性データベース222を検索してもよい。
ステップS107以降では、脆弱性データベース222から抽出された脆弱性テンプレートと検査プロパティを用いてモデル検査処理を実行する。*** Explanation of operation ***
The security design process S100a according to the present embodiment will be described with reference to FIG.
The processing from step S101 to step S104 and from step S107 to step S114 is the same as that in FIG.
The security design process S100a in FIG. 13 includes a database search process in step S105a instead of the vulnerability template generation process in step S105 and the inspection property generation process in step S106.
In step S105a, the
In step S107 and subsequent steps, the model checking process is executed using the vulnerability template and the checking property extracted from the
***本実施の形態の効果の説明***
本実施の形態に係るセキュリティ設計装置によれば、脆弱性テンプレートと検査プロパティをあらかじめ作成して脆弱性データベースに保持しているため、脆弱性テンプレートと検査プロパティの作成に要する時間が削減される。*** Explanation of effects of this embodiment ***
According to the security design device according to the present embodiment, since the vulnerability template and the inspection property are created in advance and stored in the vulnerability database, the time required for creating the vulnerability template and the inspection property is reduced.
実施の形態3.
本実施の形態では、主に、実施の形態1および2と異なる点について説明する。
なお、本実施の形態において、実施の形態1および2と同様の構成には同一の符号を付し、その説明を省略する。
In the present embodiment, differences from
In the present embodiment, the same components as those in the first and second embodiments are denoted by the same reference numerals, and the description thereof is omitted.
実施の形態1および2では、モデルと、そのモデルに対する潜在的な脅威一覧を入力として、モデルにおける処理フローレベルでの脆弱性の特定を実現するものであった。本実施の形態では、セキュリティ設計および実装をさらに自動化させるため、脅威一覧の抽出、および、脆弱性の特定後の対策反映を含む態様について説明する。
In
***構成の説明***
図14は、本実施の形態に係るセキュリティ設計装置100bの構成図である。
モデル取得部101は、セキュリティ設計装置100bへの入力であるモデル201を受け付ける。モデル取得部101の機能は実施の形態1と同様である。
リスク分析部108は、モデル201を入力とし、脅威一覧202を出力する。
脆弱性分析部105は、モデル201および脅威一覧202を入力とし、脆弱性一覧211を出力する。脆弱性分析部105の機能は実施の形態1と同様である。
対策反映部109は、モデル201と脆弱性一覧211を入力とし、脆弱性への対策が反映されたモデル201bを出力する。脆弱性への対策が反映されたモデル201bは、モデル201としてフィードバックされる。
出力部107は、モデル201をセキュリティ設計装置100bの外部に出力する。*** Explanation of configuration ***
FIG. 14 is a configuration diagram of the security design device 100b according to the present embodiment.
The
The
The
The
The
***動作の説明***
リスク分析部108の動作の一例について説明する。
ここでは、セキュリティ設計装置100bは、脅威データベース501と対策データベース502を備えるものとする。脅威データベース501は、脅威と脅威に対応する脆弱性記述との一覧を記憶する。対策データベース502は、脅威と脅威に対する対策との一覧を記憶する。*** Explanation of operation ***
An example of the operation of the
Here, it is assumed that the security design device 100b includes a
図15は、本実施の形態に係る脅威データベース501の一例を示す図である。
脅威データベース501には、各行に付された番号と、脅威と、発生個所と、脅威に対応する脆弱性とが設定されている。
リスク分析部108は、モデル201に基づいて、脅威データベース501から、モデル201に対応する脅威一覧202を抽出する。リスク分析部108は、脅威データベース501を用いてモデル201に対する潜在的な脅威を抽出する。リスク分析部108は、脅威と、その脅威に対応する脆弱性に関する情報とを脅威一覧202として出力する。脅威データベース501は、特定のシステムあるいは特定の機器に依存しない一般的な脅威を示している。図15の脅威データベース501では、番号2の脅威により、通信路において情報資産の改ざんの脅威が存在することが分かる。これを、図3の制御システムに適用することによって、表601の番号1に示した「HMIおよび機器コントローラ間の通信コマンドの改ざんによるフィールド機器の停止」という脅威が抽出される。FIG. 15 is a diagram showing an example of the
In the
The
脆弱性分析部105の動作に関しては、実施の形態1で説明した通りである。表601の番号1に示した「HMIおよび機器コントローラ間の通信コマンドの改ざんによるフィールド機器の停止」という脅威を実際に発生させてしまう脆弱性として、図4のステートマシンの「T4」と「T5」の状態遷移が特定される。
The operation of the
図16は、本実施の形態に係る対策データベース502の一例を示す図である。
対策データベース502には、各行に付された番号と、脅威と、脅威に対応する対策とが設定されている。
対策反映部109は、脆弱性分析部105から脆弱性箇所と脆弱性箇所に対応する脅威とを含む脆弱性一覧211を取得する。対策反映部109は、対策データベース502から、脆弱性一覧に含まれる脅威に対応する対策を抽出する。そして、対策反映部109は、モデル201における脅威に対応する脆弱性箇所に、抽出した対策を付与する。
具体的には、対策反映部109は、脆弱性一覧211に含まれる各脆弱性に対する対策を対策データベース502から抽出する。対策反映部109は、対策データベース502から抽出した対策をモデル201に反映させる。対策データベース502は、特定のシステムあるいは特定の機器に依存しない一般的な対策を示している。図16の対策データベース502では、番号2の対策により、情報資産の改ざんという脅威に対しては、メッセージ認証コードCBC−MACによる検証を行えばよいことが分かる。対策反映部109は、このような一般的な対策を、脆弱性一覧211で示される処理フローレベルでの脆弱性の箇所と組み合わせる。つまり、対策反映部109は、脆弱性一覧211で示される処理フローレベルで対策を入れる。具体的には、図4のステートマシンでは、「T4」と「T5」の状態遷移が脆弱性の箇所であることが特定されている。よって、対策反映部109は、これらの直前である「T3」の状態遷移に伴う処理としてメッセージ認証コードCBC−MACを入れる。FIG. 16 is a diagram showing an example of the
In the
The
Specifically, the
***本実施の形態の効果の説明***
本実施の形態に係るセキュリティ設計装置100bは、入力されたモデルに対する潜在的な脅威を抽出する機能を有する。また、セキュリティ設計装置100bは、抽出された潜在的な脅威に対応する一般的な脆弱性の記述を、脆弱性テンプレートと検査プロパティとして具体化する。また、セキュリティ設計装置100bは、ソフトウェアの処理フローレベルのモデルを脆弱性テンプレートと対応付けて検査モデルに変換する。そして、セキュリティ設計装置100bは、検査モデルと検査プロパティの検証によって脆弱性の有無と脆弱性箇所を特定する。さらに、セキュリティ設計装置100bは、脅威に対する対策を抽出し、その対策を脆弱性箇所の特定結果と組み合わせて対策を入れる箇所を決定する。よって、本実施の形態に係るセキュリティ設計装置100bによれば、ソフトウェアの処理フローレベルで対策を反映したモデルを生成することができる。*** Explanation of effects of this embodiment ***
The security design device 100b according to the present embodiment has a function of extracting a potential threat for the input model. Further, the security design device 100b embodies a general vulnerability description corresponding to the extracted potential threat as a vulnerability template and an inspection property. Further, the security design device 100b associates the software processing flow level model with the vulnerability template and converts it into an inspection model. Then, the security design device 100b identifies the presence / absence of the vulnerability and the vulnerability location by verifying the inspection model and the inspection property. Furthermore, the security design device 100b extracts a countermeasure against the threat and determines a place where the countermeasure is to be combined by combining the countermeasure with the result of specifying the vulnerable portion. Therefore, according to the security design device 100b according to the present embodiment, it is possible to generate a model reflecting a countermeasure at the software processing flow level.
実施の形態4.
本実施の形態では、主に、実施の形態3と異なる点について説明する。
なお、本実施の形態において、実施の形態1および2と同様の構成には同一の符号を付し、その説明を省略する。
In the present embodiment, differences from
In the present embodiment, the same components as those in the first and second embodiments are denoted by the same reference numerals, and the description thereof is omitted.
実施の形態3は、入力されたモデルに対策を反映させて出力することを目的とする。本実施の形態では、セキュリティ設計および実装をさらに自動化させるため、モデルベース開発の枠組として統合する態様について説明する。
図17は、本実施の形態に係るセキュリティ設計装置100cの構成図である。
セキュリティ設計装置100cは、モデルベース開発の統合開発環境にセキュリティ設計が統合されている。セキュリティ設計装置100cは、利用者により利用されるモデルベース開発部190を備える。モデルベース開発部190は、モデルの生成に用いられるモデル化ツール部、対策反映部により対策が付与されたモデルを検証するモデル検証ツール部、モデルに基づいてソースコードを生成するコード生成ツール部を有する。
モデル化ツール部111では、ユーザがGUIといったインタフェースを用いてモデルを作成し、作成されたモデルはモデル201として出力される。
モデル201に対して、リスク分析部108、脆弱性分析部105、および対策反映部109による処理によって対策が反映される。
モデル検証ツール部112では、モデルベース開発の統合開発環境が備えている検証機能によって、ユーザが定義したモデルに対する要件が検証される。
コード生成ツール部113では、モデルベース開発の統合開発環境が備えているコード生成機能によって、モデルからソースコード212が生成される。
出力部107は、ソースコード212をセキュリティ設計装置100cの外部に出力する。FIG. 17 is a configuration diagram of the security design device 100c according to the present embodiment.
In the security design apparatus 100c, security design is integrated into an integrated development environment for model-based development. The security design device 100c includes a model base development unit 190 used by a user. The model base development unit 190 includes a modeling tool unit used for generating a model, a model verification tool unit for verifying a model to which a countermeasure is given by the countermeasure reflection unit, and a code generation tool unit for generating source code based on the model. Have.
In the
A countermeasure is reflected on the
In the model
In the code
The
本実施の形態では、モデルは外部からの入力ではなく、モデルベース開発のプロセスの1つとして、モデルベース開発部の統合開発環境で作成される。また、モデルに対する対策が反映された後は、モデルベース開発のプロセスとしてモデルの検証およびモデルからのソースコード生成が行われる。 In the present embodiment, the model is created in the integrated development environment of the model-based development department as one of the model-based development processes, not as an external input. After the countermeasures for the model are reflected, model verification and source code generation from the model are performed as a model-based development process.
本実施の形態に係るセキュリティ設計装置100cは、モデルベース開発の統合開発環境にセキュリティ設計を統合している。このため、ユーザが通常通りのモデルベース開発フローによってモデルを設計するだけで、そのモデルに対する潜在的な脅威が自動的に抽出される。さらに、その脅威に対するソフトウェアの処理フローレベルでの対策が自動的にモデルに反映され、対策が反映されたソースコードが生成される。 The security design device 100c according to the present embodiment integrates security design into an integrated development environment for model-based development. For this reason, a potential threat to the model is automatically extracted just by designing the model by a normal model-based development flow. Furthermore, a countermeasure at the software processing flow level against the threat is automatically reflected in the model, and a source code reflecting the countermeasure is generated.
以上の実施の形態1から4では、セキュリティ設計装置の各部を独立した機能ブロックとして説明した。しかし、セキュリティ設計装置の構成は、上述した実施の形態のような構成でなくてもよい。セキュリティ設計装置の機能ブロックは、上述した実施の形態で説明した機能を実現することができれば、どのような構成でもよい。 In the first to fourth embodiments described above, each part of the security design apparatus has been described as an independent functional block. However, the configuration of the security design apparatus may not be the configuration as in the above-described embodiment. The functional block of the security design device may have any configuration as long as the function described in the above-described embodiment can be realized.
以上の実施の形態1から4のうち、複数の部分を組み合わせて実施しても構わない。あるいは、これらの実施の形態のうち、1つの部分を実施しても構わない。その他、これらの実施の形態を、全体としてあるいは部分的に、どのように組み合わせて実施しても構わない。
なお、上述した実施の形態は、本質的に好ましい例示であって、本発明の範囲、本発明の適用物の範囲、および本発明の用途の範囲を制限することを意図するものではない。上述した実施の形態は、必要に応じて種々の変更が可能である。Of the above first to fourth embodiments, a plurality of portions may be combined. Alternatively, one part of these embodiments may be implemented. In addition, these embodiments may be implemented in any combination as a whole or in part.
The above-described embodiment is essentially a preferable example, and is not intended to limit the scope of the present invention, the scope of the application of the present invention, and the scope of use of the present invention. The embodiment described above can be variously modified as necessary.
100,100b,100c セキュリティ設計装置、101 モデル取得部、103 脅威一覧取得部、105,105a 脆弱性分析部、107 出力部、108 リスク分析部、109 対策反映部、111 モデル化ツール部、112 モデル検証ツール部、113 コード生成ツール部、190 モデルベース開発部、201,201b モデル、202 脅威一覧、203 検査モデル生成部、204 検査モデル、205 脆弱性テンプレート生成部、206 脆弱性テンプレート、207 モデル検査部、208 脆弱性判定部、209 検査プロパティ生成部、210 検査プロパティ、211 脆弱性一覧、212 ソースコード、221 データベース検索部、222 脆弱性データベース、401 HMI、402 機器コントローラ、403 通信ソフトウェア、404 フィールド機器、405,406 接続、407 機器制御ソフトウェア、500 ステートマシン、501 脅威データベース、502 対策データベース、601,602,701 表、161 脅威、162 脆弱性記述、909 電子回路、910 プロセッサ、920 記憶装置、930 入力インタフェース、940 出力インタフェース、S100 セキュリティ設計処理。 100, 100b, 100c Security design apparatus, 101 model acquisition unit, 103 threat list acquisition unit, 105, 105a vulnerability analysis unit, 107 output unit, 108 risk analysis unit, 109 countermeasure reflection unit, 111 modeling tool unit, 112 model Verification tool part, 113 Code generation tool part, 190 Model base development part, 201, 201b model, 202 Threat list, 203 Inspection model generation part, 204 Inspection model, 205 Vulnerability template generation part, 206 Vulnerability template, 207 Model inspection , 208 Vulnerability determination unit, 209 Inspection property generation unit, 210 Inspection property, 211 Vulnerability list, 212 Source code, 221 Database search unit, 222 Vulnerability database, 401 HMI, 402 Device controller 403 communication software, 404 field device, 405, 406 connection, 407 device control software, 500 state machine, 501 threat database, 502 countermeasure database, 601, 602, 701 table, 161 threat, 162 vulnerability description, 909 electronic circuit, 910 Processor, 920 storage device, 930 input interface, 940 output interface, S100 security design processing.
Claims (10)
前記脆弱性分析部は、
前記脅威一覧に含まれる脆弱性記述を用いて脆弱性テンプレートを取得するとともに、前記処理フローを表すモデルを取得し、前記モデルを前記脆弱性テンプレートに当てはめた検査モデルを生成する検査モデル生成部と、
前記脆弱性テンプレートを用いて前記脆弱性記述の有無を判定する検査プロパティを取得し、前記検査モデルと前記検査プロパティとを用いて、前記モデルに前記脆弱性箇所が存在するかを検証するモデル検査部と、
前記モデルに前記脆弱性箇所が存在すると検証されると、前記処理フローにおける前記脆弱性箇所を前記脆弱性一覧に追加する脆弱性判定部と、
前記脅威一覧に含まれる脆弱性記述に基づいて、前記脆弱性テンプレートを生成する脆弱性テンプレート生成部と、
前記脆弱性テンプレートを用いて前記検査プロパティを生成する検査プロパティ生成部と
を備えたセキュリティ設計装置。 A list of threats due to attacks on software processing and vulnerability descriptions that are descriptions of processes having vulnerability to the threat is acquired as a threat list, and included in the threat list from the processing flow of the software processing A vulnerability analysis unit that determines a vulnerability location corresponding to the vulnerability description to be generated and generates a list of the vulnerability locations as a vulnerability list,
The vulnerability analysis unit
An inspection model generation unit that acquires a vulnerability template using a vulnerability description included in the threat list, acquires a model representing the processing flow, and generates an inspection model in which the model is applied to the vulnerability template; ,
A model check that obtains a check property for determining the presence or absence of the vulnerability description using the vulnerability template, and verifies whether the vulnerability location exists in the model using the check model and the check property And
When it is verified that the vulnerability location exists in the model, a vulnerability determination unit that adds the vulnerability location in the processing flow to the vulnerability list;
A vulnerability template generation unit that generates the vulnerability template based on a vulnerability description included in the threat list;
A test property generation unit that generates the test property using the vulnerability template;
Security design device equipped with.
前記脆弱性分析部は、 The vulnerability analysis unit
前記脅威一覧に含まれる脆弱性記述を用いて脆弱性テンプレートを取得するとともに、前記処理フローを表すモデルを取得し、前記モデルを前記脆弱性テンプレートに当てはめた検査モデルを生成する検査モデル生成部と、 An inspection model generation unit that acquires a vulnerability template using a vulnerability description included in the threat list, acquires a model representing the processing flow, and generates an inspection model in which the model is applied to the vulnerability template; ,
前記脆弱性テンプレートを用いて前記脆弱性記述の有無を判定する検査プロパティを取得し、前記検査モデルと前記検査プロパティとを用いて、前記モデルに前記脆弱性箇所が存在するかを検証するモデル検査部と、 A model check that obtains a check property for determining the presence or absence of the vulnerability description using the vulnerability template, and verifies whether the vulnerability location exists in the model using the check model and the check property And
前記モデルに前記脆弱性箇所が存在すると検証されると、前記処理フローにおける前記脆弱性箇所を前記脆弱性一覧に追加する脆弱性判定部と、 When it is verified that the vulnerability location exists in the model, a vulnerability determination unit that adds the vulnerability location in the processing flow to the vulnerability list;
脅威と前記脅威に対応する脆弱性記述との一覧を記憶した脅威データベースと、 A threat database storing a list of threats and vulnerability descriptions corresponding to the threats;
脅威と前記脅威に対する対策との一覧を記憶した対策データベースと、 A countermeasure database storing a list of threats and countermeasures against the threats;
前記モデルに基づいて、前記脅威データベースから、前記モデルに対応する前記脅威一覧を抽出するリスク分析部と、 A risk analysis unit that extracts the list of threats corresponding to the model from the threat database based on the model;
前記脆弱性分析部から前記脆弱性箇所と前記脆弱性箇所に対応する脅威とを含む前記脆弱性一覧を取得し、前記対策データベースから、前記脆弱性一覧に含まれる前記脅威に対応する対策を抽出し、前記モデルにおける前記脅威に対応する前記脆弱性箇所に前記対策を付与する対策反映部と The vulnerability list including the vulnerability location and the threat corresponding to the vulnerability location is acquired from the vulnerability analysis unit, and the countermeasure corresponding to the threat included in the vulnerability list is extracted from the countermeasure database And a countermeasure reflecting unit that gives the countermeasure to the vulnerability location corresponding to the threat in the model,
を備えたセキュリティ設計装置。Security design device with
利用者により利用されるモデルベース開発部であって、
前記モデルの生成に用いられるモデル化ツール部と、前記対策反映部により前記対策が付与された前記モデルを検証するモデル検証ツール部と、前記モデルに基づいてソースコードを生成するコード生成ツール部とを有するモデルベース開発部を備えた請求項2に記載のセキュリティ設計装置。 The security design device is:
A model-based development department used by users,
A modeling tool unit used for generating the model, a model verification tool unit for verifying the model to which the countermeasure is applied by the countermeasure reflecting unit, and a code generation tool unit for generating source code based on the model; The security design device according to claim 2, further comprising a model base development unit having
前記モデルは、ステートマシンを含む請求項1から請求項3のいずれか1項に記載のセキュリティ設計装置。 Vulnerabilities included in the list of threats are acquired from CWE (Common weakness enumeration),
The security design apparatus according to any one of claims 1 to 3 , wherein the model includes a state machine.
前記脆弱性テンプレートと前記検査プロパティとを記憶する脆弱性データベースと、
前記脅威一覧に含まれる前記脆弱性記述に基づいて、前記脆弱性テンプレートと前記検査プロパティとを前記脆弱性データベースから抽出するデータベース検索部と
を備えた請求項1から請求項4のいずれか1項に記載のセキュリティ設計装置。 The security design device is:
A vulnerability database storing the vulnerability template and the inspection property;
The database search unit according to any one of claims 1 to 4, further comprising a database search unit that extracts the vulnerability template and the inspection property from the vulnerability database based on the vulnerability description included in the threat list. The security design device described in 1.
前記脅威一覧を取得する脅威一覧取得部と、
前記モデルを取得するモデル取得部と
を備えた請求項1から請求項5のいずれか1項に記載のセキュリティ設計装置。 The security design device is:
A threat list acquisition unit for acquiring the threat list;
The security design apparatus according to any one of claims 1 to 5, further comprising a model acquisition unit that acquires the model.
検査モデル生成部が、前記脅威一覧に含まれる脆弱性記述を用いて脆弱性テンプレートを取得するとともに、前記処理フローを表すモデルを取得し、前記モデルを前記脆弱性テンプレートに当てはめた検査モデルを生成し、
モデル検査部が、前記脆弱性テンプレートを用いて前記脆弱性記述の有無を判定する検査プロパティを取得し、前記検査モデルと前記検査プロパティとを用いて、前記モデルに前記脆弱性箇所が存在するかを検証し、
脆弱性判定部が、前記モデルに前記脆弱性箇所が存在すると検証されると、前記処理フローにおける前記脆弱性箇所を前記脆弱性一覧に追加し、
脆弱性テンプレート生成部が、前記脅威一覧に含まれる脆弱性記述に基づいて、前記脆弱性テンプレートを生成し、
検査プロパティ生成部が、前記脆弱性テンプレートを用いて前記検査プロパティを生成するセキュリティ設計方法。 Vulnerability analysis unit, the threat of attack on software processing, the list of vulnerabilities described as a description of a process having vulnerable to the threat acquired as a threat list, the process flow of processing before Symbol Software From the above, the vulnerability location corresponding to the vulnerability description included in the threat list is determined, and the list of the vulnerability locations is generated as a vulnerability list,
The inspection model generation unit acquires a vulnerability template using the vulnerability description included in the threat list, acquires a model representing the processing flow, and generates an inspection model in which the model is applied to the vulnerability template And
The model checking unit acquires a check property for determining the presence or absence of the vulnerability description using the vulnerability template, and whether the vulnerability location exists in the model using the check model and the check property Verify
When it is verified that the vulnerability location exists in the model, the vulnerability determination unit adds the vulnerability location in the processing flow to the vulnerability list,
A vulnerability template generation unit generates the vulnerability template based on the vulnerability description included in the threat list,
A security design method in which an inspection property generation unit generates the inspection property using the vulnerability template .
検査モデル生成部が、前記脅威一覧に含まれる脆弱性記述を用いて脆弱性テンプレートを取得するとともに、前記処理フローを表すモデルを取得し、前記モデルを前記脆弱性テンプレートに当てはめた検査モデルを生成し、 The inspection model generation unit acquires a vulnerability template using the vulnerability description included in the threat list, acquires a model representing the processing flow, and generates an inspection model in which the model is applied to the vulnerability template And
モデル検査部が、前記脆弱性テンプレートを用いて前記脆弱性記述の有無を判定する検査プロパティを取得し、前記検査モデルと前記検査プロパティとを用いて、前記モデルに前記脆弱性箇所が存在するかを検証し、 The model checking unit acquires a check property for determining the presence or absence of the vulnerability description using the vulnerability template, and whether the vulnerability location exists in the model using the check model and the check property Verify
脆弱性判定部が、前記モデルに前記脆弱性箇所が存在すると検証されると、前記処理フローにおける前記脆弱性箇所を前記脆弱性一覧に追加し、 When it is verified that the vulnerability location exists in the model, the vulnerability determination unit adds the vulnerability location in the processing flow to the vulnerability list,
脅威データベースが、脅威と前記脅威に対応する脆弱性記述との一覧を記憶し、 The threat database stores a list of threats and vulnerability descriptions corresponding to the threats;
対策データベースが、脅威と前記脅威に対する対策との一覧を記憶し、 The countermeasure database stores a list of threats and countermeasures against the threats;
リスク分析部が、前記モデルに基づいて、前記脅威データベースから、前記モデルに対応する前記脅威一覧を抽出し、 A risk analysis unit, based on the model, extracts the threat list corresponding to the model from the threat database;
対策反映部が、前記脆弱性分析部から前記脆弱性箇所と前記脆弱性箇所に対応する脅威とを含む前記脆弱性一覧を取得し、前記対策データベースから、前記脆弱性一覧に含まれる前記脅威に対応する対策を抽出し、前記モデルにおける前記脅威に対応する前記脆弱性箇所に前記対策を付与するセキュリティ設計方法。 The countermeasure reflection unit acquires the vulnerability list including the vulnerability location and the threat corresponding to the vulnerability location from the vulnerability analysis unit, and from the countermeasure database to the threat included in the vulnerability list A security design method for extracting corresponding countermeasures and assigning the countermeasures to the vulnerability locations corresponding to the threats in the model.
前記脅威一覧に含まれる脆弱性記述を用いて脆弱性テンプレートを取得するとともに、前記処理フローを表すモデルを取得し、前記モデルを前記脆弱性テンプレートに当てはめた検査モデルを生成する検査モデル生成処理と、
前記脆弱性テンプレートを用いて前記脆弱性記述の有無を判定する検査プロパティを取得し、前記検査モデルと前記検査プロパティとを用いて、前記モデルに前記脆弱性箇所が存在するかを検証するモデル検査処理と、
前記モデルに前記脆弱性箇所が存在すると検証されると、前記処理フローにおける前記脆弱性箇所を前記脆弱性一覧に追加する脆弱性判定処理と、
前記脅威一覧に含まれる脆弱性記述に基づいて、前記脆弱性テンプレートを生成する脆弱性テンプレート生成処理と、
前記脆弱性テンプレートを用いて前記検査プロパティを生成する検査プロパティ生成処理と
をコンピュータに実行させるセキュリティ設計プログラム。 A list of threats due to attacks on software processing and vulnerability descriptions that are descriptions of processes having vulnerability to the threat is acquired as a threat list, and included in the threat list from the processing flow of the software processing A vulnerability analysis process for determining a vulnerability location corresponding to the vulnerability description to be generated and generating a list of the vulnerability locations as a vulnerability list ;
An inspection model generation process for acquiring a vulnerability template using a vulnerability description included in the threat list, acquiring a model representing the processing flow, and generating an inspection model in which the model is applied to the vulnerability template; ,
A model check that obtains a check property for determining the presence or absence of the vulnerability description using the vulnerability template, and verifies whether the vulnerability location exists in the model using the check model and the check property Processing,
When it is verified that the vulnerability location exists in the model, vulnerability determination processing for adding the vulnerability location in the processing flow to the vulnerability list; and
A vulnerability template generation process for generating the vulnerability template based on the vulnerability description included in the threat list;
A security design program for causing a computer to execute inspection property generation processing for generating the inspection property using the vulnerability template .
ソフトウェアの処理に対する攻撃による脅威と、前記脅威に対して脆弱性を有する処理の記述である脆弱性記述との一覧を脅威一覧として取得し、前記ソフトウェアの処理の処理フローから、前記脅威一覧に含まれる脆弱性記述に対応する脆弱性箇所を判定し、前記脆弱性箇所の一覧を脆弱性一覧として生成する脆弱性分析処理と、 A list of threats due to attacks on software processing and vulnerability descriptions that are descriptions of processes having vulnerability to the threat is acquired as a threat list, and included in the threat list from the processing flow of the software processing A vulnerability analysis process for determining a vulnerability location corresponding to the vulnerability description to be generated and generating a list of the vulnerability locations as a vulnerability list;
前記脅威一覧に含まれる脆弱性記述を用いて脆弱性テンプレートを取得するとともに、前記処理フローを表すモデルを取得し、前記モデルを前記脆弱性テンプレートに当てはめた検査モデルを生成する検査モデル生成処理と、 An inspection model generation process for acquiring a vulnerability template using a vulnerability description included in the threat list, acquiring a model representing the processing flow, and generating an inspection model in which the model is applied to the vulnerability template; ,
前記脆弱性テンプレートを用いて前記脆弱性記述の有無を判定する検査プロパティを取得し、前記検査モデルと前記検査プロパティとを用いて、前記モデルに前記脆弱性箇所が存在するかを検証するモデル検査処理と、 A model check that obtains a check property for determining the presence or absence of the vulnerability description using the vulnerability template, and verifies whether the vulnerability location exists in the model using the check model and the check property Processing,
前記モデルに前記脆弱性箇所が存在すると検証されると、前記処理フローにおける前記脆弱性箇所を前記脆弱性一覧に追加する脆弱性判定処理と、 When it is verified that the vulnerability location exists in the model, vulnerability determination processing for adding the vulnerability location in the processing flow to the vulnerability list; and
前記モデルに基づいて、前記脅威データベースから、前記モデルに対応する前記脅威一覧を抽出するリスク分析処理と、 Risk analysis processing for extracting the threat list corresponding to the model from the threat database based on the model;
前記脆弱性分析処理から前記脆弱性箇所と前記脆弱性箇所に対応する脅威とを含む前記脆弱性一覧を取得し、前記対策データベースから、前記脆弱性一覧に含まれる前記脅威に対応する対策を抽出し、前記モデルにおける前記脅威に対応する前記脆弱性箇所に前記対策を付与する対策反映処理と The vulnerability list including the vulnerability location and the threat corresponding to the vulnerability location is acquired from the vulnerability analysis process, and the countermeasure corresponding to the threat included in the vulnerability list is extracted from the countermeasure database. And a countermeasure reflection process for giving the countermeasure to the vulnerability location corresponding to the threat in the model;
をコンピュータに実行させるセキュリティ設計プログラム。A security design program that causes a computer to execute.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2018/001669 WO2019142335A1 (en) | 2018-01-19 | 2018-01-19 | Security design device, security design method, and security design program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6608569B1 true JP6608569B1 (en) | 2019-11-20 |
JPWO2019142335A1 JPWO2019142335A1 (en) | 2020-01-23 |
Family
ID=67301390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019541481A Active JP6608569B1 (en) | 2018-01-19 | 2018-01-19 | Security design apparatus, security design method, and security design program |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP6608569B1 (en) |
TW (1) | TW201933164A (en) |
WO (1) | WO2019142335A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111881451A (en) * | 2020-07-16 | 2020-11-03 | 哈尔滨工业大学(威海) | Vulnerability association mining method for industrial control system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008262311A (en) * | 2007-04-11 | 2008-10-30 | Fujitsu Ltd | Security-inspecting model generation program and device, and security-inspecting model inspection device |
JP2010507165A (en) * | 2006-10-19 | 2010-03-04 | チェックマークス リミテッド | Detect security vulnerabilities in source code |
JP2015219665A (en) * | 2014-05-15 | 2015-12-07 | ゲヒルン株式会社 | Vulnerability visualization server, vulnerability visualization method, and vulnerability visualization server program |
US20170329691A1 (en) * | 2016-05-12 | 2017-11-16 | Synopsys, Inc. | Systems and methods for using semantic queries to analyze software |
-
2018
- 2018-01-19 WO PCT/JP2018/001669 patent/WO2019142335A1/en active Application Filing
- 2018-01-19 JP JP2019541481A patent/JP6608569B1/en active Active
- 2018-04-27 TW TW107114486A patent/TW201933164A/en unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010507165A (en) * | 2006-10-19 | 2010-03-04 | チェックマークス リミテッド | Detect security vulnerabilities in source code |
JP2008262311A (en) * | 2007-04-11 | 2008-10-30 | Fujitsu Ltd | Security-inspecting model generation program and device, and security-inspecting model inspection device |
JP2015219665A (en) * | 2014-05-15 | 2015-12-07 | ゲヒルン株式会社 | Vulnerability visualization server, vulnerability visualization method, and vulnerability visualization server program |
US20170329691A1 (en) * | 2016-05-12 | 2017-11-16 | Synopsys, Inc. | Systems and methods for using semantic queries to analyze software |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111881451A (en) * | 2020-07-16 | 2020-11-03 | 哈尔滨工业大学(威海) | Vulnerability association mining method for industrial control system |
Also Published As
Publication number | Publication date |
---|---|
TW201933164A (en) | 2019-08-16 |
JPWO2019142335A1 (en) | 2020-01-23 |
WO2019142335A1 (en) | 2019-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7788730B2 (en) | Secure bytecode instrumentation facility | |
US7917762B2 (en) | Secure execution environment by preventing execution of unauthorized boot loaders | |
US8881300B2 (en) | Automated detection of flaws and incompatibility problems in information flow downgraders | |
US20210334384A1 (en) | Detecting a potential security leak by a microservice | |
US8635602B2 (en) | Verification of information-flow downgraders | |
US8701186B2 (en) | Formal analysis of the quality and conformance of information flow downgraders | |
US11797668B2 (en) | Sample data generation apparatus, sample data generation method, and computer readable medium | |
US7949874B2 (en) | Secure firmware execution environment for systems employing option read-only memories | |
WO2022180702A1 (en) | Analysis function addition device, analysis function addition program, and analysis function addition method | |
US10387288B2 (en) | Interactive analysis of a security specification | |
JP6608569B1 (en) | Security design apparatus, security design method, and security design program | |
JP6632777B2 (en) | Security design apparatus, security design method, and security design program | |
JP7008879B2 (en) | Information processing equipment, information processing methods and information processing programs | |
JP6584737B1 (en) | Threat identification device, threat identification method, and threat identification program | |
JP6599053B1 (en) | Information processing apparatus, information processing method, and information processing program | |
CN111984944B (en) | Source code processing method, related device and storage medium | |
US8555226B1 (en) | Automatic verification of dependency | |
WO2024154290A1 (en) | Program analysis device, program analysis method, and non-transitory computer readable medium | |
WO2021171524A1 (en) | Signature generation device, signature generation method, and signature generation program | |
CN115997210A (en) | Attack means evaluation device, attack means evaluation method, and attack means evaluation program | |
CN112287335A (en) | Detection method based on FORTIFY security protection, terminal and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190731 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190731 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20190731 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20190906 |
|
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: 20190924 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191023 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6608569 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |