Cuenta de primera mano de cómo se crea y luego se prepara para la certificación para trabajar con datos bajo el título de "importancia especial" OS protegido Astra Linux.

¿Qué es Astra Linux?

Astra es una distribución doméstica de Linux que combina componentes comunitarios distribuidos bajo licencias abiertas como GPL, MPL, Xiph License, etc., y software propietario del mismo grupo de compañías. La funcionalidad del usuario está principalmente cerrada por componentes de software de código abierto: los mecanismos estándar de Linux se utilizan para realizar tareas básicas, como el lanzamiento de aplicaciones, virtualización, soporte de hardware o Steam. Los componentes de nuestro propio desarrollo básicamente resuelven dos tareas clave: garantizar la seguridad, así como la interacción de la interfaz gráfica del sistema operativo y los humanos.
Desde el punto de vista de las licencias, la distribución es un objeto complejo (concepto de la parte 4 del Código Civil de la Federación de Rusia), es decir. trabajo compuesto, por lo que su distribución en su conjunto tiene algunas limitaciones. Aunque todos los componentes de software de código abierto incluidos en el producto conservan su estado libre.





Existen versiones de Astra Linux para una amplia variedad de plataformas. Además, el nombre de la plataforma está "oculto" en el primer dígito del número de versión:
- 1 y 2 - Intel (versiones Smolensk y Oryol);
- 3 - IBM System Z (Murmansk);
- 4 - BRAZO (Novorossiysk)
- 6 - procesadores MIPS (Sevastopol);
- 8 - Elbrus (Leningrado).
Parece que una solución inusual es llevar el tipo de plataforma a la primera posición, después de haber recibido una secuencia extraña de versiones: 1.6, 2.12.13, 8.1, etc. Pero esto se hizo deliberadamente para simplificar la vida del soporte técnico, ya que visualmente la interfaz gráfica del sistema operativo se ve igual en cualquier plataforma de hardware, independientemente del área de aplicación de la computadora: desde el servidor hasta el teléfono inteligente. Entonces, en una conversación con el usuario, puede comprender rápidamente qué tipo de plataforma en cuestión.
Por cierto, la versión para cada plataforma tiene su propio nombre en clave en honor a una de las ciudades heroicas de Rusia. No hay pautas aquí, confiamos en un sentido de belleza.
Entre las versiones desarrolladas de Astra hay distribuciones
regulares y protegidas (Edición Especial), enfocadas en trabajar con datos confidenciales, certificadas de acuerdo con los requisitos de seguridad de la información de todos los sistemas de certificación en Rusia. Desde el punto de vista del conjunto de funciones del usuario, las versiones son casi las mismas. Sin embargo, el sistema de protección en ellos está construido de diferentes maneras. Algunos componentes de la versión especial necesarios para trabajar con datos confidenciales, aunque no son necesariamente redundantes para los usuarios comunes y las empresas, no se incluyen en la versión normal, porque El marco regulatorio y legal de la Federación Rusa requiere su certificación obligatoria.
Versión básica: qué y para quién
La versión regular de Astra Linux está dirigida a clientes corporativos. Para los usuarios domésticos, cuando se utiliza con fines no comerciales, la licencia es gratuita, pero en el desarrollo nos esforzamos por satisfacer las necesidades del segmento corporativo. Al final, también somos una empresa comercial, y el segmento de usuarios domésticos es muy difícil. Hay varias distribuciones de Linux para ellos, incluidas las gratuitas.
La versión regular de Astra Linux utiliza un modelo de control de acceso discrecional: los usuarios deciden por sí mismos a quién pueden otorgar derechos de acceso a sus archivos. Los programas de terceros (navegadores, suites de oficina, etc.) se ejecutan exactamente de la misma manera que en otras distribuciones de Linux.

