Hallo zusammen! Speziell für die Studenten des Kurses haben wir die offizielle FAQ-Übersetzung des SELinux-Projekts vorbereitet. Wir glauben, dass diese Übersetzung nicht nur für Studenten nützlich sein kann, deshalb teilen wir sie mit Ihnen.

Wir haben versucht, einige der am häufigsten gestellten Fragen zum SELinux-Projekt zu beantworten. Derzeit sind die Fragen in zwei Hauptkategorien unterteilt. Alle Fragen und Antworten finden Sie .
Überblick
Überblick
- Was ist Linux mit verbesserter Sicherheit?
Linux mit verbesserter Sicherheit (SELinux — Security-enhanced Linux) ist die Referenzimplementierung der Flask-Sicherheitsarchitektur für flexibles Mandatory Access Control. Es wurde entwickelt, um den Nutzen flexibler Mechanismen für die Durchsetzung von Zugriffsrechten zu demonstrieren und wie solche Mechanismen in ein Betriebssystem integriert werden können. Die Flask-Architektur wurde später in Linux integriert und auf mehrere andere Systeme, einschließlich Solaris, FreeBSD und den Darwin-Kernel, portiert, womit eine breite Palette damit verbundener Arbeiten entstanden ist. Die Flask-Architektur bietet umfassende Unterstützung für die Anwendung vieler Arten von durchgreifenden Zugriffskontrollpolitiken, darunter Konzepte wie Type Enforcement, Role-based Access Control und Multi-level Security. - Was bietet Linux mit verbesserter Sicherheit, das das Standard-Linux nicht kann?
Der Kernel von Linux mit verbesserter Sicherheit legt Mandatory Access Control-Politiken fest, die Benutzerprogramme und Systemdienste auf die minimalen Privilegien beschränken, die sie zur Ausführung ihrer Aufgaben benötigen. Durch diese Einschränkung wird die Fähigkeit dieser Benutzerprogramme und Systemdämonen verringert oder ausgeschlossen, im Falle einer Kompromittierung (z. B. durch Pufferüberlauf oder fehlerhafte Konfiguration) Schaden anzurichten. Dieses Einschränkungssystem funktioniert unabhängig von den traditionellen Zugriffskontrollmechanismen von Linux. Es hat kein Konzept des Superusers „root“ und überwindet die allgemein bekannten Nachteile der traditionellen Linux-Schutzmechanismen (z. B. die Abhängigkeit von setuid/setgid-Binärdateien).
Die Sicherheit eines unveränderten Linux-Systems hängt von der Korrektheit des Kernels, aller privilegierten Anwendungen und jeder ihrer Konfigurationen ab. Ein Problem in einem dieser Bereiche kann zur Kompromittierung des gesamten Systems führen. Im Gegensatz dazu hängt die Sicherheit eines modifizierten Systems, das auf einem mit verbesserter Sicherheit ausgestatteten Linux-Kernel basiert, in erster Linie von der Richtigkeit des Kernels und der Konfiguration seiner Sicherheitsrichtlinien ab. Während Probleme mit der Richtigkeit oder Konfiguration von Anwendungen eine begrenzte Kompromittierung einzelner Benutzerprogramme und Systemdienste ermöglichen können, stellen sie keine Sicherheitsbedrohung für andere Benutzerprogramme und Systemdienste oder die Sicherheit des Systems als Ganzes dar. - Wofür ist es gut?
Die neuen Funktionen von Linux mit verbesserter Sicherheit sind darauf ausgelegt, die Informationstrennung basierend auf Anforderungen an Vertraulichkeit und Integrität sicherzustellen. Sie sollen verhindern, dass Prozesse Daten und Programme lesen, Daten und Programme fälschen, Sicherheitsmechanismen von Anwendungen umgehen, unsichere Programme ausführen oder in andere Prozesse eingreifen, was gegen die Sicherheitsrichtlinien des Systems verstößt. Sie helfen auch, potenziellen Schaden zu begrenzen, der durch schadhafte oder fehlerhafte Programme verursacht werden kann. Zudem sollten sie nützlich sein, um den gleichzeitigen Zugriff von Benutzern mit unterschiedlichen Sicherheitsberechtigungen auf verschiedene Arten von Informationen mit unterschiedlichen Sicherheitsanforderungen zu ermöglichen, ohne diese Anforderungen zu gefährden. - Wie erhalte ich eine Kopie?
Viele Linux-Distributionen beinhalten Unterstützung für SELinux, die bereits standardmäßig integriert oder als zusätzliches Paket verfügbar ist. Der Hauptcode des SELinux-Userspace ist verfügbar unter . Endbenutzer sollten in der Regel die von ihrer Distribution bereitgestellten Pakete verwenden. - Was ist in Ihrem Release enthalten?
Die NSA SELinux-Version enthält den Hauptcode der Benutzerlandkomponente von SELinux. Die Unterstützung für SELinux ist bereits im Hauptkernel von Linux 2.6 enthalten, der auf kernel.org erhältlich ist. Der Hauptcode der Benutzerlandkomponente von SELinux besteht aus einer Bibliothek zur Manipulation von binären Richtlinien (libsepol), einem Richtlinienkompiler (checkpolicy), einer Bibliothek für sicherheitsrelevante Anwendungen (libselinux), einer Bibliothek für die Managementwerkzeuge von Richtlinien (libsemanage) und verschiedenen damit verbundenen Dienstprogrammen (policycoreutils).
Zusätzlich zum SELinux-fähigen Kernel und dem Hauptbenutzerlandcode benötigen Sie Richtlinien und einige für SELinux angepasste Benutzerraumpakete, um SELinux zu verwenden. Die Richtlinien können von . - Kann ich Linux mit verbesserter Sicherheit auf einem bestehenden Linux-System installieren?
Ja, Sie können nur SELinux-Modifikationen auf einem bestehenden Linux-System installieren oder eine Linux-Distribution installieren, die bereits Unterstützung für SELinux beinhaltet. SELinux besteht aus einem Linux-Kernel mit Unterstützung für SELinux, einem Hauptsatz von Bibliotheken und Dienstprogrammen, einigen modifizierten Benutzerpaketen und der Richtlinienkonfiguration. Um es auf einem bestehenden Linux-System zu installieren, das keine Unterstützung für SELinux hat, müssen Sie in der Lage sein, die Software zu kompilieren und auch andere notwendige Systempakete zu haben. Wenn Ihre Linux-Distribution bereits Unterstützung für SELinux enthält, müssen Sie die NSA SELinux-Version nicht kompilieren oder installieren. - Wie kompatibel ist Linux mit erhöhter Sicherheit mit unverändertem Linux?
Linux mit erhöhter Sicherheit bietet binäre Kompatibilität mit bestehenden Linux-Anwendungen und mit bestehenden Linux-Kernelmodulen, aber einige Kernelmodule müssen möglicherweise angepasst werden, um korrekt mit SELinux zu interagieren. Diese beiden Kompatibilitätskategorien werden im Folgenden ausführlich besprochen:- Anwendungskompatibilität
SELinux bietet binäre Kompatibilität mit bestehenden Anwendungen. Wir haben die Datentypen des Kernels erweitert, indem wir neue Schutzattribute eingeführt und neue API-Aufrufe für Sicherheitsanwendungen hinzugefügt haben. Allerdings haben wir keine Datenstrukturen verändert, die für Anwendungen sichtbar sind, und die Schnittstellen vorhandener Systemaufrufe nicht verändert, sodass bestehende Anwendungen weiterhin ohne Änderungen funktionieren können, wenn die Sicherheitsrichtlinie dies erlaubt. - Kompatibilität von Kernel-Modulen
Ursprünglich bot SELinux nur die binäre Kompatibilität für bestehende Kernel-Module; solche Module mussten mit den geänderten Kernel-Headern neu kompiliert werden, um die neuen Schutzfelder in den Datenstrukturen des Kernels zu erfassen. Da LSM und SELinux nun in den Hauptkernel von Linux 2.6 integriert sind, bietet SELinux jetzt binäre Kompatibilität mit bestehenden Kernel-Modulen. Allerdings können einige Kernel-Module ohne Änderungen schlecht mit SELinux interagieren. Wenn ein Kernel-Modul beispielsweise Objekte im Kernel direkt allokiert und festlegt, ohne die üblichen Initialisierungsfunktionen zu verwenden, könnte das Kernel-Objekt möglicherweise keine ordnungsgemäßen Sicherheitsinformationen haben. Einige Kernel-Module könnten auch nicht über die angemessene Sicherheitskontrolle ihrer Operationen verfügen; alle bestehenden Aufrufe von Kernel-Funktionen oder Berechtigungsfunktionen würden ebenfalls SELinux-Berechtigungsprüfungen auslösen, aber zur Durchsetzung von MAC-Richtlinien könnten detailliertere oder zusätzliche Kontrollen erforderlich sein.
Linux mit verbesserter Sicherheit sollte keine Interoperabilitätsprobleme mit herkömmlichen Linux-Systemen verursachen, sofern alle erforderlichen Operationen durch die Konfiguration der Sicherheitsrichtlinie erlaubt sind.
- Anwendungskompatibilität
- Was sind die Ziele des Beispiels für eine Sicherheitsrichtlinienkonfiguration?
Auf hohem Niveau besteht das Ziel darin, die Flexibilität und Sicherheit der erzwungenen Zugriffssteuerungsmaßnahmen zu demonstrieren und ein einfach funktionierendes System mit minimalen Änderungen an Anwendungen bereitzustellen. Auf niedrigerem Niveau hat die Richtlinie eine Reihe von Zielen, die in der Richtliniendokumentation beschrieben werden. Zu diesen Zielen gehören die Verwaltung des unberechtigten Zugriffs auf Daten, der Schutz der Integrität des Kernels, der Systemsoftware, der Systemkonfigurationsinformationen und der Systemprotokolle, die Begrenzung potenzieller Schäden, die durch die Ausnutzung von Schwachstellen in Prozessen verursacht werden können, die privilegiert sind, der Schutz privilegierter Prozesse vor der Ausführung von bösartigem Code, der Schutz der Administrator- und Domänenrollen vor dem Zugriff ohne Benutzerauthentifizierung, die Verhinderung der Störung normaler Benutzerprozesse durch Systemprozesse oder Administratorprozesse sowie der Schutz der Benutzer und Administratoren vor der Ausnutzung von Schwachstellen in ihrem Browser durch bösartigen mobilen Code. - Warum wurde Linux als Basisplattform gewählt?
Linux wurde aufgrund seines wachsenden Erfolgs und seiner offenen Entwicklungsumgebung als Plattform für die ursprüngliche Referenzimplementierung dieser Arbeit ausgewählt. Linux bietet eine hervorragende Gelegenheit, zu demonstrieren, dass diese Funktionalität auf einem Hauptbetriebssystem erfolgreich sein kann und gleichzeitig zur Sicherheit eines weit verbreiteten Systems beiträgt. Die Linux-Plattform bietet auch eine hervorragende Möglichkeit für diese Arbeit, eine möglichst breite Sichtweise zu erhalten und möglicherweise die Grundlage für zusätzliche Sicherheitsforschung durch andere Enthusiasten zu sein. - Warum haben Sie diese Arbeit durchgeführt?
Die National Security Agency ist verantwortlich für die Forschung und die fortschrittliche Entwicklung von Technologien, die notwendig sind, damit die NSA Lösungen, Produkte und Dienstleistungen zur Gewährleistung der Informationssicherheit für Informationsinfrastrukturen, die für die Interessen der nationalen Sicherheit der Vereinigten Staaten von entscheidender Bedeutung sind, bereitstellen kann.
Die Schaffung eines tragfähigen, sicheren Betriebssystems bleibt eine der wichtigsten Forschungsaufgaben. Unser Ziel ist es, eine effektive Architektur zu entwickeln, die den erforderlichen Schutz bietet, Programme für den Benutzer weitgehend transparent ausführt und für Anbieter attraktiv ist. Wir sind der Meinung, dass ein wichtiger Schritt zur Erreichung dieses Ziels die Demonstration ist, wie Zugriffssteuerungsmechanismen erfolgreich in das Hauptbetriebssystem integriert werden können. - Wie steht dies im Zusammenhang mit früheren Untersuchungen des NSA-Betriebssystems?
Forscher des Nationalen Forschungsinstituts für die Gewährleistung der Informationssicherheit der NSA haben zusammen mit der Secure Computing Corporation (SCC) eine leistungsstarke und flexible Architektur für die verbindliche Zugriffskontrolle basierend auf Type Enforcement entwickelt, einem Mechanismus, der erstmals für das LOCK-System entwickelt wurde. Die NSA und die SCC entwickelten zwei Prototypen der Architektur auf Basis von Mach: DTMach und DTOS (). Die NSA und die SCC arbeiteten anschließend mit der Forschungsgruppe Flux der Universität Utah zusammen, um die Architektur in ein Forschungsbetriebssystem namens Fluke zu übertragen. Während dieser Übertragung wurde die Architektur überarbeitet, um eine bessere Unterstützung für dynamische Sicherheitsrichtlinien zu gewährleisten. Diese verbesserte Architektur wurde Flask genannt (). Nun hat die NSA die Flask-Architektur in das Betriebssystem Linux integriert, um diese Technologie einer breiteren Entwickler- und Benutzergemeinschaft zur Verfügung zu stellen. - Ist Linux mit verbesserter Sicherheit ein zuverlässiges Betriebssystem?
Der Begriff „Vertrauenswürdiges Betriebssystem“ bezieht sich in der Regel auf ein Betriebssystem, das ausreichende Unterstützung für mehrstufigen Schutz und die Bestätigung der Korrektheit bietet, um einem bestimmten Satz staatlicher Anforderungen zu genügen. Linux mit verbesserter Sicherheit integriert nützliche Ideen dieser Systeme, legt jedoch den Schwerpunkt auf die erzwungene Zugriffskontrolle. Die ursprüngliche Entwicklungsaufgabe von Linux mit verbesserter Sicherheit bestand darin, nützliche Funktionen zu schaffen, die greifbare Sicherheitsvorteile in einer breiten Palette realer Umgebungen demonstrieren, um diese Technologie zu präsentieren. SELinux selbst ist kein vertrauenswürdiges Betriebssystem, bietet jedoch eine entscheidende Schutzfunktion – erzwungene Zugriffskontrolle – die für ein vertrauenswürdiges Betriebssystem erforderlich ist. SELinux wurde in Linux-Distributionen integriert, die gemäß dem Labeled Security Protection Profile bewertet wurden. Informationen zu zertifizierten und prüfbaren Produkten finden Sie unter . - Ist es wirklich sicher?
Der Begriff des sicheren Systems umfasst viele Attribute (z. B. physische Sicherheit, Sicherheit des Personals usw.), und Linux mit erhöhter Sicherheit befasst sich nur mit einem sehr engen Satz dieser Attribute (d. h. den Zugriffskontrollelementen in dem Betriebssystem). Mit anderen Worten, ein „sicheres System“ ist ausreichend geschützt, um bestimmte Informationen in der realen Welt vor einem realen Bedrohungsszenario zu schützen, vor dem der Eigentümer und/oder Benutzer dieser Informationen gewarnt wird. Linux mit verbesserter Sicherheit dient lediglich dazu, die erforderlichen Kontrollmechanismen in einem modernen Betriebssystem wie Linux zu demonstrieren und wird daher wahrscheinlich nicht irgendeiner interessanten Definition eines sicheren Systems entsprechen. Wir glauben, dass die in Linux mit verbesserter Sicherheit demonstrierte Technologie für Menschen nützlich sein wird, die sichere Systeme erstellen. - Was haben Sie zur Gewährleistung der Erhöhung unternommen?
Das Ziel dieses Projekts war es, Steuerungselemente für den erzwungenen Zugriff hinzuzufügen, wobei minimale Änderungen am Linux vorgenommen wurden. Dieses letzte Ziel schränkt jedoch stark ein, was zur Verbesserung der Garantien unternommen werden kann, weshalb keine Arbeiten zur Steigerung der Garantien für Linux durchgeführt wurden. Auf der anderen Seite basieren die Verbesserungen auf früheren Arbeiten zur Entwicklung einer Sicherheitsarchitektur mit hoher Zuverlässigkeit, und die meisten dieser Entwurfsprinzipien wurden in das sicherere Linux übertragen. - Wird CCEVS Linux mit erhöhter Sicherheit bewerten?
Linux mit erhöhter Sicherheit ist von sich aus nicht dafür ausgelegt, das gesamte Spektrum der Sicherheitsprobleme, die im Schutzprofil dargestellt sind, zu lösen. Obwohl es möglich wäre, nur die aktuelle Funktionalität zu bewerten, halten wir eine solche Bewertung für von begrenztem Wert. Dennoch haben wir mit anderen zusammengearbeitet, um diese Technologie in die bewerteten und bewertungsbereiten Linux-Distributionen einzufügen. Informationen zu geprüften und überprüfbaren Produkten finden Sie unter . - Haben Sie versucht, irgendwelche Schwachstellen zu beheben?
Nein, wir haben während unserer Arbeit nach Schwachstellen gesucht und keine gefunden. Wir haben nur das Mindeste getan, um unsere neuen Mechanismen hinzuzufügen. - Ist dieses System für den Regierungsgebrauch genehmigt?
Security-enhanced Linux hat keine spezielle oder zusätzliche Genehmigung für den Regierungsgebrauch im Vergleich zu anderen Versionen von Linux. Linux mit erhöhter Sicherheit hat keine spezielle oder zusätzliche Genehmigung für Regierungsverwendung über andere Versionen von Linux. - Wie unterscheidet sich dies von anderen Initiativen?
Linux mit erhöhter Sicherheit hat eine klar definierte Architektur für flexiblen erzwungenen Zugriff, die experimentell mit mehreren Prototyp-Systemen (DTMach, DTOS, Flask) getestet wurde. Detaillierte Studien wurden durchgeführt, um die Fähigkeit der Architektur zu unterstützen, eine Vielzahl von Sicherheitsrichtlinien zu ermöglichen, und sind verfügbar unter und .
Die Architektur bietet detaillierte Steuerung über viele Abstraktionen des Kernels und Dienste, die von anderen Systemen nicht kontrolliert werden. Einige der charakteristischen Merkmale des Linux mit erhöhter Sicherheit sind:- Saubere Trennung von Politik und Anwendungsrechten
- Deutlich definierte Politik-Schnittstellen
- Unabhängigkeit von spezifischen Politiken und Politiksprachen
- Unabhängigkeit von spezifischen Formaten und Inhalten von Sicherheits-Tags
- Separate Tags und Steuerungselemente für Kernobjekte und Services
- Caching von Zugriffsentscheidungen für Effizienz
- Unterstützung von Politikänderungen
- Überwachung der Initialisierung des Prozesses sowie der Vererbung und Ausführung des Programms
- Verwaltung von Dateisystemen, Verzeichnissen, Dateien und Beschreibungen offener Dateien
- Verwaltung von Sockets, Nachrichten und Netzwerkschnittstellen
- Überwachung der Nutzung von 'Fähigkeiten'
- Welche Lizenzbeschränkungen gelten für dieses System?
Der gesamte Quellcode, der auf der Website gefunden wurde , unterliegt denselben Bedingungen wie die originalen Quellcodes. Beispielsweise werden Korrekturen für den Linux-Kernel und Korrekturen für viele vorhandene Werkzeuge, die hier verfügbar sind, unter den Bedingungen veröffentlicht . - Gibt es Exportkontrollen?
Für Linux mit erweiterter Sicherheit gibt es keine zusätzlichen Exportkontrollen im Vergleich zu jeder anderen Linux-Version. - Plant die NSA, es im eigenen Land zu verwenden?
Aus nachvollziehbaren Gründen kommentiert die NSA die operative Nutzung nicht. - Ändert die Erklärung über die Garantien vom 26. Juli 2002 der Secure Computing Corporation die Position der NSA, dass SELinux unter der GNU General Public License bereitgestellt wurde?
Die Position der NSA hat sich nicht geändert. Die NSA ist weiterhin der Ansicht, dass die Bestimmungen und Bedingungen der GNU Allgemeine Öffentlichkeitslizenz die Nutzung, Kopie, Verbreitung und Modifikation von SELinux regeln. Siehe . - Unterstützt die NSA Open-Source-Software?
Die Initiativen der NSA zur Verbesserung der Software-Sicherheit umfassen sowohl proprietäre als auch Open-Source-Software, und wir haben erfolgreich sowohl proprietäre als auch offene Modelle in unserer Forschungsarbeit eingesetzt. Die Arbeit der NSA zur Verbesserung der Software-Sicherheit wird durch einen einfachen Grund motiviert: unsere Ressourcen möglichst effektiv zu nutzen, um den Kunden der NSA die bestmöglichen Sicherheitsoptionen in den am weitesten verbreiteten Produkten zu bieten. Ziel des Forschungsprogramms der NSA ist es, technologische Errungenschaften zu entwickeln, die mit der Software-Entwickler-Community durch verschiedene Übertragungsmechanismen geteilt werden können. Die NSA unterstützt und fördert kein spezifisches Softwareprodukt oder Geschäftsmodell. Vielmehr trägt die NSA zur Verbesserung der Sicherheit bei. - Unterstützt die NSA Linux?
Wie bereits erwähnt, unterstützt die NSA kein spezifisches Softwareprodukt oder Plattform; die NSA trägt lediglich zur Verbesserung der Sicherheit bei. Die Flask-Architektur, die in der Referenzimplementierung von SELinux demonstriert wird, wurde auf mehrere andere Betriebssysteme portiert, darunter Solaris, FreeBSD und Darwin, für den Hypervisor Xen portiert und findet in Anwendungen wie dem X Window System, GConf, D-BUS und PostgreSQL Anwendung. Die Konzepte der Flask-Architektur sind weitgehend auf eine Vielzahl von Systemen und Umgebungen anwendbar.
Zusammenarbeit
- Wie planen wir die Interaktion mit der Linux-Community?
Wir haben , die unser Hauptweg sein werden, um Informationen zu Linux mit verbesserter Sicherheit zu veröffentlichen. Wenn Sie an Linux mit verbesserter Sicherheit interessiert sind, empfehlen wir Ihnen, der Mailingliste der Entwickler beizutreten, den Quellcode zu überprüfen und Ihr Feedback (oder Ihren Code) bereitzustellen. Um der Mailingliste der Entwickler beizutreten, siehe. . - Wer kann helfen?
SELinux wird jetzt von der Open-Source-Software-Entwicklergemeinschaft für Linux unterstützt und weiterentwickelt. - Finanziert die NSA irgendwelche Folgemaßnahmen?
Derzeit zieht es die NSA nicht in Betracht, Vorschläge für Folgemaßnahmen zu prüfen. - Welche Art von Unterstützung ist verfügbar?
Wir beabsichtigen, Fragen über die Mailingliste selinux@tycho.nsa.gov zu klären, können jedoch nicht auf alle site-spezifischen Fragen antworten. - Wer hat geholfen? Was haben sie getan?
Ein sicherheitsverbesserter Linux-Prototyp wurde von der NSA in Zusammenarbeit mit Forschungspartnern von NAI Labs, Secure Computing Corporation (SCC) und MITER Corporation entwickelt. Nach der ursprünglichen öffentlichen Veröffentlichung folgten viele weitere Materialien. . - Wie kann ich mehr erfahren?
Wir empfehlen Ihnen, unsere Webseiten zu besuchen, die Dokumentation und frühere Forschungsarbeiten zu lesen sowie an unserer Mailingliste selinux@vger.kernel.org teilzunehmen.
Finden Sie die Übersetzung hilfreich? Schreiben Sie Kommentare!
Quelle: habr.com
