BSI-DSZ-CC-1041-V2-2022 for PikeOS Separation Kernel 4.2.4 from SYSGO GmbH BSI - Bundesamt für Sicherheit in der Informationstechnik, Postfach 20 03 63, D-53133 Bonn Phone +49 (0)228 99 9582-0, Fax +49 (0)228 9582-5477, Infoline +49 (0)228 99 9582-111 Certification Report V1.0 CC-Zert-327 V5.41 BSI-DSZ-CC-1041-V2-2022 (*) Operating System PikeOS Separation Kernel 4.2.4 from SYSGO GmbH PP Conformance: None Functionality: Product specific Security Target Common Criteria Part 2 conformant Assurance: Common Criteria Part 3 conformant EAL 3 augmented by ALC_FLR.3 The IT Product identified in this certificate has been evaluated at an approved evaluation facility using the Common Methodology for IT Security Evaluation (CEM), Version 3.1 extended by Scheme Interpretations for conformance to the Common Criteria for IT Security Evaluation (CC), Version 3.1. CC and CEM are also published as ISO/IEC 15408 and ISO/IEC 18045. (*) This certificate applies only to the specific version and release of the product in its evaluated configuration and in conjunction with the complete Certification Report and Notification. For details on the validity see Certification Report part A chapter 5. The evaluation has been conducted in accordance with the provisions of the certification scheme of the German Federal Office for Information Security (BSI) and the conclusions of the evaluation facility in the evaluation technical report are consistent with the evidence adduced. This certificate is not an endorsement of the IT Product by the Federal Office for Information Security or any other organisation that recognises or gives effect to this certificate, and no warranty of the IT Product by the Federal Office for Information Security or any other organisation that recognises or gives effect to this certificate, is either expressed or implied. Bonn, 7 March 2022 For the Federal Office for Information Security Sandro Amendola L.S. Head of Division SOGIS Recognition Agreement Common Criteria Recognition Arrangement recognition for components up to EAL 2 and ALC_FLR only Bundesamt für Sicherheit in der Informationstechnik Godesberger Allee 185-189 - D-53175 Bonn - Postfach 20 03 63 - D-53133 Bonn Phone +49 (0)228 99 9582-0 - Fax +49 (0)228 9582-5477 - Infoline +49 (0)228 99 9582-111 Certification Report BSI-DSZ-CC-1041-V2-2022 This page is intentionally left blank. 4 / 28 BSI-DSZ-CC-1041-V2-2022 Certification Report Contents A. Certification......................................................................................................................6 1. Preliminary Remarks....................................................................................................6 2. Specifications of the Certification Procedure...............................................................6 3. Recognition Agreements..............................................................................................7 4. Performance of Evaluation and Certification................................................................8 5. Validity of the Certification Result.................................................................................8 6. Publication....................................................................................................................9 B. Certification Results.......................................................................................................10 1. Executive Summary....................................................................................................11 2. Identification of the TOE.............................................................................................12 3. Security Policy............................................................................................................15 4. Assumptions and Clarification of Scope.....................................................................15 5. Architectural Information.............................................................................................17 6. Documentation...........................................................................................................18 7. IT Product Testing.......................................................................................................19 8. Evaluated Configuration.............................................................................................22 9. Results of the Evaluation............................................................................................22 10. Obligations and Notes for the Usage of the TOE.....................................................23 11. Security Target..........................................................................................................24 12. Regulation specific aspects (eIDAS, QES)..............................................................24 13. Definitions.................................................................................................................24 14. Bibliography..............................................................................................................25 C. Excerpts from the Criteria..............................................................................................27 D. Annexes.........................................................................................................................28 5 / 28 Certification Report BSI-DSZ-CC-1041-V2-2022 A. Certification 1. Preliminary Remarks Under the BSIG1 Act, the Federal Office for Information Security (BSI) has the task of issuing certificates for information technology products. Certification of a product is carried out on the instigation of the vendor or a distributor, hereinafter called the sponsor. A part of the procedure is the technical examination (evaluation) of the product according to the security criteria published by the BSI or generally recognised security criteria. The evaluation is normally carried out by an evaluation facility recognised by the BSI or by BSI itself. The result of the certification procedure is the present Certification Report. This report contains among others the certificate (summarised assessment) and the detailed Certification Results. The Certification Results contain the technical description of the security functionality of the certified product, the details of the evaluation (strength and weaknesses) and instructions for the user. 2. Specifications of the Certification Procedure The certification body conducts the procedure according to the criteria laid down in the following: ● Act on the Federal Office for Information Security1 ● BSI Certification and Approval Ordinance2 ● BMI Regulations on Ex-parte Costs3 ● Special decrees issued by the Bundesministerium des Innern (Federal Ministry of the Interior) ● DIN EN ISO/IEC 17065 standard ● BSI certification: Scheme documentation describing the certification process (CC- Produkte) [3] ● BSI certification: Scheme documentation on requirements for the Evaluation Facility, its approval and licencing process (CC-Stellen) [3] 1 Act on the Federal Office for Information Security (BSI-Gesetz - BSIG) of 14 August 2009, Bundesgesetzblatt I p. 2821 2 Ordinance on the Procedure for Issuance of Security Certificates and approval by the Federal Office for Information Security (BSI-Zertifizierungs- und -Anerkennungsverordnung - BSIZertV) of 17 December 2014, Bundesgesetzblatt 2014, part I, no. 61, p. 2231 3 BMI Regulations on Ex-parte Costs - Besondere Gebührenverordnung des BMI für individuell zurechenbare öffentliche Leistungen in dessen Zuständigkeitsbereich (BMIBGebV), Abschnitt 7 (BSI- Gesetz) - dated 2 September 2019, Bundesgesetzblatt I p. 1365 6 / 28 BSI-DSZ-CC-1041-V2-2022 Certification Report ● Common Criteria for IT Security Evaluation (CC), Version 3.14 [1] also published as ISO/IEC 15408. ● Common Methodology for IT Security Evaluation (CEM), Version 3.1 [2] also published as ISO/IEC 18045 ● BSI certification: Application Notes and Interpretation of the Scheme (AIS) [4] 3. Recognition Agreements In order to avoid multiple certification of the same product in different countries a mutual recognition of IT security certificates – as far as such certificates are based on ITSEC or CC – under certain conditions was agreed. 3.1. European Recognition of CC – Certificates (SOGIS-MRA) The SOGIS-Mutual Recognition Agreement (SOGIS-MRA) Version 3 became effective in April 2010. It defines the recognition of certificates for IT-Products at a basic recognition level and, in addition, at higher recognition levels for IT-Products related to certain SOGIS Technical Domains only. The basic recognition level includes Common Criteria (CC) Evaluation Assurance Levels EAL 1 to EAL 4. For "Smartcards and similar devices" a SOGIS Technical Domain is in place. For "HW Devices with Security Boxes" a SOGIS Technical Domains is in place, too. In addition, certificates issued for Protection Profiles based on Common Criteria are part of the recognition agreement. The current list of signatory nations and approved certification schemes, details on recognition, and the history of the agreement can be seen on the website at https://www.sogis.eu. The SOGIS-MRA logo printed on the certificate indicates that it is recognised under the terms of this agreement by the related bodies of the signatory nations. A disclaimer beneath the logo indicates the specific scope of recognition. This certificate is recognized under SOGIS-MRA for all assurance components selected. 3.2. International Recognition of CC – Certificates (CCRA) The international arrangement on the mutual recognition of certificates based on the CC (Common Criteria Recognition Arrangement, CCRA-2014) has been ratified on 08 September 2014. It covers CC certificates based on collaborative Protection Profiles (cPP) (exact use), CC certificates based on assurance components up to and including EAL 2 or the assurance family Flaw Remediation (ALC_FLR) and CC certificates for Protection Profiles and for collaborative Protection Profiles (cPP). The current list of signatory nations and approved certification schemes can be seen on the website: https://www.commoncriteriaportal.org. The Common Criteria Recognition Arrangement logo printed on the certificate indicates that this certification is recognised under the terms of this agreement by the related bodies of the signatory nations. A disclaimer beneath the logo indicates the specific scope of recognition. 4 Proclamation of the Bundesministerium des Innern of 12 February 2007 in the Bundesanzeiger dated 23 February 2007, p. 3730 7 / 28 Certification Report BSI-DSZ-CC-1041-V2-2022 This certificate is recognized according to the rules of CCRA-2014, i. e. up to and including CC part 3 EAL 2+ ALC_FLR components. 4. Performance of Evaluation and Certification The certification body monitors each individual evaluation to ensure a uniform procedure, a uniform interpretation of the criteria and uniform ratings. The product PikeOS Separation Kernel, 4.2.4 has undergone the certification procedure at BSI. This is a re-certification based on BSI-DSZ-CC-1041-2018. Specific results from the evaluation process BSI-DSZ-CC-1041-2018 were re-used. The evaluation of the product PikeOS Separation Kernel, 4.2.4 was conducted by atsec information security GmbH. The evaluation was completed on 24 February 2022. atsec information security GmbH is an evaluation facility (ITSEF)5 recognised by the certification body of BSI. For this certification procedure the sponsor and applicant is: SYSGO GmbH. The product was developed by: SYSGO GmbH. The certification is concluded with the comparability check and the production of this Certification Report. This work was completed by the BSI. 5. Validity of the Certification Result This Certification Report applies only to the version of the product as indicated. The confirmed assurance package is valid on the condition that ● all stipulations regarding generation, configuration and operation, as given in the following report, are observed, ● the product is operated in the environment described, as specified in the following report and in the Security Target. For the meaning of the assurance components and assurance levels please refer to CC itself. Detailed references are listed in part C of this report. The Certificate issued confirms the assurance of the product claimed in the Security Target at the date of certification. As attack methods evolve over time, the resistance of the certified version of the product against new attack methods needs to be re-assessed. Therefore, the sponsor should apply for the certified product being monitored within the assurance continuity program of the BSI Certification Scheme (e.g. by a re-assessment or re-certification). Specifically, if results of the certification are used in subsequent evaluation and certification procedures, in a system integration process or if a user's risk management needs regularly updated results, it is recommended to perform a re- assessment on a regular e.g. annual basis. In order to avoid an indefinite usage of the certificate when evolved attack methods would require a re-assessment of the products resistance to state of the art attack methods, the maximum validity of the certificate has been limited. The certificate issued on 7 March 2022 is valid until 6 March 2027. Validity can be re-newed by re-certification. The owner of the certificate is obliged: 5 Information Technology Security Evaluation Facility 8 / 28 BSI-DSZ-CC-1041-V2-2022 Certification Report 1. when advertising the certificate or the fact of the product's certification, to refer to the Certification Report as well as to provide the Certification Report, the Security Target and user guidance documentation mentioned herein to any customer of the product for the application and usage of the certified product, 2. to inform the Certification Body at BSI immediately about vulnerabilities of the product that have been identified by the developer or any third party after issuance of the certificate, 3. to inform the Certification Body at BSI immediately in the case that security relevant changes in the evaluated life cycle, e.g. related to development and production sites or processes, occur, or the confidentiality of documentation and information related to the Target of Evaluation (TOE) or resulting from the evaluation and certification procedure where the certification of the product has assumed this confidentiality 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 procedure that do not belong to the deliverables according to the Certification Report part B, or for those where no dissemination rules have been agreed on, to third parties, the Certification Body at BSI has to be informed. In case of changes to the certified version of the product, the validity can be extended to the new versions and releases, provided the sponsor applies for assurance continuity (i.e. re-certification or maintenance) of the modified product, in accordance with the procedural requirements, and the evaluation does not reveal any security deficiencies. 6. Publication The product PikeOS Separation Kernel, 4.2.4 has been included in the BSI list of certified products, which is published regularly (see also Internet: https://www.bsi.bund.de and [5]). Further information can be obtained from BSI-Infoline +49 228 9582-111. Further copies of this Certification Report can be requested from the developer6 of the product. The Certification Report may also be obtained in electronic form at the internet address stated above. 6 SYSGO GmbH Am Pfaffenstein 8 55270 Klein-Winternheim Deutschland 9 / 28 Certification Report BSI-DSZ-CC-1041-V2-2022 B. Certification Results The following results represent a summary of ● the Security Target of the sponsor for the Target of Evaluation, ● the relevant evaluation results from the evaluation facility, and ● complementary notes and stipulations of the certification body. 10 / 28 BSI-DSZ-CC-1041-V2-2022 Certification Report 1. Executive Summary The Target of Evaluation (TOE) is the PikeOS Separation Kernel version 4.2.4 running on the microprocessor family (x86 64-bit, ARMv7, or ARMv8) hosting different applications. The TOE is referenced as PikeOS 4.2.4 base product build S6120 for Linux and Windows development host with PikeOS 4.2.4 Certification Kit build S6120. The TOE is a special kind of microkernel, a separation kernel, which allows to effectively separate different applications running on the same platform from each other. Applications are hosted in partitions that can be separated from each other. Such non-privileged applications can also be operating systems. Non-privileged applications may be malicious, and even in that case the TOE ensures that the malicious applications are harming neither the TOE nor other applications in other partitions. The TOE will be installed and run on a hardware platform (e.g. embedded systems). SYSGO defines separation as follows: The TOE separates partitions by managing their access to and usage of resources, such as memory, devices, processors, and communication channels, as defined by the configuration. Isolation of a partition is the absence of communication with other partitions, except partitions hosting the components implementing the system API, when no communication channels or shared resources between the partition and other partitions are configured. Isolation is a special case of separation. The TOE is a real time separation kernel, thus, the partitioning is configured statically and the TOE does not include typical desktop operating system services (e.g. user login, printer drivers). The Security Target [6] is the basis for this certification. It is not based on a certified Protection Profile. The TOE Security Assurance Requirements (SAR) are based entirely on the assurance components defined in Part 3 of the Common Criteria (see part C or [1], Part 3 for details). The TOE meets the assurance requirements of the Evaluation Assurance Level EAL 3 augmented by ALC_FLR.3. The TOE Security Functional Requirements (SFR) relevant for the TOE are outlined in the Security Target [6] , chapter 7.1. They are all selected from Common Criteria Part 2. Thus the TOE is CC Part 2 conformant. The TOE Security Functional Requirements are implemented by the following TOE Security Functionality: TOE Security Functionality Addressed issue TSS_SSA Separation in space of applications hosted in different partitions from each other and from the PikeOS Operating System according to the SSP by using the underlying hardware. Applications can be hosted in different partitions. Partitions get assigned resources (i.e. space) according to the SSP, which comprise memory ranges and a set of CPUs. The TSF enforces the corresponding part of the SSP by the enforcement of access control on partition content, per- partition provision of physical memory space and allocated CPU time for each CPU. By confining non-privileged executables into partitions, the TSF enforces that these applications can affect neither applications in other partitions nor the PikeOS Operating System itself. TSS_STA Separation in time of applications hosted in different partitions from each other and from the PikeOS Operating System according to the SSP. Applications can be hosted in different partitions. Partitions get assigned CPU time (i.e. time windows) according to the SSP. The TSF enforces the 11 / 28 Certification Report BSI-DSZ-CC-1041-V2-2022 corresponding part of the SSP by per-partition allocation of a predefined amount of CPU time for each CPU. On a partition switch CPUs will be reused. ‍ TSS_COM Provision and management of communication objects. Applications hosted in different partitions can get assigned a set of communication objects. A communication object is an object exposed to one or multiple partitions with access rights as defined in the configuration data, thus allowing communication between partitions. ‍ TSS_MAN Management of the TOE (e.g. system partition API) and the TOE data (e.g. threads, tasks). The PikeOS Separation Kernel restricts a non- privileged application to only manage tasks and threads within its partition. The PikeOS Separation Kernel provides an API to privileged applications to manage the TOE and the TOE data. Table 1: TOE Security Functionalities For more details please refer to the Security Target [6], chapter 8. The assets to be protected by the TOE are defined in the Security Target [6], chapter 4.1. Based on these assets the TOE Security Problem is defined in terms of Assumptions, Threats and Organisational Security Policies. This is outlined in the Security Target [6], chapter 4.2, 4.3 and 4.4. This certification covers the configurations of the TOE as outlined in chapter 8. The vulnerability assessment results as stated within this certificate do not include a rating for those cryptographic algorithms and their implementation suitable for encryption and decryption (see BSIG Section 9, Para. 4, Clause 2). The certification results only apply to the version of the product indicated in the certificate and on the condition that all the stipulations are kept as detailed in this Certification Report. This certificate is not an endorsement of the IT product by the Federal Office for Information Security (BSI) or any other organisation that recognises or gives effect to this certificate, and no warranty of the IT product by BSI or any other organisation that recognises or gives effect to this certificate, is either expressed or implied. 2. Identification of the TOE The Target of Evaluation (TOE) is called: PikeOS Separation Kernel, 4.2.4 The following table outlines the TOE deliverables: No Type Identifier Release Form of Delivery7 ‍ PikeOS 4.2.4 x86 64-bit 7 “DL“ signifies delivery by direct download from a server. “from ISO” means that the TOE component is contained in an ISO image (available for direct download) that needs to be extracted or be brought on a suitable media to access the respective component. 12 / 28 BSI-DSZ-CC-1041-V2-2022 Certification Report No Type Identifier Release Form of Delivery 1 SW PikeOS 4.2.4 build S6120 for x86 64-bit architecture R4p2_PIKEOS_MT_CMB_X86_S6120.iso SHA256: 30d82a73ac06df7014f6e73b87d433b5e5190578721d3df 00e86a7b04e377412 DL 2 SW PikeOS 4.2.4 certification documentation for x86 R4p2_PIKEOS_DK_CMB_X86_AMD64_CERTKIT_S612 0.iso SHA256: 7b98239b1d29ee38ac53e523914873e1235f8083c2038a b284d3151ee786de79 DL ‍ PikeOS 4.2.4 ARM v7 3 SW PikeOS 4.2.4 build S6120 for ARM v7 architecture R4p2_PIKEOS_MT_CMB_ARM_V7HF_S6120.iso SHA256: a546caeb466fbdfc16ac4786b3702123d2cee488a647c73 6427b29d89ef9c469 DL 4 SW PikeOS 4.2.4 certification documentation for ARM v7 R4p2_PIKEOS_DK_CMB_ARM_V7HF_CERTKIT_S6120 .iso SHA256: 4b80cb518667c141b9c8a1ed06848f36699deaefff4c188f5 516159b378e08bf DL ‍ PikeOS 4.2.4 ARM v8 ‍ 5 SW PikeOS 4.2.4 build S6120 for ARM v8 architecture R4p2_PIKEOS_MT_CMB_ARM_V8HF_S6120.iso SHA256: 5bda7fefd61a851b5082cec84bf2415502ea91be9c46d23 630859b134581526a DL ‍ 6 SW PikeOS 4.2.4 certification documentation for ARM v8 R4p2_PIKEOS_DK_CMB_ARM_V8HF_CERTKIT_S6120 .iso SHA256: edb61c9ca0e92580c6147e54585493a6b49df3939a5deac 36ab4e0b23ecbaa8a DL ‍ TOE guidance documents ‍ 1 DOC PikeOS Safety and Security Manual 20.22 from ISO ‍ 2 DOC PikeOS Safety and Security Manual (x86 AMD64 Supplement) 20.19 from ISO ‍ 3 DOC PikeOS Safety and Security Manual (ARM7 Supplement) 20.20 from ISO ‍ 4 DOC PikeOS Safety and Security Manual (ARM8 Supplement) 20.21 from ISO ‍ 5 DOC PikeOS Platform Manual for x86-amd64 Boards 4.2-251 from ISO 13 / 28 Certification Report BSI-DSZ-CC-1041-V2-2022 No Type Identifier Release Form of Delivery ‍ 6 DOC PikeOS Platform Manual for ARM v7 Boards 4.2-207 from ISO ‍ 7 DOC PikeOS Platform Manual for ARM v8-A 64-bit Boards 4.2-207 from ISO ‍ 8 DOC User Manual PikeOS Certification Kit (X86_AMD64) 20.11 from ISO ‍ 9 DOC User Manual PikeOS Certification Kit (ARM_V7HF) 20.11 from ISO ‍ 10 DOC User Manual PikeOS Certification Kit (ARM_V8HF) 20.11 from ISO ‍ 11 DOC PikeOS 4.2 Installation Guide 4.2.4 from ISO ‍ 12 DOC PikeOS User Manual 4.2-347 from ISO ‍ 13 DOC PikeOS Kernel Reference Manual 4.2-114 from ISO ‍ 14 DOC PikeOS System Software Reference Manual 4.2-135 from ISO ‍ 15 DOC PikeOS PSP Developer’s Guide 4.2-123 from ISO ‍ 16 DOC PikeOS Device Driver Programming Reference Manual 4.2-156 from ISO ‍ 17 DOC P4EXT PikeOS Native Personality Extensions 4.2-46 from ISO ‍ 18 DOC CENV C Language Programming Environment 4.2-26 from ISO Table 2: Deliverables of the TOE 2.1. Overview of Delivery Procedure The typical life cycle phases for this TOE type are development (source code development), manufacturing (compilation to binary) and delivery to the integrator. The integrator executes the system integration phase, which results in a product based on the TOE. The TOE is delivered to the integrator (human TOE user) by means of the ISO-images specified in Table 2 above and in the ST. These images are made available for download from an FTP-server (indicated by "DL" in the above table). The integrator receives the corresponding download links as part of a delivery mail sent by the developer. Guidance documents are contained in the ISO-images. The PikeOS 4.2 Installation Guide is additionally available for download and contains the instructions to extract the ISO-images. 14 / 28 BSI-DSZ-CC-1041-V2-2022 Certification Report 2.2. Identification of the TOE by the User The integrator (human TOE user) identifies the TOE by inspecting the file names of the downloaded ISO-images and comparing the sha256 hash of each of these with the ones quoted in the corresponding signed sha256-files. The integrity of latter files is verified with the help of GPG. This process is described in the PikeOS 4.2.4 delivery mail. The TOE is only one element of the product PikeOS delivered by means of the ISO-images and needs to be combined with other components by the integrator in order to execute it on the target platform. The required steps are described in the PikeOS User Manual and details thereof in further documents listed above. 3. Security Policy The Security Policy is expressed by the set of Security Functional Requirements and implemented by the TOE. The TOE implements policies pertaining to the security functional classes User Data Protection and Security Management. They are named in the instantiated SFRs, according to the protected resources, as follows: ● memory access control policy ● file access control policy ● communication port access control policy ● interrupt access control policy ● PSP-specific services access control policy ● CPU core access policy ● IPC and event communication policy Specific details can be found in section 7 of the Security Target [6]. The detailed implementation of the specified security policy is defined by the integrator who performs the static configuration of the TOE and referred to as the System Security Policy (SSP), see also chapter 10 for further integrator aspects. 4. Assumptions and Clarification of Scope The Assumptions defined in the Security Target and some aspects of Threats and Organisational Security Policies are not covered by the TOE itself. These aspects lead to specific security objectives to be fulfilled by the TOE-Environment. The following topics are of relevance: OE.PRIVILEGED_EXECUTABLES: All privileged executables are approved by the integrator. The integrator thereby takes responsibility that the privileged executables have been developed according to the TOE User Manuals and do not violate the SSP. OE.HARDWARE: The underlying hardware, firmware and bootloader needed by PikeOS to guarantee secure operation provide the necessary properties, are working correctly and have no undocumented security critical side effect on the functions of the TOE. The hardware must fulfil the following requirements, as explained in the TOE User Manuals (see table 2): 1. Provide CPU(s) with at least two privilege modes (“user” and “supervisor” mode). Only the PikeOS separation kernel itself and privileged executables may run in the 15 / 28 Certification Report BSI-DSZ-CC-1041-V2-2022 “supervisor” mode. Non-privileged executables always run in “user mode”. In “user mode”, only a limited set of instructions is available; in “supervisor mode”, all instructions are available. The hardware shall have a MMU, which is capable of restricting accesses (e.g. destinations of load and store CPU instructions) of non- privileged executables to certain memory regions. The MMU shall only be configurable from a privileged CPU mode, thus, it can only be configurable through the TOE to configure the policies specifying these access restrictions. These policies are part of the SSP. During TOE run time, these policies are represented as page tables used by the MMU. 2. The hardware (CPU or CPUs) shall provide instructions to switch between privilege modes and to use the memory management to set up different segments of memory. 3. The hardware (CPU or CPUs) shall allow the TOE to reuse CPU(s) for different non-privileged executables, in a way that there is no residual information flow through CPU registers across a partition boundary. 4. The hardware shall provide default values for security-relevant settings at power-on (e.g. program counter, detailed instructions shall be included in the hardware reference manual).This supports the TOE reaching the initial safe and secure state. 5. If the hardware possesses any other active components beside CPUs or CPUs have operating mode(s) not under control of PikeOS, then the hardware shall provide support either to turn these components completely off or to control them as described in the TOE User Manuals. For example, if a device accessible by non- privileged executables can execute DMA, then all DMA shall be switched off or, in order to control DMA, the hardware shall provide an I/O MMU, with an I/O MMU driver protected by PikeOS. Specific requirements to the x86 64-bit architecture are: ● The processors are operated in 64-bit mode. ● AMD64 instruction set architecture. ● Non-Execute bit (NX bit) support enabled in the BIOS. Specific requirements to the ARMv7 architecture are: ● The CPU cores on which PikeOS is running are of the type Cortex-A7, Cortex-A9 or Cortex- A15. ● The processors are operated in 32-bit mode. ● Memory Management Unit (MMU) with Virtual Memory System Architecture. ● Vector Floating Point (VFP) / Advanced SIMD (Neon) extension. Specific requirements to the ARMv8 architecture are: ● The CPU cores on which PikeOS is running are of the type Cortex-A35, Cortex-A53, Cortex- A57 or Cortex-A72. ● The processors are operated in 64-bit mode. ● Memory Management Unit (MMU) with Virtual Memory System Architecture. ● Vector Floating Point (VFP) / Advanced SIMD (Neon) extension. 16 / 28 BSI-DSZ-CC-1041-V2-2022 Certification Report The timer facilities provided by the hardware shall be sufficient for the timing requirements (e.g., timer resolution) of the product based on PikeOS. The CPU-specific requirements are met by all x86 64-bit, ARMv7, or ARMv8 CPUs specified in the TOE User Manuals for the selected CPU architecture. OE.EXCLUSIVE_RESOURCES: All resources required by PikeOS, its privileged executables, and its non-privileged executables are exclusively controlled by the TOE. OE.PHYSICAL: The IT environment provides the TOE with appropriate physical security, commensurate with the value of the IT assets protected by the TOE. OE.TRUSTWORTHY_PERSONNEL: The personnel configuring and integrating the TOE (integrator) and those installing and operating the TOE (system operator) are trustworthy, act according to the TOE User Manuals, and are sufficiently qualified for this task. Details can be found in the Security Target [6], chapter 4.4. 5. Architectural Information The elements that form the TSF for this evaluation are the PikeOS System Software (PSSW) (without any System Extension) and the PikeOS Microkernel (including the PikeOS ASP, but excluding the PikeOS PSP and any Kernel Level Device Driver), see Security Target [6], Figure 1. These two layers live on top of a hardware platform featuring one of the three supported CPU architectures (x86 64-bit, ARMv7 or ARMv8). On top of the PSSW sit a configurable number of partitions that can contain different types of applications (including adapted versions of whole operating systems). The TOE itself has a limited set of features, compared to what would be expected from a general-purpose operating system, but ensures that the applications in different partitions cannot interfere in unwanted ways, within the description provided by the Security Target [6]. The TOE is a microkernel-based operating system and, therefore, exposes a security architecture that – at a generic level – is quite similar to the one that almost every operating system has. The specifics of the TOE are the limited complexity of the kernel (i.e. the parts of the TOE that execute with the highest privileges) and the real-time capabilities. Also, specific is the aspect that the TOE itself does not have the abstraction of a "human user" directly interacting with the TOE. Another specific of the TOE is the static nature of the applications running on an instance of the TOE. Those are defined when a product based on the TOE is built by the system integrator. This reflects the main usage area of the TOE as an operating system for embedded systems. The TOE is designed as a separation kernel that separates individual "partitions" from each other. A static number of partitions is defined when the TOE instance is built. Partitions may communicate with each other using communication ports provided by the TOE. Such communication capabilities between partitions are defined at integration time by the configuration. The PikeOS microkernel (also kernel or KERN subsystem) takes many of the responsibilities kernels have in other operating systems, including hardware abstraction, the management of threads and tasks or exception handling. With respect to the security features of the TOE, it is in charge of performing the partitioning of resources (memory and time). The KERN subsystem runs with the highest privileges. 17 / 28 Certification Report BSI-DSZ-CC-1041-V2-2022 The PSSW resides in user space. It takes care of the partitioning and inter-partition communication according to the configuration. After initialization, it acts as a server providing services to applications inside the various partitions. The PSSW can also be viewed as a partition with the full set of abilities. This important property distinguishes it from normal partitions whose separation PikeOS guarantees. To define the precise behavior of the TOE (including its detailed SFPs), its integrator needs to make a number of configuration choices. Most importantly, PikeOS has some elements that are statically defined in a table called the "Virtual Machine Initialization Table" (VMIT). Among those are: Resource Partitions: A Resource Partition defines a sort of "container" for applications to run in. It consists of memory, I/O resources, predefined processes, file services, and communication ports assigned to each partition. It also gets a set of "abilities" (privileges to call specific system services) assigned. Process or Task: A task or process is represented by an address space within a resource partition. The task is the abstraction that the kernel knows while the PSSW adds some semantics to a task, which makes it a "process" for the PSSW. Tasks build a hierarchy within a resource partition. A child task can inherit the abilities of its parent task, but the parent task can also decide to restrict the abilities of a child further when it creates the child. A resource partition always has one or more "root" tasks which are the processes configured for this resource partition. These tasks inherit all the abilities that are assigned to its resource partition. Thread: Threads are the active entities within a task. A thread inherits the security attributes of its task, including the abilities assigned to the task the thread belongs to. Abilities: Abilities are specific privileges that can be assigned to a resource partition. The abilities determine which "privileged" system calls can be invoked. As described above, tasks within a resource partition may have less abilities than are assigned to the partition they belong to, but they can never have more abilities than are assigned to the partition itself. 6. Documentation The evaluated documentation as outlined in table 2 is being provided with the product to the customer. This documentation contains the required information for secure usage of the TOE in accordance with the Security Target. Additional obligations and notes for secure usage of the TOE as outlined in chapter 10 of this report have to be followed. 18 / 28 BSI-DSZ-CC-1041-V2-2022 Certification Report 7. IT Product Testing 7.1. Test Configuration The test setup differed between the ITSEF and the developer site with respect to the deployment of the integrated TOE to the target platform. While the ITSEF executed the tests on a single target platform, the developer maintains a sophisticated test setup to execute all tests on a larger variety of systems in a fully automated fashion. However, the developer and evaluator testing were based on the same test framework. Details of both approaches, and the penetration testing, are described in dedicated sub-sections below. At the end of each, these contain a short summary of the test results. 7.2. Developer Testing Testing Effort The developer uses an automated test framework to cover most of the functionality. The executed test suites contain around 700 tests depending on the tested architecture. Test Approach Most of the tests are executed automatically. The testing involves the compilation of the test code and the TOE on a developer system and uploading it to the target test system. The developer uses an intermediary between the developer system and the TOE, which receives the test request, determines which of the attached test targets (i.e. platform) it is aimed for, restarts that test target and provides the TOE instance (and the including test application) as network-bootable image. Finally, it returns the test results to the developer system. Some tests require a manual check of the tester. This check is integrated into the test run such that it waits for a developer response on a specific item, and depending on the answer, it marks the test as "pass" or "fail", and integrates it into the test result log together with all other tests. The testing is done very systematic. For this, the developer uses a document system that allows specifying high-level requirements with unique identifiers, which are that referred to in test cases. In that way, also for very detailed behaviour requirements, it is always clear whether and where it has been tested. Test Depth The developer tests are very detailed in testing of the interface function behaviours. Usually, all possible error codes of a function are covered. These return codes are used in test code as expected results following the tested functionality. The test framework uses various supportive libraries in the test framework to facility tests that would otherwise be awkward if only external interfaces would be used. Examples are: ● addromfp: adds a ROM image or other files to the final installation image ● psplib: PSP level device to be able to trigger interrupts that would not be triggerable through normal external interfaces In addition, the developer created a special test setup and tools for showing interaction between subsystems. This test allowed to trace the IPC communication between the subsystems when a user partition sends a request to the PSSW. Configuration 19 / 28 Certification Report BSI-DSZ-CC-1041-V2-2022 The TOE was tested based on the S6120 ISO and the related kernel build 4.2-1857 for these architectures: ● ARMv7 (board: SABRE Lite) ● ARMv8 (board: LS1043A RDB Board) ● x86-amd64 (board: x86-64) Test results The tests result summary shows a failure percentage of 0% (on all tested platforms) for the test suite directly related to the SFRs by the developer and 0.1% for a second test suite to cover other requirements. The evaluator verified that the failed tests were not security relevant and had no impact for the evaluated functionality. Therefore, all relevant tests were successful. 7.3. Evaluator Testing Effort Essential testing activities have been repeated for the purpose of the re-certification of PikeOS 4.2.4 to determine that the ATE analysis performed for the previously certified TOE still applies. This included the repetition of developer tests and independent tests designed by the evaluator. Testing Effort Throughout October 2021, the evaluator executed the tests on the final TOE version using a developer-provided test target in the ITSEF lab. Using the developer test suite he repeated a subset of developer tests. Since the developer testing continued to evolve, additional tests appeared in the test suite. Some of these were selected for the test repetition to assess the current state of the developer efforts. In addition, the evaluator devised and conducted seven additional independent tests. Test Approach In combination, the testing did cover all types of interfaces with the main focus lying on the interfaces at the attack surface: Kernel Service Interface and PikeOS System Software Service interface. The additional evaluator tests were designed to extend the developer tests for a few specific functions and untested wrapper calls. They related to memory access control, invalid file/volume initialization, VMIT configuration errors, and IPC restrictions. Test Depth The evaluator tested the externally accessible interfaces. Based on how the TOE is designed, this approach also directly tests all subsystems. Test Configuration The test setup was based on the image R4p2_PIKEOS_MT_CMB_X86_S6120.iso and was executed on an Intel x86-64 platform. The target system was connected to the development system via network for TFTP boot, and via serial line to receive the test output. The evaluator was provided with the test framework of the developer, which allowed the automation of nearly all test phases, including test and TOE instance compilation, linking, upload to the target system, execution, and result observation. Test results All tests passed and did not indicate a violation of the TOE security functions. 20 / 28 BSI-DSZ-CC-1041-V2-2022 Certification Report 7.4. Evaluator Penetration Testing Overview The penetration testing was partially performed using the developer’s testing environment, partially using the test environment of the ITSEF. All TOE platforms covered by the current evaluation were tested. The overall test result is that no deviations were found between the expected and the actual test results. Moreover, no attack scenario with the attack potential Enhanced-basic was actually successful. Testing effort The evaluator devised five penetration tests that require execution on the actual hardware. The developer, provided support in porting some tests to ARM platforms and/or executing these. Two further planned penetration tests turned out to be inapplicable or covered by developer testing during realization. Finally, two flaw hypotheses were analysed by means of source code analysis. Penetration testing approach The designed penetration tests use only external interfaces of the TOE, which was sufficient to verify the flaw hypotheses defined during the vulnerability analysis. The penetration testing leveraged the use of the developer's test framework, which was also used for the ATE_IND testing. The penetration tests, except for one, are not platform-specific. Therefore, the evaluator only used one test architecture setup (x86_64) at the ITSEF, while relying on the developer to execute the tests on the ARM platforms. The evaluator provided the devised test code to the developer who returned the execution logs for the ARM platforms. The tests performed by alternative means of source code analysis were based on the implementation representation provided by the developer. ADV_IMP work units are not formally applicable requirements at the present EAL3+. However, the developer provided the TOE source code for both TOE subsystems and the form in which it has been received allowed the conclusion that it corresponds to the TOE and that it completely represents the TSF. Relevant TOE portions outside of the TSF were also represented in the implementation. Test configurations All penetration tests were executed on the current TOE. Some were executed on all three variants for the different platforms: x86_64, ARMv7, and ARMv8. The test equipment for x86_64 resided within the ITSEF lab, while the ARM7 and ARM8 test setup resided at the developer site. Note that, apart from the TOE version and supported platforms, no further restrictions or configurations were defined for the evaluated configuration that would have to be applied to the test setup. Testing depth The tests covered both TOE subsystems. Some tests did not use the interfaces exposed by the wrapper libraries, but accessed the TSFI directly to have greater control over the interface parameters. One such case was the PSSW daemon fuzzing, where IPC communication messages were crafted by hand 21 / 28 Certification Report BSI-DSZ-CC-1041-V2-2022 (which would otherwise be constructed by the VM API library when calling a certain VM function) and were then send to the PSSW daemon via IPC messages. The other case was the test of the system call number checks, where the system calls were not executing using the kernel P4 API, but executing the system call assembler instruction provided by the respective TOE platform. Test results The PSSW fuzzing revealed that an attacker could crash his own partition (on x86_64 and ARM). But it also showed that this crash had no impact on the TOE itself, nor on any other partition running within the TOE. In summary, the tests did not show any deviation from the expected behaviour that would violate the security policies of the TOE. Verdict for the sub-activity The overall test result is that no deviations were found between the expected and the actual test results. No attack scenario with the attack potential Enhanced-basic was actually successful in the TOE’s operational environment as defined in [6] provided that all measures required by the developer are applied. 8. Evaluated Configuration This certification covers the following configurations of the TOE: The evaluated configuration of the TOE is obtained by installing the Certification Kit ISO-images that are part of the TOE delivery (see table 2 for details) on the development host and configuring and integrating the TOE according to the TOE guidance. The TOE in the evaluated configuration provides the following security features (See the Security Target [6] for all details): ● TSS_SSA: Separation in space of applications hosted in different partitions from each other and from the PikeOS Operating System according to the SSP by using the underlying hardware. [...] ● TSS_STA: Separation in time of applications hosted in different partitions from each other and from the PikeOS Operating System according to the SSP. [...] ● TSS_COM: Provision and management of communication objects. [...] ● TSS_MAN: Management of the TOE (e.g. system partition API) and the TOE data (e.g. threads, tasks). [...] The TOE guidance, foremost the Security Manuals, describes limitations within which these features have been evaluated. In particular, the evaluation results apply only for hardware platforms based on a subset of the x86 64-bit, ARMv7 and ARMv8 architectures (with more details provided in the Security Target [6]. 9. Results of the Evaluation 9.1. CC specific results The Evaluation Technical Report (ETR) [7] was provided by the ITSEF according to the Common Criteria [1], the Methodology [2], the requirements of the Scheme [3] and all interpretations and guidelines of the Scheme (AIS) [4] as relevant for the TOE. 22 / 28 BSI-DSZ-CC-1041-V2-2022 Certification Report The Evaluation Methodology CEM [2] was used. As a result of the evaluation the verdict PASS is confirmed for the following assurance components: ● All components of the EAL 3 package including the class ASE as defined in the CC (see also part C of this report) ● The components ALC_FLR.3 augmented for this TOE evaluation. As the evaluation work performed for this certification procedure was carried out as a re- evaluation based on the certificate BSI-DSZ-CC-1041-2018, re-use of specific evaluation tasks was possible. The focus of this re-evaluation was on: ● Coverage of ALC related changes including an additional developer site. ● Update of the ATE evaluation to a modified test framework and additional developer tests. ● Updates of ADV and AGD evidence such as the functional specification (ADV_FSP). ● Mitigation of hardware side channels such as Meltdown/Spectre-type vulnerabilities. The evaluation has confirmed: ● for the Functionality: Product specific Security Target Common Criteria Part 2 conformant ● for the Assurance: Common Criteria Part 3 conformant EAL 3 augmented by ALC_FLR.3 The results of the evaluation are only applicable to the TOE as defined in chapter 2 and the configuration as outlined in chapter 8 above. 9.2. Results of cryptographic assessment The TOE does not include cryptographic mechanisms. Thus, no such mechanisms were part of the assessment. 10. Obligations and Notes for the Usage of the TOE The documents as outlined in table 2 contain necessary information about the usage of the TOE and all security hints therein have to be considered. In addition all aspects of Assumptions, Threats and OSPs as outlined in the Security Target not covered by the TOE itself need to be fulfilled by the operational environment of the TOE. The customer or user of the product shall consider the results of the certification within his system risk management process. In order for the evolution of attack methods and techniques to be covered, he should define the period of time until a re-assessment of the TOE is required and thus requested from the sponsor of the certificate. The limited validity for the usage of cryptographic algorithms as outlined in chapter 9 has to be considered by the user and his system risk management process, too. If available, certified updates of the TOE should be used. If non-certified updates or patches are available the user of the TOE should request the sponsor to provide a re- certification. In the meantime a risk management process of the system using the TOE should investigate and decide on the usage of not yet certified updates and patches or take additional measures in order to maintain system security. 23 / 28 Certification Report BSI-DSZ-CC-1041-V2-2022 In addition, the following aspects need to be fulfilled when using the TOE: The TOE needs to be combined with other components (such as a platform support package PSP) and, usually, one or more applications to create an image which can be booted on the target device. This combination is performed by “integrators” as described in the ST [6], see especially chapter 2.4.4.2 “System Integration”. They are the target audience of guidance documents including the security manuals, see table 2. The evaluation assumes that they are sufficiently trained to understand the security implementation of configuration choices made during the integration process. 11. Security Target For the purpose of publishing, the Security Target [6] of the Target of Evaluation (TOE) is provided within a separate document as Annex A of this report. 12. Regulation specific aspects (eIDAS, QES) None 13. Definitions Please refer to ST [6] chapter 1.3. for TOE-specific abbreviations and acronyms and chapter 1.4. for TOE-specific terms and definitions. 13.1. Acronyms AIS Application Notes and Interpretations of the Scheme BSI Bundesamt für Sicherheit in der Informationstechnik / Federal Office for Information Security, Bonn, Germany BSIG BSI-Gesetz / Act on the Federal Office for Information Security CCRA Common Criteria Recognition Arrangement CC Common Criteria for IT Security Evaluation CEM Common Methodology for Information Technology Security Evaluation cPP Collaborative Protection Profile EAL Evaluation Assurance Level ETR Evaluation Technical Report IT Information Technology ITSEF Information Technology Security Evaluation Facility PP Protection Profile PSP Platform Support Package SAR Security Assurance Requirement SFP Security Function Policy SFR Security Functional Requirement SSP System Security Policy 24 / 28 BSI-DSZ-CC-1041-V2-2022 Certification Report ST Security Target TOE Target of Evaluation TSF TOE Security Functionality TSS TOE Security Service 13.2. Glossary Augmentation - The addition of one or more requirement(s) to a package. Collaborative Protection Profile - A Protection Profile collaboratively developed by an International Technical Community endorsed by the Management Committee. Extension - The addition to an ST or PP of functional requirements not contained in CC part 2 and/or assurance requirements not contained in CC part 3. Formal - Expressed in a restricted syntax language with defined semantics based on well- established mathematical concepts. Informal - Expressed in natural language. Object - A passive entity in the TOE, that contains or receives information, and upon which subjects perform operations. Package - named set of either security functional or security assurance requirements Protection Profile - A formal document defined in CC, expressing an implementation independent set of security requirements for a category of IT Products that meet specific consumer needs. Security Target - An implementation-dependent statement of security needs for a specific identified TOE. Semiformal - Expressed in a restricted syntax language with defined semantics. Subject - An active entity in the TOE that performs operations on objects. Target of Evaluation - An IT Product and its associated administrator and user guidance documentation that is the subject of an Evaluation. TOE Security Functionality - Combined functionality of all hardware, software, and firmware of a TOE that must be relied upon for the correct enforcement of the SFRs. 14. Bibliography [1] Common Criteria for Information Technology Security Evaluation, Version 3.1, Part 1: Introduction and general model, Revision 5, April 2017 Part 2: Security functional components, Revision 5, April 2017 Part 3: Security assurance components, Revision 5, April 2017 https://www.commoncriteriaportal.org [2] Common Methodology for Information Technology Security Evaluation (CEM), Evaluation Methodology, Version 3.1, Rev. 5, April 2017, https://www.commoncriteriaportal.org [3] BSI certification: Scheme documentation describing the certification process (CC- Produkte) and Scheme documentation on requirements for the Evaluation Facility, approval and licencing (CC-Stellen), https://www.bsi.bund.de/zertifizierung 25 / 28 Certification Report BSI-DSZ-CC-1041-V2-2022 [4] Application Notes and Interpretations of the Scheme (AIS) as relevant for the TOE8 https://www.bsi.bund.de/AIS [5] German IT Security Certificates (BSI 7148), periodically updated list published also on the BSI Website, https://www.bsi.bund.de/zertifizierungsreporte [6] Security Target BSI-DSZ-CC-1041-V2-2022, Version 20.12, 26.01.2022, Security Target PikeOS Separation Kernel v4.2.4, SYSGO GmbH [7] Evaluation Technical Report, Version 4, 17.02.2022, Final Evaluation Technical Report, atsec information security GmbH, (confidential document) [8] Configuration list for the TOE, 25.01.2022, Master Document List, 16162-9101- MDL.xlsx (confidential document) [9] Guidance documentation for the TOE, see table 2 in chapter 2 8 specifically • AIS 32, Version 7, CC-Interpretationen im deutschen Zertifizierungsschema • AIS 38, Version 2, Reuse of evaluation results 26 / 28 BSI-DSZ-CC-1041-V2-2022 Certification Report C. Excerpts from the Criteria For the meaning of the assurance components and levels the following references to the Common Criteria can be followed: • On conformance claim definitions and descriptions refer to CC part 1 chapter 10.5 • On the concept of assurance classes, families and components refer to CC Part 3 chapter 7.1 • On the concept and definition of pre-defined assurance packages (EAL) refer to CC Part 3 chapters 7.2 and 8 • On the assurance class ASE for Security Target evaluation refer to CC Part 3 chapter 12 • On the detailed definitions of the assurance components for the TOE evaluation refer to CC Part 3 chapters 13 to 17 • The table in CC part 3 , Annex E summarizes the relationship between the evaluation assurance levels (EAL) and the assurance classes, families and components. The CC are published at https://www.commoncriteriaportal.org/cc/ 27 / 28 Certification Report BSI-DSZ-CC-1041-V2-2022 D. Annexes List of annexes of this certification report Annex A: Security Target provided within a separate document. Note: End of report 28 / 28