FR3015837A1 - PARTITION SECURITY EQUIPMENT BETWEEN FIRST AND SECONDDOMAIN COMPRISING A PILOT COMPONENT - Google Patents

PARTITION SECURITY EQUIPMENT BETWEEN FIRST AND SECONDDOMAIN COMPRISING A PILOT COMPONENT Download PDF

Info

Publication number
FR3015837A1
FR3015837A1 FR1303074A FR1303074A FR3015837A1 FR 3015837 A1 FR3015837 A1 FR 3015837A1 FR 1303074 A FR1303074 A FR 1303074A FR 1303074 A FR1303074 A FR 1303074A FR 3015837 A1 FR3015837 A1 FR 3015837A1
Authority
FR
France
Prior art keywords
component
interface
security
driver
domain
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.)
Granted
Application number
FR1303074A
Other languages
French (fr)
Other versions
FR3015837B1 (en
Inventor
Jean Marc Lacroix
Franck Curo
Dominique Ragot
Philippe Thierry
Fabien Germain
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thales SA
Original Assignee
Thales SA
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Thales SA filed Critical Thales SA
Priority to FR1303074A priority Critical patent/FR3015837B1/en
Priority to NO14200267A priority patent/NO2889803T3/no
Priority to EP14200267.4A priority patent/EP2889803B1/en
Priority to ES14200267.4T priority patent/ES2667674T3/en
Publication of FR3015837A1 publication Critical patent/FR3015837A1/en
Application granted granted Critical
Publication of FR3015837B1 publication Critical patent/FR3015837B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring 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/53Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2113Multi-level security, e.g. mandatory access control

Abstract

Cet équipement comporte : une couche matérielle, compotant entre autres choses des premier et second moyens d'interface avec les premier et second domaines ; une couche de virtualisation, comportant un noyau et un hyperviseur; et une couche applicative comportant : des premier et second composants d'interface, pour échanger des données avec les premier et second domaines ; et un composant de sécurité formant un sas d'échange de données entre les premier et second composants d'interface. Il se caractérise en ce qu'un des composants d'interface est associé à un composant supplémentaire de pilote, le noyau réalisant un partitionnement spatial tel que seul le composant de pilote a accès à un espace mémoire de stockage alloué au moyen d'interface correspondant et le composant de pilote et le composant d'interface communiquent par l'intermédiaire d'un espace de mémoire partagé.This equipment comprises: a material layer, comprising among other things the first and second means of interface with the first and second domains; a virtualization layer, comprising a core and a hypervisor; and an application layer comprising: first and second interface components for exchanging data with the first and second domains; and a security component forming a data exchange lock between the first and second interface components. It is characterized in that one of the interface components is associated with an additional driver component, the kernel performing spatial partitioning such that only the driver component has access to allocated storage memory space by corresponding interface means and the driver component and the interface component communicate through a shared memory space.

Description

Equipement de sécurité de cloisonnement entre des premier et second domaines, comportant un composant de pilote La présente invention concerne un équipement de sécurité de cloisonnement entre des premier et second domaines, comportant : une couche matérielle, comportant un moyen de calcul, un moyen de mémorisation, et des premier et second moyens d'interface avec lesdits premier et second domaines ; une couche de virtualisation de la couche matérielle, comportant un noyau et un hyperviseur ; et une couche applicative comportant : un premier composant d'interface, pour échanger des données avec le premier domaine ; un second composant d'interface, pour échanger des données avec le second domaine ; et un composant de sécurité formant un sas d'échange de données entre les premier et second composants. Dans le domaine de la sécurité des systèmes d'information, le document FR 2008 006839 divulgue un équipement de sécurité du type précité propre à réaliser un cloisonnement entre des premier et second domaines. Avantageusement, un tel équipement de sécurité constitue une passerelle entre un premier domaine présentant un niveau de sécurité « bas » et un second domaine présentant un niveau de sécurité « haut ». La couche applicative de l'équipement de sécurité du document FR 2008 006839 B1 comporte des premier et second composants d'interface et un composant de sécurité. Le premier composant d'interface est dédié à la gestion des échanges de paquets de données avec le premier domaine. Il comporte en particulier les pilotes nécessaires à la communication avec le premier domaine, à travers une première interface d'entrée/sortie de la couche physique de l'équipement de sécurité.The present invention relates to security equipment for partitioning between first and second domains, comprising: a hardware layer, comprising a means of calculation, a storage means , and first and second interface means with said first and second domains; a virtualization layer of the hardware layer, comprising a core and a hypervisor; and an application layer comprising: a first interface component for exchanging data with the first domain; a second interface component for exchanging data with the second domain; and a security component forming a data exchange lock between the first and second components. In the field of the security of information systems, the document FR 2008 006839 discloses security equipment of the aforementioned type suitable for partitioning between first and second domains. Advantageously, such security equipment is a gateway between a first domain having a "low" security level and a second domain having a "high" security level. The application layer of the security equipment of document FR 2008 006839 B1 comprises first and second interface components and a security component. The first interface component is dedicated to managing the exchange of data packets with the first domain. It comprises in particular the drivers necessary for communication with the first domain, through a first input / output interface of the physical layer of the security equipment.

Lorsqu'il est exécuté, le premier composant d'interface place les paquets de données reçus du premier domaine, dans un premier espace de stockage d'entrée de la mémoire de. l'équipement de sécurité. Le premier composant d'interface lit les paquets de données d'un premier espace de stockage de sortie de la mémoire et les transmet vers le premier domaine.When executed, the first interface component places the data packets received from the first domain into a first input storage space of the memory. safety equipment. The first interface component reads the data packets from a first output storage space of the memory and transmits them to the first domain.

De manière similaire, le second composant d'interface est dédié à la gestion des échanges de données avec le second domaine. Il comporte en particulier les pilotes nécessaires à la communication avec le second domaine, à travers la seconde interface. Lorsqu'il est exécuté, le second composant d'interface accède à un second espace de stockage de sortie de la mémoire et transmet les paquets lus vers le second domaine. Le second composant d'interface place les paquets reçus du second domaine, dans un second espace de stockage d'entrée.Similarly, the second interface component is dedicated to the management of data exchanges with the second domain. It includes in particular the drivers necessary for communication with the second domain, through the second interface. When executed, the second interface component accesses a second memory output storage space and transmits the read packets to the second domain. The second interface component places packets received from the second domain into a second input storage space.

Le composant de sécurité forme un sas dans l'échange des paquets de données entre les premier et second composants d'interface. Lorsqu'il est exécuté, le composant de sécurité lit les paquets de données du premier espace de stockage d'entrée, les traite et place les paquets traités dans le second espace de stockage de sortie. De manière similaire, le composant de sécurité lit les paquets de données du second espace de stockage d'entrée, les traite et place les paquets traités dans le premier espace de stockage de sortie. Un partitionnement spatial (c'est-à-dire le fait que les espaces de stockage d'entrée et de sortie d'un canal de circulation du flux de données d'un domaine à l'autre correspondent à des espaces différents et prédéterminés de la mémoire) et un partitionnement temporel (c'est-à-dire le fait que les composants sont exécutés successivement et séparément les uns des autres par le processeur de l'équipement de sécurité, la durée d'exécution d'un composant étant contraint), assurent le cloisonnement entre les premier et second domaines.The security component forms an airlock in the exchange of data packets between the first and second interface components. When executed, the security component reads the data packets from the first input storage space, processes them, and places the processed packets in the second output storage space. Similarly, the security component reads the data packets from the second input storage space, processes them, and places the processed packets in the first output storage space. Spatial partitioning (i.e., the input and output storage spaces of a traffic channel of the data flow from one domain to another correspond to different and predetermined memory) and temporal partitioning (i.e., the components are executed successively and separately from one another by the processor of the security equipment, the execution time of a component being constrained ), ensure the partitioning between the first and second domains.

