diff options
| author | adamjanovsky | 2022-04-10 18:09:05 +0200 |
|---|---|---|
| committer | GitHub | 2022-04-10 18:09:05 +0200 |
| commit | 891a5fbd527c26cdbc0749e5044eef87a4508b8f (patch) | |
| tree | acde293fe5a5dc528558bb4ee740c8fb8d8cafb1 | |
| parent | c73e0e0209d3a846863845729071e29511d0fbc7 (diff) | |
| parent | d21655a3aab64141307138bf1fe8ba146a1bc8f0 (diff) | |
| download | sec-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.py | 14 | ||||
| -rw-r--r-- | sec_certs/dataset/fips.py | 4 | ||||
| -rw-r--r-- | sec_certs/model/dependency_finder.py | 28 | ||||
| -rw-r--r-- | sec_certs/model/dependency_vulnerability_finder.py | 123 | ||||
| -rw-r--r-- | sec_certs/sample/common_criteria.py | 8 | ||||
| -rw-r--r-- | tests/data/test_cc_heuristics/dependency_vulnerability_dataset.json | 2222 | ||||
| -rw-r--r-- | tests/data/test_cc_oop/fictional_cert.json | 2 | ||||
| -rw-r--r-- | tests/data/test_cc_oop/toy_dataset.json | 4 | ||||
| -rw-r--r-- | tests/test_cc_heuristics.py | 12 |
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"}) |
