So erstellen Sie ein Betriebssystem, das gemäß dem Schutz der Klasse I zertifiziert ist

Bericht aus erster Hand darüber, wie es erstellt und dann für die Zertifizierung für die Arbeit mit Daten unter der Überschrift "Special Important Protected OS Astra Linux" vorbereitet wird.



Was ist Astra Linux?




Astra ist eine inländische Linux-Distribution, die Komponenten aus der Community kombiniert, die unter offenen Lizenzen wie GPL, MPL, Xiph License usw. vertrieben werden, und proprietäre Software derselben Unternehmensgruppe. Die Benutzerfunktionalität wird größtenteils durch Komponenten aus Open Source-Software geschlossen. Standard-Linux-Mechanismen werden verwendet, um grundlegende Aufgaben wie das Starten von Anwendungen, Virtualisierung, Hardware-Support oder Steam auszuführen. Komponenten unserer eigenen Entwicklung lösen grundsätzlich zwei Hauptaufgaben: Gewährleistung der Sicherheit sowie das Zusammenspiel der grafischen Oberfläche des Betriebssystems und des Menschen.

Unter dem Gesichtspunkt der Lizenzierung ist die Verteilung ein komplexes Objekt (Konzept aus Teil 4 des Bürgerlichen Gesetzbuchs der Russischen Föderation), d.h. zusammengesetzte Arbeit, so dass seine Verteilung als Ganzes einige Einschränkungen hat. Obwohl alle im Produkt enthaltenen Komponenten der Open Source-Software ihren kostenlosen Status behalten.











Versionen von Astra Linux gibt es für eine Vielzahl von Plattformen. Darüber hinaus ist der Name der Plattform in der ersten Ziffer der Versionsnummer „versteckt“:

  • 1 und 2 - Intel (Versionen Smolensk und Oryol);
  • 3 - IBM System Z (Murmansk);
  • 4 - ARM (Novorossiysk)
  • 6 - MIPS-Prozessoren (Sewastopol);
  • 8 - Elbrus (Leningrad).

Es scheint, dass eine ungewöhnliche Lösung darin besteht, den Plattformtyp an die erste Position zu bringen, nachdem eine seltsame Folge von Versionen erhalten wurde - 1.6, 2.12.13, 8.1 usw. Dies wurde jedoch bewusst gemacht, um die Lebensdauer des technischen Supports zu vereinfachen, da die grafische Oberfläche des Betriebssystems auf jeder Hardwareplattform unabhängig vom Zielanwendungsbereich des Computers optisch gleich aussieht: vom Server bis zum Smartphone. In einem Gespräch mit dem Benutzer können Sie also schnell verstehen, um welche Art von Plattform es sich handelt.

Übrigens hat die Version für jede Plattform einen eigenen Codenamen zu Ehren einer der Heldenstädte Russlands. Hier gibt es keine Richtlinien, wir verlassen uns auf einen Sinn für Schönheit.

Unter den entwickelten Versionen von Astra gibt es sowohl reguläre als auch geschützte Distributionen (Special Edition), die sich auf die Arbeit mit vertraulichen Daten konzentrieren und gemäß den Informationssicherheitsanforderungen aller Zertifizierungssysteme in Russland zertifiziert sind. Aus Sicht der Benutzerfunktionen unterscheiden sich die Versionen kaum. Das darin enthaltene Schutzsystem ist jedoch unterschiedlich aufgebaut. Einige Komponenten der speziellen Version, die für die Arbeit mit vertraulichen Daten erforderlich sind, sind in der regulären Version nicht enthalten, da sie für normale Benutzer und Unternehmen nicht unbedingt redundant sind Der regulatorische und rechtliche Rahmen der Russischen Föderation erfordert deren obligatorische Zertifizierung.

Basisversion - was und für wen