Cependant, si le composant de sécurité peut être certifié sur le plan de la sécurité de fonctionnement, il n'en va pas de même des premier et second composants d'interface. En effet, alors que le composant de sécurité est un composant d'application, intégrant uniquement un programme applicatif propre à accéder directement aux ressources matérielles, un composant d'interface est un composant de système d'exploitation intégrant un système d'exploitation (OS en anglais pour « operating system»), tel que le système LINUX, et éventuellement un ou plusieurs programmes applicatifs, qui sont propres à accéder aux ressources matérielles mais uniquement à travers le système d'exploitation.However, if the security component can be certified in terms of operational security, it is not the same for the first and second interface components. Indeed, while the security component is an application component, integrating only a specific application program to directly access the hardware resources, an interface component is an operating system component integrating an operating system (OS in English for "operating system"), such as the LINUX system, and possibly one or more application programs, which are specific to access the hardware resources but only through the operating system.

Ainsi, un composant de système d'exploitation est riche, au sens où de nombreuses fonctionnalités sont implémentées par défaut. Le programme applicatif utilise certaines des fonctionnalités disponibles, par simple appel aux fonctions correspondantes. En particulier, un composant d'interface utilise les pilotes de périphériques natifs du système d'exploitation.Thus, an operating system component is rich, in the sense that many features are implemented by default. The application program uses some of the available features, simply by calling the corresponding functions. In particular, an interface component uses the native device drivers of the operating system.

