Roadmap¶
This roadmap lists CLIP OS features planned for integration into each release.
Work in progress
This roadmap is still a work in progress and will evolve with the project as features are added.
5.0 Alpha: Initial open source preview release¶
Status
Released on 2018-09-20.
Features¶
Security aware system architecture and partition layout¶
- Root partition mounted read-only
- Restricted set of state partitions bind-mounted at pre-determined emplacements (listed in the read-only root partition)
Initial boot chain integrity with UEFI Secure Boot support and DM-Verity¶
- Signed EFI bootloader
- Signed EFI binaries (includes Linux kernel, initramfs and kernel command line)
- Root partition integrity enforced by DM-Verity
Development model and secure by default software compilation¶
- Everything is rebuilt from source (excepted proprietary firmware required for hardware support)
- Gentoo Hardened based binary executable compilation
- Most of Portage compilation security features are enabled
Linux kernel¶
- Latest stable kernel:
- is properly configured,
- and includes additional security features imported from public patches.
Hardware support¶
- QEMU/KVM with virtio devices on Linux
- Boot with Secure Boot enabled UEFI firmware
5.0 Beta: Main security & service enabling release¶
Status
Released on 2019-12-10. See the 5.0 Beta milestone.
Features¶
Robust update system¶
- Atomic system update using A/B partitions (similar to Android or ChromeOS)
- Fallback system version available in case of unexpected failure or bug
- Support for Core system updates
System partition integrity and confidentiality¶
- LUKS2/DM-Crypt/DM-Integrity support
- Mandatory system read/write partition encryption (journal logs, configuration, etc.)
- TPM-backed secret sealing and unsealing for unattended system partition decryption
Confined system services¶
- Confinement using Linux security features supported in systemd:
- namespaces
- cgroups
- seccomp-bpf
- capability bounding set
- etc.
Services available¶
- IPsec client
- Update daemon
- SSH daemon
Firewall rules¶
- Static firewall rules for system services with IPsec awareness
Confined (non-root) administration roles¶
- Admin role: can edit some files in the state configuration folder
- Audit role: can read all system logs
- Administration roles are accessible through the IPsec tunnel, over SSH with key-based authentication only
Linux kernel¶
- Latest stable kernel:
- Inclusion of additional security features, some expected to be merged upstream
Hardware support¶
- Initial laptop, desktop and server platforms support
5.0: First stable release with multi-level support¶
Status
In progress. See the 5.0 Stable milestone.
Features¶
User data integrity and confidentiality¶
- Fixed size LUKS2/DM-Crypt/DM-Integrity based user partition support
- Encryption based on user-only known secret
- User credentials managed independently from system roles credentials
- User credentials supported:
- Password
- Smartcard
- Smartcard daemon isolation using Caml Crush
Multi-level environment support¶
- Multiple isolated environment available with different security settings:
- Environments confined using a kernel LSM inspired from Vserver
- Controlled communication between environments (UNIX sockets or encrypted connections)
- Host and inter-levels interaction enabled through trusted services on the
host:
- File transfer, encryption and decryption using diodes
- Intra-level application isolation using Flatpak
Multi-level aware device assignment¶
- Printers, scanners
- USB flash drives
- Smartcards
- Webcam
- Sound cards
- Microphone
Virtualized environments support¶
- Linux only
- virtio-based peripherals only
- UEFI Secure Boot optional
Firewall rules¶
- Dynamic firewall rules for user environments
Update system¶
- Support for user environment updates
Trusted graphical environment¶
- Wayland-based system compositor and lock screen
- Permanently displayed and trusted panel for interaction with system services and configuration
Arbitrary code execution restrictions in user environments¶
- Applied to interpreters (e.g. Bash, Python, Perl):
O_MAYEXEC
Linux kernel¶
- Additional kernel version supported: latest LTS kernel:
- Supported until the next upstream LTS kernel release
Hardware support¶
- List of validated laptop, desktop and server platforms supported
- Generic laptop, desktop and server platforms support
Automatic installation¶
- Automatic installer (PXE) with secret provisioning
- Support for install time escrow keys setup for administrator enabled recovery
Milestone features whose integration planning are yet to be determined¶
Status
Not started yet.
- Optional system read-only partition (Core) encryption
- Administration roles accessible locally on a console, using a password
- Split credential management for password-based authentication (
pam-tcb
) - Remote integrity and version attestation using TPM-backed signatures
- Port remaining security features from CLIP OS version 4:
- Ignored SUID binaries
- System entropy and RNG improvements: timer_entropyd, kernel patch
- Remaining kernel features from CLIP LSM patches:
- Veriexec: additional integrity measurements and capability granting tool
- Mandatory Access Control support:
- SELinux
- Reproducible builds
- Additional user credential support:
- U2F-based user session unlocking
- Append-only log storage and automatic log rotation support