Auf FreeBSD wird ein Isolationsmechanismus ähnlich plegde entwickelt

Das hat sich herausgestellt Eine Implementierung wurde vorgeschlagen ein Anwendungsisolationsmechanismus für FreeBSD, das an die Systemaufrufe fold und unveil erinnert, die vom OpenBSD-Projekt entwickelt wurden.

Die Isolation in Plegde erfolgt durch das Verbot des Zugriffs auf Systemaufrufe, die nicht von der Anwendung verwendet werden, und durch die Offenlegung durch selektives Öffnen des Zugriffs nur auf bestimmte Dateipfade, mit denen die Anwendung arbeiten kann. Für die Anwendung wird eine Art Whitelist von Systemaufrufen und Dateipfaden gebildet, alle anderen Aufrufe und Pfade sind verboten.

Der Unterschied zwischen gefaltet und enthüllt, entwickelt für FreeBSD, es läuft darauf hinaus, eine zusätzliche Schicht bereitzustellen Dadurch können Sie Anwendungen ohne oder mit minimalen Änderungen an ihrem Code isolieren. Denken Sie daran, dass plegde und unlock in OpenBSD auf eine enge Integration mit der Basisumgebung abzielen und durch Hinzufügen spezieller Anmerkungen zum Code jeder Anwendung implementiert werden.

Um die Organisation des Schutzes zu vereinfachen, ermöglichen Ihnen Filter, Details auf der Ebene einzelner Systemaufrufe zu vermeiden und Klassen von Systemaufrufen zu manipulieren (Eingabe/Ausgabe, Lesen von Dateien, Schreiben von Dateien, Sockets, ioctl, sysctl, Start von Prozessen usw.). . Zugriffsbeschränkungsfunktionen können im Anwendungscode aufgerufen werden, wenn bestimmte Aktionen ausgeführt werden, beispielsweise kann der Zugriff auf Sockets und Dateien geschlossen werden, nachdem die erforderlichen Dateien geöffnet und eine Netzwerkverbindung hergestellt wurden.

Der Autor der Fold-and-Reveal-Portierung für FreeBSD soll die Möglichkeit bieten, beliebige Anwendungen zu isolieren, für die das Curtain-Dienstprogramm vorgeschlagen wird, mit dem Regeln, die in einer separaten Datei definiert sind, auf Anwendungen angewendet werden können. Die vorgeschlagene Konfiguration umfasst eine Datei mit Grundeinstellungen, die die Klassen von Systemaufrufen und typischen Dateipfaden für bestimmte Anwendungen (Arbeiten mit Ton, Netzwerken, Protokollierung usw.) definieren, sowie eine Datei mit anwendungsspezifischen Zugriffsregeln.

Das Curtain-Dienstprogramm kann verwendet werden, um die meisten Dienstprogramme, Serverprozesse, grafischen Anwendungen und sogar ganze Desktop-Sitzungen zu isolieren, die nicht geändert wurden. Das Teilen des Vorhangs mit den Isolationsmechanismen, die von den Jail- und Capsicum-Subsystemen bereitgestellt werden, wird unterstützt.

auch es ist möglich, verschachtelte Isolation zu organisieren, Wenn gestartete Anwendungen die von der übergeordneten Anwendung festgelegten Regeln erben, sie mit separaten Einschränkungen zu ergänzen. Einige Kernel-Operationen (Debugging-Tools, POSIX/SysV IPC, PTY) sind zusätzlich durch einen Sperrmechanismus geschützt, der den Zugriff auf Kernel-Objekte verhindert, die von anderen Prozessen als dem aktuellen oder übergeordneten Prozess erstellt wurden.

Ein Prozess kann seine eigene Isolation konfigurieren, indem er curtainctl aufruft oder indem Sie die Funktionen plegde() und unveil() verwenden, die von der libcurtain-Bibliothek bereitgestellt werden, ähnlich wie bei OpenBSD. Das Sysctl „security.curtain.log_level“ wird bereitgestellt, um Sperren zu verfolgen, während die Anwendung ausgeführt wird.

Der Zugriff auf die Protokolle X11 und Wayland wird separat durch Angabe der Optionen "-X"/"-Y" und "-W" beim Starten des Vorhangs aktiviert, aber die Unterstützung für grafische Anwendungen ist noch nicht ausreichend stabilisiert und hat eine Reihe ungelöster Probleme ( Probleme treten hauptsächlich bei der Verwendung von X11 auf, und der Wayland-Support ist viel besser). Benutzer können zusätzliche Einschränkungen hinzufügen, indem sie lokale Regeldateien (~/.curtain.conf) erstellen. Zum Beispiel,

Die Implementierung umfasst das mac_curtain-Kernelmodul für Mandatory Access Control (MAC), eine Reihe von Patches für den FreeBSD-Kernel mit der Implementierung notwendiger Treiber und Filter, die libcurtain-Bibliothek zur Verwendung von Plegde und offenbarten Funktionen in Anwendungen, das Dienstprogramm curtain, zeigt die Konfiguration Dateien, eine Reihe von Tests und Patches für einige User-Space-Programme (z. B. um $TMPDIR zu verwenden, um die Arbeit mit temporären Dateien zu vereinheitlichen). Wann immer es möglich ist, versucht der Autor, die Anzahl der Änderungen zu minimieren, die ein Patchen des Kernels und der Anwendungen erfordern.

Schließlich wenn Sie mehr darüber wissen möchtenkönnen Sie die Details überprüfen im folgenden Link.


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.