Or, un système d'exploitation est un programme complexe, qui comporte quelques centaines de milliers de lignes de code. C'est un programme qui évolue régulièrement au fur et à mesure de la mise à disposition de nouvelles versions. Dans le cas du système LINUX, le programme est mis à jour par une communauté dont les membres ne sont pas connus.However, an operating system is a complex program, with a few hundred thousand lines of code. It is a program that evolves regularly as new versions are released. In the case of LINUX, the program is updated by a community whose members are not known.

Il n'est donc pas possible d'évaluer et par conséquent de certifier un système d'exploitation. Par voie de conséquence, il n'est pas possible de certifier un composant de système d'exploitation. Ainsi, à cause du système d'exploitation qu'il renferme, un composant de système d'exploitation et, en particulier, un composant d'interface, présente des failles de sécurité. En exploitant ces failles de sécurité, il est possible de contourner le. cloisonnement réalisé par le composant de sécurité. L'invention a donc pour but de pallier ce problème. A cet effet, l'invention a pour objet un équipement de sécurité du type précité, caractérisé en ce que au moins un composant d'interface parmi les premier et second composants d'interface est associé à un composant supplémentaire de pilote d'interface, le noyau réalisant un partitionnement spatial tel que seul le composant de pilote possède un accès exclusif à un espace de stockage du moyen de mémorisation alloué au moyen d'interface correspondant et le composant de pilote et le composant d'interface échangent des données par l'intermédiaire d'un espace de mémoire partagé du moyen de mémorisation. En dotant le composant de sécurité d'un composant de pilote du type composant d'application et en bridant les ports de sortie du composant d'interface du type composant de système d'exploitation, les failles de sécurité associées au pilotes natifs du système d'exploitation du composant d'interface sont éliminées. Suivant des modes particuliers de réalisation, l'équipement comporte une ou plusieurs des caractéristiques suivantes : le composant d'interface et le composant de pilote associé sont exécutés ensemble dans une même partition temporelle. le composant d'interface et le composant de pilote associé sont exécutés séparément dans deux partitions temporelles. le noyau de la couche de virtualisation est un noyau de séparation. le composant de sécurité réalise un échange de données du type diode, moyen cryptographique, ou filtre. le composant de sécurité réalise un échange de données du type diode entre un espace de stockage d'entrée du côté du premier domaine et un espace de stockage de sortie du côté du second domaine. le premier composant d'interface est associé à un premier composant de pilote et le second composant d'interface est associé à un second composant de pilote. chaque composant de pilote met en oeuvre des applications de service, en particulier de contrôle du flux de données transitant par le composant pilote, ou du moyen d'interface d'entrée/sortie. L'invention sera mieux comprise à la lecture de la description qui va suivre d'un mode de réalisation, donné uniquement à titre d'exemple illustratff et non limitatif. Un équipement de sécurité établit un cloisonnement dans l'échange de paquets de données entre des premier et second domaines. Dans le présent document, le terme de « domaine » est à prendre au sens large : il peut s'agir d'un ou plusieurs autre(s) équipement(s) informatique(s), connecté(s) à l'équipement de sécurité considéré, via une liaison de communication adaptée. Il peut également s'agir d'un programme associé à une partition et exécuté sur l'équipement de sécurité considéré. Cependant, l'invention s'applique à un équipement de sécurité en communication via au moins une interface adaptée avec un autre équipement, constituant un domaine.It is therefore not possible to evaluate and therefore certify an operating system. As a result, it is not possible to certify an operating system component. Thus, because of the operating system it contains, an operating system component and, in particular, an interface component, has security vulnerabilities. By exploiting these security vulnerabilities, it is possible to bypass the. partitioning made by the security component. The invention therefore aims to overcome this problem. For this purpose, the subject of the invention is a security device of the aforementioned type, characterized in that at least one interface component of the first and second interface components is associated with an additional interface pilot component, the kernel performing spatial partitioning such that only the driver component has exclusive access to a storage space of the allocated storage means by corresponding interface means, and the driver component and the interface component exchange data by the intermediate of a shared memory space of the storage means. By providing the security component with an application component driver component and by bridging the output ports of the operating system component type interface component, the security vulnerabilities associated with the native drivers of the application component operation of the interface component are eliminated. According to particular embodiments, the equipment comprises one or more of the following features: the interface component and the associated driver component are executed together in the same time partition. the interface component and the associated driver component are executed separately in two time partitions. the kernel of the virtualization layer is a kernel of separation. the security component performs a data exchange of the diode type, cryptographic means, or filter. the security component performs a diode type data exchange between an input storage space on the first domain side and an output storage space on the second domain side. the first interface component is associated with a first driver component and the second interface component is associated with a second driver component. each driver component implements service applications, in particular control of the flow of data passing through the pilot component, or input / output interface means. The invention will be better understood on reading the following description of an embodiment, given solely by way of illustrative and nonlimiting example. Security equipment establishes partitioning in the exchange of data packets between first and second domains. In this document, the term "domain" is to be taken broadly: it may be one or more other computer equipment connected to the equipment of considered security, via a suitable communication link. It can also be a program associated with a partition and executed on the security equipment considered. However, the invention applies to security equipment in communication via at least one interface adapted to another equipment constituting a domain.

