Uma conta em primeira mão de como ele é criado e, em seguida, preparado para a certificação para trabalhar com dados sob o título de OS Astra Linux protegido por "importância especial".

O que é o Astra Linux?

O Astra é uma distribuição doméstica do Linux que combina componentes da comunidade distribuídos sob licenças abertas, como GPL, MPL, Xiph License, etc., e software proprietário do mesmo grupo de empresas. A funcionalidade do usuário é geralmente fechada por componentes de software de código aberto - mecanismos padrão do Linux são usados para executar tarefas básicas, como iniciar aplicativos, virtualização, suporte de hardware ou Steam. Os componentes de nosso próprio desenvolvimento basicamente resolvem duas tarefas principais: garantir a segurança, bem como a interação da interface gráfica do sistema operacional e dos seres humanos.
Do ponto de vista do licenciamento, a distribuição é um objeto complexo (conceito da parte 4 do Código Civil da Federação Russa), ou seja, trabalho composto, portanto, sua distribuição como um todo tem algumas limitações. Embora todos os componentes do software de código aberto incluídos no produto mantenham seu status livre.





Existem versões do Astra Linux para uma ampla variedade de plataformas. Além disso, o nome da plataforma está "oculto" no primeiro dígito do número da versão:
- 1 e 2 - Intel (versões Smolensk e Oryol);
- 3 - IBM System Z (Murmansk);
- 4 - ARM (Novorossiysk)
- 6 - processadores MIPS (Sebastopol);
- 8 - Elbrus (Leningrado).
Parece que uma solução incomum é levar o tipo de plataforma para a primeira posição, tendo recebido uma estranha sequência de versões - 1.6, 2.12.13, 8.1, etc. Mas isso foi feito deliberadamente para simplificar a vida útil do suporte técnico, pois visualmente a interface gráfica do sistema operacional parece a mesma em qualquer plataforma de hardware, independentemente da área de aplicação do computador: do servidor ao smartphone. Portanto, em uma conversa com o usuário, você pode entender rapidamente que tipo de plataforma em questão.
A propósito, a versão para cada plataforma tem seu próprio nome de código em homenagem a uma das cidades heroicas da Rússia. Não há diretrizes aqui, contamos com um senso de beleza.
Entre as versões desenvolvidas do Astra, existem distribuições
regulares e protegidas (Special Edition), focadas no trabalho com dados confidenciais, certificados de acordo com os requisitos de segurança da informação de todos os sistemas de certificação na Rússia. Do ponto de vista do conjunto de funções do usuário, as versões dificilmente diferem. No entanto, o sistema de proteção neles é construído de maneiras diferentes. Alguns componentes da versão especial necessários para trabalhar com dados confidenciais, embora não sejam necessariamente redundantes para usuários e empresas comuns, não estão incluídos na versão regular, porque A estrutura normativa e legal da Federação Russa requer sua certificação obrigatória.
Versão básica - o quê e para quem
A versão regular do Astra Linux é voltada para clientes corporativos. Para usuários domésticos, quando usada para fins não comerciais, a licença é gratuita - mas, no desenvolvimento, nos esforçamos para satisfazer as necessidades do segmento corporativo. No final, também somos uma empresa comercial, e o segmento de usuários domésticos é muito difícil. Existem várias distribuições Linux para eles, incluindo as gratuitas.
A versão regular do Astra Linux usa um modelo de controle de acesso discricionário - os usuários decidem por si mesmos a quem podem conceder direitos de acesso aos seus arquivos. Programas de terceiros (navegadores, suítes de escritório etc.) são executados exatamente da mesma maneira que em outras distribuições Linux.