Al igual que cualquier otro software, la versión normal de Astra Linux se puede descargar o comprar (para organizaciones) electrónicamente sin ningún medio físico. Por cierto, esta versión también se publica en el recurso de la comunidad internacional de Linux, donde hay un buen canal externo.
Siguiendo las tendencias mundiales, la versión se está desarrollando activamente en la dirección de soportar nuevos equipos y tecnologías.
Versión especial
Además de las versiones normales, Astra Linux tiene las llamadas versiones especiales: Edición especial, que se desarrollan con la expectativa de certificación por el FSTEC de Rusia y otros sistemas de certificación. Desde el punto de vista de la funcionalidad del usuario, la versión especial prácticamente no es diferente de la habitual. Sin embargo, implementa componentes adicionales para aumentar la seguridad (solo autoescrita), en particular:
- Modelo obligatorio de control de acceso (MAC) y control de integridad (MIC), cuando todos los componentes del sistema se dividen jerárquicamente por el grado de importancia para su seguridad desde el usuario más desconfiado (nivel de integridad 0) hasta el sistema administrativo (nivel de integridad por defecto 63);
- verificación automática de la firma digital electrónica de cualquier archivo en el sistema para proteger contra cambios no autorizados. De hecho, el mecanismo EDS puede bloquear no solo archivos individuales, sino incluso scripts escritos en cualquier editor de texto en lenguajes como Python o Perl. Al intentar iniciar o abrir un archivo, un módulo que está colgado en la memoria sobre la marcha verifica que el EDS sea correcto y toma una decisión sobre la posibilidad de comenzar. En el caso de los scripts, la firma digital no se coloca en el script en sí, sino en los atributos extendidos del sistema de archivos. Por separado, me gustaría señalar el uso del término "firma digital" en relación con la función de seguridad implementada. Este nombre se toma intencionalmente del estándar nacional GOST R 34.10 y se usa en nuestra documentación y materiales de referencia para separar claramente la función de seguridad implementada en Astra Linux de la tarea de garantizar la importancia legal de un documento electrónico, que puede resolverse mediante los medios apropiados de crear y verificar una firma electrónica;

- modo quiosco, a nivel del núcleo, que permite el lanzamiento de un conjunto de aplicaciones estrictamente definido;
- restricción de trabajo con lenguajes de programación interpretados;
- restringir el acceso del usuario a la consola;
- la capacidad de sobrescribir archivos en un disco con secuencias de ceros y unos en varios pasos;
- bloqueando la conexión de dispositivos externos "desconocidos", lo que evita que el malware ingrese al sistema a través de varios trucos con unidades flash. No es ningún secreto que los sistemas empresariales pueden verse comprometidos simplemente esparciendo lindas unidades flash con malware en todo el edificio con la esperanza de que alguien del personal lo recoja. En nuestro caso, tal truco no funcionará.
Por supuesto, esta no es una lista completa. Hay toneladas de otros módulos y componentes. Todas estas herramientas funcionan independientemente unas de otras, proporcionando una especie de separación del sistema de seguridad. Todas las funciones de seguridad enumeradas se implementan sobre la base de desarrollos nacionales originales en el campo de la seguridad informática sin el uso de SELinux desarrollado por la NSA.

Al mismo tiempo, se activan y desactivan independientemente el uno del otro (por el administrador del sistema). Para algunos componentes, hay diferentes modos de funcionamiento. Por ejemplo, para la herramienta de verificación EDS, puede habilitar el modo de entrenamiento cuando los archivos con el EDS incorrecto (o que no lo tienen) todavía se inician, pero se emite una advertencia a nivel del sistema. El administrador configura todos estos mecanismos de acuerdo con la política de seguridad definida por la administración. Al mismo tiempo, casi toda la configuración ya se realiza como en modo gráfico. Por supuesto, los administradores tienen acceso a todo el conjunto de herramientas basado en la consola para automatizar las tareas de configuración y subsistemas de seguridad.

La versión actual de Astra Linux Special Edition es Smolensk 1.6.Se está desarrollando una versión especial, como la normal, pero las innovaciones solo se introducen después de probar y ejecutar en una versión regular.
Cómo preparamos una versión especial para la certificación
Cada oficial de seguridad y administrador del sistema, a su manera, prioriza los problemas de seguridad de la información. Pídales que creen un proyecto para proteger una determinada infraestructura de TI, y cada uno ofrecerá su propia solución, porque verá algunas de sus amenazas y acentos. Cuando se trata de empresas comerciales, la decisión sobre qué opinión escuchar es tomada por la empresa bajo su propio riesgo.
A nivel estatal, cualquier riesgo debe ser minimizado, por lo tanto, necesitamos mecanismos generales para evaluar la efectividad de la protección, o más bien, confirmar que los sistemas de información pueden resistir un cierto conjunto de amenazas. Para hacer esto, ciertas funciones de seguridad deben implementarse en los sistemas (por ejemplo, verificación de contraseña, funciones de control de acceso, etc.) y, por otro lado, el proceso de desarrollo y el código de este sistema deben cumplir con ciertos requisitos de confianza. La tarea del sistema de certificación y del organismo de certificación es verificar que un producto específico cumpla con todas las condiciones funcionales y requisitos de confianza.
Dependiendo de la funcionalidad de los sistemas de información, varios departamentos están involucrados en asuntos de su certificación para la posibilidad de usarlos en el trabajo con datos importantes. Por ejemplo, FSTEC de Rusia se dedica a la certificación de herramientas de seguridad de la información. Sin embargo, el FSB y el Ministerio de Defensa también tienen sus propios sistemas de certificación para equipos de protección. Por cierto, Astra Linux Special Edition es el único sistema operativo que tiene todos los certificados en nuestro país.