Dans le mode de réalisation décrit ici en détail, les premier et second domaines sont des réseaux connectés à l'équipement de sécurité par des liaisons de communication respectant le protocole ETHERNET. Cependant, les principes d'architectures décrits ici ne se limitent pas à type particulier de protocole, et de nombreuses variantes de réalisation sont envisageables par l'homme du métier.In the embodiment described here in detail, the first and second domains are networks connected to the security equipment by communication links complying with the ETHERNET protocol. However, the architectural principles described here are not limited to a particular type of protocol, and many variants can be envisaged by those skilled in the art.

Le premier domaine présente un niveau de sécurité « bas », plus faible que le niveau de sécurité « haut » du second domaine. Ceci justifie la mise en oeuvre, par le composant de sécurité, d'une politique de sécurité asymétrique entre les paquets de données circulant du premier domaine vers le second domaine et celles circulant du second domaine vers le premier domaine.The first domain has a "low" security level, lower than the "high" security level of the second domain. This justifies the implementation, by the security component, of an asymmetrical security policy between data packets flowing from the first domain to the second domain and those flowing from the second domain to the first domain.

Dans le mode de réalisation décrit ici en détail, le composant de sécurité possède une fonction de diode, autorisant la transmission de paquets de données d'un émetteur du premier domaine vers un récepteur du second domaine, et interdisant, en fonctionnement nominal, tout échange de paquets de données du second domaine vers le premier domaine.In the embodiment described here in detail, the security component has a diode function, allowing the transmission of data packets from a transmitter of the first domain to a receiver of the second domain, and prohibiting, in nominal operation, any exchange data packets from the second domain to the first domain.

L'équipement de sécurité comporte une couche matérielle, une couche de virtualisation et une couche applicative. La couche matérielle comporte un moyen de calcul, comportant un processeur et un mécanisme matériel de compartimentation de la mémoire, appelé MMU (selon l'acronyme anglais « Memory Management Unit »), et un moyen de mémorisation, comportant une mémoire, qui est une mémoire vive (RAM).The security equipment includes a hardware layer, a virtualization layer, and an application layer. The hardware layer comprises a calculation means, comprising a processor and a hardware mechanism for compartmentalizing the memory, called MMU (Memory Management Unit), and memory means, comprising a memory, which is a memory device. RAM.

La couche matérielle comporte également des moyens d'interface d'entrée/sortie. Par exemple, l'équipement de sécurité comporte une première interface, du type ETHERNET, pour la connexion au premier domaine et une seconde interface, du type EHERNET, pour la connexion au second domaine.The hardware layer also includes input / output interface means. For example, the security equipment comprises a first interface of the ETHERNET type for connection to the first domain and a second interface of the EHERNET type for connection to the second domain.

La couche physique comporte enfin un bus physique de communication entre les moyens de calcul, de mémorisation et d'interface. La couche de virtualisation permet de virtualiser la couche physique. Elle comporte un noyau et un hyperviseur. De manière connue en soi, le noyau est du type noyau de séparation (aussi dénommé « separation kernel »). Il permet, en s'appuyant sur le MMU, le partitionnement spatial de la mémoire et l'affectation (« mapping » en anglais) à un composant de la couche applicative, d'un espace spécifique de la mémoire vive. De manière également connue en soi, l'hyperviseur assure le partitionnement temporel, en allouant une fraction du temps d'utilisation du moyen de calcul à chaque composant ou groupe de composant de la couche applicative, et ceci conformément à un plan d'ordonnancement défini lors de la configuration de l'équipement de sécurité. La couche applicative comporte une pluralité de composants logiciels. Un premier type de composant logiciel, dit d'application, intègre uniquement un programme applicatif, propre à accéder directement aux ressources matérielles.The physical layer finally comprises a physical communication bus between the calculation, storage and interface means. The virtualization layer makes it possible to virtualize the physical layer. It has a kernel and a hypervisor. In a manner known per se, the core is of the separation kernel type (also called "separation kernel"). It allows, based on the MMU, the spatial partitioning of the memory and the assignment ("mapping" in English) to a component of the application layer, a specific space of the RAM. Also known per se, the hypervisor provides temporal partitioning, allocating a fraction of the time of use of the calculation means to each component or component group of the application layer, and this in accordance with a scheduling plan defined when setting up the safety equipment. The application layer comprises a plurality of software components. A first type of software component, called application, integrates only an application program, able to directly access the hardware resources.

