Compte de première main sur la façon dont il est créé et ensuite préparé pour la certification pour travailler avec des données sous le titre de "importance spéciale" protégé OS Astra Linux.

Qu'est-ce que Astra Linux?

Astra est une distribution Linux domestique qui combine des composants communautaires distribués sous des licences ouvertes telles que GPL, MPL, Xiph License, etc., et des logiciels propriétaires du même groupe de sociétés. La fonctionnalité utilisateur est principalement fermée par des composants issus de logiciels open source - des mécanismes Linux standard sont utilisés pour effectuer des tâches de base, telles que le lancement d'applications, la virtualisation, le support matériel ou Steam. Les composants de notre propre développement résolvent essentiellement deux tâches clés: assurer la sécurité, ainsi que l'interaction de l'interface graphique du système d'exploitation et des humains.
Du point de vue de l'octroi de licences, la distribution est un objet complexe (concept de la partie 4 du Code civil de la Fédération de Russie), c'est-à -dire œuvre composite, de sorte que sa distribution dans son ensemble présente certaines limites. Bien que tous les composants des logiciels open source inclus dans le produit conservent leur statut gratuit.





Des versions d'Astra Linux existent pour une grande variété de plates-formes. De plus, le nom de la plateforme est «caché» dans le premier chiffre du numéro de version:
- 1 et 2 - Intel (versions Smolensk et Oryol);
- 3 - IBM System Z (Mourmansk);
- 4 - BRAS (Novorossiysk)
- 6 - processeurs MIPS (Sébastopol);
- 8 - Elbrus (Leningrad).
Il semblerait qu'une solution inhabituelle consiste à amener le type de plate-forme en première position, après avoir reçu une étrange séquence de versions - 1.6, 2.12.13, 8.1, etc. Mais cela a été fait délibérément afin de simplifier la vie du support technique, car visuellement l'interface graphique du système d'exploitation est identique sur n'importe quelle plate-forme matérielle, quel que soit le domaine d'application cible de l'ordinateur: du serveur au smartphone. Ainsi, lors d'une conversation avec l'utilisateur, vous pouvez rapidement comprendre quel type de plateforme en question.
Soit dit en passant, la version pour chaque plate-forme a son propre nom de code en l'honneur de l'une des villes héroïques de la Russie. Il n'y a pas de lignes directrices ici, nous comptons sur un sens de la beauté.
Parmi les versions développées d'Astra, il existe à la fois
des distributions
régulières et des versions protégées (édition spéciale), axées sur le travail avec des données confidentielles, certifiées conformément aux exigences de sécurité de l'information de tous les systèmes de certification en Russie. Du point de vue de l'ensemble des fonctions utilisateur, les versions sont presque les mêmes. Cependant, le système de protection en eux est construit de différentes manières. Certains composants de la version spéciale requise pour travailler avec des données confidentielles, bien qu'ils ne soient pas nécessairement redondants pour les utilisateurs ordinaires et les entreprises, ne sont pas inclus dans la version régulière, car Le cadre réglementaire et juridique de la Fédération de Russie requiert leur certification obligatoire.
Version de base - quoi et pour qui
La version régulière d'Astra Linux est destinée aux entreprises. Pour les utilisateurs à domicile, lorsqu'elle est utilisée à des fins non commerciales, la licence est gratuite - mais en cours de développement, nous nous efforçons de satisfaire les besoins du segment des entreprises. En fin de compte, nous sommes également une entreprise commerciale et le segment des utilisateurs à domicile est très difficile. Il existe différentes distributions Linux pour eux, y compris des distributions gratuites.
La version régulière d'Astra Linux utilise un modèle de contrôle d'accès discrétionnaire - les utilisateurs décident eux-mêmes à qui ils peuvent accorder des droits d'accès à leurs fichiers. Les programmes tiers (navigateurs, suites bureautiques, etc.) fonctionnent exactement de la même manière que dans les autres distributions Linux.

