ISO/IEC 23643:2020 ソフトウェアおよびシステムエンジニアリング—ソフトウェアの安全性およびセキュリティ検証ツールの機能 | ページ 6

※一部、英文及び仏文を自動翻訳した日本語訳を使用しています。

3 用語と定義

この文書の目的上、次の用語と定義が適用されます。

ISO と IEC は、標準化に使用する用語データベースを次のアドレスで維持しています。

3.1

アプリケーションドメイン

明確に定義されたアプリケーションのセット

3.2

能力

与えられた活動を実行できる性質

[出典:ISO 19439:2006, 3.5]

3.3

証明書

独立した第三者認証機関が発行した認証文書

[出典:ISO 22222:2005, 3.2]

3.4

欠陥

障害、またはシステムまたは ソフトウェアのパフォーマンスの意図されたレベルからの逸脱 (3.19)

3.5

動的プログラム解析

実行中の動作に基づいて ソフトウェア (3.19) システムまたはコンポーネントを評価するプロセス

注記 1:この定義は、ソフトウェアが実際にコンパイルされ、特定の数の入力データのテストケースで実行されることを意味します。次に、システムからの物理的応答が検査され、予想される結果と比較されます。動的プログラム分析は、手動で行うことも、自動プロセスを使用して行うこともできます。結果は手動で(たとえば、小さな入力テストデータを使用して)、またはオラクルを使用して自動的に検査されます。

3.6

エンティティ.エンティティ

属性や他のエンティティとの関係を持つ可能性のあるデータ概念

[出典:ISO/TR 25100:2012, 2.1.3, 修正 — エントリの注 1 が削除されました。]

3.7

評価者

システムまたは ソフトウェア (3.19) の 検証 (3.33) or 検証 (3.32) に従事する有資格者

3.8

偽陰性

観察されていない真の 欠陥 (3.4)

注記 1:この用語は、アプリケーションの分析中に欠陥情報を生成する分析ツールに対して使用されます。偽陰性が存在する場合、このツールは、分析中の ソフトウェア (3.19) の実際の欠陥セットに関して不完全であると言われます。偽陰性は、1) 欠陥を検出するためのヒューリスティックの使用、2) 分析データが限定的すぎるなど、いくつかの理由によって発生する可能性があります。

3.9

偽陽性

真の欠陥に対応しない観察された 欠陥 (3.4)

注記 1:この用語は、アプリケーションの分析中に欠陥情報を生成する分析ツールに対して使用されます。分析中に誤検知が発生するのは、分析ルールの精度の欠如など、いくつかの理由が考えられます。

3.10

正式な検証

数学の形式的な方法を使用して、形式的な仕様または特性に関して意図されたアプリケーションの正しさを証明または反証する活動

3.11

故障

仕様から逸脱するシステムまたはコンポーネントの動作

3.12

保護

コンテンツを保護するプロセス

[出典:ISO/IEC 15444-8:2007, 3.24]

3.13

リスク

不確実性が目標に及ぼす影響

注記 1: ISO 22538-4 は、リスクを「危険による損失または傷害の確率」と定義しています。

[出典:ISO 31000:2018, 3.1, 修正済み — エントリの注記 1, 2, および 3 が削除されました。エントリに新しい注 1 が追加されました。]

3.14

安全

容認できない リスクからの解放 (3.13)

3.15

安全性が重要なシステム

システムの障害または 誤動作 (3.11) により、 次の 1 つ (または複数) の結果が生じる可能性があります。
  • 人の死亡または重傷
  • 機器/財産の損失または重大な損傷
  • 環境への害

例:

セーフティ クリティカル システムの例としては、重要なインフラストラクチャ、医療機器、輸送機関、原子力発電所などがあります。セーフティクリティカルなシステムは、ライフクリティカルなシステムと呼ばれることもあります。

3.16

安全

システムに損害を与えることを目的とした意図的で不正な行為に対する抵抗力

3.17

セキュリティレベル

階層的 セキュリティ (3.16) 分類と、オブジェクトの機密性または個人のセキュリティ クリアランスを表すセキュリティ カテゴリの組み合わせ