Como qualquer outro software, a versão regular do Astra Linux pode ser baixada ou comprada (para organizações) eletronicamente, sem qualquer mídia física. A propósito, esta versão também é publicada nos recursos da comunidade internacional do Linux, onde existe um bom canal externo.
Seguindo as tendências globais, a versão está se desenvolvendo ativamente na direção de oferecer suporte a novos equipamentos e tecnologias.
Versão especial
Além das versões regulares, o Astra Linux possui as chamadas versões especiais - Edição Especial, que são desenvolvidas com a expectativa de certificação pelo FSTEC da Rússia e outros sistemas de certificação. Do ponto de vista da funcionalidade do usuário, a versão especial praticamente não difere da versão usual. No entanto, implementa componentes adicionais para aumentar a segurança (apenas auto-gravada), em particular:
- Modelo obrigatório de controle de acesso (MAC) e controle de integridade (MIC), quando todos os componentes do sistema são hierarquicamente divididos pelo grau de importância para sua segurança, do usuário não confiável (nível de integridade 0) ao sistema administrativo (nível de integridade por padrão 63);
- verificação automática da assinatura digital eletrônica de qualquer arquivo no sistema para proteção contra alterações não autorizadas. De fato, o mecanismo EDS pode bloquear não apenas arquivos individuais, mas também scripts escritos em qualquer editor de texto em linguagens como Python ou Perl. Ao tentar iniciar ou abrir um arquivo, um módulo que está pendurado na memória rapidamente verifica o EDS quanto à correção e toma uma decisão sobre a possibilidade de iniciar. No caso de scripts, a assinatura digital não é colocada no próprio script, mas nos atributos estendidos do sistema de arquivos. Separadamente, gostaria de observar o uso do termo "assinatura digital" em relação à função de segurança implementada. Este nome é intencionalmente retirado do padrão nacional GOST R 34.10 e é usado em nossa documentação e materiais de referência para separar claramente a função de segurança implementada no Astra Linux da tarefa de garantir o significado legal de um documento eletrônico, que pode ser resolvido por meios apropriados de criação e verificação de uma assinatura eletrônica;

- modo de quiosque, no nível do kernel, permitindo o lançamento de um conjunto estritamente definido de aplicativos;
- restrição de trabalho com linguagens de programação interpretadas;
- restringir o acesso do usuário ao console;
- a capacidade de substituir arquivos em um disco com seqüências de zeros e zeros em várias passagens;
- bloquear a conexão de dispositivos externos "desconhecidos", o que impede a entrada de malware no sistema através de vários truques com unidades flash. Não é segredo que os sistemas corporativos podem ser comprometidos simplesmente espalhando bonitos drives flash com malware em todo o edifício, na esperança de que alguém da equipe o compreenda. No nosso caso, esse truque não funcionará.
Obviamente, essa não é uma lista completa. Existem muitos outros módulos e componentes. Todas essas ferramentas funcionam independentemente uma da outra, fornecendo uma espécie de separação do sistema de segurança. Todas as funções de segurança listadas são implementadas com base nos desenvolvimentos domésticos originais no campo da segurança de computadores sem o uso do SELinux desenvolvido pela NSA.

Ao mesmo tempo, eles são ligados e desligados independentemente um do outro (pelo administrador do sistema). Para alguns componentes, existem diferentes modos de operação. Por exemplo, para a ferramenta de verificação EDS, você pode ativar o modo de treinamento quando os arquivos com o EDS errado (ou que não o possuem) ainda são iniciados, mas um aviso é emitido no nível do sistema. Todos esses mecanismos são configurados pelo administrador de acordo com a política de segurança definida pelo gerenciamento. Ao mesmo tempo, quase toda a configuração já é realizada como no modo gráfico. Obviamente, os administradores têm acesso a todo o conjunto de ferramentas baseado no console para automatizar as tarefas de instalação e configuração dos subsistemas de segurança.

A versão atual do Astra Linux Special Edition é o Smolensk 1.6.Uma versão especial está sendo desenvolvida, como a versão normal, mas as inovações entram nela somente após o teste e a execução em uma versão regular.
Como preparamos uma versão especial para certificação
Cada oficial de segurança e administrador de sistemas, à sua maneira, priorizam questões de segurança da informação. Peça que eles criem um projeto para proteger uma certa infraestrutura de TI, e cada um oferecerá sua própria solução, porque ele verá algumas de suas ameaças e sotaques. Quando se trata de empresas comerciais, a decisão sobre cuja opinião ouvir é tomada pelo negócio por sua conta e risco.
No nível estadual, qualquer risco deve ser minimizado; portanto, precisamos de mecanismos gerais para avaliar a eficácia da proteção, ou melhor, confirmar que os sistemas de informação podem resistir a um determinado conjunto de ameaças. Para isso, certas funções de segurança devem ser implementadas nos sistemas (por exemplo, verificação de senha, funções de controle de acesso etc.) e, por outro lado, o processo de desenvolvimento e o código desse sistema em si devem atender a certos requisitos de confiança. A tarefa do sistema de certificação e do organismo de certificação é verificar a conformidade de um produto específico com todas as condições funcionais e requisitos de confiança.
Dependendo da funcionalidade dos sistemas de informação, vários departamentos estão envolvidos em questões de certificação para a possibilidade de usá-los no trabalho com dados importantes. Por exemplo, o FSTEC da Rússia está envolvido na certificação de ferramentas de segurança da informação. No entanto, o FSB e o Ministério da Defesa também têm seus próprios sistemas de certificação para equipamentos de proteção. A propósito, o Astra Linux Special Edition é o único sistema operacional que possui todos os certificados em nosso país.