Comme tout autre logiciel, la version régulière d'Astra Linux peut être téléchargée ou achetée (pour les organisations) par voie électronique sans aucun support physique. Soit dit en passant, cette version est également publiée sur la ressource de la communauté Linux internationale, où il existe un bon canal externe.
Suivant les tendances mondiales, la version se développe activement dans le sens de la prise en charge de nouveaux équipements et technologies.
Version spéciale
En plus des versions régulières, Astra Linux a des versions dites spéciales - Special Edition, qui sont développées dans l'attente d'une certification par le FSTEC de Russie et d'autres systèmes de certification. Du point de vue de la fonctionnalité utilisateur, la version spéciale n'est pratiquement pas différente de la version habituelle. Cependant, il implémente des composants supplémentaires pour augmenter la sécurité (juste auto-écrit), en particulier:
- Modèle obligatoire de contrôle d'accès (MAC) et de contrôle d'intégrité (MIC), lorsque tous les composants du système sont divisés hiérarchiquement par le degré d'importance pour sa sécurité, de l'utilisateur le plus non fiable (niveau d'intégrité 0) au système, administratif (niveau d'intégrité par défaut 63);
- vérification automatique de la signature numérique électronique de tout fichier du système pour se protéger contre les modifications non autorisées. En fait, le mécanisme EDS peut bloquer non seulement des fichiers individuels, mais même des scripts écrits dans n'importe quel éditeur de texte dans des langues comme Python ou Perl. Lorsque vous essayez de démarrer ou d'ouvrir un fichier, un module suspendu en mémoire à la volée vérifie l'exactitude de l'EDS et prend une décision quant à la possibilité de démarrer. Dans le cas des scripts, la signature numérique n'est pas placée dans le script lui-même, mais dans les attributs étendus du système de fichiers. Séparément, je voudrais noter l'utilisation du terme "signature numérique" en relation avec la fonction de sécurité mise en œuvre. Ce nom est intentionnellement emprunté à la norme nationale GOST R 34.10 et est utilisé dans notre documentation et nos documents de référence afin de séparer clairement la fonction de sécurité mise en œuvre dans Astra Linux de la tâche d'assurer la signification juridique d'un document électronique, qui peut être résolue par des moyens appropriés de création et de vérification d'une signature électronique;

- mode kiosque, au niveau du noyau, permettant le lancement d'un ensemble d'applications strictement défini;
- restriction du travail avec les langages de programmation interprétés;
- restreindre l'accès des utilisateurs à la console;
- la possibilité d'écraser des fichiers sur un disque avec des séquences de zéros et de uns en plusieurs passes;
- bloquer la connexion de périphériques externes "inconnus", ce qui empêche les logiciels malveillants d'entrer dans le système par le biais de diverses astuces avec des lecteurs flash. Ce n'est un secret pour personne que les systèmes d'entreprise peuvent être compromis en dispersant simplement des lecteurs flash mignons avec des logiciels malveillants dans le bâtiment dans l'espoir que quelqu'un du personnel les récupérera. Dans notre cas, une telle astuce ne fonctionnera pas.
Bien sûr, ce n'est pas une liste complète. Il y a des tonnes d'autres modules et composants. Tous ces outils fonctionnent indépendamment les uns des autres, offrant une sorte de séparation du système de sécurité. Toutes les fonctions de sécurité répertoriées sont mises en œuvre sur la base des développements nationaux originaux dans le domaine de la sécurité informatique sans l'utilisation de SELinux développé par la NSA.