Die reguläre Version von Astra Linux richtet sich an Firmenkunden. Für Privatanwender ist die Lizenz kostenlos, wenn sie für nichtkommerzielle Zwecke verwendet wird. In der Entwicklung bemühen wir uns jedoch, die Anforderungen des Unternehmenssegments zu erfüllen. Letztendlich sind wir auch ein Handelsunternehmen, und das Segment der Heimanwender ist sehr schwierig. Es gibt verschiedene Linux-Distributionen für sie, einschließlich kostenloser.

Die reguläre Version von Astra Linux verwendet ein diskretionäres Zugriffssteuerungsmodell. Benutzer entscheiden selbst, wem sie Zugriffsrechte auf ihre Dateien gewähren können. Programme von Drittanbietern (Browser, Office-Suiten usw.) werden genauso ausgeführt wie in anderen Linux-Distributionen.



Wie jede andere Software kann die reguläre Version von Astra Linux (für Unternehmen) ohne physische Medien elektronisch heruntergeladen oder gekauft werden. Diese Version wird übrigens auch auf der Ressource der internationalen Linux-Community veröffentlicht, wo es einen guten externen Kanal gibt.

Den globalen Trends folgend, entwickelt sich die Version aktiv in Richtung Unterstützung neuer Geräte und Technologien.

Sonderversion


Zusätzlich zu den regulären Versionen verfügt Astra Linux über sogenannte Sonderversionen - Special Edition, die mit der Erwartung einer Zertifizierung durch die FSTEC von Russland und anderen Zertifizierungssystemen entwickelt wurden. Aus Sicht der Benutzerfunktionalität unterscheidet sich die Sonderversion praktisch nicht von der üblichen. Es werden jedoch zusätzliche Komponenten implementiert, um die Sicherheit zu erhöhen (nur selbst geschrieben), insbesondere:

  • Obligatorisches Modell der Zugriffskontrolle (MAC) und Integritätskontrolle (MIC), wenn alle Komponenten des Systems hierarchisch durch den Grad der Sicherheit für seine Sicherheit vom nicht vertrauenswürdigen Benutzer (Integritätsstufe 0) bis zum administrativen System (standardmäßig Integritätsstufe 63) unterteilt sind;
  • Automatische Überprüfung der elektronischen digitalen Signatur einer Datei im System zum Schutz vor unbefugten Änderungen. Tatsächlich kann der EDS-Mechanismus nicht nur einzelne Dateien blockieren, sondern auch Skripte, die in einem beliebigen Texteditor in Sprachen wie Python oder Perl geschrieben wurden. Beim Versuch, eine Datei zu starten oder zu öffnen, überprüft ein Modul, das im laufenden Betrieb im Speicher hängt, das EDS auf Richtigkeit und entscheidet über die Möglichkeit des Starts. Bei Skripten wird die digitale Signatur nicht im Skript selbst platziert, sondern in den erweiterten Attributen des Dateisystems. Separat möchte ich auf die Verwendung des Begriffs "digitale Signatur" in Bezug auf die implementierte Sicherheitsfunktion hinweisen. Dieser Name wurde absichtlich aus der nationalen Norm GOST R 34.10 übernommen und in unseren Dokumentations- und Referenzmaterialien verwendet, um die in Astra Linux implementierte Sicherheitsfunktion klar von der Aufgabe zu trennen, die rechtliche Bedeutung eines elektronischen Dokuments sicherzustellen, das durch geeignete Mittel zur Erstellung und Überprüfung einer elektronischen Signatur gelöst werden kann.



  • Kiosk-Modus auf Kernel-Ebene, der den Start einer genau definierten Reihe von Anwendungen ermöglicht;
  • Einschränkung der Arbeit mit interpretierten Programmiersprachen;
  • den Benutzerzugriff auf die Konsole einschränken;
  • die Fähigkeit, Dateien auf einer Festplatte mit Folgen von Nullen und Einsen in mehreren Durchgängen zu überschreiben;
  • Blockieren der Verbindung von "unbekannten" externen Geräten, wodurch verhindert wird, dass Malware durch verschiedene Tricks mit Flash-Laufwerken in das System gelangt. Es ist kein Geheimnis, dass Unternehmenssysteme kompromittiert werden können, indem einfach niedliche Flash-Laufwerke mit Malware im Gebäude verteilt werden, in der Hoffnung, dass jemand vom Personal sie abholt. In unserem Fall funktioniert ein solcher Trick nicht.