注記 1:最小セキュリティレベルは、必要な最小 保護 (3.12) を示します。

3.18

準正式な検証

準形式的な表記法で与えられた記述に基づく方法

3.19

ソフトウェア

情報処理システムのプログラム、手順、規則、および関連文書の全部または一部

[出典:ISO/IEC 19770-3:2016, 3.1.26, 修正 — エントリの注 1 が削除されました。]

3.20

ソフトウェアアイテム

ソフトウェア (3.19) 製品の識別可能な部分。ソース コード、オブジェクト コード、制御コード、制御データ、またはこれらの集合から構成されます。

注記 1: ソフトウェア項目とは、ソフトウェアのソースコード、オブジェクトコード、またはデータの明確に識別された部分を指す総称です。ソフトウェア項目は、ソフトウェアが記述されているプログラミング言語の構文カテゴリに属します。例としては、クラス、変数、関数、型などがあります。ソフトウェア項目は、ソフトウェア製品の識別可能な部分です。

3.21

ソフトウェアセキュリティ

ソフトウェア (3.19) が許容できない リスク (3.13) から解放される能力

注記 1:人への死亡や重傷、財産への損失や重大な損害、または重大な環境への危害につながる可能性のある障害や 誤動作 (3.11) に耐えるソフトウェアの能力です。

注記 2:ソフトウェアの安全性を含むソフトウェアの品質は、ソフトウェアエンジニアリングを使用して達成されます。 セーフティ クリティカル システムのソフトウェア エンジニアリング (3.15) では、次の方向性が強調されています。
  • プロセスエンジニアリングと管理。
  • システムに適切なツールと環境を選択する。ほとんどのエンジニアリング分野と同様に、目的に応じて最適なツールを使用するという原則が普及しています。
  • 要件の順守。

3.22

ソフトウェアセキュリティ

悪意のある攻撃者から資産を保護する ソフトウェアの能力 (3.19)

注記 1: ISO/IEC 25010 のソフトウェア製品品質モデルによれば、ソフトウェアセキュリティはソフトウェア資産に適用され、機密性、完全性、可用性、認証、認可、および否認防止という一連の特性に分解されます。

3.23

ソフトウェアユニット

ソフトウェアの最小の独立した部分 (3.19) 。独立して翻訳でき、仕様に従って動作するかどうか関連データを使用してテストできます。

3.24

静的プログラム解析

ソフトウェア (3.19) コードをターゲット (バイナリ) 形式で実行せずに、そのコードのプロパティを分析することに関係する形式的手法のサブフィールド

3.25

システムの安全性

許容できない リスクから解放されるシステムの能力 (3.13)

注記 1: システムとは、共通の目的を達成するために、相互作用、相互関連、または相互依存する要素または部品のセットまたはグループとして定義され、組織化および統合されて集合体または統一された全体を形成します。より広い観点から見ると、システムの定義は、ハードウェア、 ソフトウェア (3.19) 、人間のシステム統合、手順、およびトレーニングで構成されます。したがって、システムの安全性はシステム エンジニアリング プロセスの一部であり、危険を防止、排除、制御するために、エンジニアリングと運用におけるこれらすべてのドメインと領域に協調して体系的に取り組む必要があります。

注記 2:システム安全概念は、システム設計者がモデル化、分析、危険性の認識、理解、排除を行い、許容可能な 安全性レベルを達成するための制御を適用するのに役立ちます (3.14) 。安全性に対するシステムベースのアプローチでは、システム、プログラム、プロジェクト、活動、製品のライフサイクル全体を通じて、危険の特定、危険の分析、危険の除去、制御、または管理に科学的、技術的、および管理的スキルを適用する必要があります。 Hazop は、危険を特定するために利用できるいくつかの技術のうちの 1 つです。

3.26

検証対象

TOV

検証される ソフトウェア (3.19) 、または ソフトウェア項目 (3.20) or ユニット (3.23) のセット (例えば、 安全性 (3.14) および セキュリティ (3.16) の観点から)

注記 1:評価対象 (TOE) は、システムセキュリティ技術で一般的に使用される用語です。 TOE は、場合によってはガイダンスを伴うソフトウェア、ファームウェア、および/またはハードウェアのセットとして定義されます。