En même temps, ils sont activés et désactivés indépendamment les uns des autres (par l'administrateur système). Pour certains composants, il existe différents modes de fonctionnement. Par exemple, pour l'outil de vérification EDS, vous pouvez activer le mode de formation lorsque des fichiers avec le mauvais EDS (ou qui ne l'ont pas) sont toujours lancés, mais un avertissement est émis au niveau du système. Tous ces mécanismes sont configurés par l'administrateur selon la politique de sécurité définie par la direction. En même temps, presque toute la configuration est déjà effectuée comme en mode graphique. Bien sûr, les administrateurs ont accès à l'ensemble complet d'outils basés sur la console pour automatiser les tâches d'installation et de configuration des sous-systèmes de sécurité.

La version actuelle d'Astra Linux Special Edition est Smolensk 1.6.Une version spéciale est en cours de développement, comme la version régulière, mais les innovations n'y entrent qu'après les tests et l'exécution dans une version régulière.
Comment nous avons préparé une version spéciale pour la certification
Chaque responsable de la sécurité et administrateur système, à sa manière, priorise les problèmes de sécurité des informations. Demandez-leur de créer un projet pour protéger une certaine infrastructure informatique, et chacun offrira sa propre solution, car il verra certaines de ses menaces et de ses accents. En ce qui concerne les sociétés commerciales, la décision quant à l'opinion à écouter est prise par l'entreprise à vos risques et périls.
Au niveau de l'État, tout risque doit être minimisé, par conséquent, nous avons besoin de mécanismes généraux pour évaluer l'efficacité de la protection, ou plutôt, pour confirmer que les systèmes d'information peuvent résister à un certain ensemble de menaces. Pour ce faire, certaines fonctions de sécurité doivent être implémentées dans les systèmes (par exemple, vérification de mot de passe, fonctions de contrôle d'accès, etc.), et d'autre part, le processus de développement et le code de ce système lui-même doivent répondre à certaines exigences de confiance. La tâche du système de certification et de l'organisme de certification est de vérifier la conformité d'un produit spécifique avec toutes les conditions fonctionnelles et les exigences de confiance.
En fonction de la fonctionnalité des systèmes d'information, différents services sont impliqués dans les questions de leur certification pour la possibilité de les utiliser dans le travail avec des données importantes. Par exemple, le FSTEC de Russie est engagé dans la certification d'outils de sécurité de l'information. Cependant, le FSB et le ministère de la Défense ont également leurs propres systèmes de certification pour les équipements de protection. Soit dit en passant, Astra Linux Special Edition est le seul système d'exploitation qui possède tous les certificats dans notre pays.



Degré de secret
En ce qui concerne les systèmes de traitement des données à accès restreint, la nature de ces données joue un rôle important - il s'agit des informations à distribuer gratuitement, des données personnelles, des informations médicales précieuses, du secret d'État, y compris des informations d'une importance particulière. Il est logique que pour chaque degré de confidentialité, il existe une liste d'exigences fonctionnelles et de critères pour évaluer la «procuration» du code des systèmes d'information - sa propre classe de protection, y compris le niveau de confiance. La liste des exigences pour chaque niveau suivant comprend une liste pour le niveau précédent, ainsi que certaines conditions supplémentaires. Une pratique similaire existe dans de nombreux pays. Dans le même temps, chacun insiste sur certains de ses propres critères et partage à sa manière les données par niveaux. Six classes sont acceptées en Russie, la sixième étant la plus basse et la première la plus élevée.
Les grades inférieurs - du sixième au quatrième - sont des exigences pour la protection des données personnelles, ainsi que des secrets commerciaux et officiels. Sur le marché russe, les produits correspondant à ces classes ne sont plus rares. Nous parlerons de la certification pour les classes supérieures - de la troisième à la première - avec les timbres «secret», «top secret» et «importance spéciale» (exemples vivants - dessins du nouveau combattant Sukhoi ou données générales sur l'état des infrastructures critiques dans le pays, il n'y a pas si longtemps assimilée à un secret d'État). Et ici, la partie la plus difficile n'est même pas les exigences fonctionnelles (au final, développer quelque chose n'est pas un problème), mais confirmer la confiance dans l'OS. Cela nécessite un modèle mathématique correct de contrôle d'accès aux données et la justification de la correspondance d'un produit logiciel réel avec ce modèle mathématique. C'est-à -dire La procédure de développement d'un système axé sur l'utilisation de données secrètes est beaucoup plus compliquée.
Voici un exemple de réaction du système à l'inclusion de politiques MLS (sécurité à plusieurs niveaux) dans SELinux dans la distribution Fedora:

Comme nous pouvons le voir, ni le shell graphique, ni les applications de console ne peuvent gérer correctement la situation lorsque le système inclut une stratégie pour travailler avec plusieurs niveaux de confidentialité. En conséquence, tout cela est nécessaire soit pour recycler, soit pour faire le vôtre, ce qui se fait dans Astra Linux.
Soit dit en passant, la certification ne limite pas la liberté des administrateurs système en termes de protection renforcée. La réussite de la certification reflète la satisfaction des exigences minimales, cependant, chaque entreprise, agence gouvernementale et même chaque agent de sécurité individuel peut améliorer le système comme bon lui semble. La certification ne fait que confirmer le «minimum nécessaire» de la disponibilité de la fonctionnalité de sécurité des informations et l'exactitude de son travail, ainsi que l'engagement du fournisseur à maintenir cette fonctionnalité tout au long du cycle de vie, par exemple:
- identification et authentification;
- contrôle d'accès;
- Journalisation des événements de sécurité
- restriction de l'environnement logiciel;
- isolement des processus;
- protection de la mémoire;
- contrôle d'intégrité;
- assurer un fonctionnement fiable;
- filtrage de flux réseau

Préparation à la certification
La procédure de certification en pratique est assez longue. Cependant, la version mentionnée n'a été certifiée que pour six mois, ce qui est assez rapide, car il s'agit de la sixième version testée. Les cinq versions précédentes (et il s'agit d'une dizaine d'années de développement) Astra Linux est allé chercher des certificats jusqu'à la deuxième classe, et sans ces développements, il ne serait pas possible de déboguer tous les mécanismes de protection, d'adapter le code pour vérification, de passer les vérifications nécessaires et de «glisser» à première année.
Il convient de noter qu'à l'heure actuelle, la certification n'est pas un gel de produit, mais l'élimination rapide et obligatoire des vulnérabilités identifiées dans une solution certifiée.
La chose la plus importante qui s'est produite au cours des six derniers mois est que l'Astra Linux Special Edition a suivi une procédure à plusieurs niveaux pour vérifier et analyser le code du programme. Cependant, différentes parties du produit ont été testées différemment.
Le système de sécurité le plus sérieux a été testé. En plus du modèle discrétionnaire standard, il utilise un modèle basé sur les rôles de contrôle d'accès et de contrôle d'intégrité, qui prend en charge le degré de sécurité de l'information existant en Russie - «secret», «top secret», etc. Selon ce modèle, chaque compte d'utilisateur, processus, fichier ou répertoire se voit attribuer une étiquette de confidentialité par laquelle les droits d'accès sont déterminés. Par exemple, les fichiers créés par un département de production de réservoirs top secret ne sont pas disponibles pour les autres départements avec un niveau secret ou inférieur. En outre, une étiquette d'intégrité est affectée à tous les comptes d'utilisateurs, processus, fichiers ou répertoires, par conséquent, par exemple, les processus utilisateur à faible intégrité ne pourront pas modifier les fichiers système à haute intégrité. Même si un processus utilisateur obtient des privilèges système suite à l’exploitation d’une vulnérabilité, il ne peut pas affecter les performances du système.

Dans la capture d'écran, un exemple de la façon dont un utilisateur à faible intégrité a reçu des droits de superutilisateur, mais ne peut pas copier des données en même temps.
Pour justifier la sécurité d'une telle disposition d'accès, un modèle mathématique a été construit, dont l'intégrité logique, l'isolement et l'exactitude ont été testés.
En outre, le code source du système de sécurité a été vérifié pour la conformité avec le modèle mathématique déclaré. Et c'est une procédure assez compliquée et laborieuse, qui a été menée conjointement avec le personnel de l'Institut de programmation des systèmes de l'Académie russe des sciences.
Il convient de noter qu'en Russie, nous pouvons désormais résoudre des problèmes similaires de vérification de la conformité du code avec le modèle mathématique pour les composants d'une complexité totale pouvant atteindre 10 000 lignes. Et le système de sécurité Astra Linux est bien dans ces limites. Mais le noyau Linux compte des dizaines de millions de lignes de code, et il n'existe actuellement aucun outil pour une vérification mathématique rigoureuse d'un projet de cette taille non seulement dans l'entreprise, mais dans le pays dans son ensemble. Ainsi, d'autres mécanismes de contrôle sont utilisés pour eux - à l'aide d'outils d'analyse de code statique et dynamique du même Institut de programmation système de l'Académie russe des sciences ou de son propre développement. L'objectif de cette étape est de vérifier le code pour les erreurs, les signets ou les portes dérobées. La réussite de cette vérification offre un haut niveau de confiance dans le code et, par conséquent, la possibilité de sa certification à la première classe de protection des informations.

La certification détermine non seulement l'apparence du code Astra Linux, mais aussi la façon dont le produit (ou plutôt sa version spéciale) est livré à l'utilisateur - il est distribué uniquement sur des disques. Cela est dû à la fois aux limites des documents réglementaires: confirmer que le code du programme n'a pas été modifié, ainsi qu'aux tâches réelles de stockage à long terme du support d'origine. Techniquement, il peut s'agir d'un lecteur flash, mais ils ont tendance à se casser, tandis que le stockage sur un disque optique est plus prévisible (et il existe une garantie contre la réécriture).
Et les concurrents?
À l'heure actuelle, personne ne peut se targuer d'une certification pour un niveau de protection aussi élevé.
Mais même en supposant que demain il y aura un concurrent avec une version de l'OS qui pourrait hypothétiquement répondre aux conditions de certification, dans un proche avenir, il ne sera pas en mesure de presser Astra Linux. L'obstacle sera la procédure même de certification, ou plutôt sa partie relative à la vérification du code du programme. Selon nos estimations, seul l'Institut de programmation système de l'Académie russe des sciences et Astra Linux disposent des ressources et des connaissances scientifiques pour cette procédure en Russie.
Si nous évaluons le potentiel scientifique et technique des entreprises, la certification en Russie pourrait théoriquement passer les produits Microsoft. L'entreprise dispose des ressources et des compétences nécessaires, ils parlent même de l'importance de la tâche de vérification du code sur YouTube. Cependant, il est peu probable qu'ils décident d'ouvrir la source. Et plus encore, ils ne finaliseront pas leur modèle de sécurité pour les exigences russes (je rappelle qu'aux États-Unis, il existe une liste d'exigences différente pour la certification d'État).
Peut-être que Google et Kaspersky Lab auraient pu suivre le même chemin avec leur projet Kaspersky OS protégé, mais nous n'avons aucune information sur leur compte. «». , .
Astra?
Astra Linux , . — , . — , , , . . , , — , (.. , ). IT. , .. ( ), , .
— Astra Linux Special Edition — , , , . , .
Astra Linux . , . Astra Linux , , .. . , — , .. Astra Linux, , , 10- . .