Grado de secreto
Con respecto a los sistemas de procesamiento de datos de acceso restringido, la naturaleza de estos datos juega un papel importante: esta es información para distribución gratuita, datos personales, información médica valiosa, secreto de estado, incluida información de especial importancia. Es lógico que para cada grado de secreto haya una lista de requisitos funcionales y criterios para evaluar el "poder notarial" del código de sistemas de información: su propia clase de protección, que incluye el nivel de confianza. La lista de requisitos para cada nivel posterior incluye una lista para el nivel anterior, así como algunas condiciones adicionales. Una práctica similar existe en muchos países. Al mismo tiempo, cada uno insiste en algunos de sus propios criterios e incluso a su manera comparte los datos por niveles. Se aceptan seis clases en Rusia, siendo la sexta la más baja y la primera la más alta.
Los grados inferiores, del sexto al cuarto, son requisitos para la protección de datos personales, así como secretos comerciales y oficiales. En el mercado ruso, los productos correspondientes a estas clases ya no son raros. Hablaremos sobre la certificación para las clases más altas, de la tercera a la primera, con los sellos "secreto", "alto secreto" e "importancia especial" (ejemplos vivos - dibujos del nuevo luchador Sukhoi o datos generales sobre el estado de la infraestructura crítica en el país, no hace mucho tiempo equiparado al secreto de estado). Y aquí la parte más difícil no son los requisitos funcionales (al final, desarrollar algo no es un problema), sino confirmar la confianza en el sistema operativo. Esto requiere un modelo matemático correcto de control de acceso a datos y una justificación de la correspondencia de un producto de software real con este modelo matemático. Es decir El procedimiento para desarrollar un sistema enfocado en trabajar con datos secretos es muchas veces más complicado.
Aquí hay un ejemplo de una reacción del sistema a la inclusión de políticas MLS (seguridad multinivel) en SELinux en la distribución de Fedora:

Como podemos ver, ni el shell gráfico ni las aplicaciones de consola pueden manejar correctamente la situación cuando el sistema incluye una política para trabajar con varios niveles de privacidad. En consecuencia, todo esto es necesario ya sea para reciclar o para hacer el suyo, que se hace en Astra Linux.
Por cierto, la certificación no limita la libertad de los administradores del sistema en términos de protección mejorada. La aprobación de la certificación refleja la satisfacción de los requisitos mínimos, sin embargo, cada compañía, agencia gubernamental e incluso cada guardia de seguridad individual puede mejorar el sistema como mejor les parezca. La certificación solo confirma el "mínimo necesario" de la disponibilidad de la funcionalidad de seguridad de la información y la corrección de su trabajo, así como el compromiso del proveedor de mantener esta funcionalidad durante todo el ciclo de vida, por ejemplo:
- identificación y autenticación;
- control de acceso;
- Registro de eventos de seguridad
- restricción del entorno de software;
- aislamiento de procesos;
- protección de memoria;
- control de integridad;
- asegurando una operación confiable;
- filtrado de flujo de red

Preparación de certificaciones
El procedimiento de certificación en la práctica es bastante largo. Sin embargo, la versión mencionada se certificó por solo seis meses, lo que es lo suficientemente rápido, ya que esta es la sexta versión que se ha probado. Las cinco versiones anteriores (y esto es aproximadamente diez años de desarrollo) Astra Linux fue a obtener certificados hasta la segunda clase, y sin estos desarrollos no sería posible depurar todos los mecanismos de protección, adaptar el código para la verificación, pasar las verificaciones necesarias y "deslizar" en primer grado
Cabe señalar que, en la actualidad, la certificación no es un congelamiento del producto, sino la eliminación inmediata obligatoria de las vulnerabilidades identificadas en una solución certificada.
Lo más importante que ha sucedido en los últimos seis meses es que Astra Linux Special Edition ha pasado por un procedimiento de varios niveles para verificar y analizar el código del programa. Sin embargo, diferentes partes del producto se probaron de manera diferente.
Se probó el sistema de seguridad más serio. Además del estándar discrecional, utiliza un modelo obligatorio basado en roles de control de acceso y control de integridad, que respalda el grado de seguridad de la información existente en Rusia: "secreto", "alto secreto", etc. Según este modelo, a cada cuenta de usuario, proceso, archivo o directorio se le asigna una etiqueta de privacidad mediante la cual se determinan los derechos de acceso. Por ejemplo, los archivos creados por un departamento de producción de tanques de alto secreto no están disponibles para otros departamentos con un nivel secreto o inferior. Además, se asigna una etiqueta de integridad a todas las cuentas de usuario, procesos, archivos o directorios, como resultado, por ejemplo, los procesos de baja integridad del usuario no podrán modificar los archivos de alta integridad del sistema. Incluso si un proceso de usuario obtiene privilegios del sistema como resultado de la explotación de una vulnerabilidad, no puede afectar el rendimiento del sistema.