Dies ist natürlich keine vollständige Liste. Es gibt Unmengen anderer Module und Komponenten. Alle diese Tools arbeiten unabhängig voneinander und bieten eine Art Trennung des Sicherheitssystems. Alle aufgeführten Sicherheitsfunktionen werden auf der Grundlage ursprünglicher innerstaatlicher Entwicklungen im Bereich der Computersicherheit ohne den von der NSA entwickelten Einsatz von SELinux implementiert.



Gleichzeitig werden sie unabhängig voneinander (vom Systemadministrator) ein- und ausgeschaltet. Für einige Komponenten gibt es verschiedene Betriebsarten. Beispielsweise können Sie für das EDS-Überprüfungstool den Trainingsmodus aktivieren, wenn Dateien mit dem falschen EDS (oder die es nicht haben) noch gestartet werden, aber auf Systemebene eine Warnung ausgegeben wird. Alle diese Mechanismen werden vom Administrator gemäß der vom Management festgelegten Sicherheitsrichtlinie konfiguriert. Gleichzeitig wird fast die gesamte Konfiguration bereits wie im grafischen Modus ausgeführt. Natürlich haben Administratoren Zugriff auf das gesamte konsolenbasierte Toolset, um die Aufgaben zum Einrichten und Konfigurieren von Sicherheitssubsystemen zu automatisieren.




Die aktuelle Version der Astra Linux Special Edition ist Smolensk 1.6.

Es wird eine spezielle Version entwickelt, wie die reguläre, aber Innovationen werden erst nach dem Testen und Ausführen einer regulären Version eingeführt.

Wie wir eine spezielle Version für die Zertifizierung vorbereitet haben


Jeder Sicherheitsbeauftragte und Systemadministrator priorisiert auf seine Weise Fragen der Informationssicherheit. Bitten Sie sie, ein Projekt zum Schutz einer bestimmten IT-Infrastruktur zu erstellen, und jeder bietet seine eigene Lösung an, da er einige seiner Bedrohungen und Akzente sieht. Wenn es um Handelsunternehmen geht, entscheidet das Unternehmen auf eigenes Risiko, wessen Meinung zu hören ist.

Auf staatlicher Ebene muss jedes Risiko minimiert werden. Daher benötigen wir allgemeine Mechanismen zur Bewertung der Wirksamkeit des Schutzes oder vielmehr zur Bestätigung, dass Informationssysteme bestimmten Bedrohungen widerstehen können. Zu diesem Zweck müssen bestimmte Sicherheitsfunktionen in den Systemen implementiert werden (z. B. Kennwortüberprüfung, Zugriffssteuerungsfunktionen usw.), und andererseits müssen der Entwicklungsprozess und der Code dieses Systems selbst bestimmte Vertrauensanforderungen erfüllen. Die Aufgabe des Zertifizierungssystems und der Zertifizierungsstelle besteht darin, ein bestimmtes Produkt auf Übereinstimmung mit allen Funktionsbedingungen und Vertrauensanforderungen zu überprüfen.

Abhängig von der Funktionalität von Informationssystemen sind verschiedene Abteilungen an Fragen ihrer Zertifizierung beteiligt, um sie für die Arbeit mit wichtigen Daten verwenden zu können. Beispielsweise befasst sich FSTEC of Russia mit der Zertifizierung von Informationssicherheitstools. Das FSB und das Verteidigungsministerium verfügen jedoch auch über eigene Zertifizierungssysteme für Schutzausrüstung. Die Astra Linux Special Edition ist übrigens das einzige Betriebssystem, das über alle Zertifikate in unserem Land verfügt.







