aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authoradamjanovsky2022-04-10 18:09:05 +0200
committerGitHub2022-04-10 18:09:05 +0200
commit891a5fbd527c26cdbc0749e5044eef87a4508b8f (patch)
treeacde293fe5a5dc528558bb4ee740c8fb8d8cafb1
parentc73e0e0209d3a846863845729071e29511d0fbc7 (diff)
parentd21655a3aab64141307138bf1fe8ba146a1bc8f0 (diff)
downloadsec-certs-891a5fbd527c26cdbc0749e5044eef87a4508b8f.tar.gz
sec-certs-891a5fbd527c26cdbc0749e5044eef87a4508b8f.tar.zst
sec-certs-891a5fbd527c26cdbc0749e5044eef87a4508b8f.zip
Merge pull request #180 from crocs-muni/dependency-vulnerability
Dependency vulnerability
-rw-r--r--sec_certs/dataset/common_criteria.py14
-rw-r--r--sec_certs/dataset/fips.py4
-rw-r--r--sec_certs/model/dependency_finder.py28
-rw-r--r--sec_certs/model/dependency_vulnerability_finder.py123
-rw-r--r--sec_certs/sample/common_criteria.py8
-rw-r--r--tests/data/test_cc_heuristics/dependency_vulnerability_dataset.json2222
-rw-r--r--tests/data/test_cc_oop/fictional_cert.json2
-rw-r--r--tests/data/test_cc_oop/toy_dataset.json4
-rw-r--r--tests/test_cc_heuristics.py12
9 files changed, 2404 insertions, 13 deletions
diff --git a/sec_certs/dataset/common_criteria.py b/sec_certs/dataset/common_criteria.py
index 6a2fcbb9..5d5a9a33 100644
--- a/sec_certs/dataset/common_criteria.py
+++ b/sec_certs/dataset/common_criteria.py
@@ -19,6 +19,7 @@ from sec_certs.config.configuration import config
from sec_certs.dataset.dataset import Dataset, logger
from sec_certs.dataset.protection_profile import ProtectionProfileDataset
from sec_certs.model.dependency_finder import DependencyFinder
+from sec_certs.model.dependency_vulnerability_finder import DependencyVulnerabilityFinder
from sec_certs.sample.cc_maintenance_update import CommonCriteriaMaintenanceUpdate
from sec_certs.sample.common_criteria import CommonCriteriaCert
from sec_certs.sample.protection_profile import ProtectionProfile
@@ -684,12 +685,23 @@ class CCDataset(Dataset[CommonCriteriaCert], ComplexSerializableType):
for cert in self:
cert.compute_heuristics_cert_id(self.all_cert_ids)
+ def _compute_dependency_vulnerabilities(self):
+ cve_dependency_finder = DependencyVulnerabilityFinder()
+ cve_dependency_finder.fit(self.certs)
+
+ for dgst in self.certs:
+ dependency_cve = cve_dependency_finder.predict_single_cert(dgst)
+
+ self.certs[dgst].heuristics.direct_dependency_cves = dependency_cve.direct_dependency_cves
+ self.certs[dgst].heuristics.indirect_dependency_cves = dependency_cve.indirect_dependency_cves
+
def _compute_heuristics(self, use_nist_cpe_matching_dict: bool = True) -> None:
self._compute_cert_labs()
self._compute_normalized_cert_ids()
self._compute_dependencies()
_, _, cve_dset = self.compute_cpe_heuristics()
self.compute_related_cves(use_nist_cpe_matching_dict=use_nist_cpe_matching_dict, cve_dset=cve_dset)
+ self._compute_dependency_vulnerabilities()
def _compute_dependencies(self) -> None:
def ref_lookup(kw_attr):
@@ -709,7 +721,7 @@ class CCDataset(Dataset[CommonCriteriaCert], ComplexSerializableType):
finder.fit(self.certs, lambda cert: cert.pdf_data.processed_cert_id, ref_lookup(kw_source)) # type: ignore
for dgst in self.certs:
- setattr(self.certs[dgst].heuristics, dep_attr, finder.get_references(dgst))
+ setattr(self.certs[dgst].heuristics, dep_attr, finder.predict_single_cert(dgst))
@serialize
def analyze_certificates(self, fresh: bool = True) -> None:
diff --git a/sec_certs/dataset/fips.py b/sec_certs/dataset/fips.py
index 5f2af443..06b75731 100644
--- a/sec_certs/dataset/fips.py
+++ b/sec_certs/dataset/fips.py
@@ -466,13 +466,13 @@ class FIPSDataset(Dataset[FIPSCertificate], ComplexSerializableType):
finder.fit(self.certs, lambda cert: cert.cert_id, pdf_lookup) # type: ignore
for dgst in self.certs:
- setattr(self.certs[dgst].heuristics, "st_references", finder.get_references(dgst))
+ setattr(self.certs[dgst].heuristics, "st_references", finder.predict_single_cert(dgst))
finder = DependencyFinder()
finder.fit(self.certs, lambda cert: cert.cert_id, web_lookup) # type: ignore
for dgst in self.certs:
- setattr(self.certs[dgst].heuristics, "web_references", finder.get_references(dgst))
+ setattr(self.certs[dgst].heuristics, "web_references", finder.predict_single_cert(dgst))
@serialize
def finalize_results(self, use_nist_cpe_matching_dict: bool = True, perform_cpe_heuristics: bool = True):
diff --git a/sec_certs/model/dependency_finder.py b/sec_certs/model/dependency_finder.py
index 87ca6c98..acfdaba8 100644
--- a/sec_certs/model/dependency_finder.py
+++ b/sec_certs/model/dependency_finder.py
@@ -1,5 +1,5 @@
from dataclasses import dataclass, field
-from typing import Callable, Dict, Optional, Set, Tuple
+from typing import Callable, Dict, List, Optional, Set, Tuple
from sec_certs.sample.certificate import Certificate
from sec_certs.serialization.json import ComplexSerializableType
@@ -133,26 +133,34 @@ class DependencyFinder:
cert_id, referenced_by_indirect
)
- def get_directly_referenced_by(self, dgst: str) -> Optional[Set[str]]:
+ def _get_directly_referenced_by(self, dgst: str) -> Optional[Set[str]]:
res = self.dependencies[dgst].get("directly_referenced_by", None)
return set(res) if res else None
- def get_indirectly_referenced_by(self, dgst: str) -> Optional[Set[str]]:
+ def _get_indirectly_referenced_by(self, dgst: str) -> Optional[Set[str]]:
res = self.dependencies[dgst].get("indirectly_referenced_by", None)
return set(res) if res else None
- def get_directly_referencing(self, dgst: str) -> Optional[Set[str]]:
+ def _get_directly_referencing(self, dgst: str) -> Optional[Set[str]]:
res = self.dependencies[dgst].get("directly_referencing", None)
return set(res) if res else None
- def get_indirectly_referencing(self, dgst: str) -> Optional[Set[str]]:
+ def _get_indirectly_referencing(self, dgst: str) -> Optional[Set[str]]:
res = self.dependencies[dgst].get("indirectly_referencing", None)
return set(res) if res else None
- def get_references(self, dgst: str) -> References:
+ def predict_single_cert(self, dgst: str) -> References:
return References(
- self.get_directly_referenced_by(dgst),
- self.get_indirectly_referenced_by(dgst),
- self.get_directly_referencing(dgst),
- self.get_indirectly_referencing(dgst),
+ self._get_directly_referenced_by(dgst),
+ self._get_indirectly_referenced_by(dgst),
+ self._get_directly_referencing(dgst),
+ self._get_indirectly_referencing(dgst),
)
+
+ def predict(self, dgst_list: List[str]) -> Dict[str, References]:
+ cert_references = {}
+
+ for dgst in dgst_list:
+ cert_references[dgst] = self.predict_single_cert(dgst)
+
+ return cert_references
diff --git a/sec_certs/model/dependency_vulnerability_finder.py b/sec_certs/model/dependency_vulnerability_finder.py
new file mode 100644
index 00000000..2f66f30c
--- /dev/null
+++ b/sec_certs/model/dependency_vulnerability_finder.py
@@ -0,0 +1,123 @@
+import logging
+from dataclasses import dataclass, field
+from enum import Enum
+from typing import Dict, List, Optional, Set
+
+from sec_certs.sample.certificate import Certificate
+from sec_certs.serialization.json import ComplexSerializableType
+
+
+class DependencyType(Enum):
+ DIRECT = "direct"
+ INDIRECT = "indirect"
+
+
+@dataclass
+class DependencyCVE(ComplexSerializableType):
+ direct_dependency_cves: Optional[Set[str]] = field(default=None)
+ indirect_dependency_cves: Optional[Set[str]] = field(default=None)
+
+
+Certificates = Dict[str, Certificate]
+Vulnerabilities = Dict[str, Dict[str, Optional[Set[str]]]]
+
+
+class DependencyVulnerabilityFinder:
+ def __init__(self):
+ self.vulnerabilities: Vulnerabilities = {}
+ self.certificates: Certificates = {}
+
+ def _overwrite_previous_state(self, certificates: Certificates) -> None:
+ self.vulnerabilities = {}
+ self.certificates = certificates
+
+ def _get_dataset_cert_ids_occurrences(self) -> Dict[str, int]:
+ cert_id_occurrences: Dict[str, int] = {}
+
+ for dgst in self.certificates:
+ cert_id = self.certificates[dgst].heuristics.cert_id
+
+ if cert_id is None:
+ continue
+
+ cert_id_occurrences[cert_id] = cert_id_occurrences.get(cert_id, 0) + 1
+
+ return cert_id_occurrences
+
+ def _get_cert_dependency_cves(self, dgst: str, dependency_type: DependencyType) -> Optional[Set[str]]:
+ dependency_type_dict = {
+ DependencyType.DIRECT: self.certificates[dgst].heuristics.report_references.directly_referenced_by,
+ DependencyType.INDIRECT: self.certificates[dgst].heuristics.report_references.indirectly_referenced_by,
+ }
+
+ references = dependency_type_dict[dependency_type]
+
+ if not references:
+ return None
+
+ vulnerabilities = set()
+ dataset_cert_id_occurrences = self._get_dataset_cert_ids_occurrences()
+
+ for cert_id in references:
+ if cert_id is None:
+ continue
+
+ cert_id_occurrences = dataset_cert_id_occurrences.get(cert_id)
+
+ if cert_id_occurrences is None or cert_id_occurrences >= 2:
+ continue
+
+ for dgst in self.certificates:
+ cert_obj = self.certificates[dgst]
+ cert_obj_cves = cert_obj.heuristics.related_cves
+
+ if cert_obj.heuristics.cert_id == cert_id and cert_obj_cves:
+ vulnerabilities.update(cert_obj_cves)
+
+ return vulnerabilities if vulnerabilities else None
+
+ def fit(self, certificates: Certificates) -> Vulnerabilities:
+ self._overwrite_previous_state(certificates)
+
+ cert_id_occurrences = self._get_dataset_cert_ids_occurrences()
+ thrown_away_cert_counter = 0
+
+ for dgst in self.certificates:
+ cert_id = self.certificates[dgst].heuristics.cert_id
+
+ if cert_id is None:
+ continue
+
+ if cert_id_occurrences[cert_id] >= 2:
+ thrown_away_cert_counter += 1
+ continue
+
+ self.vulnerabilities[dgst] = {}
+ self.vulnerabilities[dgst][DependencyType.DIRECT.value] = self._get_cert_dependency_cves(
+ dgst, DependencyType.DIRECT
+ )
+ self.vulnerabilities[dgst][DependencyType.INDIRECT.value] = self._get_cert_dependency_cves(
+ dgst, DependencyType.INDIRECT
+ )
+
+ if thrown_away_cert_counter > 0:
+ logging.warning("There were total of %s certificates skipped due to duplicity", thrown_away_cert_counter)
+
+ return self.vulnerabilities
+
+ def predict_single_cert(self, dgst: str) -> DependencyCVE:
+ if not self.vulnerabilities.get(dgst):
+ return DependencyCVE(direct_dependency_cves=None, indirect_dependency_cves=None)
+
+ return DependencyCVE(
+ self.vulnerabilities[dgst][DependencyType.DIRECT.value],
+ self.vulnerabilities[dgst][DependencyType.INDIRECT.value],
+ )
+
+ def predict(self, dgst_list: List[str]) -> Dict[str, DependencyCVE]:
+ cert_vulnerabilities = {}
+
+ for dgst in dgst_list:
+ cert_vulnerabilities[dgst] = self.predict_single_cert(dgst)
+
+ return cert_vulnerabilities
diff --git a/sec_certs/sample/common_criteria.py b/sec_certs/sample/common_criteria.py
index e3b1e442..aa477563 100644
--- a/sec_certs/sample/common_criteria.py
+++ b/sec_certs/sample/common_criteria.py
@@ -2,6 +2,7 @@ import copy
import operator
from dataclasses import dataclass, field
from datetime import date, datetime
+from enum import Enum
from functools import partial
from pathlib import Path
from typing import Any, Callable, ClassVar, Dict, List, Optional, Set, Tuple, Union
@@ -27,6 +28,11 @@ HEADERS = {
}
+class DependencyType(Enum):
+ DIRECT = "direct"
+ INDIRECT = "indirect"
+
+
class CommonCriteriaCert(
Certificate["CommonCriteriaCert", "CommonCriteriaCert.CCHeuristics"],
PandasSerializableType,
@@ -241,6 +247,8 @@ class CommonCriteriaCert(
cert_id: Optional[str] = field(default=None)
st_references: References = field(default_factory=References)
report_references: References = field(default_factory=References)
+ direct_dependency_cves: Optional[Set[str]] = field(default=None)
+ indirect_dependency_cves: Optional[Set[str]] = field(default=None)
@property
def serialized_attributes(self) -> List[str]:
diff --git a/tests/data/test_cc_heuristics/dependency_vulnerability_dataset.json b/tests/data/test_cc_heuristics/dependency_vulnerability_dataset.json
new file mode 100644
index 00000000..cd40d290
--- /dev/null
+++ b/tests/data/test_cc_heuristics/dependency_vulnerability_dataset.json
@@ -0,0 +1,2222 @@
+{
+ "_type": "CCDataset",
+ "state": {
+ "_type": "DatasetInternalState",
+ "meta_sources_parsed": false,
+ "pdfs_downloaded": false,
+ "pdfs_converted": false,
+ "certs_analyzed": false
+ },
+ "timestamp": "2022-04-09 14:40:30",
+ "sha256_digest": "not implemented",
+ "name": "test dataset",
+ "description": "test dataset for testing dependency vulnerabilities",
+ "n_certs": 3,
+ "certs": [
+ {
+ "_type": "CommonCriteriaCert",
+ "dgst": "d0705c9e6fbaeba3",
+ "status": "active",
+ "category": "Operating Systems",
+ "name": "IBM z/OS Version 2 Release 1",
+ "manufacturer": "IBM Corporation",
+ "scheme": "DE",
+ "security_level": {
+ "_type": "Set",
+ "elements": [
+ "ALC_FLR.3",
+ "EAL4+"
+ ]
+ },
+ "not_valid_before": "2014-09-02",
+ "not_valid_after": null,
+ "report_link": "https://www.commoncriteriaportal.org/files/epfiles/0874a_pdf.pdf",
+ "st_link": "https://www.commoncriteriaportal.org/files/epfiles/0874b_pdf.pdf",
+ "cert_link": null,
+ "manufacturer_web": "https://www.ibm.com",
+ "protection_profiles": {
+ "_type": "Set",
+ "elements": [
+ {
+ "_type": "ProtectionProfile",
+ "pp_name": "Operating System Protection Profile, Version 2.0",
+ "pp_link": "https://www.commoncriteriaportal.org/files/ppfiles/pp0067b_pdf.pdf",
+ "pp_ids": [
+ "OSPP_V2.0"
+ ]
+ }
+ ]
+ },
+ "maintenance_updates": {
+ "_type": "Set",
+ "elements": []
+ },
+ "state": {
+ "_type": "InternalState",
+ "st_download_ok": true,
+ "report_download_ok": true,
+ "st_convert_ok": true,
+ "report_convert_ok": true,
+ "st_extract_ok": true,
+ "report_extract_ok": true,
+ "errors": []
+ },
+ "pdf_data": {
+ "_type": "PdfData",
+ "report_metadata": {
+ "pdf_file_size_bytes": 1235750,
+ "pdf_is_encrypted": false,
+ "pdf_number_of_pages": 52,
+ "/Author": "Bundesamt für Siciherheit in der Informationstechnik",
+ "/CreationDate": "D:20140905123159+02'00'",
+ "/Creator": "Writer",
+ "/Keywords": "\"Common Criteria, Certification, Zertifizierung, IBM z/OS Version 2 Release 1 / IBM\"",
+ "/ModDate": "D:20140905125207+02'00'",
+ "/Producer": "LibreOffice 3.6",
+ "/Subject": "Common Criteria Certification",
+ "/Title": "Certification Report BSI-DSZ-CC-0874-2014"
+ },
+ "st_metadata": {
+ "pdf_file_size_bytes": 2100545,
+ "pdf_is_encrypted": false,
+ "pdf_number_of_pages": 409,
+ "/Title": "z/OS V2R1 Security Target v10.9 PUBLIC",
+ "/Author": "Alejandro Masino",
+ "/Creator": "Writer",
+ "/Producer": "LibreOffice 4.3",
+ "/CreationDate": "D:20140828154014+02'00'"
+ },
+ "report_frontpage": {
+ "anssi": {},
+ "bsi": {
+ "match_rules": [
+ "(BSI-DSZ-CC-.+?) (?:for|For) (.+?) from (.*)"
+ ],
+ "cert_id": "BSI-DSZ-CC-0874-2014",
+ "cert_item": "IBM z/OS Version 2 Release 1",
+ "developer": "IBM Corporation",
+ "cert_lab": "BSI"
+ },
+ "nscib": {},
+ "niap": {},
+ "canada": {}
+ },
+ "st_frontpage": {
+ "anssi": {},
+ "bsi": {},
+ "nscib": {},
+ "niap": {},
+ "canada": {}
+ },
+ "report_keywords": {
+ "rules_vendor": {
+ "STM": 1
+ },
+ "rules_cert_id": {
+ "BSI-DSZ-CC-0874-2014": 52,
+ "BSI-DSZ-CC-0788-2012": 2
+ },
+ "rules_protection_profiles": {
+ "BSI-CC-PP-0067-2010": 4
+ },
+ "rules_technical_reports": {
+ "BSI 7125": 2,
+ "BSI 7148": 1
+ },
+ "rules_device_id": {},
+ "rules_os": {},
+ "rules_standard_id": {
+ "PKCS#11": 1,
+ "TLS v1.1": 2,
+ "AIS 20": 2,
+ "AIS 32": 1,
+ "AIS 38": 1,
+ "RFC 4217": 2,
+ "RFC4217": 1,
+ "RFC5280": 1
+ },
+ "rules_security_level": {
+ "EAL 4": 5,
+ "EAL1": 7,
+ "EAL4": 7,
+ "EAL 3": 1,
+ "EAL2": 4,
+ "EAL3": 4,
+ "EAL5": 6,
+ "EAL6": 4,
+ "EAL7": 4,
+ "EAL 4 augmented": 3,
+ "ITSEC Evaluation": 1
+ },
+ "rules_security_assurance_components": {
+ "ADV_ARC.1": 1,
+ "ADV_FSP.1": 1,
+ "ADV_FSP.2": 1,
+ "ADV_FSP.3": 1,
+ "ADV_FSP.4": 1,
+ "ADV_FSP.5": 1,
+ "ADV_FSP.6": 1,
+ "ADV_IMP.1": 1,
+ "ADV_IMP.2": 1,
+ "ADV_INT.1": 1,
+ "ADV_INT.2": 1,
+ "ADV_INT.3": 1,
+ "ADV_SPM.1": 1,
+ "ADV_TDS.1": 1,
+ "ADV_TDS.2": 1,
+ "ADV_TDS.3": 1,
+ "ADV_TDS.4": 1,
+ "ADV_TDS.5": 1,
+ "ADV_TDS.6": 1,
+ "ADV_ARC": 1,
+ "ADV_FSP": 1,
+ "ADV_IMP": 1,
+ "ADV_INT": 1,
+ "ADV_SPM": 1,
+ "ADV_TDS": 1,
+ "AGD_OPE.1": 1,
+ "AGD_PRE.1": 1,
+ "AGD_OPE": 1,
+ "AGD_PRE": 1,
+ "ALC_FLR.3": 4,
+ "ALC_CMC.1": 1,
+ "ALC_CMC.2": 1,
+ "ALC_CMC.3": 1,
+ "ALC_CMC.4": 1,
+ "ALC_CMC.5": 1,
+ "ALC_CMS.1": 1,
+ "ALC_CMS.2": 1,
+ "ALC_CMS.3": 1,
+ "ALC_CMS.4": 1,
+ "ALC_CMS.5": 1,
+ "ALC_DEL.1": 1,
+ "ALC_DVS.1": 1,
+ "ALC_DVS.2": 1,
+ "ALC_FLR.1": 1,
+ "ALC_FLR.2": 1,
+ "ALC_LCD.1": 1,
+ "ALC_LCD.2": 1,
+ "ALC_TAT.1": 1,
+ "ALC_TAT.2": 1,
+ "ALC_TAT.3": 1,
+ "ALC_CMC": 1,
+ "ALC_CMS": 1,
+ "ALC_DEL": 1,
+ "ALC_DVS": 1,
+ "ALC_FLR": 1,
+ "ALC_LCD": 1,
+ "ALC_TAT": 1,
+ "ATE_COV.1": 1,
+ "ATE_COV.2": 1,
+ "ATE_COV.3": 1,
+ "ATE_DPT.1": 1,
+ "ATE_DPT.2": 1,
+ "ATE_DPT.3": 1,
+ "ATE_DPT.4": 1,
+ "ATE_FUN.1": 1,
+ "ATE_FUN.2": 1,
+ "ATE_IND.1": 1,
+ "ATE_IND.2": 1,
+ "ATE_IND.3": 1,
+ "ATE_COV": 1,
+ "ATE_DPT": 1,
+ "ATE_FUN": 1,
+ "ATE_IND": 1,
+ "AVA_VAN.1": 1,
+ "AVA_VAN.2": 1,
+ "AVA_VAN.3": 1,
+ "AVA_VAN.4": 1,
+ "AVA_VAN.5": 1,
+ "AVA_VAN": 2,
+ "APE_INT.1": 1,
+ "APE_CCL.1": 1,
+ "APE_SPD.1": 1,
+ "APE_OBJ.1": 1,
+ "APE_OBJ.2": 1,
+ "APE_ECD.1": 1,
+ "APE_REQ.1": 1,
+ "APE_REQ.2": 1,
+ "ASE_INT.1": 1,
+ "ASE_CCL.1": 1,
+ "ASE_SPD.1": 1,
+ "ASE_OBJ.1": 1,
+ "ASE_OBJ.2": 1,
+ "ASE_ECD.1": 1,
+ "ASE_REQ.1": 1,
+ "ASE_REQ.2": 1,
+ "ASE_TSS.1": 1,
+ "ASE_TSS.2": 1,
+ "ASE_CCL": 1,
+ "ASE_ECD": 1,
+ "ASE_INT": 1,
+ "ASE_OBJ": 1,
+ "ASE_SPD": 1,
+ "ASE_TSS": 1
+ },
+ "rules_security_functional_components": {
+ "FCS_COP.1": 2
+ },
+ "rules_cc_claims": {
+ "T.USER": 2
+ },
+ "rules_javacard": {},
+ "rules_javacard_api_consts": {},
+ "rules_javacard_packages": {},
+ "rules_crypto_algs": {
+ "SHA256": 1,
+ "SHA384": 1,
+ "AES": 2,
+ "AES-": 1,
+ "SHA-1": 1,
+ "Diffie-Hellman": 1,
+ "TDES": 6,
+ "DES": 3,
+ "ECC": 1,
+ "RNG": 2
+ },
+ "rules_block_cipher_modes": {},
+ "rules_ecc_curves": {},
+ "rules_cplc": {},
+ "rules_crypto_engines": {},
+ "rules_crypto_libs": {
+ "OpenSSL": 1,
+ "NSS": 1
+ },
+ "rules_IC_data_groups": {},
+ "rules_defenses": {
+ "side channels": 1,
+ "side channel": 1,
+ "side-channels": 2,
+ "fault injection": 1
+ },
+ "rules_certification_process": {
+ "ort, Version 2, 27 August 2014, Final Evaluation Technical Report, atsec information security GmbH (confidential document) [9] Configuration list for the TOE, 2014-04-01, file name: CM.LISTS-V2R1.zip and Configuration": 1,
+ "List for the Publications, CM.PUBS-V2R1.txt (confidential documents) [10] MLSGUIDE z/OS Planning for Multilevel Security and the Common Criteria, Version GA32-0891-00": 1
+ },
+ "rules_vulnerabilities": {},
+ "rules_other": {}
+ },
+ "st_keywords": {
+ "rules_vendor": {},
+ "rules_cert_id": {},
+ "rules_protection_profiles": {},
+ "rules_technical_reports": {},
+ "rules_device_id": {},
+ "rules_os": {},
+ "rules_standard_id": {
+ "FIPS 186-2": 6,
+ "FIPS 180-3": 4,
+ "FIPS 46-3": 1,
+ "FIPS PUB 186-3": 6,
+ "FIPS 186-3": 3,
+ "FIPS 140-2": 4,
+ "FIPS PUB 140-2": 1,
+ "FIPS 197": 2,
+ "NIST SP 800-38A": 1,
+ "PKCS11": 3,
+ "PKCS#11": 45,
+ "PKCS#1": 6,
+ "PKCS #1": 2,
+ "PKCS #11": 3,
+ "PKCS#7": 1,
+ "PKCS#12": 1,
+ "TLSv1.1": 6,
+ "TLSv1.2": 4,
+ "AIS20": 2,
+ "AIS 20": 1,
+ "RFC 4217": 2,
+ "RFC4217": 2,
+ "RFC5639": 4,
+ "RFC4109": 1,
+ "RFC5996": 2,
+ "RFC2308": 1,
+ "RFC4253": 7,
+ "RFC1510": 1,
+ "RFC3961": 2,
+ "RFC3962": 1,
+ "RFC2409": 1,
+ "RFC4753": 1,
+ "RFC4754": 2,
+ "RFC2408": 1,
+ "RFC 4253": 2,
+ "RFC5246": 2,
+ "RFC 4301": 2,
+ "RFC 4303": 2,
+ "RFC4301": 2,
+ "RFC4303": 3,
+ "RFC3602": 2,
+ "RFC4106": 2,
+ "RFC2404": 3,
+ "RFC4868": 2,
+ "RFC4302": 1,
+ "RFC2459": 6,
+ "RFC3280": 7,
+ "RFC5280": 3,
+ "RFC4120": 1,
+ "RFC 2560": 1,
+ "RFC 3602": 1,
+ "RFC 4106": 2,
+ "RFC 4109": 1,
+ "RFC4251": 1,
+ "RFC4346": 1,
+ "RFC4492": 1,
+ "X.509": 6
+ },
+ "rules_security_level": {
+ "EAL4": 1
+ },
+ "rules_security_assurance_components": {
+ "ADV_ARC.1": 1,
+ "ADV_FSP.4": 1,
+ "ADV_IMP.1": 1,
+ "ADV_TDS.3": 1,
+ "AGD_OPE.1": 1,
+ "AGD_PRE.1": 1,
+ "ALC_FLR.3": 3,
+ "ALC_CMC.4": 1,
+ "ALC_CMS.4": 1,
+ "ALC_DEL.1": 1,
+ "ALC_DVS.1": 1,
+ "ALC_LCD.1": 1,
+ "ALC_TAT.1": 1,
+ "ATE_COV.2": 1,
+ "ATE_DPT.1": 1,
+ "ATE_FUN.1": 1,
+ "ATE_IND.2": 1,
+ "AVA_VAN.3": 1,
+ "ASE_CCL.1": 5
+ },
+ "rules_security_functional_components": {
+ "FAU_GEN.1": 18,
+ "FAU_GEN.2": 8,
+ "FAU_SAR.1": 13,
+ "FAU_SAR.2": 8,
+ "FAU_SAR.3": 8,
+ "FAU_SEL.1": 9,
+ "FAU_STG.1": 12,
+ "FAU_STG.3": 9,
+ "FAU_STG.4": 9,
+ "FAU_GEN.1.1": 1,
+ "FAU_GEN.1.2": 1,
+ "FAU_GEN.2.1": 1,
+ "FAU_SAR.1.1": 1,
+ "FAU_SAR.1.2": 1,
+ "FAU_SAR.2.1": 1,
+ "FAU_SAR.3.1": 1,
+ "FAU_SEL.1.1": 1,
+ "FAU_STG.1.1": 1,
+ "FAU_STG.1.2": 1,
+ "FAU_STG.3.1": 1,
+ "FAU_STG.4.1": 1,
+ "FCS_COP.1": 87,
+ "FCS_CKM.1": 70,
+ "FCS_CKM.2": 8,
+ "FCS_CKM.4": 30,
+ "FCS_RNG.1": 8,
+ "FCS_COP.1.1": 12,
+ "FCS_CKM.1.1": 6,
+ "FCS_CKM.2.1": 1,
+ "FCS_CKM.4.1": 1,
+ "FCS_RNG.1.1": 1,
+ "FCS_RNG.1.2": 1,
+ "FDP_ACC.1": 37,
+ "FDP_ACF.1": 42,
+ "FDP_ETC.1": 9,
+ "FDP_ETC.2": 9,
+ "FDP_IFC.2": 24,
+ "FDP_IFF.1": 13,
+ "FDP_IFF.2": 9,
+ "FDP_ITC.1": 9,
+ "FDP_ITC.2": 19,
+ "FDP_RIP.2": 13,
+ "FDP_RIP.3": 13,
+ "FDP_RIP": 2,
+ "FDP_ACC.1.1": 3,
+ "FDP_ACF.1.1": 5,
+ "FDP_ACF.1.2": 5,
+ "FDP_ACF.1.3": 5,
+ "FDP_ACF.1.4": 5,
+ "FDP_ETC.1.1": 1,
+ "FDP_ETC.1.2": 1,
+ "FDP_ETC.2.1": 1,
+ "FDP_ETC.2.2": 1,
+ "FDP_ETC.2.3": 1,
+ "FDP_ETC.2.4": 1,
+ "FDP_IFC.2.1": 2,
+ "FDP_IFC.2.2": 2,
+ "FDP_IFF.1.1": 1,
+ "FDP_IFF.1.2": 1,
+ "FDP_IFF.1.3": 2,
+ "FDP_IFF.1.4": 1,
+ "FDP_IFF.1.5": 1,
+ "FDP_IFF.2.1": 1,
+ "FDP_IFF.2.2": 1,
+ "FDP_IFF.2.3": 1,
+ "FDP_IFF.2.4": 1,
+ "FDP_IFF.2.5": 1,
+ "FDP_IFF.2.6": 1,
+ "FDP_ITC.1.1": 1,
+ "FDP_ITC.1.2": 1,
+ "FDP_ITC.1.3": 1,
+ "FDP_ITC.2.1": 3,
+ "FDP_ITC.2.2": 2,
+ "FDP_ITC.2.3": 2,
+ "FDP_ITC.2.4": 2,
+ "FDP_ITC.2.5": 2,
+ "FDP_ITC": 1,
+ "FDP_RIP.2.1": 1,
+ "FDP_RIP.3.1": 1,
+ "FDP_IFC.1": 7,
+ "FIA_AFL.1": 8,
+ "FIA_ATD.1": 42,
+ "FIA_SOS.1": 8,
+ "FIA_UAU.1": 19,
+ "FIA_UAU.5": 9,
+ "FIA_UAU.7": 8,
+ "FIA_UAU.8": 8,
+ "FIA_UID.1": 16,
+ "FIA_UID.3": 8,
+ "FIA_USB.1": 8,
+ "FIA_USB.2": 8,
+ "FIA_AFL.1.1": 1,
+ "FIA_AFL.1.2": 1,
+ "FIA_ATD.1.1": 4,
+ "FIA_SOS.1.1": 1,
+ "FIA_UAU.1.1": 1,
+ "FIA_UAU.1.2": 1,
+ "FIA_UAU.5.1": 1,
+ "FIA_UAU.5.2": 1,
+ "FIA_UAU.7.1": 1,
+ "FIA_UAU.8.1": 1,
+ "FIA_UAU.8.2": 1,
+ "FIA_UAU.8.3": 1,
+ "FIA_UID.1.1": 1,
+ "FIA_UID.1.2": 1,
+ "FIA_UID.3.1": 1,
+ "FIA_UID.3.2": 1,
+ "FIA_UID.3.3": 1,
+ "FIA_USB.1.1": 1,
+ "FIA_USB.1.2": 1,
+ "FIA_USB.1.3": 1,
+ "FIA_USB.2.1": 1,
+ "FIA_USB.2.2": 1,
+ "FIA_USB.2.3": 1,
+ "FIA_USB.2.4": 1,
+ "FMT_MSA.3": 50,
+ "FMT_MSA.1": 36,
+ "FMT_MSA.4": 8,
+ "FMT_MTD.1": 126,
+ "FMT_REV.1": 17,
+ "FMT_SMF.1": 45,
+ "FMT_SMR.1": 62,
+ "FMT_MSA.3.1": 5,
+ "FMT_MSA.3.2": 5,
+ "FMT_MSA.1.1": 3,
+ "FMT_MSA.4.1": 1,
+ "FMT_MTD.1.1": 15,
+ "FMT_REV.1.1": 2,
+ "FMT_REV.1.2": 2,
+ "FMT_SMF.1.1": 1,
+ "FMT_SMR.1.1": 1,
+ "FMT_SMR.1.2": 1,
+ "FMT_IFC.1": 1,
+ "FPT_STM.1": 10,
+ "FPT_TDC.1": 21,
+ "FPT_STM.1.1": 1,
+ "FPT_TDC.1.1": 2,
+ "FPT_TDC.1.2": 2,
+ "FTA_SSL.1": 10,
+ "FTA_SSL.2": 9,
+ "FTA_SSL.1.1": 1,
+ "FTA_SSL.1.2": 1,
+ "FTA_SSL.2.1": 1,
+ "FTA_SSL.2.2": 1,
+ "FTP_ITC.1": 16,
+ "FTP_ITC.1.1": 1,
+ "FTP_ITC.1.2": 1,
+ "FTP_ITC.1.3": 1,
+ "FTP_TDC.1": 1
+ },
+ "rules_cc_claims": {
+ "D.IT.SYSTEM": 5,
+ "D.FILESYS.ACCESS": 3,
+ "D.RESET": 7,
+ "D.IDS": 4,
+ "D.DISPLAY": 2,
+ "O.AUDITING": 16,
+ "O.CRYPTO.NET": 15,
+ "O.DISCRETIONARY.ACCESS": 1,
+ "O.NETWORK.FLOW": 11,
+ "O.SUBJECT.COM": 11,
+ "O.MANAGE": 31,
+ "O.TRUSTED_CHANNEL": 5,
+ "O.LS.CONFIDENTIALITY": 13,
+ "O.LS.PRINT": 5,
+ "O.LS.LABEL": 12,
+ "O.CRYPTO.BASIC": 16,
+ "O.DISCRETIONARY": 12,
+ "O.I_A": 3,
+ "O.NETWORK-FLOW": 1,
+ "O.CUST": 1,
+ "O.CMDS": 1,
+ "O.SYSPROG": 1,
+ "O.PROG": 1,
+ "T.ACCESS.TSFDATA": 5,
+ "T.ACCESS.USERDATA": 6,
+ "T.ACCESS.TSFFUNC": 4,
+ "T.ACCESS.COMM": 4,
+ "T.RESTRICT.NETTRAFFIC": 3,
+ "T.IA.MASQUERADE": 3,
+ "T.IA.USER": 3,
+ "T.DATA_NOT_SEPARATED": 3,
+ "T.COM": 11,
+ "T.SYSTEM": 5,
+ "T.CUSTOMER": 1,
+ "T.USER": 3,
+ "T.AUTOAPPL": 1,
+ "T.AUTODIRECT": 1,
+ "T.AUTOPWD": 1,
+ "T.INCLUDE": 1,
+ "T.JESNODE": 1,
+ "T.LIST": 5,
+ "T.PWSYNC": 1,
+ "T.TRACE": 1,
+ "T.DESCRIPTION": 1,
+ "T.LOCAL": 1,
+ "T.NODE": 1,
+ "T.OPERATIVE": 2,
+ "T.PREFIX": 1,
+ "T.PROTOCOL": 1,
+ "T.PURGE": 1,
+ "T.WDSQUAL": 1,
+ "T.WORKSPACE": 1,
+ "T.ADD": 19,
+ "T.BIND": 6,
+ "T.CONNE": 8,
+ "T.CONNECT": 7,
+ "T.GENCE": 6,
+ "T.GENCER": 3,
+ "T.GENCERT": 4,
+ "T.REMOVE": 2,
+ "T.DELRING": 1,
+ "T.DELETE": 3,
+ "T.A": 3,
+ "T.ALTE": 3,
+ "A.MASQUERADE": 3,
+ "A.USER": 3,
+ "A.PHYSICAL": 4,
+ "A.MANAGE": 6,
+ "A.AUTHUSER": 4,
+ "A.TRAINEDUSER": 4,
+ "A.DETECT": 5,
+ "A.PEER.MGT": 3,
+ "A.PEER.FUNC": 3,
+ "A.CONNECT": 4,
+ "A.REMOTE": 12,
+ "A.MULTIPLE": 5,
+ "A.RESUME.NONICKNAME": 1,
+ "R.MGT": 3,
+ "R.FUNC": 3,
+ "R.FILESYS.ACLOVERRIDE": 4,
+ "R.FILESYS": 2,
+ "R.WRITEDOWN.BYUSER": 3,
+ "R.PASSWORD.RESET": 7,
+ "R.RPKISERV.PKIADMIN": 2,
+ "R.APF": 1,
+ "R.RPKISERV": 1,
+ "R.RPKISERV.GENCERT.CUSTOMER": 1,
+ "R.RPKISERV.GENCERT": 1,
+ "R.RPKISERV.PKIADMIN.CUSTOMER": 1,
+ "R.LDAP.REMOTE.AUTH": 2,
+ "R.PGMSECURITY": 2,
+ "R.FILESYS.ACL.ACLOVERRIDE": 1,
+ "R.PROGCTL": 1,
+ "R.LDAP.REMOTE.AUDIT": 1,
+ "R.PROGRAM.SIGNING": 1,
+ "R.PROGRAM.SIGNATURE.VERIFICATION": 1,
+ "R.LISTUSER": 2,
+ "R.FILESYS.MOUNT": 1,
+ "R.FILESYS.USERMOUNT": 1,
+ "R.DIGTCERT.ADD": 19,
+ "R.DIGTCERT.LIST": 3,
+ "R.DIGTCERT.BIND": 6,
+ "R.DIGTCERT.CONNE": 8,
+ "R.DIGTCERT.CONNECT": 7,
+ "R.DIGTCERT.GENCE": 6,
+ "R.DIGTCERT.GENCER": 3,
+ "R.DIGTCERT": 6,
+ "R.DIGTCERT.GENCERT": 4,
+ "R.DIGTCERT.REMOVE": 2,
+ "R.DIGTCERT.DELRING": 1,
+ "R.DIGTCERT.DELETE": 3,
+ "R.DIGTCERT.A": 3,
+ "R.DIGTCERT.ALTE": 3,
+ "OE.ADMIN": 5,
+ "OE.REMOTE": 4,
+ "OE.INFO_PROTECT": 7,
+ "OE.INSTALL": 4,
+ "OE.MAINTENANCE": 3,
+ "OE.PHYSICAL": 3,
+ "OE.RECOVER": 4,
+ "OE.TRUSTED.IT.SYSTEM": 5
+ },
+ "rules_javacard": {},
+ "rules_javacard_api_consts": {
+ "TYPE_DES_CBC_MD5": 1
+ },
+ "rules_javacard_packages": {},
+ "rules_crypto_algs": {
+ "SHA-224": 9,
+ "SHA-256": 13,
+ "SHA-384": 8,
+ "SHA-512": 10,
+ "SHA256": 14,
+ "SHA384": 10,
+ "AES": 61,
+ "AES-": 1,
+ "AES128": 4,
+ "AES256": 3,
+ "AES-128": 2,
+ "AES-256": 2,
+ "SHA-1": 37,
+ "MD5": 9,
+ "DH": 16,
+ "Diffie-Hellman": 12,
+ "ECDH": 9,
+ "ECDSA": 59,
+ "TDES": 51,
+ "DES": 28,
+ "3DES": 2,
+ "ECC": 13,
+ "RNG": 1,
+ "PACE": 1
+ },
+ "rules_block_cipher_modes": {
+ "ECB": 2,
+ "CBC": 12,
+ "CTR": 5,
+ "CFB": 4,
+ "OFB": 4,
+ "GCM": 8
+ },
+ "rules_ecc_curves": {
+ "P-192": 3,
+ "P-224": 3,
+ "P-256": 3,
+ "P-384": 3,
+ "P-521": 3,
+ "secp192r1": 3,
+ "secp224r1": 3,
+ "secp256r1": 3,
+ "secp384r1": 3,
+ "secp521r1": 3
+ },
+ "rules_cplc": {},
+ "rules_crypto_engines": {},
+ "rules_crypto_libs": {
+ "OpenSSL": 2,
+ "NSS": 39
+ },
+ "rules_IC_data_groups": {},
+ "rules_defenses": {
+ "side channels": 1,
+ "side channel": 1
+ },
+ "rules_certification_process": {},
+ "rules_vulnerabilities": {},
+ "rules_other": {
+ "library": 34
+ }
+ }
+ },
+ "heuristics": {
+ "_type": "CCHeuristics",
+ "extracted_versions": {
+ "_type": "Set",
+ "elements": [
+ "1",
+ "2"
+ ]
+ },
+ "cpe_matches": {
+ "_type": "Set",
+ "elements": [
+ "cpe:2.3:o:ibm:z\\/os:1.2:*:*:*:*:*:*:*"
+ ]
+ },
+ "verified_cpe_matches": null,
+ "related_cves": {
+ "_type": "Set",
+ "elements": [
+ "CVE-2013-5385"
+ ]
+ },
+ "cert_lab": [
+ "BSI"
+ ],
+ "cert_id": "BSI-DSZ-CC-0874-2014",
+ "st_references": {
+ "_type": "References",
+ "directly_referenced_by": null,
+ "indirectly_referenced_by": null,
+ "directly_referencing": null,
+ "indirectly_referencing": null
+ },
+ "report_references": {
+ "_type": "References",
+ "directly_referenced_by": {
+ "_type": "Set",
+ "elements": [
+ "BSI-DSZ-CC-0875-2015",
+ "BSI-DSZ-CC-0948-2017",
+ "BSI-DSZ-CC-0972-2015"
+ ]
+ },
+ "indirectly_referenced_by": {
+ "_type": "Set",
+ "elements": [
+ "BSI-DSZ-CC-0875-2015",
+ "BSI-DSZ-CC-0948-2017",
+ "BSI-DSZ-CC-0972-2015",
+ "BSI-DSZ-CC-1029-2017"
+ ]
+ },
+ "directly_referencing": {
+ "_type": "Set",
+ "elements": [
+ "BSI-DSZ-CC-0788-2012"
+ ]
+ },
+ "indirectly_referencing": {
+ "_type": "Set",
+ "elements": [
+ "BSI-DSZ-CC-0247-2005",
+ "BSI-DSZ-CC-0304-2006",
+ "BSI-DSZ-CC-0377-2007",
+ "BSI-DSZ-CC-0459-2008",
+ "BSI-DSZ-CC-0534-2009",
+ "BSI-DSZ-CC-0637-2010",
+ "BSI-DSZ-CC-0701-2011",
+ "BSI-DSZ-CC-0788-2012"
+ ]
+ }
+ },
+ "direct_dependency_cves": null,
+ "indirect_dependency_cves": null
+ }
+ },
+ {
+ "_type": "CommonCriteriaCert",
+ "dgst": "011796336c7b94de",
+ "status": "archived",
+ "category": "Operating Systems",
+ "name": "RACF Element of z/OS Version 2, Release 1",
+ "manufacturer": "IBM Corporation",
+ "scheme": "DE",
+ "security_level": {
+ "_type": "Set",
+ "elements": [
+ "ALC_FLR.3",
+ "EAL5+"
+ ]
+ },
+ "not_valid_before": "2015-04-13",
+ "not_valid_after": "2020-04-13",
+ "report_link": "https://www.commoncriteriaportal.org/files/epfiles/0875a_pdf.pdf",
+ "st_link": "https://www.commoncriteriaportal.org/files/epfiles/0875b_pdf.pdf",
+ "cert_link": null,
+ "manufacturer_web": "https://www.ibm.com",
+ "protection_profiles": {
+ "_type": "Set",
+ "elements": []
+ },
+ "maintenance_updates": {
+ "_type": "Set",
+ "elements": []
+ },
+ "state": {
+ "_type": "InternalState",
+ "st_download_ok": true,
+ "report_download_ok": true,
+ "st_convert_ok": true,
+ "report_convert_ok": true,
+ "st_extract_ok": true,
+ "report_extract_ok": true,
+ "errors": []
+ },
+ "pdf_data": {
+ "_type": "PdfData",
+ "report_metadata": {
+ "pdf_file_size_bytes": 1178202,
+ "pdf_is_encrypted": false,
+ "pdf_number_of_pages": 36,
+ "/Author": "Bundesamt für Sicherheit in der Informationstechnik",
+ "/CreationDate": "D:20150430080056+02'00'",
+ "/Creator": "Writer",
+ "/Keywords": "\"Common Criteria, Certification, Zertifizierung, RACF Element of z/OS Version 2, Release 1\"",
+ "/ModDate": "D:20150511153436+02'00'",
+ "/Producer": "LibreOffice 4.2",
+ "/Subject": "Common Criteria Certification",
+ "/Title": "Certification Report BSI-DSZ-CC-0875-2015"
+ },
+ "st_metadata": {
+ "pdf_file_size_bytes": 3158134,
+ "pdf_is_encrypted": false,
+ "pdf_number_of_pages": 173,
+ "/Title": "Security Target for IBM RACF for z/OS Version 1 Release 13",
+ "/Author": "Walter Farrell, Helmut Kurth",
+ "/Subject": "RACF EAL5 Evaluation",
+ "/Creator": "Writer",
+ "/Producer": "LibreOffice 4.3",
+ "/CreationDate": "D:20150508083715+02'00'"
+ },
+ "report_frontpage": {
+ "anssi": {},
+ "bsi": {
+ "match_rules": [
+ "(BSI-DSZ-CC-.+?) (?:for|For) (.+?) from (.*)"
+ ],
+ "cert_id": "BSI-DSZ-CC-0875-2015",
+ "cert_item": "RACF Element of z/OS Version 2, Release 1",
+ "developer": "IBM Corporation",
+ "cert_lab": "BSI"
+ },
+ "nscib": {},
+ "niap": {},
+ "canada": {}
+ },
+ "st_frontpage": {
+ "anssi": {},
+ "bsi": {},
+ "nscib": {},
+ "niap": {},
+ "canada": {}
+ },
+ "report_keywords": {
+ "rules_vendor": {},
+ "rules_cert_id": {
+ "BSI-DSZ-CC-0875-2015": 36,
+ "BSI-DSZ-CC-0816-2013": 2,
+ "BSI-DSZ-CC-0874-2014": 1
+ },
+ "rules_protection_profiles": {},
+ "rules_technical_reports": {
+ "BSI 7138": 2,
+ "BSI 7125": 2,
+ "BSI 7148": 1
+ },
+ "rules_device_id": {},
+ "rules_os": {},
+ "rules_standard_id": {
+ "FIPS 180-2": 1,
+ "PKCS#1": 1,
+ "AIS 32": 1,
+ "ISO/IEC 15408": 1,
+ "ISO/IEC 17065": 1
+ },
+ "rules_security_level": {
+ "EAL 5": 9,
+ "EAL 4": 13,
+ "EAL 1": 7,
+ "EAL 2": 5,
+ "EAL 3": 4,
+ "EAL 6": 4,
+ "EAL 7": 4,
+ "EAL 5 augmented": 2,
+ "ITSEC Evaluation": 1
+ },
+ "rules_security_assurance_components": {
+ "ADV_FSP.5": 3,
+ "ADV_INT.2": 3,
+ "ADV_TDS.4": 3,
+ "ADV_ARC.1": 1,
+ "ADV_FSP.1": 1,
+ "ADV_FSP.2": 1,
+ "ADV_FSP.3": 1,
+ "ADV_FSP.4": 1,
+ "ADV_FSP.6": 1,
+ "ADV_IMP.1": 1,
+ "ADV_IMP.2": 1,
+ "ADV_INT.1": 1,
+ "ADV_INT.3": 1,
+ "ADV_SPM.1": 1,
+ "ADV_TDS.1": 1,
+ "ADV_TDS.2": 1,
+ "ADV_TDS.3": 1,
+ "ADV_TDS.5": 1,
+ "ADV_TDS.6": 1,
+ "ADV_ARC": 1,
+ "ADV_FSP": 1,
+ "ADV_IMP": 1,
+ "ADV_INT": 1,
+ "ADV_SPM": 1,
+ "ADV_TDS": 1,
+ "AGD_OPE.1": 1,
+ "AGD_PRE.1": 1,
+ "AGD_OPE": 1,
+ "AGD_PRE": 1,
+ "ALC_FLR.3": 4,
+ "ALC_CMS.5": 3,
+ "ALC_TAT.2": 3,
+ "ALC_FLR": 3,
+ "ALC_CMC.1": 1,
+ "ALC_CMC.2": 1,
+ "ALC_CMC.3": 1,
+ "ALC_CMC.4": 1,
+ "ALC_CMC.5": 1,
+ "ALC_CMS.1": 1,
+ "ALC_CMS.2": 1,
+ "ALC_CMS.3": 1,
+ "ALC_CMS.4": 1,
+ "ALC_DEL.1": 1,
+ "ALC_DVS.1": 1,
+ "ALC_DVS.2": 1,
+ "ALC_FLR.1": 1,
+ "ALC_FLR.2": 1,
+ "ALC_LCD.1": 1,
+ "ALC_LCD.2": 1,
+ "ALC_TAT.1": 1,
+ "ALC_TAT.3": 1,
+ "ALC_CMC": 1,
+ "ALC_CMS": 1,
+ "ALC_DEL": 1,
+ "ALC_DVS": 1,
+ "ALC_LCD": 1,
+ "ALC_TAT": 1,
+ "ATE_DPT.3": 3,
+ "ATE_COV.1": 1,
+ "ATE_COV.2": 1,
+ "ATE_COV.3": 1,
+ "ATE_DPT.1": 1,
+ "ATE_DPT.2": 1,
+ "ATE_DPT.4": 1,
+ "ATE_FUN.1": 1,
+ "ATE_FUN.2": 1,
+ "ATE_IND.1": 1,
+ "ATE_IND.2": 1,
+ "ATE_IND.3": 1,
+ "ATE_COV": 1,
+ "ATE_DPT": 1,
+ "ATE_FUN": 1,
+ "ATE_IND": 1,
+ "AVA_VAN.4": 3,
+ "AVA_VAN.1": 1,
+ "AVA_VAN.2": 1,
+ "AVA_VAN.3": 1,
+ "AVA_VAN.5": 1,
+ "AVA_VAN": 2,
+ "APE_INT.1": 1,
+ "APE_CCL.1": 1,
+ "APE_SPD.1": 1,
+ "APE_OBJ.1": 1,
+ "APE_OBJ.2": 1,
+ "APE_ECD.1": 1,
+ "APE_REQ.1": 1,
+ "APE_REQ.2": 1,
+ "ASE_INT.1": 1,
+ "ASE_CCL.1": 1,
+ "ASE_SPD.1": 1,
+ "ASE_OBJ.1": 1,
+ "ASE_OBJ.2": 1,
+ "ASE_ECD.1": 1,
+ "ASE_REQ.1": 1,
+ "ASE_REQ.2": 1,
+ "ASE_TSS.1": 1,
+ "ASE_TSS.2": 1,
+ "ASE_CCL": 1,
+ "ASE_ECD": 1,
+ "ASE_INT": 1,
+ "ASE_OBJ": 1,
+ "ASE_SPD": 1,
+ "ASE_TSS": 1
+ },
+ "rules_security_functional_components": {},
+ "rules_cc_claims": {},
+ "rules_javacard": {},
+ "rules_javacard_api_consts": {},
+ "rules_javacard_packages": {},
+ "rules_crypto_algs": {
+ "SHA256": 1,
+ "SHA-256": 1,
+ "TDES": 3
+ },
+ "rules_block_cipher_modes": {},
+ "rules_ecc_curves": {},
+ "rules_cplc": {},
+ "rules_crypto_engines": {},
+ "rules_crypto_libs": {},
+ "rules_IC_data_groups": {},
+ "rules_defenses": {},
+ "rules_certification_process": {
+ "Report, Version 2, 2015-03-23, Final Evaluation Technical Report, atsec information security GmbH, (confidential document) [8] Configuration list for the TOE, 2014-04-01, cm.lists-v2r1.zip, z/OS V2R1 Element Configuration": 1,
+ "Lists (confidential document) [9] Guidance documentation for the TOE, Version GA32-0891-00, 2014-04-01, z/OS Planning for": 1
+ },
+ "rules_vulnerabilities": {},
+ "rules_other": {}
+ },
+ "st_keywords": {
+ "rules_vendor": {},
+ "rules_cert_id": {},
+ "rules_protection_profiles": {
+ "BSI-CC-PP-0067": 1
+ },
+ "rules_technical_reports": {},
+ "rules_device_id": {},
+ "rules_os": {},
+ "rules_standard_id": {
+ "PKCS#11": 10,
+ "PKCS#1": 1,
+ "PKCS #11": 2,
+ "PKCS#7": 1,
+ "PKCS#12": 1,
+ "X.509": 2,
+ "CCMB-2012-09-002": 1,
+ "CCMB-2012-09-003": 1,
+ "CCMB-2012-09-004": 1
+ },
+ "rules_security_level": {
+ "EAL5": 1
+ },
+ "rules_security_assurance_components": {
+ "ADV_ARC.1": 1,
+ "ADV_FSP.5": 1,
+ "ADV_IMP.1": 1,
+ "ADV_INT.2": 1,
+ "ADV_TDS.4": 1,
+ "AGD_OPE.1": 1,
+ "AGD_PRE.1": 1,
+ "ALC_FLR.3": 2,
+ "ALC_CMC.4": 1,
+ "ALC_DEL.1": 1,
+ "ALC_DVS.1": 1,
+ "ALC_LCD.1": 1,
+ "ALC_TAT.2": 1,
+ "ATE_COV.2": 1,
+ "ATE_DPT.3": 1,
+ "ATE_FUN.1": 1,
+ "ATE_IND.2": 1,
+ "AVA_VAN.4": 1
+ },
+ "rules_security_functional_components": {
+ "FAU_GEN_SUB.1": 15,
+ "FAU_GEN.2": 7,
+ "FAU_SAR.1": 8,
+ "FAU_SEL.1": 8,
+ "FAU_GEN.1": 6,
+ "FAU_GEN.1.1": 1,
+ "FAU_GEN.1.2": 1,
+ "FAU_GEN_SUB.1.1": 1,
+ "FAU_GEN_SUB.1.2": 1,
+ "FAU_GEN.2.1": 1,
+ "FAU_SAR.1.1": 1,
+ "FAU_SAR.1.2": 1,
+ "FAU_SEL.1.1": 1,
+ "FCS_COP.1": 8,
+ "FCS_COP.1.1": 1,
+ "FCS_CKM.1": 1,
+ "FCS_CKM.4": 2,
+ "FDP_ACC.1": 41,
+ "FDP_ACF.1": 37,
+ "FDP_IFC.2": 9,
+ "FDP_IFF.2": 7,
+ "FDP_ACC.1.1": 4,
+ "FDP_ACF.1.1": 4,
+ "FDP_ACF.1.2": 5,
+ "FDP_ACF.1.3": 4,
+ "FDP_ACF.1.4": 4,
+ "FDP_IFC.2.1": 1,
+ "FDP_IFC.2.2": 1,
+ "FDP_IFF.2.1": 1,
+ "FDP_IFF.2.2": 1,
+ "FDP_IFF.2.3": 1,
+ "FDP_IFF.2.4": 1,
+ "FDP_IFF.2.5": 1,
+ "FDP_IFF.2.6": 1,
+ "FDP_ITC.1": 2,
+ "FDP_ITC.2": 1,
+ "FDP_IFF.1": 1,
+ "FDP_IFC.1": 6,
+ "FDP_MSA.1": 1,
+ "FIA_AFL.1": 7,
+ "FIA_ATD.1": 19,
+ "FIA_SOS.1": 7,
+ "FIA_UAU.1": 12,
+ "FIA_UAU.5": 6,
+ "FIA_UAU.7": 7,
+ "FIA_UID.1": 14,
+ "FIA_USB.1": 11,
+ "FIA_USB.2": 14,
+ "FIA_USB.2.1": 2,
+ "FIA_USB.2.2": 2,
+ "FIA_USB.2.3": 2,
+ "FIA_USB.2.4": 2,
+ "FIA_AFL.1.1": 1,
+ "FIA_AFL.1.2": 1,
+ "FIA_ATD.1.1": 2,
+ "FIA_SOS.1.1": 1,
+ "FIA_UAU.1.1": 1,
+ "FIA_UAU.1.2": 1,
+ "FIA_UAU.5.1": 1,
+ "FIA_UAU.5.2": 1,
+ "FIA_UAU.7.1": 1,
+ "FIA_UID.1.1": 1,
+ "FIA_UID.1.2": 1,
+ "FIA_USB.1.1": 1,
+ "FIA_USB.1.2": 1,
+ "FIA_USB.1.3": 1,
+ "FMT_MSA.1": 45,
+ "FMT_MSA.3": 47,
+ "FMT_MTD.1": 63,
+ "FMT_REV.1": 15,
+ "FMT_SMF.1": 44,
+ "FMT_SMR.1": 49,
+ "FMT_MSA.1.1": 5,
+ "FMT_MSA.3.1": 5,
+ "FMT_MSA.3.2": 5,
+ "FMT_MTD.1.1": 8,
+ "FMT_REV.1.1": 2,
+ "FMT_REV.1.2": 2,
+ "FMT_SMF.1.1": 1,
+ "FMT_SMR.1.1": 1,
+ "FMT_SMR.1.2": 1,
+ "FPT_TDC.1": 15,
+ "FPT_STM.1": 1,
+ "FPT_TDC.1.1": 2,
+ "FPT_TDC.1.2": 2
+ },
+ "rules_cc_claims": {
+ "D.FILESYS.ACCESS": 2,
+ "D.FILESYS.AC-": 1,
+ "D.RESET": 5,
+ "D.IDS": 4,
+ "O.AUDITING": 8,
+ "O.DISCRETIONARY.ACCESS": 14,
+ "O.MANAGE": 28,
+ "O.PROGRAM_INTEGRITY_SUPPORT": 5,
+ "O.LS.CONFIDENTIALITY": 8,
+ "O.LS.LABEL": 9,
+ "O.PROGRAM_INTEGRITY_S": 1,
+ "T.ACCESS.TSFDATA": 6,
+ "T.ACCESS.USERDATA": 5,
+ "T.ACCESS.TSFFUNC": 6,
+ "T.IA.MASQUERADE": 4,
+ "T.IA.USER": 4,
+ "T.SENSITIVITY": 4,
+ "T.EX-": 1,
+ "T.USER": 3,
+ "T.ADD": 20,
+ "T.LIST": 7,
+ "T.BIND": 6,
+ "T.CONNECT": 13,
+ "T.CON-": 6,
+ "T.GENCERT": 9,
+ "T.-": 4,
+ "T.AD": 4,
+ "T.REMOVE": 2,
+ "T.DELRING": 1,
+ "T.DELETE": 2,
+ "T.ALTER": 3,
+ "T.AUTOAPPL": 1,
+ "T.AUTODIRECT": 1,
+ "T.AUTOPWD": 1,
+ "T.INCLUDE": 1,
+ "T.JESNODE": 1,
+ "T.PWSYNC": 1,
+ "T.TRACE": 1,
+ "T.DESCRIPTION": 1,
+ "T.LOCAL": 1,
+ "T.NODE": 1,
+ "T.OPERATIVE": 2,
+ "T.PREFIX": 1,
+ "T.PROTOCOL": 1,
+ "T.PURGE": 1,
+ "T.WDSQUAL": 1,
+ "T.WORKSPACE": 1,
+ "T.OWN-": 1,
+ "A.MASQUERADE": 4,
+ "A.USER": 4,
+ "A.PHYSICAL": 3,
+ "A.MANAGE": 6,
+ "A.AUTHUSER": 4,
+ "A.TRAINEDUSER": 4,
+ "A.DETECT": 4,
+ "A.OPERATING_SYSTEM": 2,
+ "A.TRUSTED_PROGRAMS": 2,
+ "A.MULTIPLE": 6,
+ "A.OPERATING_SY": 1,
+ "A.TRUSTED_PRO-": 1,
+ "R.-": 2,
+ "R.FILESYS.A-": 1,
+ "R.FILESYS": 2,
+ "R.WRITE-": 1,
+ "R.FILESYS.CHANGEPERMS": 1,
+ "R.PASSWORD.RESET": 5,
+ "R.PWRESET.EX-": 1,
+ "R.PGMSECURITY": 2,
+ "R.FILESYS.ACL.ACLOVERRIDE": 1,
+ "R.WRITEDOWN.BYUSER": 2,
+ "R.FILESYS.ACLOVERRIDE": 1,
+ "R.LISTUSER": 2,
+ "R.DIGTCERT.ADD": 20,
+ "R.DIGTCERT.LIST": 5,
+ "R.DIGTCERT.BIND": 6,
+ "R.DIGTCERT.CONNECT": 13,
+ "R.DIGTCERT.CON-": 6,
+ "R.DIGTCERT.GENCERT": 9,
+ "R.DIGTCERT.-": 4,
+ "R.DIGTCERT.AD": 4,
+ "R.DIGTCERT.REMOVE": 2,
+ "R.DIGTCERT.DELRING": 1,
+ "R.DIGTCERT.DELETE": 2,
+ "R.DIGTCERT.ALTER": 3,
+ "R.PWRE-": 1,
+ "R.PWRESET.OWN-": 1,
+ "R.PROGRAM.SIGNATURE.VERIFICATION": 2,
+ "R.PROGRAM.SIGNING": 1,
+ "OE.ADMIN": 5,
+ "OE.INFO_PROTECT": 6,
+ "OE.INSTALL": 4,
+ "OE.MAINTENANCE": 3,
+ "OE.PHYSICAL": 3,
+ "OE.RECOVER": 3,
+ "OE.OS_SEP": 6,
+ "OE.TRUSTED_PROGRAMS": 6
+ },
+ "rules_javacard": {},
+ "rules_javacard_api_consts": {},
+ "rules_javacard_packages": {},
+ "rules_crypto_algs": {
+ "SHA256": 1,
+ "AES128": 2,
+ "AES256": 1,
+ "DES": 12,
+ "ECC": 2,
+ "RNG": 1,
+ "PACE": 1
+ },
+ "rules_block_cipher_modes": {},
+ "rules_ecc_curves": {},
+ "rules_cplc": {},
+ "rules_crypto_engines": {},
+ "rules_crypto_libs": {},
+ "rules_IC_data_groups": {},
+ "rules_defenses": {},
+ "rules_certification_process": {},
+ "rules_vulnerabilities": {},
+ "rules_other": {
+ "library": 11
+ }
+ }
+ },
+ "heuristics": {
+ "_type": "CCHeuristics",
+ "extracted_versions": {
+ "_type": "Set",
+ "elements": [
+ "1",
+ "2"
+ ]
+ },
+ "cpe_matches": {
+ "_type": "Set",
+ "elements": [
+ "cpe:2.3:o:ibm:z\\/os:1.10:*:*:*:*:*:*:*",
+ "cpe:2.3:o:ibm:z\\/os:1.11:*:*:*:*:*:*:*",
+ "cpe:2.3:o:ibm:z\\/os:1.12:*:*:*:*:*:*:*",
+ "cpe:2.3:o:ibm:z\\/os:1.13:*:*:*:*:*:*:*",
+ "cpe:2.3:o:ibm:z\\/os:1.2:*:*:*:*:*:*:*",
+ "cpe:2.3:o:ibm:z\\/os:1.3:*:*:*:*:*:*:*",
+ "cpe:2.3:o:ibm:z\\/os:1.4:*:*:*:*:*:*:*",
+ "cpe:2.3:o:ibm:z\\/os:1.5:*:*:*:*:*:*:*",
+ "cpe:2.3:o:ibm:z\\/os:1.6:*:*:*:*:*:*:*",
+ "cpe:2.3:o:ibm:z\\/os:1.7:*:*:*:*:*:*:*",
+ "cpe:2.3:o:ibm:z\\/os:1.8:*:*:*:*:*:*:*",
+ "cpe:2.3:o:ibm:z\\/os:1.9:*:*:*:*:*:*:*",
+ "cpe:2.3:o:ibm:z\\/os:2.1.0:*:*:*:*:*:*:*",
+ "cpe:2.3:o:ibm:z\\/os:2.2.0:*:*:*:*:*:*:*",
+ "cpe:2.3:o:ibm:z\\/os:2.3.0:*:*:*:*:*:*:*"
+ ]
+ },
+ "verified_cpe_matches": null,
+ "related_cves": {
+ "_type": "Set",
+ "elements": [
+ "CVE-2013-5385"
+ ]
+ },
+ "cert_lab": [
+ "BSI"
+ ],
+ "cert_id": "BSI-DSZ-CC-0875-2015",
+ "st_references": {
+ "_type": "References",
+ "directly_referenced_by": null,
+ "indirectly_referenced_by": null,
+ "directly_referencing": null,
+ "indirectly_referencing": null
+ },
+ "report_references": {
+ "_type": "References",
+ "directly_referenced_by": {
+ "_type": "Set",
+ "elements": [
+ "BSI-DSZ-CC-1029-2017"
+ ]
+ },
+ "indirectly_referenced_by": {
+ "_type": "Set",
+ "elements": [
+ "BSI-DSZ-CC-1029-2017"
+ ]
+ },
+ "directly_referencing": {
+ "_type": "Set",
+ "elements": [
+ "BSI-DSZ-CC-0816-2013",
+ "BSI-DSZ-CC-0874-2014"
+ ]
+ },
+ "indirectly_referencing": {
+ "_type": "Set",
+ "elements": [
+ "BSI-DSZ-CC-0247-2005",
+ "BSI-DSZ-CC-0304-2006",
+ "BSI-DSZ-CC-0377-2007",
+ "BSI-DSZ-CC-0459-2008",
+ "BSI-DSZ-CC-0534-2009",
+ "BSI-DSZ-CC-0637-2010",
+ "BSI-DSZ-CC-0701-2011",
+ "BSI-DSZ-CC-0753-2012",
+ "BSI-DSZ-CC-0788-2012",
+ "BSI-DSZ-CC-0816-2013",
+ "BSI-DSZ-CC-0874-2014"
+ ]
+ }
+ },
+ "direct_dependency_cves": null,
+ "indirect_dependency_cves": null
+ }
+ },
+ {
+ "_type": "CommonCriteriaCert",
+ "dgst": "ebc77980250ee68f",
+ "status": "active",
+ "category": "Operating Systems",
+ "name": "IBM z/OS Version 2 Release 2",
+ "manufacturer": "IBM Corporation",
+ "scheme": "DE",
+ "security_level": {
+ "_type": "Set",
+ "elements": [
+ "ALC_FLR.3",
+ "EAL4+"
+ ]
+ },
+ "not_valid_before": "2017-07-10",
+ "not_valid_after": "2022-07-10",
+ "report_link": "https://www.commoncriteriaportal.org/files/epfiles/0948a_pdf.pdf",
+ "st_link": "https://www.commoncriteriaportal.org/files/epfiles/0948b_pdf.pdf",
+ "cert_link": null,
+ "manufacturer_web": "https://www.ibm.com",
+ "protection_profiles": {
+ "_type": "Set",
+ "elements": [
+ {
+ "_type": "ProtectionProfile",
+ "pp_name": "Operating System Protection Profile, Version 2.0",
+ "pp_link": "https://www.commoncriteriaportal.org/files/ppfiles/pp0067b_pdf.pdf",
+ "pp_ids": [
+ "OSPP_V2.0"
+ ]
+ }
+ ]
+ },
+ "maintenance_updates": {
+ "_type": "Set",
+ "elements": []
+ },
+ "state": {
+ "_type": "InternalState",
+ "st_download_ok": true,
+ "report_download_ok": true,
+ "st_convert_ok": true,
+ "report_convert_ok": true,
+ "st_extract_ok": true,
+ "report_extract_ok": true,
+ "errors": []
+ },
+ "pdf_data": {
+ "_type": "PdfData",
+ "report_metadata": {
+ "pdf_file_size_bytes": 1932018,
+ "pdf_is_encrypted": false,
+ "pdf_number_of_pages": 52,
+ "/Author": "Bundesamt für Sicherheit in der Informationstechnik",
+ "/CreationDate": "D:20170717141958+02'00'",
+ "/Creator": "Writer",
+ "/Keywords": "\"Common Criteria, Certification, Zertifizierung, IBM z/OS, Version 2 Release 2, Operating System Protection Profile (OSPP)\"",
+ "/ModDate": "D:20170718134211+02'00'",
+ "/Producer": "LibreOffice 5.2",
+ "/Subject": "Zertifizierungsreport",
+ "/Title": "Certification Report BSI-DSZ-CC-0948-2017"
+ },
+ "st_metadata": {
+ "pdf_file_size_bytes": 2822749,
+ "pdf_is_encrypted": false,
+ "pdf_number_of_pages": 411,
+ "/Title": "z/OS V2R2 Security Target",
+ "/Author": "Alejandro Masino",
+ "/Creator": "Writer",
+ "/Producer": "LibreOffice 5.2",
+ "/CreationDate": "D:20170503171742+02'00'"
+ },
+ "report_frontpage": {
+ "anssi": {},
+ "bsi": {
+ "match_rules": [
+ "(BSI-DSZ-CC-.+?) (?:for|For) (.+?) from (.*)"
+ ],
+ "cert_id": "BSI-DSZ-CC-0948-2017",
+ "cert_item": "IBM z/OS, Version 2 Release 2",
+ "developer": "IBM Corporation",
+ "cert_lab": "BSI",
+ "ref_protection_profiles": "Operating System Protection Profile, Version 2.0, 01 June 2010, BSI-CC-PP-0067-2010, OSPP Extended Packages: Extended Identification and Authentication and Labeled Security, both Version 2.0, 28 May 2010",
+ "cc_version": "PP conformant Common Criteria Part 2 extended",
+ "cc_security_level": "Common Criteria Part 3 conformant EAL 4 augmented by ALC_FLR.3"
+ },
+ "nscib": {},
+ "niap": {},
+ "canada": {}
+ },
+ "st_frontpage": {
+ "anssi": {},
+ "bsi": {},
+ "nscib": {},
+ "niap": {},
+ "canada": {}
+ },
+ "report_keywords": {
+ "rules_vendor": {
+ "STM": 1
+ },
+ "rules_cert_id": {
+ "BSI-DSZ-CC-0948-2017": 52,
+ "BSI-DSZ-CC-0874-2014": 2
+ },
+ "rules_protection_profiles": {
+ "BSI-CC-PP-0067-2010": 3
+ },
+ "rules_technical_reports": {
+ "BSI 7148": 1
+ },
+ "rules_device_id": {},
+ "rules_os": {},
+ "rules_standard_id": {
+ "FIPS 46-3": 1,
+ "FIPS 180-4": 8,
+ "FIPS 197": 1,
+ "NIST SP 800-38A": 2,
+ "PKCS#11": 3,
+ "PKCS#12": 2,
+ "PKCS#1": 4,
+ "TLS v1.1": 2,
+ "TLSv1.1": 2,
+ "TLSv1.2": 2,
+ "AIS 20": 2,
+ "AIS 32": 1,
+ "AIS 38": 1,
+ "RFC 4217": 2,
+ "RFC4217": 1,
+ "RFC 5639": 4,
+ "RFC4346": 1,
+ "RFC5246": 1,
+ "RFC4301": 1,
+ "RFC4305": 1,
+ "RFC4308": 1,
+ "RFC483": 1,
+ "RFC4253": 4,
+ "RFC4250": 1,
+ "ISO/IEC 15408": 1,
+ "ISO/IEC 17065": 1
+ },
+ "rules_security_level": {
+ "EAL 4": 11,
+ "EAL 1": 7,
+ "EAL 2": 5,
+ "EAL 3": 5,
+ "EAL 5": 6,
+ "EAL 6": 4,
+ "EAL 7": 4,
+ "EAL 4 augmented": 3,
+ "ITSEC Evaluation": 1
+ },
+ "rules_security_assurance_components": {
+ "ADV_ARC.1": 1,
+ "ADV_FSP.1": 1,
+ "ADV_FSP.2": 1,
+ "ADV_FSP.3": 1,
+ "ADV_FSP.4": 1,
+ "ADV_FSP.5": 1,
+ "ADV_FSP.6": 1,
+ "ADV_IMP.1": 1,
+ "ADV_IMP.2": 1,
+ "ADV_INT.1": 1,
+ "ADV_INT.2": 1,
+ "ADV_INT.3": 1,
+ "ADV_SPM.1": 1,
+ "ADV_TDS.1": 1,
+ "ADV_TDS.2": 1,
+ "ADV_TDS.3": 1,
+ "ADV_TDS.4": 1,
+ "ADV_TDS.5": 1,
+ "ADV_TDS.6": 1,
+ "ADV_ARC": 1,
+ "ADV_FSP": 1,
+ "ADV_IMP": 1,
+ "ADV_INT": 1,
+ "ADV_SPM": 1,
+ "ADV_TDS": 1,
+ "AGD_OPE.1": 1,
+ "AGD_PRE.1": 1,
+ "AGD_OPE": 1,
+ "AGD_PRE": 1,
+ "ALC_FLR.3": 4,
+ "ALC_FLR": 3,
+ "ALC_CMC.1": 1,
+ "ALC_CMC.2": 1,
+ "ALC_CMC.3": 1,
+ "ALC_CMC.4": 1,
+ "ALC_CMC.5": 1,
+ "ALC_CMS.1": 1,
+ "ALC_CMS.2": 1,
+ "ALC_CMS.3": 1,
+ "ALC_CMS.4": 1,
+ "ALC_CMS.5": 1,
+ "ALC_DEL.1": 1,
+ "ALC_DVS.1": 1,
+ "ALC_DVS.2": 1,
+ "ALC_FLR.1": 1,
+ "ALC_FLR.2": 1,
+ "ALC_LCD.1": 1,
+ "ALC_LCD.2": 1,
+ "ALC_TAT.1": 1,
+ "ALC_TAT.2": 1,
+ "ALC_TAT.3": 1,
+ "ALC_CMC": 1,
+ "ALC_CMS": 1,
+ "ALC_DEL": 1,
+ "ALC_DVS": 1,
+ "ALC_LCD": 1,
+ "ALC_TAT": 1,
+ "ATE_COV.1": 1,
+ "ATE_COV.2": 1,
+ "ATE_COV.3": 1,
+ "ATE_DPT.1": 1,
+ "ATE_DPT.2": 1,
+ "ATE_DPT.3": 1,
+ "ATE_DPT.4": 1,
+ "ATE_FUN.1": 1,
+ "ATE_FUN.2": 1,
+ "ATE_IND.1": 1,
+ "ATE_IND.2": 1,
+ "ATE_IND.3": 1,
+ "ATE_COV": 1,
+ "ATE_DPT": 1,
+ "ATE_FUN": 1,
+ "ATE_IND": 1,
+ "AVA_VAN.1": 1,
+ "AVA_VAN.2": 1,
+ "AVA_VAN.3": 1,
+ "AVA_VAN.4": 1,
+ "AVA_VAN.5": 1,
+ "AVA_VAN": 2,
+ "APE_INT.1": 1,
+ "APE_CCL.1": 1,
+ "APE_SPD.1": 1,
+ "APE_OBJ.1": 1,
+ "APE_OBJ.2": 1,
+ "APE_ECD.1": 1,
+ "APE_REQ.1": 1,
+ "APE_REQ.2": 1,
+ "ASE_INT.1": 1,
+ "ASE_CCL.1": 1,
+ "ASE_SPD.1": 1,
+ "ASE_OBJ.1": 1,
+ "ASE_OBJ.2": 1,
+ "ASE_ECD.1": 1,
+ "ASE_REQ.1": 1,
+ "ASE_REQ.2": 1,
+ "ASE_TSS.1": 1,
+ "ASE_TSS.2": 1,
+ "ASE_CCL": 1,
+ "ASE_ECD": 1,
+ "ASE_INT": 1,
+ "ASE_OBJ": 1,
+ "ASE_REQ": 1,
+ "ASE_SPD": 1,
+ "ASE_TSS": 1
+ },
+ "rules_security_functional_components": {
+ "FCS_COP.1": 2
+ },
+ "rules_cc_claims": {},
+ "rules_javacard": {},
+ "rules_javacard_api_consts": {},
+ "rules_javacard_packages": {},
+ "rules_crypto_algs": {
+ "SHA-224": 2,
+ "SHA-256": 2,
+ "SHA-384": 2,
+ "SHA-512": 2,
+ "AES": 6,
+ "AES-": 1,
+ "SHA-1": 2,
+ "DH": 4,
+ "ECDH": 2,
+ "ECDSA": 9,
+ "DES": 5,
+ "TDES": 7,
+ "ECC": 1,
+ "RNG": 3
+ },
+ "rules_block_cipher_modes": {
+ "CFB": 4,
+ "OFB": 4,
+ "GCM": 2
+ },
+ "rules_ecc_curves": {},
+ "rules_cplc": {},
+ "rules_crypto_engines": {},
+ "rules_crypto_libs": {
+ "OpenSSL": 4,
+ "NSS": 1
+ },
+ "rules_IC_data_groups": {},
+ "rules_defenses": {
+ "side channel": 2,
+ "side channels": 1
+ },
+ "rules_certification_process": {
+ "identiality being maintained, is not given any longer. In particular, prior to the dissemination of confidential documentation and information related to the TOE or resulting from the evaluation and certification": 1,
+ "Report, Version 4, 2017-05-24, Final Evaluation Technical Report, atsec information security GmbH (confidential document) [9] Configuration list for the TOE, Date received 2016-03-08, File name [CONFLIST]-": 1,
+ "d Configuration List for the Publications, Date received 2016-03-09 File name cmlist-pubs-v2r2.txt (confidential documents) [10] MLSGUIDE, z/OS Version 2 Release 2 - Planning for Multilevel Security and the Common": 1
+ },
+ "rules_vulnerabilities": {},
+ "rules_other": {
+ "library": 4
+ }
+ },
+ "st_keywords": {
+ "rules_vendor": {},
+ "rules_cert_id": {},
+ "rules_protection_profiles": {},
+ "rules_technical_reports": {},
+ "rules_device_id": {},
+ "rules_os": {},
+ "rules_standard_id": {
+ "FIPS 186-2": 6,
+ "FIPS 180-3": 4,
+ "FIPS 46-3": 1,
+ "FIPS PUB 186-3": 6,
+ "FIPS 186-3": 3,
+ "FIPS 140-2": 4,
+ "FIPS PUB 140-2": 1,
+ "FIPS 197": 2,
+ "NIST SP 800-38A": 1,
+ "PKCS11": 2,
+ "PKCS#11": 46,
+ "PKCS#1": 7,
+ "PKCS #11": 4,
+ "PKCS #1": 2,
+ "PKCS#7": 2,
+ "PKCS#12": 3,
+ "TLSv1.1": 6,
+ "TLSv1.2": 4,
+ "AIS20": 2,
+ "AIS 20": 1,
+ "RFC 4217": 2,
+ "RFC4217": 2,
+ "RFC5639": 4,
+ "RFC4109": 1,
+ "RFC5996": 2,
+ "RFC2308": 1,
+ "RFC4253": 7,
+ "RFC1510": 1,
+ "RFC3961": 2,
+ "RFC3962": 1,
+ "RFC2409": 1,
+ "RFC4753": 1,
+ "RFC4754": 2,
+ "RFC2408": 1,
+ "RFC 4253": 2,
+ "RFC5246": 2,
+ "RFC 4301": 2,
+ "RFC 4303": 2,
+ "RFC4301": 2,
+ "RFC4303": 3,
+ "RFC3602": 2,
+ "RFC4106": 2,
+ "RFC2404": 3,
+ "RFC4868": 2,
+ "RFC4302": 1,
+ "RFC2459": 6,
+ "RFC3280": 7,
+ "RFC5280": 3,
+ "RFC 5280": 1,
+ "RFC 4556": 1,
+ "RFC4120": 1,
+ "RFC 2560": 1,
+ "RFC 3602": 1,
+ "RFC 4106": 2,
+ "RFC 4109": 1,
+ "RFC4251": 1,
+ "RFC4346": 1,
+ "RFC4492": 1,
+ "X.509": 6
+ },
+ "rules_security_level": {
+ "EAL4": 1
+ },
+ "rules_security_assurance_components": {
+ "ADV_ARC.1": 1,
+ "ADV_FSP.4": 1,
+ "ADV_IMP.1": 1,
+ "ADV_TDS.3": 1,
+ "AGD_OPE.1": 1,
+ "AGD_PRE.1": 1,
+ "ALC_FLR.3": 3,
+ "ALC_CMC.4": 1,
+ "ALC_CMS.4": 1,
+ "ALC_DEL.1": 1,
+ "ALC_DVS.1": 1,
+ "ALC_LCD.1": 1,
+ "ALC_TAT.1": 1,
+ "ATE_COV.2": 1,
+ "ATE_DPT.1": 1,
+ "ATE_FUN.1": 1,
+ "ATE_IND.2": 1,
+ "AVA_VAN.3": 1,
+ "ASE_CCL.1": 5
+ },
+ "rules_security_functional_components": {
+ "FAU_GEN.1": 18,
+ "FAU_GEN.2": 8,
+ "FAU_SAR.1": 13,
+ "FAU_SAR.2": 8,
+ "FAU_SAR.3": 8,
+ "FAU_SEL.1": 9,
+ "FAU_STG.1": 12,
+ "FAU_STG.3": 9,
+ "FAU_STG.4": 9,
+ "FAU_GEN.1.1": 1,
+ "FAU_GEN.1.2": 1,
+ "FAU_GEN.2.1": 1,
+ "FAU_SAR.1.1": 1,
+ "FAU_SAR.1.2": 1,
+ "FAU_SAR.2.1": 1,
+ "FAU_SAR.3.1": 1,
+ "FAU_SEL.1.1": 1,
+ "FAU_STG.1.1": 1,
+ "FAU_STG.1.2": 1,
+ "FAU_STG.3.1": 1,
+ "FAU_STG.4.1": 1,
+ "FCS_COP.1": 93,
+ "FCS_CKM.1": 71,
+ "FCS_CKM.2": 8,
+ "FCS_CKM.4": 30,
+ "FCS_RNG.1": 8,
+ "FCS_COP.1.1": 12,
+ "FCS_CKM.1.1": 6,
+ "FCS_CKM.2.1": 1,
+ "FCS_CKM.4.1": 1,
+ "FCS_RNG.1.1": 1,
+ "FCS_RNG.1.2": 1,
+ "FDP_ACC.1": 38,
+ "FDP_ACF.1": 42,
+ "FDP_ETC.1": 9,
+ "FDP_ETC.2": 9,
+ "FDP_IFC.2": 24,
+ "FDP_IFF.1": 13,
+ "FDP_IFF.2": 9,
+ "FDP_ITC.1": 9,
+ "FDP_ITC.2": 19,
+ "FDP_RIP.2": 13,
+ "FDP_RIP.3": 13,
+ "FDP_RIP": 2,
+ "FDP_ACC.1.1": 3,
+ "FDP_ACF.1.1": 5,
+ "FDP_ACF.1.2": 5,
+ "FDP_ACF.1.3": 5,
+ "FDP_ACF.1.4": 5,
+ "FDP_ETC.1.1": 1,
+ "FDP_ETC.1.2": 1,
+ "FDP_ETC.2.1": 1,
+ "FDP_ETC.2.2": 1,
+ "FDP_ETC.2.3": 1,
+ "FDP_ETC.2.4": 1,
+ "FDP_IFC.2.1": 2,
+ "FDP_IFC.2.2": 2,
+ "FDP_IFF.1.1": 1,
+ "FDP_IFF.1.2": 1,
+ "FDP_IFF.1.3": 2,
+ "FDP_IFF.1.4": 1,
+ "FDP_IFF.1.5": 1,
+ "FDP_IFF.2.1": 1,
+ "FDP_IFF.2.2": 1,
+ "FDP_IFF.2.3": 1,
+ "FDP_IFF.2.4": 1,
+ "FDP_IFF.2.5": 1,
+ "FDP_IFF.2.6": 1,
+ "FDP_ITC.1.1": 1,
+ "FDP_ITC.1.2": 1,
+ "FDP_ITC.1.3": 1,
+ "FDP_ITC.2.1": 3,
+ "FDP_ITC.2.2": 2,
+ "FDP_ITC.2.3": 2,
+ "FDP_ITC.2.4": 2,
+ "FDP_ITC.2.5": 2,
+ "FDP_ITC": 1,
+ "FDP_RIP.2.1": 1,
+ "FDP_RIP.3.1": 1,
+ "FDP_IFC.1": 7,
+ "FIA_AFL.1": 8,
+ "FIA_ATD.1": 42,
+ "FIA_SOS.1": 8,
+ "FIA_UAU.1": 19,
+ "FIA_UAU.5": 9,
+ "FIA_UAU.7": 8,
+ "FIA_UAU.8": 8,
+ "FIA_UID.1": 16,
+ "FIA_UID.3": 8,
+ "FIA_USB.1": 8,
+ "FIA_USB.2": 8,
+ "FIA_AFL.1.1": 1,
+ "FIA_AFL.1.2": 1,
+ "FIA_ATD.1.1": 4,
+ "FIA_SOS.1.1": 1,
+ "FIA_UAU.1.1": 1,
+ "FIA_UAU.1.2": 1,
+ "FIA_UAU.5.1": 1,
+ "FIA_UAU.5.2": 1,
+ "FIA_UAU.7.1": 1,
+ "FIA_UAU.8.1": 1,
+ "FIA_UAU.8.2": 1,
+ "FIA_UAU.8.3": 1,
+ "FIA_UID.1.1": 1,
+ "FIA_UID.1.2": 1,
+ "FIA_UID.3.1": 1,
+ "FIA_UID.3.2": 1,
+ "FIA_UID.3.3": 1,
+ "FIA_USB.1.1": 1,
+ "FIA_USB.1.2": 1,
+ "FIA_USB.1.3": 1,
+ "FIA_USB.2.1": 1,
+ "FIA_USB.2.2": 1,
+ "FIA_USB.2.3": 1,
+ "FIA_USB.2.4": 1,
+ "FMT_MSA.3": 50,
+ "FMT_MSA.1": 36,
+ "FMT_MSA.4": 8,
+ "FMT_MTD.1": 126,
+ "FMT_REV.1": 17,
+ "FMT_SMF.1": 45,
+ "FMT_SMR.1": 62,
+ "FMT_MSA.3.1": 5,
+ "FMT_MSA.3.2": 5,
+ "FMT_MSA.1.1": 3,
+ "FMT_MSA.4.1": 1,
+ "FMT_MTD.1.1": 15,
+ "FMT_REV.1.1": 2,
+ "FMT_REV.1.2": 2,
+ "FMT_SMF.1.1": 1,
+ "FMT_SMR.1.1": 1,
+ "FMT_SMR.1.2": 1,
+ "FMT_IFC.1": 1,
+ "FPT_STM.1": 10,
+ "FPT_TDC.1": 21,
+ "FPT_STM.1.1": 1,
+ "FPT_TDC.1.1": 2,
+ "FPT_TDC.1.2": 2,
+ "FTA_SSL.1": 10,
+ "FTA_SSL.2": 9,
+ "FTA_SSL.1.1": 1,
+ "FTA_SSL.1.2": 1,
+ "FTA_SSL.2.1": 1,
+ "FTA_SSL.2.2": 1,
+ "FTP_ITC.1": 16,
+ "FTP_ITC.1.1": 1,
+ "FTP_ITC.1.2": 1,
+ "FTP_ITC.1.3": 1,
+ "FTP_TDC.1": 1
+ },
+ "rules_cc_claims": {
+ "D": 1,
+ "D.IT.SYSTEM": 5,
+ "D.FILESYS.ACCESS": 3,
+ "D.RESET": 7,
+ "D.IDS": 4,
+ "D.ADD": 18,
+ "D.ADDRING": 1,
+ "D.ALTER": 19,
+ "D.CONNECT": 3,
+ "D.DELETE": 5,
+ "D.DELRING": 1,
+ "D.EXPORT": 3,
+ "D.GENCERT": 4,
+ "D.GENREQ": 1,
+ "D.IMPORT": 1,
+ "D.REKEY": 4,
+ "D.REMOVE": 1,
+ "D.DISPLAY": 2,
+ "O.AUDITING": 16,
+ "O.CRYPTO.NET": 15,
+ "O.DISCRETIONARY.ACCESS": 13,
+ "O.NETWORK.FLOW": 11,
+ "O.SUBJECT.COM": 11,
+ "O.MANAGE": 31,
+ "O.TRUSTED_CHANNEL": 5,
+ "O.LS.CONFIDENTIALITY": 13,
+ "O.LS.PRINT": 5,
+ "O.LS.LABEL": 12,
+ "O.CRYPTO.BASIC": 15,
+ "O.I_A": 3,
+ "O.NETWORK-FLOW": 1,
+ "O.CUST": 1,
+ "O.CMDS": 1,
+ "O.SYSPROG": 1,
+ "O.PROG": 1,
+ "T.GRANULAR": 29,
+ "T.ACCESS.TSFDATA": 5,
+ "T.ACCESS.USERDATA": 6,
+ "T.ACCESS.TSFFUNC": 4,
+ "T.ACCESS.COMM": 4,
+ "T.RESTRICT.NETTRAFFIC": 3,
+ "T.IA.MASQUERADE": 3,
+ "T.IA.USER": 3,
+ "T.DATA_NOT_SEPARATED": 3,
+ "T.COM": 11,
+ "T.SYSTEM": 5,
+ "T.CUSTOMER": 1,
+ "T.USER": 3,
+ "T.AUTOAPPL": 1,
+ "T.AUTODIRECT": 1,
+ "T.AUTOPWD": 1,
+ "T.INCLUDE": 1,
+ "T.JESNODE": 1,
+ "T.LIST": 6,
+ "T.PWSYNC": 1,
+ "T.TRACE": 1,
+ "T.DESCRIPTION": 1,
+ "T.LOCAL": 1,
+ "T.NODE": 1,
+ "T.OPERATIVE": 2,
+ "T.PREFIX": 1,
+ "T.PROTOCOL": 1,
+ "T.PURGE": 1,
+ "T.WDSQUAL": 1,
+ "T.WORKSPACE": 1,
+ "T.ADD": 24,
+ "T.BIND": 6,
+ "T.CONNEC": 4,
+ "T.CONNECT": 18,
+ "T.GENCERT": 13,
+ "T.EXPORT": 3,
+ "T.REMOVE": 10,
+ "T.LISTRING": 8,
+ "T.ADDRING": 3,
+ "T.DELRING": 3,
+ "T.DELETE": 4,
+ "T.ALTER": 8,
+ "A.MASQUERADE": 3,
+ "A.USER": 3,
+ "A.PHYSICAL": 4,
+ "A.MANAGE": 6,
+ "A.AUTHUSER": 4,
+ "A.TRAINEDUSER": 4,
+ "A.DETECT": 5,
+ "A.PEER.MGT": 3,
+ "A.PEER.FUNC": 3,
+ "A.CONNECT": 4,
+ "A.REMOTE": 12,
+ "A.MULTIPLE": 5,
+ "A.RESUME.NONICKNAME": 1,
+ "R.RACDCERT.GRANULAR": 29,
+ "R.MGT": 3,
+ "R.FUNC": 3,
+ "R.FILESYS.DIRSRCH": 5,
+ "R.FILESYS.ACLOVERRIDE": 4,
+ "R.FILESYS": 2,
+ "R.WRITEDOWN.BYUSER": 3,
+ "R.PASSWORD.RESET": 7,
+ "R.RPKISERV.PKIADMIN": 2,
+ "R.APF": 1,
+ "R.RPKISERV": 1,
+ "R.RPKISERV.GENCERT.CUSTOMER": 1,
+ "R.RPKISERV.GENCERT": 1,
+ "R.RPKISERV.PKIADMIN.CUSTOMER": 1,
+ "R.LDAP.REMOTE.AUTH": 2,
+ "R.PGMSECURITY": 2,
+ "R.FILESYS.ACL.ACLOVERRIDE": 1,
+ "R.PROGCTL": 1,
+ "R.LDAP.REMOTE.AUDIT": 1,
+ "R.PROGRAM.SIGNING": 1,
+ "R.PROGRAM.SIGNATURE.VERIFICATION": 1,
+ "R.LISTUSER": 2,
+ "R.FILESYS.MOUNT": 1,
+ "R.FILESYS.USERMOUNT": 1,
+ "R.DIGTCERT.ADD": 24,
+ "R.DIGTCERT.LIST": 4,
+ "R.DIGTCERT.BIND": 6,
+ "R.DIGTCERT.CONNEC": 4,
+ "R.DIGTCERT.CONNECT": 17,
+ "R.DIGTCERT.GENCERT": 13,
+ "R.DIGTCERT.LISTRING": 8,
+ "R.DIGTCERT.ADDRING": 3,
+ "R.DIGTCERT.REMOVE": 9,
+ "R.DIGTCERT.DELRING": 3,
+ "R.DIGTCERT.DELETE": 4,
+ "R.DIGTCERT.ALTER": 8,
+ "OE": 3,
+ "OE.ADMIN": 5,
+ "OE.REMOTE": 4,
+ "OE.INFO_PROTECT": 7,
+ "OE.INSTALL": 4,
+ "OE.MAINTENANCE": 3,
+ "OE.PHYSICAL": 3,
+ "OE.RECOVER": 4,
+ "OE.TRUSTED.IT.SYSTEM": 5
+ },
+ "rules_javacard": {},
+ "rules_javacard_api_consts": {
+ "TYPE_DES_CBC_MD5": 1
+ },
+ "rules_javacard_packages": {},
+ "rules_crypto_algs": {
+ "SHA-224": 8,
+ "SHA-256": 12,
+ "SHA-384": 8,
+ "SHA-512": 9,
+ "SHA256": 14,
+ "SHA384": 10,
+ "AES": 61,
+ "AES-": 1,
+ "AES128": 4,
+ "AES256": 3,
+ "AES-128": 2,
+ "AES-256": 2,
+ "SHA-1": 36,
+ "MD5": 7,
+ "DH": 16,
+ "Diffie-Hellman": 13,
+ "ECDH": 9,
+ "ECDSA": 59,
+ "TDES": 50,
+ "DES": 31,
+ "3DES": 2,
+ "ECC": 12,
+ "RNG": 3,
+ "PACE": 1
+ },
+ "rules_block_cipher_modes": {
+ "ECB": 2,
+ "CBC": 12,
+ "CTR": 5,
+ "CFB": 4,
+ "OFB": 4,
+ "GCM": 8
+ },
+ "rules_ecc_curves": {
+ "P-192": 3,
+ "P-224": 3,
+ "P-256": 3,
+ "P-384": 3,
+ "P-521": 3,
+ "secp192r1": 3,
+ "secp224r1": 3,
+ "secp256r1": 3,
+ "secp384r1": 3,
+ "secp521r1": 3
+ },
+ "rules_cplc": {},
+ "rules_crypto_engines": {},
+ "rules_crypto_libs": {
+ "OpenSSL": 2,
+ "NSS": 39
+ },
+ "rules_IC_data_groups": {},
+ "rules_defenses": {
+ "side channels": 1,
+ "side channel": 1
+ },
+ "rules_certification_process": {},
+ "rules_vulnerabilities": {},
+ "rules_other": {
+ "library": 34
+ }
+ }
+ },
+ "heuristics": {
+ "_type": "CCHeuristics",
+ "extracted_versions": {
+ "_type": "Set",
+ "elements": [
+ "2"
+ ]
+ },
+ "cpe_matches": {
+ "_type": "Set",
+ "elements": [
+ "cpe:2.3:o:ibm:z\\/os:2.1.0:*:*:*:*:*:*:*",
+ "cpe:2.3:o:ibm:z\\/os:2.2.0:*:*:*:*:*:*:*",
+ "cpe:2.3:o:ibm:z\\/os:2.3.0:*:*:*:*:*:*:*"
+ ]
+ },
+ "verified_cpe_matches": null,
+ "related_cves": {
+ "_type": "Set",
+ "elements": [
+ "CVE-2013-5385"
+ ]
+ },
+ "cert_lab": [
+ "BSI"
+ ],
+ "cert_id": "BSI-DSZ-CC-0948-2017",
+ "st_references": {
+ "_type": "References",
+ "directly_referenced_by": null,
+ "indirectly_referenced_by": null,
+ "directly_referencing": null,
+ "indirectly_referencing": null
+ },
+ "report_references": {
+ "_type": "References",
+ "directly_referenced_by": null,
+ "indirectly_referenced_by": null,
+ "directly_referencing": {
+ "_type": "Set",
+ "elements": [
+ "BSI-DSZ-CC-0874-2014"
+ ]
+ },
+ "indirectly_referencing": {
+ "_type": "Set",
+ "elements": [
+ "BSI-DSZ-CC-0247-2005",
+ "BSI-DSZ-CC-0304-2006",
+ "BSI-DSZ-CC-0377-2007",
+ "BSI-DSZ-CC-0459-2008",
+ "BSI-DSZ-CC-0534-2009",
+ "BSI-DSZ-CC-0637-2010",
+ "BSI-DSZ-CC-0701-2011",
+ "BSI-DSZ-CC-0788-2012",
+ "BSI-DSZ-CC-0874-2014"
+ ]
+ }
+ },
+ "direct_dependency_cves": null,
+ "indirect_dependency_cves": null
+ }
+ }
+ ]
+}
diff --git a/tests/data/test_cc_oop/fictional_cert.json b/tests/data/test_cc_oop/fictional_cert.json
index afc4cdde..844e0f3f 100644
--- a/tests/data/test_cc_oop/fictional_cert.json
+++ b/tests/data/test_cc_oop/fictional_cert.json
@@ -65,6 +65,8 @@
"related_cves": null,
"cert_lab": null,
"cert_id": null,
+ "direct_dependency_cves": null,
+ "indirect_dependency_cves": null,
"report_references": {
"_type": "References",
"directly_referenced_by": null,
diff --git a/tests/data/test_cc_oop/toy_dataset.json b/tests/data/test_cc_oop/toy_dataset.json
index a6946eeb..ca02ef9c 100644
--- a/tests/data/test_cc_oop/toy_dataset.json
+++ b/tests/data/test_cc_oop/toy_dataset.json
@@ -69,6 +69,8 @@
"related_cves": null,
"cert_lab": null,
"cert_id": null,
+ "direct_dependency_cves": null,
+ "indirect_dependency_cves": null,
"report_references": {
"_type": "References",
"directly_referenced_by": null,
@@ -145,6 +147,8 @@
"related_cves": null,
"cert_lab": null,
"cert_id": null,
+ "direct_dependency_cves": null,
+ "indirect_dependency_cves": null,
"report_references": {
"_type": "References",
"directly_referenced_by": null,
diff --git a/tests/test_cc_heuristics.py b/tests/test_cc_heuristics.py
index adfb475a..a1bd99f9 100644
--- a/tests/test_cc_heuristics.py
+++ b/tests/test_cc_heuristics.py
@@ -283,3 +283,15 @@ class TestCommonCriteriaHeuristics(TestCase):
)
self.assertEqual(test_cert.heuristics.report_references.directly_referencing, {"BSI-DSZ-CC-0268-2005"})
self.assertEqual(test_cert.heuristics.report_references.indirectly_referencing, {"BSI-DSZ-CC-0268-2005"})
+
+ def test_direct_dependency_vulnerability_dataset(self):
+ dataset = CCDataset.from_json(self.data_dir_path / "dependency_vulnerability_dataset.json")
+ dataset._compute_dependency_vulnerabilities()
+ test_cert = dataset["d0705c9e6fbaeba3"]
+ self.assertEqual(test_cert.heuristics.direct_dependency_cves, {"CVE-2013-5385"})
+
+ def test_indirect_dependency_vulnerability_dataset(self):
+ dataset = CCDataset.from_json(self.data_dir_path / "dependency_vulnerability_dataset.json")
+ dataset._compute_dependency_vulnerabilities()
+ test_cert = dataset["d0705c9e6fbaeba3"]
+ self.assertEqual(test_cert.heuristics.indirect_dependency_cves, {"CVE-2013-5385"})