Un second type de composant logiciel, dit de système d'exploitation, intègre un système d'exploitation, tel que le système LINUX, et éventuellement un ou plusieurs programmes applicatifs Appli, propre à accéder aux ressources matérielles que lui a autorisé l'hyperviseur, uniquement à travers le système d'exploitation: La couche applicative comporte un premier compartiment, comportant un premier composant de pilote et un premier composant d'interface, un composant de sécurité, et un second compartiment, comportant un second composant de pilote et un second composant d'interface. Si les premier et second composants d'interface sont des composants de système d'exploitation, les premier et second composants de pilote et le composant de sécurité sont des composants d'application. Un compartiment est divisé fonctionnellement entre un composant de pilote et un composant d'interface. Grâce au partitionnement spatial effectué par le noyau de séparation, le composant d'interface n'a pas accès à l'espace de la mémoire réservé à l'interface d'entrée/sortie de la couche matérielle. Seul le composant de pilote possède un accès exclusif à l'espace de la mémoire de l'interface d'entrée/sortie de la couche matérielle.A second type of software component, known as an operating system, integrates an operating system, such as the LINUX system, and possibly one or more application programs, capable of accessing the hardware resources that the hypervisor has authorized it, only through the operating system: The application layer has a first compartment, comprising a first driver component and a first interface component, a security component, and a second compartment, including a second driver component and a second driver component. interface component. If the first and second interface components are operating system components, the first and second driver components and the security component are application components. A compartment is functionally divided between a driver component and an interface component. Due to the spatial partitioning performed by the separation kernel, the interface component does not have access to the memory space reserved for the input / output interface of the hardware layer. Only the driver component has exclusive access to the memory space of the hardware layer's input / output interface.

Par ailleurs, un canal de communication, a priori bidirectionnel, est défini entre le composant d'interface et le composant de pilote. Ainsi, en communication descendante, une fonction du composant d'interface, appelée par un pilote natif du système d'exploitation de ce composant n'écrit pas une donnée dans l'espace de la mémoire de l'interface d'entrée/sortie, mais dans un espace de mémoire partagé avec le composant de pilote. Celui-ci lit la donnée écrite dans l'espace de mémoire partagé et lance une fonction correspondante pour écrire dans l'espace de la mémoire de l'interface d'entrée/sortie. Une description similaire pourrait être faite en communication montante. Le composant de pilote appelle une fonction nécessitant la lecture d'une donnée écrite dans l'espace de mémoire de l'interface d'entrée/sortie et écrit la donnée correspondant dans l'espace de mémoire partagé avec le composant d'interface. Celui-ci appelle la fonction correspondante du pilote natif et lit la donnée placée dans l'espace de mémoire partagé. Le composant de pilote peut avantageusement, en plus de l'application de pilote, être enrichi d'une application de service, permettant par exemple la maîtrise des opérations de contrôle du périphérique connecté à l'interface considérée, ou encore la maîtrise du profil des flux de données, montant ou descendant, circulant à travers le composant de pilote. Ainsi, le premier compartiment est dédié à l'échange de paquets de données avec le premier domaine. Lorsqu'il est exécuté par le moyen de calcul, le premier compartiment écrit les paquets de données provenant du premier domaine dans un espace de stockage d'entrée de la mémoire de la couche physique. Plus précisément, le premier compartiment comporte un premier composant de pilote et un premier composant d'interface. Le partitionnement spatial assure l'accès du premier composant d'interface à la première interface à travers le composant de pilote uniquement, en utilisant l'espace de mémoire partagé. Un canal de communication exclusif est ainsi défini entre le composant d'interface et le composant de pilote. De manière similaire, le second compartiment est dédié à l'échange de paquets de données avec le second domaine. Lorsqu'il est exécuté par le moyen de calcul, le second compartiment lit les paquets de données d'un espace de stockage de sortie de la mémoire de la couche physique et les transmets vers le second domaine. Plus précisément, le second compartiment comporte un second composant de pilote et un second composant d'interface. Le partitionnement spatial assure l'accès du second composant d'interface à la seconde interface à travers le composant de pilote uniquement, en utilisant l'espace de mémoire partagé. Un canal de communication exclusif est ainsi défini entre le composant d'interface et le composant de pilote.Furthermore, a communication channel, a priori bidirectional, is defined between the interface component and the driver component. Thus, in downlink communication, a function of the interface component, called by a native driver of the operating system of this component does not write data in the memory space of the input / output interface, but in a shared memory space with the driver component. This reads the data written in the shared memory space and launches a corresponding function to write to the memory space of the input / output interface. A similar description could be made in uplink communication. The driver component calls a function requiring the reading of data written to the memory space of the input / output interface and writes the corresponding data to the shared memory space with the interface component. This calls the corresponding function of the native driver and reads the data placed in the shared memory space. The pilot component can advantageously, in addition to the driver application, be enriched with a service application, allowing for example the control of the control operations of the device connected to the interface in question, or the control of the profile of the devices. data flow, upstream or downstream, flowing through the driver component. Thus, the first compartment is dedicated to the exchange of data packets with the first domain. When executed by the computing means, the first compartment writes the data packets from the first domain to an input storage space of the physical layer's memory. More specifically, the first compartment comprises a first driver component and a first interface component. Spatial partitioning provides access for the first interface component to the first interface through the driver component only, using the shared memory space. An exclusive communication channel is thus defined between the interface component and the driver component. Similarly, the second compartment is dedicated to the exchange of data packets with the second domain. When executed by the computing means, the second compartment reads the data packets from an output storage space of the physical layer's memory and transmits them to the second domain. More specifically, the second compartment has a second driver component and a second interface component. Spatial partitioning provides access for the second interface component to the second interface through the driver component only, using the shared memory space. An exclusive communication channel is thus defined between the interface component and the driver component.