Grau de sigilo
No que diz respeito aos sistemas de processamento de dados de acesso restrito, a natureza desses dados desempenha um papel importante - são informações para distribuição gratuita, dados pessoais, informações médicas valiosas, segredo de estado, incluindo informações de importância especial. É lógico que, para cada grau de sigilo, exista uma lista de requisitos e critérios funcionais para avaliar a "procuração" do código de sistemas de informação - sua própria classe de proteção, que inclui o nível de confiança. A lista de requisitos para cada nível subseqüente inclui uma lista para o nível anterior, bem como algumas condições adicionais. Uma prática semelhante existe em muitos países. Ao mesmo tempo, cada um insiste em alguns de seus próprios critérios e, inclusive, à sua maneira, compartilha os dados por níveis. Seis classes são aceitas na Rússia, sendo a sexta a mais baixa e a primeira a mais alta.
As notas mais baixas - do sexto ao quarto - são requisitos para a proteção de dados pessoais, bem como segredos comerciais e oficiais. No mercado russo, os produtos correspondentes a essas classes não são mais raros. Falaremos sobre certificação para as classes mais altas - da terceira à primeira - com os selos "segredo", "segredo superior" e "importância especial" (exemplos vivos - desenhos do novo lutador Sukhoi ou dados gerais sobre o estado da infraestrutura crítica no país, há não muito tempo. equiparado ao segredo de estado). E aqui a parte mais difícil não é nem os requisitos funcionais (no final, desenvolver algo não é um problema), mas confirmar a confiança no sistema operacional. Isso requer um modelo matemático correto de controle de acesso a dados e justificativa da correspondência de um produto de software real com esse modelo matemático. I.e. O procedimento para desenvolver um sistema focado no trabalho com dados secretos é muitas vezes mais complicado.
Aqui está um exemplo de uma reação do sistema à inclusão de políticas MLS (segurança de vários níveis) no SELinux na distribuição do Fedora:

Como podemos ver, nem o shell gráfico nem os aplicativos de console podem lidar corretamente com a situação quando o sistema inclui uma política para trabalhar com vários níveis de privacidade. Portanto, tudo isso é necessário para reciclar ou fazer você mesmo, o que é feito no Astra Linux.
A propósito, a certificação não limita a liberdade dos administradores de sistema em termos de proteção aprimorada. A aprovação na certificação reflete a satisfação dos requisitos mínimos; no entanto, cada empresa, agência governamental e até cada guarda de segurança individual podem melhorar o sistema como entenderem. A certificação confirma apenas o "mínimo necessário" da disponibilidade da funcionalidade de segurança da informação e a correção de seu trabalho, bem como o compromisso do fornecedor em manter essa funcionalidade durante todo o ciclo de vida, por exemplo:
- identificação e autenticação;
- controle de acesso;
- Log de eventos de segurança
- restrição de ambiente de software;
- isolamento de processos;
- proteção de memória;
- controle de integridade;
- garantir operação confiável;
- filtragem de fluxo de rede

Preparação para Certificação
O procedimento de certificação na prática é bastante demorado. No entanto, o lançamento mencionado foi certificado por apenas seis meses, o que é rápido o suficiente, já que esta é a sexta versão que foi testada. As cinco versões anteriores (e isso são cerca de dez anos de desenvolvimento) O Astra Linux foi buscar certificados até a segunda classe e, sem esses desenvolvimentos, não seria possível depurar todos os mecanismos de proteção, adaptar o código para verificação, passar nas verificações necessárias e passar o dedo em primeira série.
Deve-se observar que, atualmente, a certificação não é um congelamento do produto, mas a eliminação imediata obrigatória das vulnerabilidades identificadas em uma solução certificada.
A coisa mais importante que aconteceu nos últimos seis meses é que o Astra Linux Special Edition passou por um procedimento de vários níveis para verificar e analisar o código do programa. No entanto, diferentes partes do produto foram testadas de maneira diferente.
O sistema de segurança mais sério foi testado. Além do modelo discricionário padrão, ele usa um modelo obrigatório de controle de acesso e controle de integridade baseado em funções, que suporta o grau de segurança da informação existente na Rússia - “secreto”, “secreto” etc. De acordo com esse modelo, cada conta de usuário, processo, arquivo ou diretório recebe um rótulo de privacidade pelo qual os direitos de acesso são determinados. Por exemplo, os arquivos criados por um departamento de produção de tanques extremamente secretos não estão disponíveis para outros departamentos com um nível secreto ou inferior. Além disso, um rótulo de integridade é atribuído a todas as contas, processos, arquivos ou diretórios do usuário, como resultado, por exemplo, processos de baixa integridade do usuário não podem modificar arquivos de alta integridade do sistema. Mesmo que um processo do usuário obtenha privilégios do sistema como resultado da exploração de uma vulnerabilidade, ele não poderá afetar o desempenho do sistema.