3.27

対象ソフトウェア

ソフトウェア (3.19) 開発プロセスの最終製品。少なくともターゲット コンピュータ上で実行できるバイナリ コードが含まれています。

注記 1:ターゲット ソフトウェアは、バイナリ ファイル、ソース ファイル、ライブラリ、インストール スクリプト ファイル、コンパイル スクリプト ファイル、ドキュメント ファイル、データ ファイルなど、複数のファイルで構成される場合があります。多くの場合、ターゲット ソフトウェアは、ターゲット ソフトウェアの一部ではないが、ライブラリなど、ターゲット プラットフォーム上で実行する必要があるソフトウェアの基礎となる層に依存します。

3.28

ターゲットシステム

ターゲット ソフトウェアを実行できる完全なコンピューティング プラットフォーム (3.27)

注記 1:ターゲット・システムは、ハードウェア・リソースと、ハードウェアにインストールされた ソフトウェア (3.19) リソースで構成されます。

3.29

ツールボックス

機能の点で相互に補完し合うツールのセットで、意図された用途のより広い領域をカバーします

3.30

信頼

ユーザーまたは他の利害関係者が、製品またはシステムが意図したとおりに動作するという確信の度合い

[出典:ISO/IEC 25010:2011, 4.1.3.2]

3.31

使用事例

システム (または他の エンティティ (3.6) ) がシステムのアクターと対話して実行できる、バリアントを含む一連のアクションの仕様

[ソース:ISO 15745-1:2003, 3.35, 修正済み — 先頭のドメイン「<class>」と定義の末尾の「[UML]」が削除されました。]

3.32

検証

客観的な証拠の提供による、特定の使用目的または用途の要件が満たされていることの確認

例:

安全性 (3.14) 検証は、検査とテストに基づいて、安全性の目標が十分であり、達成されているという保証として定義されています (ISO 26262-1)

[出典:ISO/IEC 25000:2014, 4.41, 修正済み — エントリの注 1 が削除されました。例を追加しました。]

3.33

検証

客観的証拠の提供による、指定された要件が満たされていることの確認

[出典: ISO/IEC 25000:2014, 4.43, 修正 — エントリの注 1 が削除されました。]

3.34

検証方法

システムの指定された要件が満たされていることを示す客観的な証拠を作成する方法

3.35

検証ツール

検証(3.33) 中に 検証の対象(3.26) に関する情報を収集し、情報の解釈を実行したり検証の一部を自動化するために使用できる手段

3.36

脆弱性

ソフトウェア (3.19) の設計または実装における潜在的な欠陥または弱点。使用されると (誤ってトリガーまたは意図的に悪用され)、システムに損害を与える可能性があります。

注記 1: CVE 分類 (参考文献 [25] を参照) は、既知のソフトウェア脆弱性の事実上の標準クラスを定義します。

注記 2:脆弱性は、実際に有効化できる場合には悪用可能です。

参考文献

