macOS: die Engine in der Seatbelt-Sandbox
Auf macOS steckt die Analyse-Engine in der Kernel-Sandbox von Apple. Alles ist verboten, außer dem, was ausdrücklich erlaubt ist - und das erzwingt der Kernel, nicht unser Code.
Seatbelt: die Kernel-Sandbox von macOS
Auf macOS läuft die Engine in der Kernel-Sandbox (Seatbelt / sandbox-exec) mit einem deny-by-default-Profil: Alles ist verboten, sofern nicht ausdrücklich erlaubt. Das ist keine Bibliothek in unserem Prozess, die man umgehen könnte, sondern eine Grenze, die der macOS-Kernel selbst zieht: Filesystem, Prozessstart und Netzwerk sind zu, bis das Profil einzelne, eng umrissene Ausnahmen öffnet.
Das Profil wird mit dem Daemon ausgeliefert und liegt als auditierbare Datei neben dem Modell - Sie können genau nachlesen, was die Engine darf, statt es uns glauben zu müssen. Erlaubt ist im Kern nur zweierlei: die Modell-Datei lesen und auf localhost antworten. Kein Schreiben, kein Start fremder Programme, kein ausgehender Netzwerkverkehr.
Drop auf nobody
Läuft der Dienst als root, gibt die Engine diese Rechte sofort wieder ab: Sie fällt auf den unprivilegierten Nutzer nobody zurück, bevor sie die erste angreiferkontrollierte Zeile liest. Sandbox-Profil und Rechte-Drop greifen zusammen - selbst wenn ein Angreifer die Engine überredet, etwas zu tun, hat der Prozess weder die Rechte noch die vom Kernel erlaubten Pfade dafür.
Keine spürbare Latenz
Der Kernel-Käfig liegt direkt auf dem Ausführungspfad und kostet keine spürbare Latenz: Die Sandbox verändert nicht messbar, wie schnell die Engine antwortet.
Wenn die Sandbox fehlt
Auf macOS ist die Kernel-Sandbox immer da, ein Sonderfall ist also selten. Trotzdem gilt die harte Regel aller Plattformen: Ohne Sandbox startet die Engine nicht. Es gibt kein Degradieren zu einem ungesicherten Lauf; eine verdächtige Änderung bleibt dann liegen und wird sichtbar gemacht, statt ungeprüft durchgewunken zu werden.
Wie derselbe Käfig auf Linux und Windows aussieht und warum das ganze Schutzmodell fail-closed ist, steht im Überblick zur Engine-Sandbox.
Analyse, die man nicht gegen Sie wenden kann.
PoisonZero betreibt die On-Device-Engine auf macOS in der Seatbelt-Sandbox - Modell lesen, auf localhost antworten, sonst nichts.
Sign me up