Na captura de tela, um exemplo de como um usuário de baixa integridade recebeu direitos de superusuário, mas não pode copiar dados ao mesmo tempo.
Para justificar a segurança dessa provisão de acesso, um modelo matemático foi construído, testado quanto à integridade lógica, isolamento e correção.
Além disso, o código fonte do sistema de segurança foi verificado quanto à conformidade com o modelo matemático declarado. E este é um procedimento bastante complicado e trabalhoso, realizado em conjunto com a equipe do Instituto de Programação de Sistemas da Academia Russa de Ciências.
Vale ressaltar que agora na Rússia podemos resolver problemas semelhantes de verificação do código quanto à conformidade com o modelo matemático de componentes com uma complexidade total de até 10 mil linhas. E o sistema de segurança Astra Linux está dentro desses limites. Mas o kernel do Linux possui dezenas de milhões de linhas de código e, atualmente, não existem ferramentas para a verificação matemática rigorosa de um projeto desse tamanho, não apenas na empresa, mas no país como um todo. Portanto, outros mecanismos de controle são usados para eles - com a ajuda de ferramentas de análise de código estáticas e dinâmicas do mesmo Instituto de Programação de Sistemas da Academia Russa de Ciências ou desenvolvimento próprio. O objetivo desta etapa é verificar se há erros, marcadores ou backdoors no código. A aprovação dessa verificação fornece um alto nível de confiança no código e, consequentemente, a possibilidade de sua certificação para a primeira classe de proteção de informações.

A certificação determina não apenas a aparência do código Astra Linux, mas também como o produto (ou melhor, sua versão especial) é entregue ao usuário - ele é distribuído apenas em discos. Isso se deve tanto às limitações dos documentos regulamentares: para confirmar que o código do programa não foi alterado quanto às tarefas reais de armazenamento de longo prazo da mídia original. Tecnicamente, pode ser uma unidade flash, mas eles tendem a quebrar, enquanto o armazenamento em um disco óptico é mais previsível (e há uma garantia contra a reescrita).
E os concorrentes?
No momento, ninguém pode se orgulhar de certificação para uma classe tão alta de proteção.
Mas mesmo assumindo que amanhã haverá um concorrente com uma versão do sistema operacional que, hipoteticamente, possa atender às condições de certificação, em um futuro próximo não será capaz de espremer o Astra Linux. A barreira será o próprio procedimento de certificação, ou melhor, sua parte relacionada à verificação do código do programa. De acordo com nossas estimativas, apenas o Instituto de Programação de Sistemas da Academia Russa de Ciências e Astra Linux possui os recursos e conhecimentos científicos para esse procedimento na Rússia.
Se avaliarmos o potencial científico e técnico das empresas, teoricamente a certificação na Rússia poderá passar nos produtos da Microsoft. A empresa possui os recursos e competências necessárias, eles até falam sobre a importância da tarefa de verificação de código no YouTube. No entanto, é improvável que eles decidam abrir a fonte. E ainda mais, eles não finalizarão seu modelo de segurança para os requisitos russos (lembro-me que nos EUA há uma lista diferente de requisitos para certificação estadual).
Talvez o Google e a Kaspersky Lab possam ter seguido o mesmo caminho com o projeto protegido do Kaspersky OS. No entanto, não temos informações sobre a conta deles. «». , .
Astra?
Astra Linux , . — , . — , , , . . , , — , (.. , ). IT. , .. ( ), , .
— Astra Linux Special Edition — , , , . , .
Astra Linux . , . Astra Linux , , .. . , — , .. Astra Linux, , , 10- . .