Grad der Geheimhaltung


In Bezug auf Datenverarbeitungssysteme mit eingeschränktem Zugriff spielt die Art dieser Daten eine wichtige Rolle - dies sind Informationen zur freien Verbreitung, personenbezogene Daten, wertvolle medizinische Informationen, Staatsgeheimnisse, einschließlich Informationen von besonderer Bedeutung. Es ist logisch, dass es für jeden Grad der Geheimhaltung eine Liste funktionaler Anforderungen und Kriterien für die Beurteilung der "Vollmacht" des Kodex von Informationssystemen gibt - eine eigene Schutzklasse, die das Vertrauensniveau umfasst. Die Liste der Anforderungen für jede nachfolgende Ebene enthält eine Liste für die vorherige Ebene sowie einige zusätzliche Bedingungen. Eine ähnliche Praxis gibt es in vielen Ländern. Gleichzeitig besteht jeder auf einigen seiner eigenen Kriterien und teilt die Daten sogar auf seine eigene Weise nach Ebenen. In Russland werden sechs Klassen akzeptiert, wobei die sechste die niedrigste und die erste die höchste ist.

Die unteren Klassenstufen - von der sechsten bis zur vierten - sind Anforderungen für den Schutz personenbezogener Daten sowie für Geschäfts- und Amtsgeheimnisse. Auf dem russischen Markt sind Produkte, die diesen Klassen entsprechen, nicht mehr selten. Wir werden über die Zertifizierung für die höchsten Klassen - von der dritten bis zur ersten - mit den Briefmarken "geheim", "streng geheim" und "besondere Bedeutung" sprechen (lebende Beispiele - Zeichnungen des neuen Sukhoi-Kämpfers oder allgemeine Daten zum Zustand der kritischen Infrastruktur im Land vor nicht allzu langer Zeit gleichgesetzt mit Staatsgeheimnis). Und hier ist der schwierigste Teil nicht einmal die funktionalen Anforderungen (am Ende ist es kein Problem, etwas zu entwickeln), sondern das Vertrauen in das Betriebssystem zu bestätigen. Dies erfordert ein korrektes mathematisches Modell der Datenzugriffskontrolle und die Rechtfertigung der Entsprechung eines realen Softwareprodukts zu diesem mathematischen Modell. Das heißt, Das Verfahren zur Entwicklung eines Systems, das sich auf die Arbeit mit geheimen Daten konzentriert, ist um ein Vielfaches komplizierter.

Hier ist ein Beispiel für eine Systemreaktion auf die Aufnahme von MLS-Richtlinien (Multi Level Security) in SELinux in die Fedora-Distribution:



Wie wir sehen können, können weder die grafische Shell noch die Konsolenanwendungen die Situation korrekt handhaben, wenn das System eine Richtlinie für die Arbeit mit mehreren Datenschutzstufen enthält. Dementsprechend ist all dies entweder zum Recyceln oder zum eigenen Erstellen erforderlich, was in Astra Linux erfolgt.

Die Zertifizierung schränkt übrigens die Freiheit der Systemadministratoren in Bezug auf einen verbesserten Schutz nicht ein. Das Bestehen der Zertifizierung spiegelt die Erfüllung der Mindestanforderungen wider. Jedes Unternehmen, jede Regierungsbehörde und sogar jeder einzelne Sicherheitsbeamte kann das System jedoch nach eigenem Ermessen verbessern. Die Zertifizierung bestätigt nur das „notwendige Minimum“ der Verfügbarkeit von Informationssicherheitsfunktionen und die Richtigkeit ihrer Arbeit sowie die Verpflichtung des Anbieters, diese Funktionen während des gesamten Lebenszyklus aufrechtzuerhalten, zum Beispiel:

  • Identifizierung und Authentifizierung;
  • Zugangskontrolle;
  • Protokollierung von Sicherheitsereignissen
  • Einschränkung der Softwareumgebung;
  • Prozessisolation;
  • Speicherschutz;
  • Integritätskontrolle;
  • Gewährleistung eines zuverlässigen Betriebs;
  • Netzwerk-Stream-Filterung



