Security Architecture

How NubiferOS protects your cloud credentials with defense-in-depth

NubiferOS is built with security as the foundation, not an afterthought. We publish our threat model so you can verify our claims and make informed decisions.

Why Security Matters

Cloud credentials are the keys to your infrastructure. A leaked AWS access key can result in:

  • Unauthorized resource creation (cryptomining)
  • Data exfiltration
  • Infrastructure destruction
  • Massive cloud bills

NubiferOS protects against these threats with multiple security layers.

Security Components

These are always installed and cannot be disabled:

ComponentPurposeWhy Required
LUKSFull disk encryptionProtects data if device is stolen
WaylandDisplay serverPrevents keylogging between apps
GPG + passCredential encryptionEncrypts credentials at rest
FirejailWorkspace sandboxingIsolates credentials per workspace
AppArmorAccess controlLimits application permissions
UFWFirewallBlocks unauthorized network access
fail2banIntrusion preventionBlocks brute force attacks
auditdAudit loggingLogs security events

Security Dashboard

Monitor your security posture:

┌─────────────────────────────────────────────────────┐
│              Security Score: 85                     │
│         ████████████████████░░░░░░░░░░░░░           │
└─────────────────────────────────────────────────────┘

┌──────────────────────┐  ┌──────────────────────┐
│  CPU Security        │  │  Network Exposure    │
│  ⚠️  Partial         │  │  ✅ Secure           │
│                      │  │                      │
│  • Spectre v2: ✅    │  │  Firewall: Active    │
│  • RETBleed: ⚠️      │  │  Open Ports: 0       │
│  • Meltdown: ✅      │  │  SSH: Disabled       │
└──────────────────────┘  └──────────────────────┘

What the Dashboard Monitors

CheckWhat It Verifies
CPU MitigationsSpectre, Meltdown, RETBleed protection status
Disk EncryptionLUKS enabled and properly configured
Network SecurityFirewall active, default-deny policy
System HardeningAppArmor profiles loaded, kernel hardened
Credential StatusVault locked/unlocked, credential count

Security Layers

NubiferOS implements defense-in-depth with 8 security layers:

LayerTechnologyWhat It Protects
1. Disk EncryptionLUKS (AES-256-XTS)Data at rest, physical theft
2. CPU MitigationsKernel parametersSpectre, Meltdown, MDS
3. Kernel Hardeningsysctl, UFW, fail2banNetwork attacks, brute force
4. Access ControlAppArmorPrivilege escalation
5. Desktop IsolationWaylandKeylogging, screen capture
6. Credential EncryptionGPG + passCredential theft
7. App SandboxingFirejailCross-workspace leakage
8. User EducationDocumentationSocial engineering

Credential Encryption

Your credentials are protected by three encryption layers:

┌─────────────────────────────────────────────────────────┐
│  Layer 1: LUKS Disk Encryption (AES-256)               │
│  └── Layer 2: GPG Encryption (via pass)                │
│      └── Layer 3: GNOME Keyring (runtime)              │
│          └── Your cloud credentials                    │
└─────────────────────────────────────────────────────────┘

What this means: If someone steals your laptop, they'd need your disk passphrase, your GPG key, AND your keyring password to access your credentials.

No Plaintext Credentials

Unlike traditional setups, NubiferOS never stores credentials in plaintext:

Traditional SetupNubiferOS
~/.aws/credentials with plaintext keysFile doesn't exist
Any process can read credentialsCredentials in GPG-encrypted pass store
cat ~/.aws/credentials exposes allpass show requires GPG unlock

CLI Wrappers

When you run aws s3 ls, the CLI wrapper:

  1. Detects your active workspace
  2. Fetches credentials from pass (GPG-encrypted)
  3. Injects them directly into the CLI process
  4. Logs the access for audit

Credentials are never exposed in environment variables or written to disk in plaintext.

Wayland Security

FeatureX11 (Old)Wayland (NubiferOS)
KeyloggingAny app can read all keystrokesApps isolated from each other
Screen captureAny app can capture any screenRequires explicit permission
Window injectionPossibleBlocked
Credential theftEasy via display serverProtected by isolation

What this means: Malicious apps can't spy on your keyboard input or capture screenshots of your cloud console.

Firejail Isolation

Each workspace runs in isolated Linux namespaces:

NamespaceWhat It IsolatesSecurity Benefit
MountFilesystem viewEach workspace sees only its credentials
PIDProcess IDsCan't see/signal other workspace processes
IPCShared memoryNo shared memory attacks
UTSHostnamePer-workspace hostname

What this means: Credentials from Workspace A are invisible to Workspace B, even if both are running simultaneously.

Read-Only Mode

Lock workspaces to prevent destructive operations:

ModeIndicatorBehavior
Read-Only🔒 RO (green)Destructive commands blocked
Read-Write🔓 RW (red)All commands allowed
# Lock workspace (no sudo needed)
nubifer-workspace ro

# Unlock workspace (requires sudo)
sudo nubifer-workspace rw

# Timed unlock (auto-reverts)
sudo nubifer-workspace rw -d 15  # 15 minutes

Battle-Tested Tools

We use proven tools instead of custom implementations:

ToolPurposeIn Use Since
GPGCredential encryption1999 (25+ years)
passPassword management2012
FirejailApplication sandboxing2014
AppArmorMandatory access control2007
WaylandDisplay isolation2012
LUKSDisk encryption2004

What We Protect

ThreatProtectionStatus
Credential theft from diskLUKS + GPG encryption✅ Protected
Cross-account credential accessFirejail namespace isolation✅ Protected
Accidental destructive operationsRead-only mode✅ Protected
Keylogging between applicationsWayland isolation✅ Protected
Supply chain attacksSBOM + GPG signing✅ Protected
Physical device theftLUKS full disk encryption✅ Protected

Partial Mitigations

ThreatOur MitigationLimitation
CPU side-channel attacksKernel mitigations enabled by defaultSoftware can reduce but not eliminate hardware flaws
Cold boot attacksLUKS encryption, kernel memory restrictionsKeys must reside in RAM while system runs
Application-level exploitsAppArmor, Firejail sandboxing, Wayland isolationCan't patch third-party vulnerabilities
Network-based attacksUFW firewall, fail2ban, DNS hardeningCan't control upstream network infrastructure

Out of Scope

ThreatReasonMitigation
Hardware keyloggers / DMA attacksPhysical hardware attacks can't be stopped by softwareUse trusted hardware
Nation-state actorsBeyond scope of workstation OSUse specialized security
Firmware and UEFI attacksRequires hardware vendor cooperationTrust your hardware vendor
Social engineeringHuman factorsUser education
Compromised cloud providersProvider's responsibilityUse MFA, rotate credentials

Privacy First

AspectNubiferOS Approach
TelemetryNone. Zero data collection.
Network callsCredentials never leave your machine
External servicesNo cloud dependencies for security
AuditAll code is open source (GPL-3.0)

Learn More

TopicLink
Threat ModelWhat we protect against
Credential SecurityHow credentials are encrypted
Workspace IsolationHow namespaces work
Source CodeSecurity documentation on GitHub