1ISO Guide 73, リスク管理 — 語彙
2ISO/IEC/IEEE 1502, システムおよびソフトウェア エンジニアリング — システムおよびソフトウェアの保証
3ISO/IEC 1540, 情報技術 - セキュリティ技術 - IT セキュリティの評価基準
4ISO/IEC 15444-8:2007, 情報技術 — JPEG 2000 画像コーディング システム: Secure JPEG 2000 — Part 8
5ISO 15745-1:2003, 産業オートメーション システムと統合 — オープン システム アプリケーション統合フレームワーク — Part 1: 一般的な参照の説明
6ISO/IEC 16085, システムおよびソフトウェアエンジニアリング — ライフサイクルプロセス — リスク管理
7ISO/IEC 17000, 適合性評価 - 語彙と一般原則
8ISO/IEC 17029, 適合性評価 — 検証および検証機関の一般原則と要件
9ISO 19439:2006, エンタープライズ統合 — エンタープライズ モデリングのフレームワーク
10ISO/IEC 19770-3:2016, 情報テクノロジー — IT 資産管理 — Part 3: 資格スキーマ
11ISO/IEC 20741, システムおよびソフトウェア エンジニアリング — ソフトウェア エンジニアリング ツールの評価と選択に関するガイドライン
12ISO 22222:2005, パーソナル ファイナンシャル プランニング — パーソナル ファイナンシャル プランナーの要件
13ISO 22538-4, 宇宙システム — 酸素の安全性 — Part 4: 酸素システムおよびコンポーネントの危険性分析
14ISO/IEC 25000:2014, システムおよびソフトウェア エンジニアリング — システムおよびソフトウェアの品質要件と評価 (SQuaRE) — SQuaRE ガイド
15ISO/IEC 25010:2011, システムおよびソフトウェアエンジニアリング — システムおよびソフトウェアの品質要件および評価 (SQuaRE) — システムおよびソフトウェアの品質モデル
16ISO/TR 25100:2012, 高度道路交通システム — システムアーキテクチャ — ITS データ概念の調和
17ISO 26262-1, 道路車両 — 機能安全 — Part 1: 語彙
18ISO/IEC 27005, 情報技術 - セキュリティ技術 - 情報セキュリティ リスク管理
19ISO/IEC 2703, 情報技術 — セキ​​ュリティ技術 — アプリケーション セキュリティ
20ISO/IEC 30130, ソフトウェアエンジニアリング - ソフトウェアテストツールの機能
21ISO 31000:2018, リスク管理 — ガイドライン
22IEC 31010, リスク管理 — リスク評価手法
23IEC 61508-3, 電気/電子/プログラム可能な電子安全関連システムの機能安全 — Part 3: ソフトウェア要件
24DO-178 航空機搭載システムおよび機器の認証における B/C ソフトウェアの考慮事項、
25CVE 分類 ( https://cve.mitre.org/ を参照)

3 Terms and definitions

For the purposes of this document, the following terms and definitions apply.

ISO and IEC maintain terminological databases for use in standardization at the following addresses:

3.1

application domain

well-defined set of applications

3.2

capability

quality of being able to perform a given activity

[SOURCE:ISO 19439:2006, 3.5]

3.3

certificate

attestation document issued by an independent third-party certification body

[SOURCE:ISO 22222:2005, 3.2]

3.4

defect

fault, or deviation from the intended level of performance of a system or software (3.19)

3.5

dynamic program analysis

process of evaluating a software (3.19) system or component based on its behaviour during execution

Note 1 to entry: The definition means that the software shall actually be compiled and run on a certain number of input data test cases. The physical response from the system is then examined and compared to expected results. Dynamic program analysis can be done manually or using an automated process. The results are examined either manually (e.g. with small input test data) or automatically using oracles.

3.6

entity

data concept that may have attributes and relationships to other entities

[SOURCE:ISO/TR 25100:2012, 2.1.3, modified — Note 1 to entry has been removed.]

3.7

evaluator

competent person engaged in the verification (3.33) or validation (3.32) of a system or software (3.19)

3.8

false negative

true defect (3.4) that has not been observed

Note 1 to entry: The term is used for analysis tools producing defect information during the analysis of an application. In the presence of false negatives, the tool is said to be incomplete with respect to the real set of defects in the software (3.19) under analysis. False negatives can be due to several reasons such as 1) the use of heuristics for detecting defects, 2) too restrictive analysis data.

3.9

false positive

observed defect (3.4) which does not correspond to a true defect

Note 1 to entry: The term is used for analysis tools producing defect information during the analysis of an application. False positives appear during the analysis because of several possible reasons, such as lack of precision of the analysis rules.

3.10

formal verification

activity proving or disproving the correctness of intended applications with respect to a formal specification or a property, using formal methods of mathematics

3.11

malfunction

behaviour of a system or component that deviates from the specifications

3.12

protection

process to secure content

[SOURCE:ISO/IEC 15444-8:2007, 3.24]

3.13

risk

effect of uncertainty on objectives

Note 1 to entry: ISO 22538-4 defines risk as “probability of loss or injury from a hazard”.

[SOURCE:ISO 31000:2018, 3.1, modified — Notes 1, 2 and 3 to entry have been removed; a new Note 1 to entry has been added.]