En la captura de pantalla, un ejemplo de cómo un usuario de baja integridad recibió derechos de superusuario, pero no puede copiar datos al mismo tiempo.
Para justificar la seguridad de dicha provisión de acceso, se construyó un modelo matemático, que se probó por integridad lógica, aislamiento y corrección.
Además, se verificó el código fuente del sistema de seguridad para verificar el cumplimiento del modelo matemático declarado. Y este es un procedimiento bastante complicado y laborioso, que se llevó a cabo conjuntamente con el personal del Instituto de Programación de Sistemas de la Academia de Ciencias de Rusia.
Vale la pena señalar que ahora en Rusia podemos resolver problemas similares de verificar que el código cumpla con el modelo matemático para componentes con una complejidad total de hasta 10 mil líneas. Y el sistema de seguridad Astra Linux está dentro de estos límites. Pero el kernel de Linux tiene decenas de millones de líneas de código, y actualmente no hay herramientas para la verificación matemática rigurosa de un proyecto de este tamaño no solo en la empresa, sino en todo el país. Por lo tanto, se utilizan otros mecanismos de control para ellos, con la ayuda de herramientas de análisis de código estático y dinámico del mismo Instituto de Programación de Sistemas de la Academia de Ciencias de Rusia o desarrollo propio. El objetivo de este paso es verificar el código en busca de errores, marcadores o puertas traseras. Pasar esta verificación proporciona un alto nivel de confianza en el código y, en consecuencia, la posibilidad de su certificación a la primera clase de protección de la información.

La certificación determina no solo cómo se ve el código Astra Linux, sino también cómo se entrega el producto (o más bien su versión especial) al usuario: se distribuye solo en discos. Esto se debe tanto a las limitaciones de los documentos reglamentarios: para confirmar que el código del programa no ha cambiado, como a las tareas reales de almacenamiento a largo plazo del medio original. Técnicamente, puede ser una unidad flash, pero tienden a romperse, mientras que el almacenamiento en un disco óptico es más predecible (y hay una garantía contra la reescritura).
¿Qué pasa con los competidores?
Por el momento, nadie puede presumir de certificación para una clase de protección tan alta.
Pero incluso suponiendo que mañana habrá un competidor con una versión del sistema operativo que hipotéticamente podría cumplir con las condiciones de certificación, en un futuro próximo no podrá exprimir Astra Linux. La barrera será el mismo procedimiento de certificación, o más bien su parte relacionada con la verificación del código del programa. Según nuestras estimaciones, solo el Instituto de Programación de Sistemas de la Academia de Ciencias de Rusia y Astra Linux tienen los recursos y el conocimiento científico para este procedimiento en Rusia.
Si evaluamos el potencial científico y técnico de las empresas, teóricamente la certificación en Rusia podría pasar los productos de Microsoft. La compañía tiene los recursos y competencias necesarios, incluso hablan sobre la importancia de la tarea de verificación de código en YouTube. Sin embargo, es poco probable que decidan abrir la fuente. Y aún más, no finalizarán su modelo de seguridad para los requisitos rusos (recuerdo que en los Estados Unidos hay una lista diferente de requisitos para la certificación estatal).
Quizás Google y Kaspersky Lab podrían haber tomado el mismo camino con su proyecto protegido del sistema operativo Kaspersky. Sin embargo, no tenemos información sobre su cuenta. «». , .
Astra?
Astra Linux , . — , . — , , , . . , , — , (.. , ). IT. , .. ( ), , .
— Astra Linux Special Edition — , , , . , .
Astra Linux . , . Astra Linux , , .. . , — , .. Astra Linux, , , 10- . .