Vorbereitung der Zertifizierung


Das Zertifizierungsverfahren in der Praxis ist ziemlich langwierig. Die erwähnte Version wurde jedoch nur für sechs Monate zertifiziert, was schnell genug ist, da dies die sechste Version ist, die getestet wurde. In den vorherigen fünf Versionen (und dies sind ungefähr zehn Jahre Entwicklungszeit) hat Astra Linux Zertifikate bis zur zweiten Klasse erhalten. Ohne diese Entwicklungen wäre es nicht möglich, alle Schutzmechanismen zu debuggen, den Code für die Überprüfung anzupassen, die erforderlichen Prüfungen zu bestehen und zu "wischen" erste Klasse.

Es ist zu beachten, dass die Zertifizierung derzeit kein Einfrieren von Produkten ist, sondern die obligatorische sofortige Beseitigung identifizierter Schwachstellen in einer zertifizierten Lösung.

Das Wichtigste, was in den letzten sechs Monaten passiert ist, ist, dass die Astra Linux Special Edition ein mehrstufiges Verfahren zum Überprüfen und Analysieren von Programmcode durchlaufen hat. Verschiedene Teile des Produkts wurden jedoch unterschiedlich getestet.

Das schwerwiegendste Sicherheitssystem wurde getestet. Zusätzlich zum Standard-Ermessensmodell wird ein mandatiertes rollenbasiertes Modell der Zugriffskontrolle und Integritätskontrolle verwendet, das den in Russland bestehenden Grad an Informationssicherheit unterstützt - "geheim", "streng geheim" usw. Gemäß diesem Modell wird jedem Benutzerkonto, Prozess, jeder Datei oder jedem Verzeichnis ein Datenschutzetikett zugewiesen, anhand dessen die Zugriffsrechte bestimmt werden. Beispielsweise stehen Dateien, die von einer streng geheimen Tankproduktionsabteilung erstellt wurden, anderen Abteilungen mit einer geheimen Ebene oder niedriger nicht zur Verfügung. Darüber hinaus wird allen Benutzerkonten, Prozessen, Dateien oder Verzeichnissen eine Integritätsbezeichnung zugewiesen. Daher können Benutzerprozesse mit geringer Integrität beispielsweise keine Dateien mit hoher Integrität des Systems ändern. Selbst wenn ein Benutzerprozess aufgrund der Ausnutzung einer Sicherheitsanfälligkeit Systemberechtigungen erhält, kann dies die Systemleistung nicht beeinträchtigen.



Im Screenshot ein Beispiel dafür, wie ein Benutzer mit geringer Integrität Superuser-Rechte erhalten hat, aber nicht gleichzeitig Daten kopieren kann.

Um die Sicherheit einer solchen Zugriffsbereitstellung zu rechtfertigen, wurde ein mathematisches Modell erstellt, das auf logische Integrität, Isolation und Korrektheit getestet wurde.

Ferner wurde der Quellcode des Sicherheitssystems auf Übereinstimmung mit dem deklarierten mathematischen Modell überprüft. Und dies ist ein ziemlich kompliziertes und mühsames Verfahren, das gemeinsam mit den Mitarbeitern des Instituts für Systemprogrammierung der Russischen Akademie der Wissenschaften durchgeführt wurde.