3.14

safety

freedom from unacceptable risk (3.13)

3.15

safety-critical system

system whose failure or malfunction (3.11) may result in one (or more) of the following outcomes:
  • death or serious injury to people
  • loss or severe damage to equipment/property
  • environmental harm

EXAMPLE:

Examples of safety-critical systems are critical infra-structures, medical equipment, transportation, and nuclear power plants. Safety-critical systems are also sometimes called life-critical systems.

3.16

security

resistance to intentional, unauthorized act(s) designed to cause harm or damage to a system

3.17

security level

combination of a hierarchical security (3.16) classification and a security category that represents the sensitivity of an object or the security clearance of an individual

Note 1 to entry: The minimum security level is an indication of the minimum protection (3.12) required.

3.18

semi-formal verification

method that is based on a description given in semi-formal notation

3.19

software

all or part of the programs, procedures, rules, and associated documentation of an information processing system

[SOURCE:ISO/IEC 19770-3:2016, 3.1.26, modified — Note 1 to entry has been removed.]

3.20

software item

identifiable part of a software (3.19) product, consisting of source code, object code, control code, control data, or a collection of these

Note 1 to entry: Software item is a generic term that designates well-identified parts of software source code, object code or data. A software item belongs to a syntactic category of the programming language in which the software is written. Examples are classes, variables, functions and types. A software item is an identifiable part of a software product.

3.21

software safety

ability of software (3.19) to be free from unacceptable risk (3.13)

Note 1 to entry: It is the ability of software to resist failure and malfunctions (3.11) that can lead to death or serious injury to people, loss or severe damage to property, or severe environmental harm.

Note 2 to entry: Software quality, including software safety, is achieved using software engineering. Software engineering for safety-critical systems (3.15) emphasizes the following directions:
  • process engineering and management;
  • selecting the appropriate tools and environment for the system; the principle of using the best tools fit to the purpose prevails as in most engineering disciplines;
  • adherence to requirements.

3.22

software security

ability of software (3.19) to protect its assets from a malicious attacker

Note 1 to entry: According to software product quality model in ISO/IEC 25010, software security applies to software assets and is decomposed into the following set of properties: confidentiality, integrity, availability, authentication, authorization and non-repudiation.

3.23

software unit

smallest independent piece of software (3.19) , which can be independently translated, and which can be tested with the relevant data on whether it performs to specification

3.24

static program analysis

sub-field of formal methods concerned by analyzing the properties of a software (3.19) code without executing this code in the target (binary) format

3.25

system safety

ability of a system to be free from unacceptable risk (3.13)

Note 1 to entry: A system is defined as a set or group of interacting, interrelated or interdependent elements or parts, that are organized and integrated to form a collective unity or a unified whole, to achieve a common objective. In a broader view the definition of a system consists in the hardware, software (3.19) , human systems integration, procedures and training. Therefore, system safety is part of the systems engineering process and should systematically address all of these domains and areas in engineering and operations in a concerted fashion to prevent, eliminate and control hazards.

Note 2 to entry: A system safety concept helps the system designer(s) to model, analyze, gain awareness about, understand and eliminate the hazards, and apply controls to achieve an acceptable level of safety (3.14) . The systems-based approach to safety requires the application of scientific, technical and managerial skills to hazard identification, hazard analysis, and elimination, control, or management of hazards throughout the life-cycle of a system, program, project or an activity or a product. Hazop is one of several techniques available for the identification of hazards.

3.26

target of verification

TOV

software (3.19) , or a set of software items (3.20) or units (3.23) , to be verified (e.g. in terms of safety (3.14) and security (3.16) )

Note 1 to entry: Target of evaluation (TOE) is a commonly used term in systems security techniques. TOE is defined as a set of software, firmware and/or hardware possibly accompanied by guidance.

3.27

target software

final product of a software (3.19) development process, containing at least the binary code able to run on the target computer

Note 1 to entry: Target software may consist of several files, including binary and source files, libraries, installation and compilation script files, documentation and data files. The target software often relies on underlying layers of software, that are not part of the target software, but that are necessary to be executed on the target platform, for instance libraries.