Le composant de séCurité forme un sas d'échange des paquets de données entre les premier et second compartiments. Dans le mode de réalisation décrit ici en détail, le composant de sécurité étant du type diode, il est propre à lire un paquet de données placé dans l'espace de stockage d'entrée et à l'écrire dans l'espace de stockage de sortie. L'enchaînement temporel de l'exécution des différents composants ou groupe de composants de l'équipement de sécurité est présenté au cours d'une trame, et de la trame suivante. Les trames possèdent une durée D constante prédéterminée. Il est à noter que l'ordonnancement de l'exécution des composants est identique d'une trame à l'autre. Cet ordonnancement temporel est défini par une partition d'initialisation exécutée une seule fois au démarrage du composant de sécurité. Sont successivement exécutés, dans une première partition temporelle, les premiers composants de pilote et d'interface dans une seconde partition temporelle, le composant de sécurité, et, dans une troisième partition temporelle, les seconds composants de pilote et d'interface. En variante, l'exécution du composant de pilote et celle du pilote d'interface d'un même compartiment peuvent être partitionnées temporellement l'une par rapport à l'autre. En variante, le composant de sécurité réalise un autre type de cloisonnement entre les premier et second domaines.The security component forms an airlock for exchanging data packets between the first and second compartments. In the embodiment described here in detail, the security component being of the diode type, it is adapted to read a data packet placed in the input storage space and to write it in the storage space of exit. The time sequence of the execution of the various components or group of components of the safety equipment is presented during a frame, and the following frame. The frames have a predetermined constant duration D. It should be noted that the scheduling of the execution of the components is identical from one frame to another. This temporal scheduling is defined by an initialization partition executed once at the start of the security component. The first driver and interface components in a first time partition, the security component, and, in a third time partition, the second driver and interface components are successively executed in a first time partition. As a variant, the execution of the driver component and that of the interface driver of the same compartment can be partitioned temporally with respect to each other. Alternatively, the security component performs another type of partitioning between the first and second domains.

Dans encore une autre variante, indépendante des précédentes, seul le compartiment d'échange de données avec le domaine dont le niveau de sécurité est le plus bas est divisé fonctionnellement comme cela vient d'être présenté, l'autre compartiment étant conforme à un composant d'interface de l'art antérieur. Dans encore une autre variante, les compartiments et le composant de sécurité peuvent être exécutés de manière ordonnancée sur plusieurs processeurs de calcul en parallèle, à partir du moment où si deux domaines venaient à s'exécuter sur le même processeur de calcul, leur ordonnancement serait alors décomposé de manière stricte, comme décrit dans les variantes précédentes. Ainsi, l'homme du métier constatera que le composant de pilote est un composant du type « PROXY », propre à agir pour le compte du composant d'interface. Le composant de pilote qui est un composant d'application peut être certifié. Les accès du composant d'interface à la couche matérielle sont évités. En inhibant de la sorte l'accès à des canaux cachés du système d'exploitation d'un composant riche, la sécurité de fonctionnement de l'équipement de sécurité est améliorée.In yet another variant, independent of the previous ones, only the data exchange compartment with the domain whose security level is the lowest is divided functionally as just presented, the other compartment conforming to a component interface of the prior art. In yet another variant, the compartments and the security component can be executed sequentially on several parallel computing processors, from the moment when two domains come to execute on the same computing processor, their scheduling would be then strictly decomposed, as described in the previous variants. Thus, those skilled in the art will find that the driver component is a component of the "PROXY" type, capable of acting on behalf of the interface component. The driver component that is an application component can be certified. Access of the interface component to the hardware layer is avoided. By thus inhibiting access to hidden channels of the operating system of a rich component, the security of operation of the security equipment is improved.

