Härtung

Linux Anwendungs Sandbox mit Bubblewrap, Firejail und Flatpak

Por Equipe Basilisk ·

Wie das Basilisk Team Browser, PDF Reader und riskante Tools auf Linux Desktops mit auditierten, reproduzierbaren Sandbox Profilen isoliert.

Ein Forscher aus dem Basilisk Team oeffnete eine Bug Bounty PDF in Evince und dreissig Sekunden spaeter protokollierte auditd einen Lesezugriff auf ~/.ssh/id_ed25519. Der Prozess hatte keinen legitimen Grund, dieses Verzeichnis anzufassen, versuchte es aber trotzdem. Dieser Vorfall, der nur gut ausging weil Evince in einem restriktiven Bubblewrap Profil lief, ist der Grund fuer diesen Beitrag. Desktop Linux Sandboxing ist kein Security Theater: es ist die Schicht, die einen laestigen Exploit von einer leisen Exfiltration von SSH Schluesseln, Cloud Tokens und Session Cookies trennt. Wir landen jetzt Bubblewrap, Firejail und Flatpak mit produktionserprobten Profilen OPSEC fuer Security-Researcher: Persoenliches Bedrohungsmodell.

Bubblewrap (bwrap) ist das Fundament. Es ist die unprivilegierte Container Runtime, die Flatpak unter der Haube nutzt, gepflegt vom containers Projekt und in wenigen hundert Zeilen C auditierbar. Ein minimales Profil zum Oeffnen von PDFs sieht so aus: `bwrap --ro-bind /usr /usr --ro-bind /etc /etc --proc /proc --dev /dev --tmpfs /tmp --bind ~/Downloads/sandbox-pdf /home/user --unshare-all --share-net /usr/bin/zathura datei.pdf`. Beachte das `--unshare-all` gefolgt von `--share-net` nur falls noetig, und das Bind eines spezifischen Ordners statt des ganzen $HOME. Dieses Allow List Muster trennt echte Sandbox von Placebo und passt gut zu DFIR Ermittlungen DFIR unter Linux: Live-Triage mit UAC und Velociraptor.

Firejail liegt eine Ebene hoeher und liefert rund 1.000 fertige Profile unter /etc/firejail. Fuer den taeglichen Forscher Arbeitsplatz deckt das Trio firefox.profile, thunderbird.profile und libreoffice.profile 80% der Angriffsflaeche ab. Starte mit `firejail --profile=/etc/firejail/firefox.profile --private-tmp --dns=9.9.9.9 firefox`. Aktiviere AppArmor mit `firejail --apparmor` und pruefe den Status via `firejail --list`. Firejails historische Achillesferse ist das SUID Binary; wenn dich das stoert, installiere mit `setcap cap_sys_admin+ep` auf aktuellen Kerneln oder migriere zu reinem Bubblewrap. Fuer verdaechtige Phishing Dokumente kombiniere mit Metadaten Hygiene vor jeder Weiterleitung Metadaten-Hygiene: EXIF, PDF und Office vor der Veroffentlichung saubern.

Flatpak liefert Apps mit deklarativem Permission Manifest. Der Befehl, den du dir merken willst, ist `flatpak override --user --nofilesystem=home org.mozilla.firefox` gefolgt von `flatpak override --user --filesystem=~/Downloads org.mozilla.firefox`. Das entzieht den vollen $HOME Zugriff und gibt nur Downloads zurueck. Um zu auditieren was jede App fordert, nutze `flatpak info --show-permissions org.telegram.desktop` oder oeffne Flatseal. Apps wie Zoom, Slack und Discord als Flatpak mit `--nofilesystem=host` und `--nodevice=all` reduzieren den Blast Radius einer Rendering CVE drastisch. Das fuegt sich direkt in das Hardening von Hochrisiko Arbeitsplaetzen ein Linux-Server-Hardening: CIS Benchmark Anwenden Ohne die Produktion zu Zerlegen.

Praktische Szenarien bei Basilisk: die Analyse von Kunden Samples lebt in einer dedizierten Remnux VM, nicht in der Desktop Sandbox Malware-Analyse im Isolierten Lab: Sicheres Setup mit FlareVM und REMnux. Aber das Lesen von Report PDFs, Oeffnen von Kunden docx, Browsen auf Bug Bounty Seiten und Testen einer Browser Extension passieren alle in Bubblewrap Profilen mit getrenntem Network Namespace via slirp4netns. Fuer Kunden, die Signal Desktop vorschreiben, fahren wir den Flatpak Build mit `--nofilesystem=home --filesystem=xdg-download` und reichen einen Hardware Token nur waehrend des Pairings via `--device=all` durch Kommunikations-OPSEC: Signal, SimpleX und Session Technisch Verglichen. Jedes Profil lebt in git, reviewed in Pull Requests, genau wie Produktionscode.

Drei haeufige Fallen. Erste: das Auslassen von `--unshare-user-try` oder `--unshare-net` weil die App meckert, und schon hast du Papier Sandbox. Loese das, indem du erst mit `--share-net` isolierst und danach engziehst, ueberwacht mit `strace -f -e network`. Zweite: darauf zu vertrauen, dass Flatpak allein vor Escape ueber ein fehlkonfiguriertes D-Bus Portal schuetzt; ueberpruefe Portale mit `flatpak permissions`. Dritte: das Mikrofon offen lassen. Setze `flatpak override --nodevice=all` global und gib Fall fuer Fall frei. Fuer kontinuierliche Verifikation verdrahte die Profile mit Sigma Regeln, die Escape Versuche fangen Threat Hunting mit Sigma und Elastic: Vom Indikator zur Detektionsregel und reviewe quartalsweise, weil Manifeste mit jedem Update driften.

Praktisches Takeaway: starte heute mit `flatpak override --user --nofilesystem=home` fuer jede installierte Flatpak App, tausche deinen Default PDF Reader gegen einen Bubblewrap Wrapper, der nur an ~/Downloads gebunden ist, und versioniere diese Skripte in einem privaten Repo. An einem Nachmittag hebst du die Exploitation Huerde deines Desktops staerker als ein Jahr reaktiver Patches. Richtig konfigurierte Sandbox stoppt nicht jeden Einbruch, aber sie garantiert, dass die erste Browser CVE des Monats nicht zum SSH Key Leak Vorfall mutiert. Der ROI dieses Setups misst sich in Vorfaellen, die nie passiert sind.

Nenhum comentário ainda

Seja o primeiro a comentar.

Deixe seu comentário

Entre com sua conta Canverly para comentar. Você pode usar a mesma conta em qualquer site da rede.

Entrar com Canverly