Auf welche integrierten Tools verlassen sich Little Snitch-ähnliche Anwendungen?

Little Snitch ist eine bekannte Software, mit der Mac-Benutzer ausgehende Verbindungen von einer bestimmten App blockieren können.

Wenn ich jetzt frage, wie man dasselbe mit integrierten OS X-Tools macht, bekomme ich eine Antwort wie: „Das geht nicht ohne Little Snitch. Die integrierte PF-Firewall ist keine Anwendungs-Firewall, und die eingebaute -in AF kann nur eingehenden Datenverkehr blockieren. Kein OS X-Tool erlaubt dies."

Das kann nicht wahr sein. Ich meine, in diesem Fall, wie würden Little Snitch oder Hands Off! oder kleine Apps wie RadioSilence dies überhaupt erreichen? Diese Apps selbst müssen auf jeden Fall eingebaute Tools verwenden, um den Datenverkehr pro Anwendung zu blockieren. Ich suchte nach Open-Source-Alternativen mit der Idee, mir deren Quellen anzusehen und herauszufinden, "wie sie das machen". Aber ... Ich habe keine Open-Source-Alternative gefunden. Irgendeine Idee?

Antworten (1)

Little Snitch verwendet eine Netzwerk-Kernel-Erweiterung , um den Netzwerkverkehr abzufangen.

Mit NKEs können Sie Module erstellen, die an bestimmten Positionen in der Netzwerkhierarchie dynamisch geladen und entladen werden können. Diese Module können den Netzwerkverkehr überwachen und modifizieren und Benachrichtigungen über asynchrone Ereignisse von der Treiberschicht empfangen, wie z. B. Änderungen des Schnittstellenstatus.

Jeder der Netzwerk-KPI-Mechanismen führt eine bestimmte Aufgabe aus. Die grundlegenden Netzwerk-KPI-Mechanismen sind:

  • Socket-Filter-KPI, der es einem KEXT ermöglicht , eingehenden oder ausgehenden Datenverkehr auf einem bestimmten Socket zu filtern, je nachdem, wie sie verbunden sind. Socket-Filter können auch Out-of-Band-Kommunikation wie Aufrufe von setsockopt oder bind filtern. Die resultierenden Filter liegen zwischen der Socket-Schicht und dem Protokoll.
  • Schnittstellenfilter-KPI, der es einem KEXT ermöglicht , einen Filter zu einer bestimmten Netzwerkschnittstelle hinzuzufügen . Diese Schnittstellenfilter (früher bekannt als Datenverbindungs-NKEs) können den Verkehr (unabhängig vom Pakettyp ) passiv beobachten, während er in das System hinein- und herausfließt. Sie können den Datenverkehr auch ändern (z. B. verschlüsseln oder Adressübersetzungen durchführen). Sie fungieren im Wesentlichen als Filter zwischen einem Protokollstapel und einem Gerät.

Wie Sie bereits erwähnt haben, gibt es Alternativen zu Netzwerkkernel-Erweiterungen, jedoch nur für bestimmte Anwendungsfälle.

Da selbst geringfügige Fehler im Code auf Kernel-Ebene schwerwiegende Folgen haben können, einschließlich Anwendungsinstabilität, Datenbeschädigung und sogar Kernel-Panics, sollten die in diesem Dokument beschriebenen Techniken nur verwendet werden, wenn kein anderer Mechanismus bereits vorhanden ist. Beispielsweise sollte die IP-Filterung nach Möglichkeit generell mit erfolgenipfw . Ebenso sollte die Paketprotokollierung im Allgemeinen mit erfolgenbpf .

Netzwerk-Kernel-Erweiterungen sind weitaus leistungsfähiger und ermöglichen eine detailliertere Steuerung.

Hervorhebung in zitiertem Inhalt von mir. Ich bin mit der anderen Software nicht vertraut, aber ich gehe davon aus, dass sie dem gleichen Prinzip folgt.