Claims (8)

REVENDICATIONS1.- Equipement de sécurité de cloisonnement entre des premier et second domaines, comportant : - une couche matérielle, comportant un moyen de calcul, un moyen de mémorisation, et des premier et second moyens d'interface avec lesdits premier et second domaines ; - une couche de virtualisation de la couche matérielle, comportant un noyau et un hyperviseur ; - une couche applicative comportant : - un premier composant d'interface, pour échanger des données avec le premier domaine ; - un second composant d'interface, pour échanger des données avec le second domaine ; - un composant de sécurité formant un sas d'échange de données entre les premier et second composants, caractérisé en cé que au moins un composant d'interface parmi les premier et second composants d'interface est associé à un composant supplémentaire de pilote d'interface, le noyau réalisant un partitionnement spatial tel que seul le composant de pilote possède un accès exclusif à un espace de stockage du moyen de mémorisation alloué au moyen d'interface correspondant et le composant de pilote et le composant d'interface échangent des données par l'intermédiaire d'un espace de mémoire partagé du moyen de mémorisation.CLAIMS1. Separation security equipment between first and second domains, comprising: a hardware layer, comprising a calculation means, a storage means, and first and second interface means with said first and second domains; a layer of virtualization of the hardware layer, comprising a core and a hypervisor; an application layer comprising: a first interface component for exchanging data with the first domain; a second interface component for exchanging data with the second domain; a security component forming a data exchange lock between the first and second components, characterized in that at least one interface component of the first and second interface components is associated with an additional driver component of interface, the kernel performing spatial partitioning such that only the driver component has exclusive access to a storage space of the allocated storage means by means of corresponding interface and the driver component and the interface component exchange data by via a shared memory space of the storage means. 2.- Equipement de sécurité selon la revendication 1, caractérisé en ce que le composant d'interface et le composant de pilote associé sont exécutés ensemble dans une même partition temporelle.2. Security equipment according to claim 1, characterized in that the interface component and the associated driver component are executed together in the same time partition. 3.- Equipement de sécurité selon la revendication 1, caractérisé en ce que le composant d'interface et le composant de pilote associé sont exécutés séparément dans deux partitions temporelles.3. Security equipment according to claim 1, characterized in that the interface component and the associated driver component are executed separately in two time partitions. 4.- Equipement de sécurité selon l'une quelconque des revendications 1 à 3, caractérisé en ce que le noyau de la couche de virtualisation est un noyau de séparation.354. Security equipment according to any one of claims 1 to 3, characterized in that the core of the virtualization layer is a separation core. 5.- Equipement de sécurité selon l'une quelconque des revendications 1 à 4, caractérisé en ce que le composant de sécurité réalise un échange de données du type diode, moyen cryptographique, ou filtre.5. Safety equipment according to any one of claims 1 to 4, characterized in that the security component performs a data exchange of the diode type, cryptographic means, or filter. 6.- Equipement de sécurité selon l'une quelconque des revendications 1 à 5, caractérisé en ce que le composant de sécurité réalise un échange de données du type diode entre un espace de stockage d'entrée du côté du premier domaine et un espace de stockage de sortie du côté du second domaine.6. Security equipment according to any one of claims 1 to 5, characterized in that the security component performs a diode-type data exchange between an input storage space on the first domain side and a storage space. output storage on the second domain side. 7.- Equipement de sécurité selon l'une quelconque des revendications 1 à 6, caractérisé en ce que le premier composant d'interface est associé à un premier composant de pilote et le second composant d'interface est associé à un second composant de pilote.7. Safety equipment according to any one of claims 1 to 6, characterized in that the first interface component is associated with a first pilot component and the second interface component is associated with a second pilot component. . 8.- Equipement de sécurité selon l'une quelconque des revendications 1 à 7, caractérisé en ce que le ou chaque composant de pilote met en oeuvre des applications de service, en particulier de contrôle du flux de données transitant par le composant pilote, ou du moyen d'interface d'entrée/sortie.208. Safety equipment according to any one of claims 1 to 7, characterized in that the or each driver component implements service applications, in particular control of the flow of data passing through the pilot component, or the input / output interface means.
FR1303074A 2013-12-24 2013-12-24 PARTITION SECURITY EQUIPMENT BETWEEN FIRST AND SECONDDOMAIN COMPRISING A PILOT COMPONENT Expired - Fee Related FR3015837B1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FR1303074A FR3015837B1 (en) 2013-12-24 2013-12-24 PARTITION SECURITY EQUIPMENT BETWEEN FIRST AND SECONDDOMAIN COMPRISING A PILOT COMPONENT
NO14200267A NO2889803T3 (en) 2013-12-24 2014-12-24
EP14200267.4A EP2889803B1 (en) 2013-12-24 2014-12-24 Partitioning safety device between first and second fields, comprising a driver component
ES14200267.4T ES2667674T3 (en) 2013-12-24 2014-12-24 Security equipment for compartmentalization between a first and second domains, comprising a controller component

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1303074A FR3015837B1 (en) 2013-12-24 2013-12-24 PARTITION SECURITY EQUIPMENT BETWEEN FIRST AND SECONDDOMAIN COMPRISING A PILOT COMPONENT