3.28

target system

complete computing platform capable of running the target software (3.27)

Note 1 to entry: A target system consists of hardware resources and software (3.19) resources installed on the hardware.

3.29

toolbox

set of tools completing each other in terms of capabilities, to cover a larger area of their intended use

3.30

trust

degree to which a user or other stakeholder has confidence that a product or system will behave as intended

[SOURCE:ISO/IEC 25010:2011, 4.1.3.2]

3.31

use case

specification of a sequence of actions, including variants, that a system (or other entity (3.6) ) can perform, interacting with actors of the system

[SOURCE:ISO 15745-1:2003, 3.35, modified — The domain"<class>" at the beginning and"[UML]" at the end of the definition has been removed.]

3.32

validation

confirmation, through the provision of objective evidence, that the requirements for a specific intended use or application have been fulfilled

EXAMPLE:

Safety (3.14) validation has been defined as an assurance, based on examination and tests, that the safety goals are sufficient and have been achieved (ISO 26262-1).

[SOURCE:ISO/IEC 25000:2014, 4.41, modified — Note 1 to entry have been removed; EXAMPLE has been added.]

3.33

verification

confirmation, through the provision of objective evidence, that specified requirements have been fulfilled

[SOURCE:ISO/IEC 25000:2014, 4.43, modified — Note 1 to entry have been removed.]

3.34

verification method

method for producing objective evidence that specified requirements of a system have been fulfilled

3.35

verification tool

instrument that can be used during verification (3.33) to collect information about the target of verification (3.26) , to perform interpretation of information or to automate part of the verification

3.36

vulnerability

potential flaw or weakness in software (3.19) design or implementation that could be exercised (accidentally triggered or intentionally exploited) and result in harm to the system

Note 1 to entry: The CVE classification (see Reference [25]) defines the de-facto standard classes of the known software vulnerabilities.

Note 2 to entry: A vulnerability is exploitable if it can be activated in practice.

Bibliography

1ISO Guide 73, Risk management — Vocabulary
2ISO/IEC/IEEE 15026 (all parts), Systems and software engineering — Systems and software assurance
3ISO/IEC 15408 (all parts), Information technology — Security techniques — Evaluation criteria for IT security
4ISO/IEC 15444-8:2007, Information technology — JPEG 2000 image coding system: Secure JPEG 2000 — Part 8
5ISO 15745-1:2003, Industrial automation systems and integration — Open systems application integration framework — Part 1: Generic reference description
6ISO/IEC 16085, Systems and software engineering — Life cycle processes — Risk management
7ISO/IEC 17000, Conformity assessment — Vocabulary and general principles
8ISO/IEC 17029, Conformity assessment — General principles and requirements for validation and verification bodies
9ISO 19439:2006, Enterprise integration — Framework for enterprise modelling
10ISO/IEC 19770-3:2016, Information technology — IT asset management — Part 3: Entitlement schema
11ISO/IEC 20741, Systems and software engineering — Guideline for the evaluation and selection of software engineering tools
12ISO 22222:2005, Personal financial planning — Requirements for personal financial planners
13ISO 22538-4, Space systems — Oxygen safety — Part 4: Hazards analyses for oxygen systems and components
14ISO/IEC 25000:2014, Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — Guide to SQuaRE
15ISO/IEC 25010:2011, Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — System and software quality models
16ISO/TR 25100:2012, Intelligent transport systems — Systems architecture — Harmonization of ITS data concepts
17ISO 26262-1, Road vehicles — Functional safety — Part 1: Vocabulary
18ISO/IEC 27005, Information technology — Security techniques — Information security risk management
19ISO/IEC 27034 (all parts), Information technology — Security techniques — Application security
20ISO/IEC 30130, Software engineering — Capabilities of software testing tools
21ISO 31000:2018, Risk management — Guidelines
22IEC 31010, Risk management — Risk assessment techniques
23IEC 61508-3, Functional safety of electrical/electronic/programmable electronic safety related systems — Part 3: Software requirements
24DO-178 B/C Software Considerations in Airborne Systems and Equipment Certification,
25CVE classification (see https://cve.mitre.org/ )