Es ist erwähnenswert, dass wir jetzt in Russland ähnliche Probleme lösen können, wenn der Code auf Übereinstimmung mit dem mathematischen Modell für Komponenten mit einer Gesamtkomplexität von bis zu 10.000 Zeilen überprüft wird. Das Astra Linux-Sicherheitssystem liegt innerhalb dieser Grenzen. Der Linux-Kernel besteht jedoch aus mehreren zehn Millionen Codezeilen, und es gibt derzeit keine Tools für die strenge mathematische Überprüfung eines Projekts dieser Größe, nicht nur im Unternehmen, sondern im gesamten Land. Daher werden für sie andere Kontrollmechanismen verwendet - mit Hilfe von statischen und dynamischen Code-Analyse-Tools desselben Instituts für Systemprogrammierung der Russischen Akademie der Wissenschaften oder eigener Entwicklung. Ziel dieses Schritts ist es, den Code auf Fehler, Lesezeichen oder Hintertüren zu überprüfen. Das Bestehen dieser Prüfung bietet ein hohes Maß an Vertrauen in den Code und dementsprechend die Möglichkeit seiner Zertifizierung für die erste Klasse des Informationsschutzes.



Die Zertifizierung bestimmt nicht nur, wie Astra Linux-Code aussieht, sondern auch, wie das Produkt (oder vielmehr seine spezielle Version) an den Benutzer geliefert wird - es wird nur auf Datenträgern verteilt. Dies ist sowohl auf die Einschränkungen der Regulierungsdokumente zurückzuführen: um zu bestätigen, dass der Programmcode nicht geändert wurde, als auch auf die eigentlichen Aufgaben der Langzeitspeicherung des Originalmediums. Technisch gesehen kann es sich um ein Flash-Laufwerk handeln, das jedoch häufig beschädigt wird, während die Speicherung auf einer optischen Festplatte vorhersehbarer ist (und eine Garantie gegen erneutes Schreiben besteht).

Was ist mit Wettbewerbern?


Im Moment kann sich niemand einer Zertifizierung für eine so hohe Schutzklasse rühmen.

Aber selbst wenn man davon ausgeht, dass es morgen einen Konkurrenten mit einer Version des Betriebssystems geben wird, die hypothetisch die Zertifizierungsbedingungen erfüllen könnte, wird es in naher Zukunft nicht in der Lage sein, Astra Linux zu quetschen. Die Barriere wird das eigentliche Zertifizierungsverfahren sein, oder vielmehr sein Teil, der sich auf die Überprüfung des Programmcodes bezieht. Nach unseren Schätzungen verfügen nur das Institut für Systemprogrammierung der Russischen Akademie der Wissenschaften und Astra Linux über die Ressourcen und wissenschaftlichen Erkenntnisse für dieses Verfahren in Russland.

Wenn wir das wissenschaftliche und technische Potenzial von Unternehmen bewerten, könnte die theoretische Zertifizierung in Russland Microsoft-Produkte bestehen. Das Unternehmen verfügt über die erforderlichen Ressourcen und Kompetenzen und spricht sogar über die Bedeutung der Aufgabe der Codeüberprüfung auf YouTube. Es ist jedoch unwahrscheinlich, dass sie sich entscheiden, die Quelle zu öffnen. Und noch mehr, sie werden ihr Sicherheitsmodell für russische Anforderungen nicht fertigstellen (ich erinnere mich, dass es in den USA eine andere Liste von Anforderungen für die staatliche Zertifizierung gibt).

Möglicherweise hätten Google und Kaspersky Lab mit ihrem geschützten Kaspersky OS-Projekt denselben Weg einschlagen können. Wir haben jedoch keine Informationen zu ihrem Konto.Das Unternehmen „Basalt“ versuchte, eine Zertifizierung in der zweiten Klasse zu erhalten. Uns ist jedoch noch nicht klar, ob sie technisches und wissenschaftliches Potenzial haben.

Wer benutzt Astra?


Astra Linux , . — , . — , , , . . , , — , (.. , ). IT. , .. ( ), , .

— Astra Linux Special Edition — , , , . , .

Astra Linux . , . Astra Linux , , .. . , — , .. Astra Linux, , , 10- . .

Source: https://habr.com/ru/post/de456622/


All Articles