Publications (2)

Publication Number Publication Date
FR3015837A1 true FR3015837A1 (en) 2015-06-26
FR3015837B1 FR3015837B1 (en) 2017-04-07

Family

ID=51225572

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1303074A Expired - Fee Related FR3015837B1 (en) 2013-12-24 2013-12-24 PARTITION SECURITY EQUIPMENT BETWEEN FIRST AND SECONDDOMAIN COMPRISING A PILOT COMPONENT

Country Status (1)

Country Link
FR (1) FR3015837B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7607167B1 (en) * 2005-06-27 2009-10-20 Rockwell Collins, Inc. Secure gateway/router
WO2010063768A1 (en) * 2008-12-05 2010-06-10 Thales Security apparatus
DE102012105068A1 (en) * 2012-06-12 2013-12-12 Eads Deutschland Gmbh Accelerator with support for virtual machines

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7607167B1 (en) * 2005-06-27 2009-10-20 Rockwell Collins, Inc. Secure gateway/router
WO2010063768A1 (en) * 2008-12-05 2010-06-10 Thales Security apparatus
DE102012105068A1 (en) * 2012-06-12 2013-12-12 Eads Deutschland Gmbh Accelerator with support for virtual machines

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"WIND RIVER VXWORKS MILS PLATFORM 3.0 TABLE OF CONTENTS Run-Time Components", 13 June 2013 (2013-06-13), XP055125417, Retrieved from the Internet <URL:https://web.archive.org/web/20130613090136/http://www.windriver.com/products/platforms/vxworks-mils/MILS-3_PN.pdf> [retrieved on 20140626] *

Also Published As

Publication number Publication date
FR3015837B1 (en) 2017-04-07

Similar Documents

Publication Publication Date Title
US10834108B2 (en) Data protection in a networked computing environment
US8004998B2 (en) Capture and regeneration of a network data using a virtual software switch
US10785240B2 (en) Protecting from unintentional malware download
FR2929733A1 (en) Computer securing method, involves verifying that predefined access rules at external unit are validated by communication between external unit and operating system and transmitting communication to recipient if rules are validated
AU2020305390B2 (en) Cryptographic key orchestration between trusted containers in a multi-node cluster
US20190007605A1 (en) Camera usage notification
Stach et al. Bringing privacy control back to citizens: DISPEL---a distributed privacy management platform for the internet of things
US10498767B1 (en) Systems and methods for enforcing data loss prevention (DLP) policies during web conferences
EP3599552B1 (en) Electronic device and method for installing avionics software applications on a platform comprising a multicore processor, associated computer program and electronic system
Han et al. High performance cloud auditing and applications
EP2889803B1 (en) Partitioning safety device between first and second fields, comprising a driver component
FR3015837A1 (en) PARTITION SECURITY EQUIPMENT BETWEEN FIRST AND SECONDDOMAIN COMPRISING A PILOT COMPONENT
EP4187393A1 (en) Dynamic management of a memory firewall
EP2889795B1 (en) Safety device partitioning between first and second domains, enhanced with audit functionality
US11841961B2 (en) Management of computing secrets
WO2013110816A2 (en) Method of using a shared memory
US10284563B2 (en) Transparent asynchronous network flow information exchange
US11968231B2 (en) Intelligent request routing within service mesh
US20230118072A1 (en) Content based on-device image adjustment
Camp et al. Failures of dynamic control systems
Carpen-Amarie et al. Towards a Generic Security Framework for Cloud Data Management Environments
Jain et al. Workshops & tutorials
LaCurts et al. 9th USENIX Symposium on Networked Systems Design and Implementation 94
Jha et al. Vulnerability and Information Flow Analysis of COTS
FR3037459A1 (en) METHOD OF COLLECTING, FOR CENTERED-USER AUDIENCE MEASUREMENT, HITS TRANSMITTED TO A CENTERED-SITE AUDIENCE MEASUREMENT NODE, USING NODE-CREATED HIT RECORDINGS.

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

ST Notification of lapse

Effective date: 20200905