Durcissement

Sandbox d Applications sous Linux avec Bubblewrap, Firejail et Flatpak

Por Equipe Basilisk ·

Comment l equipe Basilisk isole navigateurs, lecteurs PDF et outils a risque sur des bureaux Linux avec des profils de sandbox audites et reproductibles.

Un chercheur de l equipe Basilisk a ouvert un PDF de bug bounty dans Evince et trente secondes plus tard auditd a enregistre une tentative de lecture sur ~/.ssh/id_ed25519. Le processus n avait aucune raison legitime de toucher ce dossier, mais il a essaye. Cet incident, qui s est bien termine parce qu Evince tournait dans un profil Bubblewrap restrictif, est la raison d etre de ce billet. La sandbox sur bureau Linux n est pas du theatre de securite: c est la couche qui separe un exploit penible d une exfiltration silencieuse de cles SSH, jetons cloud et cookies de session. Atterrissons Bubblewrap, Firejail et Flatpak avec des profils eprouves en production OPSEC pour Chercheurs en Securite: Modele de Menace Personnel.

Bubblewrap (bwrap) est la fondation. C est le runtime conteneur non privilegie que Flatpak utilise en dessous, maintenu par le projet containers et auditable en quelques centaines de lignes de C. Un profil minimal pour ouvrir des PDF ressemble a: `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 fichier.pdf`. Remarquez `--unshare-all` suivi de `--share-net` seulement si necessaire, et le bind d un dossier specifique au lieu du $HOME complet. Ce schema d allow-list distingue la vraie sandbox du placebo et se marie bien aux investigations DFIR DFIR sous Linux: Triage Vivant avec UAC et Velociraptor.

Firejail opere a un niveau plus eleve et embarque environ 1 000 profils prets sous /etc/firejail. Pour un poste de chercheur au quotidien, le trio firefox.profile, thunderbird.profile et libreoffice.profile couvre 80% de la surface d attaque. Commencez par `firejail --profile=/etc/firejail/firefox.profile --private-tmp --dns=9.9.9.9 firefox`. Activez AppArmor avec `firejail --apparmor` et inspectez avec `firejail --list`. Le talon d Achille historique de Firejail est le binaire SUID; si cela vous derange, installez avec `setcap cap_sys_admin+ep` sur les noyaux recents ou migrez vers Bubblewrap nu. Pour ouvrir des docs suspects de phishing, combinez avec une hygiene de metadonnees avant tout transfert Hygiene des Metadonnees : Nettoyer EXIF, PDF et Office avant Publication.

Flatpak livre les applis avec un manifeste declaratif de permissions. La commande a memoriser est `flatpak override --user --nofilesystem=home org.mozilla.firefox` suivie de `flatpak override --user --filesystem=~/Downloads org.mozilla.firefox`. Cela revoque l acces complet au $HOME et ne rend que Downloads. Pour auditer ce que chaque appli demande, lancez `flatpak info --show-permissions org.telegram.desktop` ou ouvrez Flatseal. Des applis comme Zoom, Slack et Discord en Flatpak avec `--nofilesystem=host` et `--nodevice=all` reduisent drastiquement le rayon d explosion d une CVE de rendu. Cela s integre directement au hardening des postes a haut risque Hardening de Serveur Linux: CIS Benchmark Applique Sans Casser la Prod.

Scenarios concrets chez Basilisk: l analyse d echantillons fournis par le client vit dans une VM Remnux dediee, pas en sandbox de bureau Analyse de Malware en Lab Isole: Setup Securise avec FlareVM et REMnux. Mais lire un PDF de rapport, ouvrir un docx client, naviguer sur des sites de bug bounty et tester une extension navigateur se font tous dans des profils Bubblewrap avec un namespace reseau separe via slirp4netns. Pour les clients qui exigent Signal Desktop, nous lancons le build Flatpak avec `--nofilesystem=home --filesystem=xdg-download` et passons un token materiel via `--device=all` uniquement pendant l appairage OPSEC Communication: Signal, SimpleX et Session Compares Techniquement. Chaque profil vit dans git, relu en pull request, exactement comme du code de production.

Trois pieges courants. Premier: omettre `--unshare-user-try` ou `--unshare-net` parce que l appli rale, et vous voila avec une sandbox en papier. Corrigez en isolant d abord avec `--share-net` puis en resserrant, en surveillant avec `strace -f -e network`. Deuxieme: croire que Flatpak seul protege d une evasion via un portail D-Bus mal configure; revisez les portails avec `flatpak permissions`. Troisieme: laisser le micro ouvert. Appliquez `flatpak override --nodevice=all` globalement et accordez au cas par cas. Pour une verification continue, branchez les profils sur des regles Sigma qui detectent les tentatives d evasion Threat Hunting avec Sigma et Elastic: De l'Indicateur a la Regle de Detection et revisez chaque trimestre, car les manifestes derivent a chaque mise a jour.

Conclusion pratique: commencez aujourd hui par executer `flatpak override --user --nofilesystem=home` sur chaque appli Flatpak installee, remplacez votre lecteur PDF par defaut par un wrapper Bubblewrap lie uniquement a ~/Downloads, et versionnez ces scripts dans un repo prive. En un apres-midi vous relevez la barre d exploitation de votre bureau plus qu une annee de patchs reactifs. Une sandbox bien configuree n empechera pas toute intrusion, mais garantit que la premiere CVE navigateur du mois ne se transforme pas en incident de fuite de cles SSH. Le ROI se mesure en incidents qui n ont pas eu lieu.

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