macOS : le moteur dans le sandbox Seatbelt
Sous macOS, le moteur d'analyse vit dans le sandbox du noyau d'Apple. Tout est interdit sauf ce qui est explicitement autorisé - et c'est le noyau qui l'impose, pas notre code.
Seatbelt : le sandbox du noyau de macOS
Sous macOS, le moteur tourne à l'intérieur du sandbox du noyau (Seatbelt / sandbox-exec) avec un profil deny-by-default : tout est interdit sauf ce qui est explicitement autorisé. Ce n'est pas une bibliothèque à l'intérieur de notre processus qui pourrait être contournée, mais une frontière que le noyau macOS trace lui-même : système de fichiers, lancement de processus et réseau sont fermés jusqu'à ce que le profil ouvre quelques exceptions étroitement délimitées.
Le profil est livré avec le daemon et se trouve comme fichier auditable à côté du modèle - vous pouvez lire exactement ce que le moteur est autorisé à faire, plutôt que nous croire sur parole. En son cœur, seules deux choses sont permises : lire le fichier du modèle et répondre sur localhost. Aucune écriture, aucun lancement de programmes étrangers, aucun trafic réseau sortant.
Chute vers nobody
Si le service tourne en root, le moteur rend ces droits aussitôt : il redescend vers l'utilisateur non privilégié nobody avant de lire la première ligne d'entrée contrôlée par l'attaquant. Le profil de sandbox et la chute de privilèges agissent ensemble - même si un attaquant persuade le moteur de faire quelque chose, le processus n'a ni les droits ni les chemins autorisés par le noyau pour le faire.
Aucune latence perceptible
La cage du noyau se situe directement sur le chemin d'exécution et ne coûte aucune latence perceptible : le sandbox ne change pas de façon mesurable la vitesse de réponse du moteur.
Quand le sandbox manque
Sous macOS, le sandbox du noyau est toujours là, l'exception est donc rare. Malgré tout, la règle dure de chaque plateforme tient : pas de sandbox, pas de démarrage du moteur. Il n'y a pas de dégradation vers un run sans sandbox ; un changement suspect est alors conservé sur place et exposé plutôt que laissé passer sans évaluation.
Comment la même cage se présente sous Linux et Windows, et pourquoi toute la protection est fail-closed, se trouve dans l'aperçu du sandbox du moteur.
Une analyse qui ne peut pas être retournée contre vous.
PoisonZero exécute le moteur sur l'appareil sous macOS dans le sandbox Seatbelt - lire le modèle, répondre sur localhost, rien d'autre.
Sign me up