ES2615860T3 - Sistema y procedimiento de aseguramiento de un ordenador que incluye un micronúcleo - Google Patents
Sistema y procedimiento de aseguramiento de un ordenador que incluye un micronúcleo Download PDFInfo
- Publication number
- ES2615860T3 ES2615860T3 ES09742278.6T ES09742278T ES2615860T3 ES 2615860 T3 ES2615860 T3 ES 2615860T3 ES 09742278 T ES09742278 T ES 09742278T ES 2615860 T3 ES2615860 T3 ES 2615860T3
- Authority
- ES
- Spain
- Prior art keywords
- operating system
- mediators
- access
- virtualized
- peripheral
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000004891 communication Methods 0.000 claims abstract description 31
- 230000002093 peripheral effect Effects 0.000 claims abstract description 26
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 3
- 238000013500 data storage Methods 0.000 claims description 2
- 238000007726 management method Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 230000002155 anti-virotic effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000009413 insulation Methods 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003116 impacting effect Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Hardware Redundancy (AREA)
Abstract
Procedimiento de aseguramiento de un ordenador que incluye un micronúcleo (3), al menos un sistema operativo (7) virtualizado, una pluralidad de controladores de periférico (5) y al menos un mediador de acceso (11) que filtra el flujo de información asociado a cada controlador de periférico (5) y que presenta a dicho sistema operativo virtualizado un periférico virtual, incluyendo dicho micronúcleo un controlador de reloj, un planificador y un gestor de comunicación entre procesos, al menos una máquina virtual, asociada a cada sistema operativo, que está formada por dicho núcleo, unos gestores de recursos, los controladores de periférico (5) y los mediadores de acceso (11), caracterizado por que el procedimiento incluye, en los mediadores acceso (11), las etapas de: - interceptar (20) cualquier comunicación entre uno de los controladores de periféricos y dicho sistema operativo virtualizado, - verificar (24) que la comunicación interceptada está conforme con unas reglas de acceso predefinidas para dicho sistema operativo virtualizado; - transmitir (26) la comunicación interceptada al destinatario si la comunicación interceptada está conforme con las reglas de acceso predefinidas, y por que cada sistema operativo virtualizado no está autorizado, en la inicialización, a comunicar más que con los mediadores que tienen ese sistema operativo como cliente.
Description
5
10
15
20
25
30
35
40
45
50
DESCRIPCION
Sistema y procedimiento de aseguramiento de un ordenador que incluye un micronucleo
La presente invencion se refiere a un sistema y un procedimiento de aseguramiento de un ordenador que incluye un micronucleo. Se refiere igualmente a un producto de programa de ordenador que pone en practica el procedimiento.
Los sistemas operativos clasicos tales como Microsoft Windows, GNU/Linux u otros no se han concebido con unas fuertes restricciones de seguridad. El resultado es una concepcion debilmente asegurada en forma de un sistema operativo en dos capas: la primera capa esta compuesta por un nucleo ejecutado en un modo privilegiado y la segunda capa por unas aplicaciones que se ejecutan en un modo sin privilegios denominado modo usuario. El nucleo es tlpicamente un nucleo monolltico, incluso si se elige un enfoque modular para gestionar en particular todos los recursos ofrecidos por el sistema operativo. El nucleo incluye los programas de bajo nivel tal como el planificador, el gestor de procesos, el gestor de memoria as! como los controladores de los perifericos y aquellos servicios de alto nivel tales como los sistemas de archivos, las pilas de red, los algoritmos criptograficos, etc.
En consecuencia, el nucleo incluye unos millones de llneas de codigo con un numero proporcional de errores de software y de defectos de seguridad. No puede por tanto verificarse como que esta de acuerdo con las especificaciones con los verificadores de codigo y los sistemas de prueba formales actuales. Ademas, tienen malas propiedades de aislamiento. De hecho, los procesos de usuario pueden romper el aislamiento de diferentes modos gracias a los tubos, a los ficheros, a la memoria compartida, etc. La gestion de las comunicaciones entre procesos no es fiable. Ademas, no existe aislamiento en el interior del nucleo, entre subsistemas del nucleo como, por ejemplo, entre los controladores y las pilas de red. De ese modo, un controlador de un componente de hardware defectuoso o corrompido puede poner en peligro todo el sistema.
Segun aumentan los riesgos de seguridad, los disenadores del nucleo han ensayado el aseguramiento de los nucleos existentes anadiendo unos gestores de acceso obligatorio (Mandatory Access Control - MAC) con una pequena granularidad para implementar el concepto de “Reference Monitor”, o Supervisor de Referencia. De hecho, los sistemas operativos actuales implementan generalmente una Gestion de Acceso Discrecional (Discretionary Access Control - DAC) que no puede resolver el problema generico de codigo malicioso, especialmente de los virus. Unos ejemplos de mejora de seguridad del sistema operativo son SELinux, GRSecurity, AppArmor, RSBAC, SEBSD, etc.
Sin embargo, esas implementaciones no cumplen con las condiciones de Supervisor de Referencia porque las funciones de seguridad que forman parte del nucleo no estan protegidas y son inutilizables en el interior del dominio del nucleo: no ofrecen ninguna proteccion entre subsistemas del nucleo. Ademas, como estos nucleos gestionan el conjunto de los recursos del sistema, es diflcil describir una polltica de seguridad y el resultado es complejo en terminos de configuracion y de gestion, lo que hace imposible la verificacion formal.
Todas estas debilidades no permiten una verificacion formal de la proteccion ofrecida por estos sistemas operativos y generan una cantidad de amenazas de seguridad que limitan el uso de estos sistemas en los entornos que tengan una gran exigencia de seguridad. Ademas, el espacio de memoria del nucleo esta compartido entre todos los procesos, con todos los subsistemas, incluso si estos pertenecen a unos niveles de seguridad diferentes. En consecuencia, los sistemas operativos actuales no ofrecen un entorno sano y asegurado.
Como reaccion a la complejidad de los nucleos monollticos actuales, unos investigadores han propuesto el concepto de micronucleo que se caracteriza por el desplazamiento de un maximo de servicios al exterior del nucleo, en el espacio de usuario. Estas funcionalidades se proporcionan entonces por pequenos servidores independientes que poseen su propio espacio de direccionamiento.
El micronucleo se limita as! a algunas funciones de base cuya gestion de las comunicaciones entre los servidores se realiza por transferencia de mensajes (IPC-Inter Process Communication). Ademas de esta gestion, un micronucleo comprende un controlador de reloj y un planificador.
De ese modo, mientras que un nucleo monolltico tradicional incluye varios millones de llneas de codigo, un micronucleo incluye en general menos de 20.000 llneas de codigo.
Se entiende entonces la atraccion de los disenadores de sistemas asegurados para los micronucleos puesto que tienen un tamano que permite mantenerles facilmente y pueden verificarse formalmente. Pueden certificarse as! al nivel mas alto, EAL7, de los criterios comunes.
Uno de los micronucleos mas conocidos y utilizados actualmente en diferentes variantes es el micronucleo L4 concebido e implementado por Jochen Liedtke.
Sin embargo, al lado del micronucleo en si, se hace necesario desarrollar los servidores necesarios para que el sistema ofrezca las funcionalidades esperadas de un sistema operativo moderno.
5
10
15
20
25
30
35
40
45
50
55
Tambien, para evitar la reescritura completa de un sistema operativo, se ha propuesto utilizar el micronucleo como base de un hipervisor de virtualizacion sobre el que se ejecuta uno o varios sistemas operativos tradicionales. En efecto un micronucleo y el conjunto de los servidores gestores necesarios para la division de los recursos cumplen nativamente la funcion de hipervisor, a saber la division de los recursos disponibles entre las maquinas virtuales y la emulation de los eventos materiales (no incluyen los controladores de perifericos, solamente unos buses de los sistemas que no pueden compartirse), ofreciendo as! una tecnologla de virtualizacion nativa eficaz, denominada de nivel “sistema”.
En este sentido, el proyecto L4 Linux de la Universidad de Dresde (Alemania) ha trasladado el nucleo Linux sobre el micronucleo L4/Fiasco y su capa de servicios, creando as! un LINUX (para) virtualizado que se ejecuta por encima de un hipervisor, en un modo totalmente no privilegiado, en modo usuario.
En terminos de seguridad, un sistema de ese tipo se aprovecha de la solidez del micronucleo. Sin embargo, la seguridad de los servidores depende igualmente de la solidez de las comunicaciones IPC porque es un medio posible de transmision de datos peligrosos. Ahora bien, por razones de eficacia, la gestion de la seguridad de las comunicaciones se deja tradicionalmente para los servidores, contentandose el micronucleo con transmitir los mensajes. El micronucleo puede sin embargo ofrecer un mecanismo de derechos de comunicacion; dos tareas no pueden comunicar entre si mas que si poseen los derechos apropiados. En caso contrario, la comunicacion se redirige hacia un servidor especlfico de control de las comunicaciones que autorizara o no la comunicacion on-the- fly, en funcion de la polltica de seguridad.
Ademas, las arquitecturas de micronucleo actuales son tales que se “cablea” una polltica de seguridad en las reglas de acceso del micronucleo de tal manera que, incluso en un contexto de virtualizacion con varias maquinas virtuales, todas presentan la misma polltica de seguridad.
De ese modo, serla particularmente ventajoso tener una arquitectura de micronucleo asegurado que permita un buen control de los accesos de las maquinas virtuales as! como una granularidad y una flexibilidad en la puesta en practica de una o varias pollticas de seguridad sobre un mismo sistema.
El documento de GERNOT HEISER (OPEN KERNEL LABS ET AL: “TECHNOLOGY WHITE PAPER. Virtualization for Embedded Systems”, INTERNET CITATION, 27 de noviembre de 2007 (2007-11-27), pagina 30pp, XP007908697, divulga un procedimiento de aseguramiento de un ordenador que incluye un micronucleo (“OKL4”) y unos medios de interfaz con al menos un sistema operativo (“OK Linux”).
Segun un primer aspecto de la invention, se propone un procedimiento de aseguramiento de un ordenador segun la reivindicacion 1.
Segun otras caracterlsticas y modo de realization, los medios externos incluyen unos medios de almacenamiento de datos criptograficos secretos y porque toda transmision de datos criptograficos secretos se asegura antes del almacenamiento.
Segun un segundo aspecto de la invencion, la invencion se refiere tambien a un producto de programa de ordenador segun la reivindicacion 8.
Segun un tercer aspecto, se propone ademas un ordenador segun la reivindicacion 9.
La invencion se comprendera mejor con la lectura de la description que sigue, dada unicamente a tltulo de ejemplo, y realizada con referencia a los dibujos adjuntos en los que:
- la figura 1 es una vista esquematica de las capas de software de un ordenador que incluye un software de virtualizacion; y
- la figura 2 es un ordinograma de un procedimiento de aseguramiento segun un modo de realizacion de la invencion.
Con referencia a la Figura 1, un ordenador incluye clasicamente por encima del hardware representado simbolicamente por la capa 1, un micronucleo 3. Este micronucleo 3 gestiona una parte del hardware directamente, a saber el procesador, los manejadores de memoria, el manejador de interrupciones y el controlador de reloj. Por encima del micronucleo 3 se ejecutan los diferentes servidores gestores de recursos, simbolizados por la capa 4, teniendo cada uno a su cargo la gestion de un subconjunto de objetos nucleos de un tipo dado. Para alcanzar el nivel de seguridad maximo, se asigna a un servidor gestor un tipo de recursos por dominio de seguridad (por ejemplo un gestor de memoria flsica por nivel, poseyendo cada una, unas zonas de memoria distintas). Los servidores gestores 4 presentan a unos sistemas operativos virtualizados 7 una interfaz que permite el acceso a los recursos gestionados. Unos controladores de perifericos 5 tienen a su cargo la gestion de un periferico y estan Intimamente ligados a un mediador de acceso 11, 11'. El mediador 11' esta encargado de multiplexar los accesos al periferico entre varios sistemas concurrentes, mientras que los mediadores 11 estan encargados de aplicar los procesamientos especlficos a cada sistema (cifrado,...). Particularmente, los mediadores 11, 11' presentan un sistema operativo virtualizado 7 a un periferico virtual. El conjunto de las interfaces expuestas por los mediadores
5
10
15
20
25
30
35
40
45
50
por un lado y los gestores de recursos por otro lado constituyen una “maquina virtual”. Los mediadores 11, 11' incluyen unas reglas de seguridad definidas en un modulo 13 de gestion de polltica de seguridad y almacenadas en unos medios de almacenamiento 15.
En esta descripcion, se da un sentido amplio al termino sistema operativo que comprende un sistema operativo per se tal como el sistema operativo Windows de Microsoft Inc. o el sistema Linux, as! como al conjunto de las aplicaciones que se ejecutan en este sistema operativo.
En el modo de realizacion descrito, el sistema operativo 7 esta encerrado en una “jaula” constituida por la maquina virtual y en particular por los mediadores 11, 11'. De ese modo, por ejemplo, cualquier solicitud de presentation del sistema operativo 7 pasa a traves de un mediador de presentacion. Igualmente, los flujos de red pasan a traves de un mediador de red, etc.
Los mediadores 11, 11' estan unidos a los controladores 5 de perifericos correspondientes encargados clasicamente del control del hardware.
El funcionamiento es entonces el siguiente, figura 2.
Cada vez que tiene lugar una transmision de information entre el sistema operativo 7 y un controlador 5 u otro elemento externo al sistema operativo 7, el mediador 11, 11' correspondiente intercepta el flujo de informacion, etapa 20.
Posteriormente, se analiza este flujo, etapa 22, en funcion de las reglas de acceso predefinidas. Si el flujo esta conforme, etapa 24, con estas reglas, se transmite en 26 normalmente a su destinatario.
Si, por el contrario, si este flujo no esta conforme con al menos una de las reglas, se anula, etapa 28, es decir que el destinatario no recibe el flujo y el emisor recibe, eventualmente, un mensaje de error de transmision, o bien se modifica en 30 antes de ser transmitido en 26 al destinatario. La modification tiene como funcion hacer valido el flujo con relation a la o las reglas violadas por el flujo en su estado inicial.
Pueden definirse varios tipos de mediadores en funcion del tipo de filtro y/o del componente de hardware asociado.
Por ejemplo, un primer tipo de mediador se define para los recursos de hardware compartidos por varios sistemas operativos, siendo ejecutado cada uno de dichos sistemas en una “jaula” virtual. Por ejemplo, una maquina posee en general una unica tarjeta de red. Es necesario entonces compartir su utilization entre los diferentes sistemas operativos virtualizados para dar a cada uno acceso a la red.
De ese modo, se define un controlador en la capa de virtualization constituida por el micronucleo y unos servidores gestores y el mediador correspondiente controlan todos los accesos. En el caso de la tarjeta de red, cada sistema operativo recibe su propia direction MAC a traves del mediador. De ese modo, un paquete de datos que entra en la interfaz flsica es gestionado por el controlador. El mediador de la tarjeta de red actua como un punto virtual transmitiendo el paquete al sistema operativo adecuado. Es posible igualmente cerciorarse de que los paquetes salientes no son falseados por el sistema operativo, por ejemplo, modificando la direccion MAC de la fuente.
Otro ejemplo se refiere al acceso a los discos. Por ejemplo, si el sistema operativo virtualizado ha recibido como espacio de almacenamiento la primera partition del primer disco, el acceso a las otras particiones sera rechazado por el mediador vinculado al controlador de almacenamiento.
De manera clasica, la comunicacion entre dos sistemas operativos virtualizados sobre una misma maquina se realiza por intermedio del acceso a la red virtual totalmente gestionado por el software de virtualizacion. De ese modo cada sistema operativo transmite la informacion al otro como si el segundo sistema operativo se encontrara en una maquina diferente unida por una red de datos.
Un segundo tipo de mediador se asocia con unos perifericos de red virtuales para cerciorarse de que solo son posibles unas comunicaciones autorizadas. El mediador juega entonces, siguiendo la polltica de seguridad establecida, el papel de cortafuegos bloqueando el trafico no autorizado, o bien, cifra las comunicaciones para transmitirlas a un sistema operativo que funciona con otro nivel de seguridad.
Un tercer tipo de mediador toma a su cargo las funciones criptograficas evitando la exposition de secretos en un entorno no asegurado. De ese modo, es posible evitar confiar a otro sistema operativo no asegurado unas operaciones sensibles.
Por ejemplo, unos datos sensibles que deben almacenarse solamente de manera privada, se transmiten por el sistema operativo al controlador de almacenamiento para que sean escritos sobre el disco duro. El mediador correspondiente intercepta la transmision de los datos, los cifra con una clave conocida solo para el y los transmite cifrados al controlador de almacenamiento. De ese modo, la clave de cifrado no se “expone” jamas al sistema operativo no asegurado.
Los mediadores permiten ventajosamente definir un nivel de seguridad para cada sistema operativo.
5
10
15
20
25
30
35
40
45
50
Como el micronucleo asociado a los mediadores es mucho menos complejo que un sistema operativo, es mas facil escribir un software de virtualizacion seguro y que pueda probarse como correcto.
De ese modo, el aislamiento de cada sistema operativo sobre su maquina virtual con el nivel de seguridad adecuado permite obtener un aseguramiento al menos igual al obtenido utilizando unas maquinas separadas.
Ademas, es posible definir una polltica de seguridad definiendo las acciones y comunicacion autorizadas para cada nivel de seguridad. Esto incluye la atribucion de un dispositivo, la autorizacion de un recurso compartido, las comunicaciones autorizadas, las restricciones para exportar/importar datos del dominio de proteccion asociado.
Mediante la centralizacion de la gestion de la polltica de seguridad en un modulo especlfico y mediante la descentralizacion a la altura de cada mediador de la puesta en practica de estas reglas, es posible as! garantizar la obtencion de un nivel de seguridad coherente y evolutivo.
En efecto, la polltica de seguridad se pone en practica por los mediadores a traves de las reglas de seguridad. Es posible por tanto tener unas pollticas dinamicas por difusion a los mediadores de nuevas reglas por ejemplo, para contrarrestar un ataque especlfico, y sin afectar a los otros niveles de seguridad.
Se comprende que una utilizacion extensiva de los mediadores permite “enjaular” los sistemas operativos virtualizados. En efecto, instalando un mediador en cada punto de conexion, todos los flujos de informacion, tanto entrante como saliente, son filtrados por los mediadores. De ese modo, como los mediadores son un software seguro que aplica una polltica de seguridad, un sistema operativo virtualizado no puede hacer nada distinto que lo que se especifica en la polltica de seguridad. Si no, la operacion es rechazada.
Esto permite ejecutar los sistemas operativos sin privilegio particular, en particular sin privilegio de entrada/salida o de instrucciones.
Ademas, el “enjaulado” es transparente para el sistema operativo virtualizado porque no puede marcar la diferencia entre un flujo procedente del mediador y un flujo procedente de un dispositivo de hardware. Esto permite unos procesamientos adicionales de seguridad sobre los flujos para proteger unos datos del sistema operativo sin implicarle. Por ejemplo, un mediador de antivirus puede escanear el contenido de una llave USB antes de montarla en el sistema operativo.
Los mediadores pueden estar encadenados entre si lo que permite ventajosamente ejecutar varias operaciones sobre un flujo.
Por ejemplo, para escribir sobre la llave USB, es posible encadenar un mediador antivirus y posteriormente el mediador de cifrado.
De ese modo, es posible obtener ventajosamente una seguridad flsica protegiendo los datos sensibles que pertenecen a diferentes dominios de seguridad sobre un mismo soporte flsico.
Otra ventaja es que la proteccion se aplica sin tener que modificar o que implicar al sistema operativo, tanto para la proteccion como para la configuration. De ese modo, el sistema operativo virtualizado se convierte en sin necesidad de configuracion para la seguridad, siendo asegurada la configuracion de este por las pollticas de seguridad puestas en practica por los mediadores.
El sistema operativo se configura en la initialization por los mediadores que determinan las reglas de acceso y ponen en practica la polltica a lo largo de la ejecucion.
En efecto, la polltica de seguridad puede estructurarse segun unas reglas por clase de mediadores, lo que tiene la ventaja de permitir una gran modularidad: la implementation de una clase particular de mediadores puede reemplazarse sin tener que reescribir el conjunto de la polltica de seguridad, solo deben reescribirse las reglas relativas a una clase particular. De la misma manera pueden realizarse unas modificaciones dinamicamente, es decir durante el tiempo de ejecucion, solamente sobre unos mediadores especlficos, que se refieren unicamente a los dominios especlficos sin impactar en la proteccion de las otras interfaces o dominios.
De ese modo, la administration de la plataforma escribe unas reglas de acceso para cada mediador, especificando los clientes autorizados, y los recursos asignados as! como las acciones asociadas. Todos los archivos de configuracion de los mediadores se reunen entonces en un unico archivo de polltica de seguridad. Para inicializar un nuevo sistema operativo virtual, o dominio, el cargador comienza por buscar en este archivo los mediadores que tienen este dominio como cliente, posteriormente no autoriza las comunicaciones de este dominio mas que con estos mediadores.
El sistema operativo no puede extralimitarse con los mediadores y por tanto la polltica de seguridad. Posteriormente los mediadores aplican independientemente unos de otros las reglas de acceso definidas para este dominio sobre estos objetos.
Se comprende que pueden realizarse diferentes variantes a partir de esta description.
Claims (10)
- 5101520253035404550REIVINDICACIONES1. Procedimiento de aseguramiento de un ordenador que incluye un micronucleo (3), al menos un sistema operativo (7) virtualizado, una pluralidad de controladores de periferico (5) y al menos un mediador de acceso (11) que filtra el flujo de informacion asociado a cada controlador de periferico (5) y que presenta a dicho sistema operativo virtualizado un periferico virtual, incluyendo dicho micronucleo un controlador de reloj, un planificador y un gestor de comunicacion entre procesos, al menos una maquina virtual, asociada a cada sistema operativo, que esta formada por dicho nucleo, unos gestores de recursos, los controladores de periferico (5) y los mediadores de acceso (11), caracterizado por que el procedimiento incluye, en los mediadores acceso (11), las etapas de:- interceptar (20) cualquier comunicacion entre uno de los controladores de perifericos y dicho sistema operativo virtualizado,- verificar (24) que la comunicacion interceptada esta conforme con unas reglas de acceso predefinidas para dicho sistema operativo virtualizado;- transmitir (26) la comunicacion interceptada al destinatario si la comunicacion interceptada esta conforme con las reglas de acceso predefinidas,y por que cada sistema operativo virtualizado no esta autorizado, en la inicializacion, a comunicar mas que con los mediadores que tienen ese sistema operativo como cliente.
- 2. Procedimiento segun la reivindicacion 1, caracterizado por que en la inicializacion de cada sistema operativo, un cargador busca, en un archivo unico de polltica de seguridad que comprende todos los archivos de configuration de los mediadores, los mediadores que tienen dicho sistema operativo como cliente.
- 3. Procedimiento segun la reivindicacion 1 o 2, caracterizado por que el ordenador incluye una pluralidad de sistemas operativos virtualizados cada uno aislado sobre su maquina virtual, el procedimiento incluye una etapa de multiplexado, mediante uno de los mediadores de acceso, de los accesos por los sistemas operativos virtualizados a uno de los controladores de perifericos asociado.
- 4. Procedimiento segun una de las reivindicaciones 1 a 3, caracterizado por que unos medios externos incluyen unos medios de almacenamiento de datos criptograficos secretos y por que toda transmision de datos criptograficos secretos esta asegurada antes del almacenamiento.
- 5. Procedimiento segun una de las reivindicaciones 1 a 4 en el que, el micronucleo y al menos dos controladores de perifericos que forman al menos dos maquinas virtuales en cada una de las cuales se ejecuta un unico sistema operativo, al menos un mediador de acceso adicional (11') permite la comunicacion entre los sistemas operativos y verifica la conformidad de dichas comunicaciones con relation a unas reglas de seguridad de acceso.
- 6. Procedimiento segun una cualquiera de las reivindicaciones 1 a 5, en el que, para cada sistema operativo, en una etapa previa, se define una polltica de seguridad en la forma de un juego de reglas de acceso para los mediadores en relacion con dicho sistema operativo.
- 7. Procedimiento segun la reivindicacion 6, en el que las reglas de acceso asociadas a la polltica de seguridad de dicho sistema operativo se proporcionan a los mediadores de acceso antes de la inicializacion de dicho sistema operativo.
- 8. Producto de programa de ordenador que comprende unas instrucciones de codigo de programa grabadas sobre un soporte legible por un ordenador para poner en practica las etapas del procedimiento segun una cualquiera de las reivindicaciones 1 a 7 cuanto dicho programa funciona sobre un ordenador.
- 9. Ordenador que incluye:- un micronucleo (3) que incluye un controlador de reloj, un planificador y un gestor de comunicacion entre procesos,- al menos un sistema operativo virtualizado (7),- una pluralidad de controladores de perifericos (5);- unos gestores de recursos,caracterizado por que comprende al menos un mediador de acoplado al sistema operativo virtualizado para formar al operativo virtualizado que permite la ejecucion de este,estando adaptado cada uno de los mediadores de acceso cada controlador de periferico (5) y presentando al sistemaacceso (11) asociado a cada controlador de periferico y menos una maquina virtual asociada a cada sistema(11, 11') para filtrar el flujo de informacion asociado a operativo virtualizado un periferico virtual interceptandocualquier comunicacion entre el controlador de periferico correspondiente y el sistema operativo virtualizado, y no trasmitir dicha comunicacion interceptada mas que si estan validadas unas reglas de seguridad de acceso al controlador de periferico especlficas para cada sistema operativo virtualizado por dicha comunicacion interceptada, no autorizandose a cada sistema operativo virtualizado a comunicar, en la inicializacion, mas que con los 5 mediadores que tienen ese sistema operativo como cliente.
- 10. Ordenador segun la reivindicacion 9, caracterizado por que en la inicializacion de cada sistema operativo, un cargador busca, en un archivo unico de polltica de seguridad que comprende todos los archivos de configuration de los mediadores, los mediadores que tienen dicho sistema operativo como cliente.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0852336 | 2008-04-08 | ||
FR0852336A FR2929733B1 (fr) | 2008-04-08 | 2008-04-08 | Systeme et procede de securisation d'un ordinateur comportant un micronoyau |
PCT/FR2009/050623 WO2009136080A2 (fr) | 2008-04-08 | 2009-04-08 | Systeme et procede de securisation d'un ordinateur comportant un micronoyau |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2615860T3 true ES2615860T3 (es) | 2017-06-08 |
Family
ID=40150270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES09742278.6T Active ES2615860T3 (es) | 2008-04-08 | 2009-04-08 | Sistema y procedimiento de aseguramiento de un ordenador que incluye un micronúcleo |
Country Status (5)
Country | Link |
---|---|
US (1) | US8627069B2 (es) |
EP (1) | EP2274701B1 (es) |
ES (1) | ES2615860T3 (es) |
FR (1) | FR2929733B1 (es) |
WO (1) | WO2009136080A2 (es) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2940695B1 (fr) * | 2008-12-30 | 2012-04-20 | Eads Secure Networks | Serveur passerelle a micronoyau |
US8484465B1 (en) * | 2010-12-08 | 2013-07-09 | Google Inc. | Heterogeneous virtual machines sharing a security model |
JP5779281B2 (ja) * | 2011-09-30 | 2015-09-16 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. | コンピュータシステムにおける仮想化装置の制御 |
US9154451B2 (en) * | 2012-08-21 | 2015-10-06 | Advanced Micro Devices, Inc. | Systems and methods for sharing devices in a virtualization environment |
US9910979B2 (en) * | 2014-06-24 | 2018-03-06 | International Business Machines Corporation | Intercepting inter-process communications |
CN105701416B (zh) | 2016-01-11 | 2019-04-05 | 华为技术有限公司 | 强制访问控制方法、装置和物理主机 |
US10938619B2 (en) * | 2016-08-30 | 2021-03-02 | ColorTokens, Inc. | Allocation of virtual interfaces to containers |
US10891370B2 (en) * | 2016-11-23 | 2021-01-12 | Blackberry Limited | Path-based access control for message-based operating systems |
US11294641B2 (en) | 2017-05-30 | 2022-04-05 | Dimitris Lyras | Microprocessor including a model of an enterprise |
US10798128B2 (en) * | 2017-07-24 | 2020-10-06 | Blackberry Limited | Distributed authentication for service gating |
CN110471647B (zh) * | 2019-08-13 | 2023-10-03 | 上海航天计算机技术研究所 | 基于微内核架构的嵌入式分区操作系统及其设计方法 |
CN115053222A (zh) | 2020-02-07 | 2022-09-13 | 百可德罗德公司 | 通过主机与虚拟来宾之间的受控交互来创建隔离工作区的方法和系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7840763B2 (en) * | 2004-03-12 | 2010-11-23 | Sca Technica, Inc. | Methods and systems for achieving high assurance computing using low assurance operating systems and processes |
US7587595B2 (en) * | 2005-05-13 | 2009-09-08 | Intel Corporation | Method and apparatus for providing software-based security coprocessors |
US20060294517A1 (en) * | 2005-06-28 | 2006-12-28 | Zimmer Vincent J | Network interface sharing among multiple virtual machines |
WO2007050797A2 (en) * | 2005-10-25 | 2007-05-03 | Secure64 Software Corporation | Secure virtual-machine monitor |
US8220049B2 (en) * | 2006-12-28 | 2012-07-10 | Intel Corporation | Hardware-based detection and containment of an infected host computing device |
-
2008
- 2008-04-08 FR FR0852336A patent/FR2929733B1/fr not_active Expired - Fee Related
-
2009
- 2009-04-08 ES ES09742278.6T patent/ES2615860T3/es active Active
- 2009-04-08 US US12/936,908 patent/US8627069B2/en active Active
- 2009-04-08 WO PCT/FR2009/050623 patent/WO2009136080A2/fr active Application Filing
- 2009-04-08 EP EP09742278.6A patent/EP2274701B1/fr active Active
Also Published As
Publication number | Publication date |
---|---|
US20110035586A1 (en) | 2011-02-10 |
FR2929733B1 (fr) | 2010-08-27 |
EP2274701B1 (fr) | 2017-01-04 |
FR2929733A1 (fr) | 2009-10-09 |
EP2274701A2 (fr) | 2011-01-19 |
US8627069B2 (en) | 2014-01-07 |
WO2009136080A2 (fr) | 2009-11-12 |
WO2009136080A3 (fr) | 2010-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2615860T3 (es) | Sistema y procedimiento de aseguramiento de un ordenador que incluye un micronúcleo | |
Markettos et al. | Thunderclap: Exploring vulnerabilities in operating system IOMMU protection via DMA from untrustworthy peripherals | |
JP4811271B2 (ja) | 情報通信装置及びプログラム実行環境制御方法 | |
JP4556144B2 (ja) | 情報処理装置、復旧装置、プログラム及び復旧方法 | |
EP2207121B1 (en) | Protecting content on virtualized client platforms | |
US7836299B2 (en) | Virtualization of software configuration registers of the TPM cryptographic processor | |
US9575790B2 (en) | Secure communication using a trusted virtual machine | |
US7073059B2 (en) | Secure machine platform that interfaces to operating systems and customized control programs | |
CN110348204B (zh) | 一种代码保护系统、认证方法、装置、芯片及电子设备 | |
Wan et al. | RusTEE: developing memory-safe ARM TrustZone applications | |
BRPI0403261B1 (pt) | System adapted for performing plural operational systems on a single processor and method for monitoring an unfaid operational environment of this system | |
Suciu et al. | Horizontal privilege escalation in trusted applications | |
AU2020287873B2 (en) | Systems and methods for processor virtualization | |
Kuhlmann et al. | An open trusted computing architecture—secure virtual machines enabling user-defined policy enforcement | |
EP3178032B1 (en) | Embedding secret data in code | |
Rama Krishna et al. | Virtualization security issues and mitigations in cloud computing | |
US20170264607A1 (en) | Embedded trusted network security perimeter in computing systems based on ARM processors | |
JP2001318797A (ja) | 自動データ処理装置 | |
US20160044041A1 (en) | Verifying caller authorization using secret data embedded in code | |
Härtig et al. | Lateral thinking for trustworthy apps | |
Heo et al. | Hardware-assisted trusted memory disaggregation for secure far memory | |
Fernandes et al. | Decomposable trust for Android applications | |
Sahita et al. | PROTECTING CRITICAL APPLICATIONS ON MOBILE PLATFORMS. | |
Yap et al. | Para-virtualizing the trusted platform module: An enterprise framework based on version 2.0 specification | |
Zhou | On-demand Isolated I/O for Security-sensitive Applications on Commodity Platforms |