FR3012643A1 - SYSTEM FOR DETECTING INTRUSION IN A DEVICE COMPRISING A FIRST OPERATING SYSTEM AND A SECOND OPERATING SYSTEM - Google Patents

SYSTEM FOR DETECTING INTRUSION IN A DEVICE COMPRISING A FIRST OPERATING SYSTEM AND A SECOND OPERATING SYSTEM Download PDF

Info

Publication number
FR3012643A1
FR3012643A1 FR1360499A FR1360499A FR3012643A1 FR 3012643 A1 FR3012643 A1 FR 3012643A1 FR 1360499 A FR1360499 A FR 1360499A FR 1360499 A FR1360499 A FR 1360499A FR 3012643 A1 FR3012643 A1 FR 3012643A1
Authority
FR
France
Prior art keywords
operating system
intrusion detection
data
activity
analysis
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
FR1360499A
Other languages
French (fr)
Other versions
FR3012643B1 (en
Inventor
Guillaume Dabosville
Michele Sartori
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.)
Idemia France SAS
Original Assignee
Oberthur Technologies 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 Oberthur Technologies SA filed Critical Oberthur Technologies SA
Priority to FR1360499A priority Critical patent/FR3012643B1/en
Priority to PCT/FR2014/052730 priority patent/WO2015063405A1/en
Priority to EP14805992.6A priority patent/EP3063693B1/en
Priority to US15/032,098 priority patent/US10339307B2/en
Publication of FR3012643A1 publication Critical patent/FR3012643A1/en
Application granted granted Critical
Publication of FR3012643B1 publication Critical patent/FR3012643B1/en
Active 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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • 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
    • 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/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation

Abstract

L'invention concerne le domaine des systèmes de détection d'intrusion dédiés à un système d'exploitation, et plus particulièrement un système de détection d'intrusion dans un dispositif mettant en œuvre au moins un premier système d'exploitation et un deuxième système d'exploitation. Selon l'invention, le système de détection d'intrusion comprend : un module d'écoute configuré pour être exécuté dans le premier système d'exploitation pour écouter l'activité de ce premier système d'exploitation ; un module de collecte configuré pour être exécuté dans le premier système d'exploitation pour collecter des données caractérisant l'activité du premier système d'exploitation ; et un module d'analyse et de détection configuré pour être exécuté dans le deuxième système d'exploitation pour analyser les données collectées dans le premier système d'exploitation et détecter une activité suspecte dans le premier système d'exploitation en fonction de ladite analyse.The invention relates to the field of intrusion detection systems dedicated to an operating system, and more particularly to an intrusion detection system in a device implementing at least a first operating system and a second operating system. exploitation. According to the invention, the intrusion detection system comprises: a listening module configured to be executed in the first operating system to listen to the activity of this first operating system; a collection module configured to be executed in the first operating system to collect data characterizing the activity of the first operating system; and an analysis and detection module configured to be executed in the second operating system for analyzing the data collected in the first operating system and for detecting suspicious activity in the first operating system based on said analysis.

Description

DOMAINE DE L'INVENTION L'invention concerne le domaine des systèmes de détection d'intrusion dédiés à un système d'exploitation, et plus particulièrement un système de détection d'intrusion dans un dispositif mettant en oeuvre au moins deux systèmes d'exploitation.FIELD OF THE INVENTION The invention relates to the field of intrusion detection systems dedicated to an operating system, and more particularly to an intrusion detection system in a device implementing at least two operating systems.

CONTEXTE DE L'INVENTION Un système de détection d'intrusion offre des moyens pour détecter l'activité suspecte d'un système d'exploitation mis en oeuvre sur un dispositif. Plusieurs types d'activités ou intrusions peuvent être détectés, telles que les intrusions portant atteinte à la confidentialité de données comme le vol de données ou la recherche de données dont l'existence n'est pas nécessairement connue par l'attaquant, des intrusions portant atteinte à l'intégrité de données comme la modification illégitime de données ou l'introduction de programmes malveillants, ou des intrusions portant atteinte à la disponibilité de données ou de services comme la destruction illégitime de données, ou la modification illégitime des droits d'accès des utilisateurs du dispositif aux données ou services. Ces moyens pour détecter l'activité suspecte sont notamment utiles afin d'identifier les attaquants ainsi que les modifications réalisées, mais aussi afin de déterminer les corrections nécessaires des modules logiciels assurant la sécurité du système d'exploitation, et ainsi limiter une intrusion future. La détection de l'activité suspecte d'un système résulte généralement de l'analyse du comportement de ce système, et plus particulièrement de l'analyse des évènements générés par les applications et processus de ce système. La quantité des données à analyser pouvant s'avérer importante, des méthodes d'analyse automatique sont mises en oeuvre. Plusieurs approches pour détecter l'activité suspecte d'un système d'exploitation existent. Une première approche dite comportementale est fondée sur le principe selon lequel l'exploitation d'une vulnérabilité d'un système entraîne un comportement anormal du système. Cette approche est initialement décrite dans l'article de J-P Anderson, « Computer Security Threat Monitoring and Surveillance », ACM, 1980. Un tel comportement correspond par exemple à un nombre important de tentatives de connexions infructueuses ou à une utilisation anormale de certaines ressources du système. Pour caractériser les comportements normaux et anormaux du système, des méthodes statistiques peuvent être mises en oeuvre. Parmi ces méthodes, le modèle de Denning caractérise le comportement d'un système notamment en fonction de l'utilisateur du système, des ressources du système, des actions de l'utilisateur sur les ressources du système, du comportement habituel de l'utilisateur du système ou des traces enregistrant les activités anormales du système. Le comportement d'un système peut aussi être par exemple caractérisé par un ensemble de règles logiques mises en oeuvre par un système expert, ou par des méthodes de classification d'événements système détectés. Une seconde approche, dite approche par scénario, s'attache à définir le comportement d'un attaquant à l'aide d'un ensemble de règles. Cette approche est par exemple décrite dans l'article de Paul Helman, Gunar Liepins, et Wynette Richards, « Foundations of Intrusion Detection », The IEEE Computer Security Foundations Workshop , 1992. Selon cette approche, seuls les scenarii formalisés peuvent être détectés. On remarque qu'elle est par exemple mise en oeuvre soit par un système expert comprenant notamment un ensemble de règles logiques définissant la politique de sécurité du système, ainsi qu'un ensemble de règles logiques définissant les vulnérabilités du système, soit par des algorithmes génétiques. Toutefois, ces systèmes de détection d'intrusion peuvent être inhibés par un attaquant ou un programme malveillant disposant de droits d'accès suffisants. Cela risque d'entraîner la désactivation partielle ou totale du système de détection d'intrusion.BACKGROUND OF THE INVENTION An intrusion detection system provides means for detecting suspicious activity of an operating system implemented on a device. Several types of activities or intrusions can be detected, such as intrusions that compromise the confidentiality of data such as the theft of data or the search for data whose existence is not necessarily known to the attacker, intrusions involving breach of data integrity such as illegitimate modification of data or the introduction of malicious programs, or intrusions that affect the availability of data or services such as illegitimate destruction of data, or illegitimate modification of access rights users of the device to data or services. These means for detecting the suspicious activity are particularly useful in order to identify the attackers and the modifications made, but also to determine the necessary corrections of the software modules ensuring the security of the operating system, and thus limit future intrusion. The detection of the suspicious activity of a system generally results from the analysis of the behavior of this system, and more particularly from the analysis of the events generated by the applications and processes of this system. The quantity of data to be analyzed may be important, automatic analysis methods are implemented. Several approaches to detect the suspicious activity of an operating system exist. A first so-called behavioral approach is based on the principle that the exploitation of a vulnerability of a system leads to abnormal behavior of the system. This approach is initially described in the article by JP Anderson, Computer Security Threat Monitoring and Surveillance, ACM, 1980. Such behavior corresponds, for example, to a large number of unsuccessful connection attempts or abnormal use of certain resources. system. To characterize the normal and abnormal behaviors of the system, statistical methods can be implemented. Among these methods, the Denning model characterizes the behavior of a system in particular according to the user of the system, the resources of the system, the actions of the user on the resources of the system, the usual behavior of the user of the system. system or traces recording the abnormal activities of the system. The behavior of a system may also for example be characterized by a set of logical rules implemented by an expert system, or by methods of classification of detected system events. A second approach, called a scenario approach, focuses on defining an attacker's behavior using a set of rules. This approach is for example described in the article by Paul Helman, Gunar Liepins, and Wynette Richards, Foundations of Intrusion Detection, The IEEE Computer Security Foundations Workshop, 1992. According to this approach, only formalized scenarios can be detected. Note that it is for example implemented either by an expert system including a set of logical rules defining the system security policy, and a set of logical rules defining the vulnerabilities of the system, or by genetic algorithms . However, these intrusion detection systems can be inhibited by an attacker or a malicious program with sufficient access rights. This may result in the partial or total deactivation of the intrusion detection system.

Dans ce cas, les solutions connues n'offrent pas de sécurité suffisante puisqu'elles ne permettent pas de détecter qu'un système de détection d'intrusion est désactivé, en vue par exemple de le réactiver. L'attaquant ou le programme malveillant est alors en mesure de mettre en oeuvre des attaques exploitant les vulnérabilités précédemment évoquées, sans que le système ne soit en mesure de les détecter.In this case, the known solutions do not provide sufficient security since they do not detect that an intrusion detection system is disabled, for example to reactivate it. The attacker or the malicious program is then able to implement attacks exploiting the previously mentioned vulnerabilities, without the system being able to detect them.

RESUME DE L'INVENTION La présente invention a ainsi pour objet de pallier au moins un de ces inconvénients. Dans ce contexte, un premier aspect de l'invention concerne un système de détection d'intrusion dans un dispositif comprenant un premier système d'exploitation et un deuxième système d'exploitation, le système de détection d'intrusion comprenant un module d'écoute configuré pour être exécuté dans le premier système d'exploitation pour écouter l'activité de ce premier système d'exploitation et un module de collecte configuré pour être exécuté dans le premier système d'exploitation pour collecter des données caractérisant l'activité du premier système d'exploitation, caractérisé en ce que le système de détection d'intrusion comprenant, en outre, un module d'analyse et de détection configuré pour être exécuté dans le deuxième système d'exploitation pour analyser les données collectées dans le premier système d'exploitation et détecter une activité suspecte dans le premier système d'exploitation en fonction de ladite analyse. Sur un dispositif comprenant plusieurs systèmes d'exploitation, plusieurs modes de réalisation sont envisagés : soit les deux systèmes d'exploitation fonctionnement en parallèle, par exemple grâce à l'utilisation d'un processeur multi- coeur, autrement dit un processeur possédant au moins deux coeurs physiques qui travaillent en parallèle ; soit les deux systèmes d'exploitation fonctionnent en même temps, mais lorsque l'un d'entre eux s'exécute, l'autre est endormi. Dans ce cas, on dit qu'ils ont des exécutions exclusives l'une de l'autre.SUMMARY OF THE INVENTION The present invention thus aims to overcome at least one of these disadvantages. In this context, a first aspect of the invention relates to an intrusion detection system in a device comprising a first operating system and a second operating system, the intrusion detection system comprising a listening module configured to be executed in the first operating system to listen to the activity of this first operating system and a collection module configured to be executed in the first operating system to collect data characterizing the activity of the first system operating system, characterized in that the intrusion detection system further comprises an analysis and detection module configured to be executed in the second operating system for analyzing the data collected in the first system. operating and detecting suspicious activity in the first operating system based on said analysis. On a device comprising several operating systems, several embodiments are envisaged: either the two operating systems operating in parallel, for example by using a multi-core processor, in other words a processor having at least two physical hearts working in parallel; either operating system works at the same time, but when one of them runs, the other is asleep. In this case, they are said to have exclusive performances of each other.

Un mécanisme de basculement est prévu pour permettre de basculer d'un système d'exploitation vers l'autre en cas d'exécutions exclusives ou pour notifier le deuxième système d'exploitation du besoin d'analyser les données collectées si les deux systèmes d'exploitation sont d'exécution parallèle. Le mécanisme de basculement d'un premier système d'exploitation vers le deuxième système d'exploitation, dont une possible implémentation est décrite par la suite, est mis en oeuvre par un module de bascule, indépendant ou pas des systèmes d'exploitation. Corrélativement, un second aspect de l'invention concerne un procédé de détection d'une activité suspecte dans un dispositif comprenant un premier système d'exploitation et un deuxième système d'exploitation, le procédé de détection d'une activité suspecte comprenant une étape d'écoute dans le premier système d'exploitation pour écouter l'activité de ce premier système d'exploitation et une étape de collecte dans le premier système d'exploitation pour collecter des données caractérisant l'activité du premier système d'exploitation, caractérisé en ce que le procédé de détection d'une activité suspecte comprend : une étape d'analyse et de détection dans le deuxième système d'exploitation pour analyser les données collectées dans le premier système d'exploitation et détecter une activité suspecte dans le premier système d'exploitation en fonction de ladite analyse.A failover mechanism is provided to allow switching from one operating system to another in the case of exclusive executions or to notify the second operating system of the need to analyze the data collected if the two systems exploitation are parallel execution. The mechanism for switching from a first operating system to the second operating system, a possible implementation of which is described below, is implemented by a flip-flop module, independent or not of the operating systems. Correlatively, a second aspect of the invention relates to a method for detecting a suspicious activity in a device comprising a first operating system and a second operating system, the method for detecting a suspicious activity comprising a step of listening in the first operating system to listen to the activity of this first operating system and a collection step in the first operating system to collect data characterizing the activity of the first operating system, characterized in the method of detecting a suspicious activity comprises: an analyzing and detecting step in the second operating system for analyzing the data collected in the first operating system and detecting a suspicious activity in the first operating system; exploitation according to said analysis.

Un troisième aspect de l'invention concerne un dispositif comprenant un premier système d'exploitation et un deuxième système d'exploitation, ledit dispositif comprenant en outre un système de détection d'intrusion tel que défini ci-dessus. Ainsi, l'invention permet d'éviter que le système de détection d'intrusion, et plus précisément l'analyse des données d'activité collectées et l'éventuelle détection d'une intrusion ne soit désactivée par un attaquant ou un programme malveillant, afin que son activité devienne transparente, par exemple pour l'utilisateur du dispositif. L'évitement de la désactivation du système de détection d'intrusion est obtenu, selon l'invention, en répartissant le processus de surveillance et de détection des intrusions sur au moins deux systèmes d'exploitation. En particulier, l'invention segmente le système de détection d'intrusion en plusieurs modules, dont partie sont associés au premier système d'exploitation surveillé afin de collecter les données caractérisant sa propre activité, et dont un ou plusieurs autres sont associés au deuxième système d'exploitation afin d'analyser ces données collectées, le deuxième système d'exploitation n'hébergeant, par définition, pas de programmes malveillants. Le deuxième système d'exploitation permet ainsi de détecter une éventuelle intrusion lors de l'exécution du premier système d'exploitation surveillé sans qu'une désactivation malveillante de ces modules d'analyse et de détection ne puisse être possible.A third aspect of the invention relates to a device comprising a first operating system and a second operating system, said device further comprising an intrusion detection system as defined above. Thus, the invention makes it possible to prevent the intrusion detection system, and more specifically the analysis of the activity data collected and the possible detection of an intrusion, from being deactivated by an attacker or a malicious program, so that its activity becomes transparent, for example for the user of the device. The avoidance of the deactivation of the intrusion detection system is obtained, according to the invention, by distributing the monitoring and intrusion detection process on at least two operating systems. In particular, the invention segments the intrusion detection system into several modules, part of which are associated with the first monitored operating system in order to collect data characterizing its own activity, and one or more of which are associated with the second system. operating system to analyze this collected data, the second operating system not hosting, by definition, no malicious programs. The second operating system thus makes it possible to detect a possible intrusion during the execution of the first monitored operating system without malicious disabling of these analysis and detection modules being possible.

D'autres caractéristiques du système, du dispositif et du procédé de détection d'une activité suspecte selon des modes de réalisation de l'invention sont décrites dans les revendications dépendantes. Selon une caractéristique particulière, le module de collecte enregistre les données dans une mémoire tampon du premier système d'exploitation, la mémoire tampon étant accessible en lecture par le deuxième système d'exploitation. Corrélativement, l'étape de collecte comprend l'enregistrement desdites données dans une mémoire tampon du premier système d'exploitation, la mémoire tampon étant accessible en lecture par le deuxième système d'exploitation. La mémoire tampon est de type file d'attente. Les données caractérisant l'activité du premier système d'exploitation sont analysées par un module d'analyse du système d'exploitation de confiance. Un mécanisme de basculement, dont une possible implémentation est décrite par la suite, est mis en oeuvre afin que l'analyse puisse avoir lieu. Cependant, un basculement trop fréquent d'un système d'exploitation vers un autre aurait pour conséquence de réduire les performances des systèmes d'exploitation. Lorsque les systèmes d'exploitation ont des exécutions exclusives l'une de l'autre, l'utilisation d'une mémoire tampon pour stocker des données d'activité sur une période plus ou moins longue permet donc de réduire la fréquence de basculement du premier système d'exploitation vers le deuxième système d'exploitation afin qu'il puisse analyser l'activité du premier système d'exploitation.Other features of the system, device, and method for detecting suspicious activity according to embodiments of the invention are described in the dependent claims. According to a particular characteristic, the collection module stores the data in a buffer memory of the first operating system, the buffer being readable by the second operating system. Correlatively, the collection step comprises recording said data in a buffer memory of the first operating system, the buffer being readable by the second operating system. The buffer is of type queue. Data characterizing the activity of the first operating system is analyzed by a trusted operating system analysis module. A failover mechanism, a possible implementation of which is described later, is implemented so that the analysis can take place. However, a frequent switchover from one operating system to another would reduce the performance of the operating systems. When the operating systems have executions exclusive of each other, the use of a buffer to store activity data over a longer or shorter period therefore reduces the tilt frequency of the first one. operating system to the second operating system so that it can analyze the activity of the first operating system.

Lorsque les systèmes d'exploitation ont des exécutions parallèles, l'utilisation d'une mémoire tampon pour stocker des données d'activité sur une période plus ou moins longue permet de réduire la fréquence d'exécution du processus du deuxième système d'exploitation dédié à l'analyse de l'activité du premier système d'exploitation. Selon un mode particulier de réalisation de l'invention, le module de bascule est configuré pour déclencher une bascule du premier système d'exploitation vers le deuxième système d'exploitation lorsque la taille mémoire utilisée par ladite mémoire tampon atteint une valeur prédéfinie, ou après une durée prédéterminée, ou après une action de déclenchement par l'utilisateur dudit dispositif. Corrélativement, l'étape de bascule est déclenchée lorsque la taille mémoire utilisée par ladite mémoire tampon atteint une valeur prédéfinie, ou après une durée prédéterminée, ou après une action de déclenchement par l'utilisateur dudit dispositif. Cette disposition définit plusieurs conditions de bascule possibles. Il est à noter que l'étape de bascule est par exemple déclenchée après que le module de bascule a lui-même généré une instruction de basculement. En effet, le module de bascule, qui peut être indépendant des systèmes d'exploitation, dispose d'une minuterie. Cette minuterie décompte le temps écoulé depuis le dernier basculement du premier système d'exploitation vers le deuxième système d'exploitation. Après une durée prédéterminée, le module de bascule peut déclencher le basculement vers le second système d'exploitation. Le déclenchement régulier du module de bascule selon ce mode de réalisation offre comme avantage d'éviter une attaque par déni de service mis en oeuvre par un attaquant ou un programme malveillant. Selon un mode particulier de réalisation de l'invention, le module d'analyse est configuré pour vérifier le respect de droits d'accès relatifs à une donnée d'activité du premier système d'exploitation, en fonction d'un ensemble de règles stockées dans une mémoire non volatile du dispositif, accessible par le deuxième système d'exploitation. Corrélativement, l'étape d'analyse comprend, pour une donnée relative à l'activité du premier système d'exploitation, la vérification du respect de droits d'accès en fonction d'un ensemble de règles stockées dans une mémoire non volatile du dispositif, accessible par le système d'exploitation de confiance. Selon une caractéristique particulière, la mémoire tampon est sécurisée par une méthode de chiffrement.When the operating systems have parallel executions, the use of a buffer to store activity data over a longer or shorter period makes it possible to reduce the frequency of execution of the process of the second dedicated operating system analyzing the activity of the first operating system. According to a particular embodiment of the invention, the flip-flop module is configured to trigger a flip-flop of the first operating system to the second operating system when the memory size used by said buffer reaches a predefined value, or after a predetermined duration, or after a triggering action by the user of said device. Correlatively, the flip-flop step is triggered when the memory size used by said buffer reaches a predefined value, or after a predetermined duration, or after a trigger action by the user of said device. This provision defines several possible rocking conditions. It should be noted that the flip-flop step is for example triggered after the flip-flop module has itself generated a switch instruction. Indeed, the flip-flop module, which can be independent of the operating systems, has a timer. This timer counts down the time elapsed since the last switchover from the first operating system to the second operating system. After a predetermined time, the flip-flop module can trigger the switchover to the second operating system. The regular triggering of the flip-flop module according to this embodiment offers the advantage of avoiding a denial of service attack implemented by an attacker or a malicious program. According to a particular embodiment of the invention, the analysis module is configured to check the respect of access rights relating to an activity data item of the first operating system, according to a set of stored rules. in a non-volatile memory of the device, accessible by the second operating system. Correlatively, the analysis step includes, for data relating to the activity of the first operating system, the verification of the respect of access rights according to a set of rules stored in a non-volatile memory of the device , accessible by the trusted operating system. According to a particular characteristic, the buffer memory is secured by an encryption method.

Un programme malveillant ou un attaquant pourrait tenter de modifier le contenu de la mémoire tampon, par exemple en y insérant de nouvelles données ne correspondant pas nécessairement à l'activité réelle du premier système d'exploitation, ou en supprimant des données préalablement enregistrées dans la mémoire tampon. Lors de l'analyse des données par le module d'analyse du deuxième système d'exploitation, cette caractéristique particulière offre notamment comme avantage de pouvoir détecter une possible violation de l'intégrité de la mémoire tampon. Selon une caractéristique particulière, le premier système d'exploitation et le deuxième système d'exploitation s'exécutent exclusivement l'un de l'autre. Autrement dit, les systèmes d'exploitation peuvent fonctionner en même temps, mais lorsque l'un d'entre eux est en mode actif, l'autre est en mode inactif. Un mécanisme de bascule, dont une possible implémentation est décrite par la suite, permet de basculer d'un système d'exploitation vers un autre. Dans un mode de réalisation, le deuxième système d'exploitation répond à la norme « TEE Protection Profile » version 1.0 » définie par l'organisation 20 GlobalPlatform. Selon un autre mode de réalisation, le deuxième système d'exploitation dispose de moyens de chiffrement de la mémoire tampon accessible par le deuxième système d'exploitation. Selon un encore autre mode de réalisation, le deuxième système 25 d'exploitation dispose de moyens de contrôle de ses interfaces de programmation, de sorte à se protéger contre des attaques logicielles en provenance du premier système d'exploitation. Selon un encore autre mode de réalisation, lorsqu'il s'exécute, le deuxième système d'exploitation dispose d'un droit d'accès à l'ensemble des ressources dudit 30 dispositif. Dans un mode particulier de réalisation, les différentes étapes du procédé de détection d'une activité suspecte sont déterminées par des instructions de programmes d'ordinateurs. L'invention vise ainsi aussi un programme d'ordinateur sur un support 35 d'informations, comprenant des instructions pour la mise en oeuvre d'un procédé de détection d'une activité suspecte tel que précité, lorsqu'il est chargé et exécuté par un processeur. Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable. L'invention vise aussi un support d'informations lisible par un ordinateur, et comprenant des instructions d'un programme d'ordinateur tel que mentionné ci-dessus. Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comprendre un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette (floppy disk en terminologie anglo-saxonne), un disque dur, ou encore une mémoire flash.A malicious program or an attacker could attempt to modify the contents of the buffer, for example by inserting new data that does not necessarily correspond to the actual activity of the first operating system, or by deleting data previously stored in the database. buffer. During the analysis of the data by the analysis module of the second operating system, this particular characteristic offers the advantage of being able to detect a possible violation of the integrity of the buffer memory. According to a particular characteristic, the first operating system and the second operating system execute exclusively from one another. In other words, the operating systems can work at the same time, but when one of them is in active mode, the other is in idle mode. A latch mechanism, a possible implementation is described later, to switch from one operating system to another. In one embodiment, the second operating system meets the "TEE Protection Profile" version 1.0 standard defined by the GlobalPlatform organization. According to another embodiment, the second operating system has means of encryption of the buffer accessible by the second operating system. According to yet another embodiment, the second operating system has control means for its programming interfaces, so as to protect against software attacks from the first operating system. According to yet another embodiment, when it executes, the second operating system has a right of access to all the resources of said device. In a particular embodiment, the various steps of the method for detecting a suspicious activity are determined by computer program instructions. The invention thus also relates to a computer program on an information carrier, comprising instructions for the implementation of a method for detecting a suspicious activity as mentioned above, when it is loaded and executed by a processor. This program can use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in a partially compiled form, or in any other form desirable shape. The invention is also directed to a computer readable information medium, and including instructions of a computer program as mentioned above. The information carrier may be any entity or device capable of storing the program. For example, the medium may comprise storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or a magnetic recording means, for example a floppy disk (English terminology). Saxon), a hard disk, or a flash memory.

D'autre part, le support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur une plateforme de stockage d'un réseau de type Internet. Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question. Le support d'informations et le programme d'ordinateur précités présentent des caractéristiques et avantages analogues au procédé qu'ils mettent en oeuvre.On the other hand, the information medium may be a transmissible medium such as an electrical or optical signal, which may be conveyed via an electrical or optical cable, by radio or by other means. The program according to the invention may in particular be downloaded to a storage platform of an Internet type network. Alternatively, the information carrier may be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the method in question. The above-mentioned information carrier and computer program have characteristics and advantages similar to the method they implement.

BREVE DESCRIPTION DES FIGURES D'autres particularités et avantages de l'invention apparaîtront encore dans la description ci-après, illustrée par les figures ci-jointes qui en illustrent des exemples de réalisation dépourvus de tout caractère limitatif. Sur les figures : - la Figure 1 illustre un exemple d'architecture logicielle pour un dispositif comprenant un module de détection d'intrusion selon un mode particulier de réalisation de l'invention ; - la Figure 2 illustre des étapes générales d'un procédé de détection d'une activité suspecte selon l'invention. - la Figure 3 illustre un exemple de l'état de la pile d'exécution d'un dispositif comprenant deux systèmes d'exploitation après un basculement de l'un vers l'autre.BRIEF DESCRIPTION OF THE FIGURES Other features and advantages of the invention will become apparent in the following description, illustrated by the accompanying figures which illustrate embodiments having no limiting character. In the figures: FIG. 1 illustrates an exemplary software architecture for a device comprising an intrusion detection module according to a particular embodiment of the invention; FIG. 2 illustrates general steps of a method for detecting a suspicious activity according to the invention. FIG. 3 illustrates an example of the state of the execution stack of a device comprising two operating systems after a switchover from one to the other.

DESCRIPTION DETAILLEE DE L'INVENTION De manière générale, l'invention concerne la détection de l'activité suspecte d'un premier système d'exploitation par un deuxième système d'exploitation, les deux systèmes d'exploitation étant mis en oeuvre sur un même dispositif. La Figure 1 représente un dispositif 1000 selon l'invention, comprenant un module de détection d'intrusion 1100 selon l'invention, adapté à mettre en oeuvre les principales étapes d'un procédé de détection d'une activité suspecte selon l'invention tel que décrit ultérieurement en référence à la Figure 2. Le dispositif 1000 peut être par exemple un terminal de téléphonie mobile, une tablette, un micro-ordinateur, ou un système intelligent autonome capable de communiquer avec d'autres systèmes distants, et ce, sans intervention humaine. Le dispositif 1000 comprend au moins deux systèmes d'exploitation. Le premier système d'exploitation ou « système d'exploitation polyvalent » est conçu afin d'offrir un grand nombre de fonctionnalités à un utilisateur du dispositif. La taille mémoire et les performances du premier système d'exploitation sont généralement plus importantes que celles du deuxième système d'exploitation. Android, Windows, BlackBerry OS ou Mac OS (noms commerciaux) sont des exemples de systèmes d'exploitation polyvalents. Le deuxième système d'exploitation est parfois dénommé « système d'exploitation de confiance ». On entend par système d'exploitation de confiance, un système d'exploitation protégé contre des attaques logicielles, et sur lequel seules des applications provenant de fournisseurs accrédités sont installées et exécutées. Un système d'exploitation de confiance est en mesure de contrôler de manière sécurisée ses interfaces de programmation (« Application Programming Interface » en anglais), de sorte à se protéger contre les attaques logicielles en provenance du premier système d'exploitation. Il répond par exemple à la norme « TEE Protection Profile » version 1.0 définie par l'organisation GlobalPlatform, et dispose de moyens de chiffrement de la mémoire qui lui est dédiée. Le système d'exploitation de confiance dispose d'un droit d'accès à l'ensemble des ressources du dispositif sur lequel il s'exécute.DETAILED DESCRIPTION OF THE INVENTION In general, the invention relates to the detection of the suspicious activity of a first operating system by a second operating system, the two operating systems being implemented on one and the same operating system. device. FIG. 1 represents a device 1000 according to the invention, comprising an intrusion detection module 1100 according to the invention, adapted to implement the main steps of a method for detecting a suspicious activity according to the invention such as The device 1000 may be for example a mobile telephone terminal, a tablet, a microcomputer, or an autonomous intelligent system capable of communicating with other remote systems, and without human intervention. The device 1000 comprises at least two operating systems. The first operating system or "versatile operating system" is designed to provide a large number of features to a user of the device. The memory size and performance of the first operating system are generally larger than those of the second operating system. Android, Windows, BlackBerry OS, or Mac OS (business names) are examples of versatile operating systems. The second operating system is sometimes referred to as the "trusted operating system". A trusted operating system is an operating system that is protected against software attacks and on which only applications from accredited providers are installed and executed. A trusted operating system is able to securely control its programming interfaces ("Application Programming Interface" in English), so as to protect against software attacks from the first operating system. It responds for example to the standard "TEE Protection Profile" version 1.0 defined by the organization GlobalPlatform, and has memory encryption means dedicated to it. The trusted operating system has a right of access to all the resources of the device on which it runs.

Chaque système d'exploitation est associé à un environnement d'exécution, qualifié de polyvalent dans le cas du système d'exploitation polyvalent et qualifié de confiance dans le cas du système d'exploitation de confiance. Lors du démarrage du dispositif, un programme de lancement, habituellement mémorisé dans une mémoire non volatile de type ROM procède au lancement du système d'exploitation de confiance, puis, si celui-ci est exécuté avec succès, au lancement du système d'exploitation polyvalent. Le mécanisme de démarrage correspond généralement à une séquence d'étapes, et la bonne exécution d'une étape est une condition pour l'exécution de la suivante. Lors d'une étape relative au lancement du système d'exploitation polyvalent, l'intégrité du code exécuté par le dispositif est vérifiée par le système d'exploitation de confiance déjà lancé, par exemple à l'aide d'un procédé de vérification d'empreinte générée par une fonction de hachage. L'ensemble des étapes permet de démarrer le dispositif. Les deux environnements d'exécution peuvent être hébergés sur un même composant électronique, dénommé « chipset » en anglais, et partager des ressources matérielles ou disposer de ressources matérielles dédiées. Le composant électronique intègre par exemple la technologie TrustZone développée par ARM, et notamment décrite dans le document « ARMv7-M Architecture Reference Manual ». Par ressource, on entend notamment les mémoires volatiles et non-volatiles, ainsi que le processeur ou encore un bus de données. Un processeur peut par exemple disposer d'une zone de confiance contrôlée et dédiée au système d'exploitation de confiance, et d'une zone polyvalente dédiée au système d'exploitation polyvalent. Les mémoires volatiles et non-volatiles peuvent être des mémoires dédiées à chaque système d'exploitation, mais certaines zones de la mémoire non-volatile peuvent être partagées en lecture/écriture par les deux systèmes d'exploitation, où à tout le moins être accessibles au moins en lecture par l'autre système d'exploitation. Le système d'exploitation polyvalent et le système d'exploitation de confiance coexistent sur le même dispositif 1000 mais peuvent s'exécuter de façon 30 exclusive. Le dispositif 1000 comprend ainsi un module de bascule 1310 notamment chargé d'effectuer le basculement de l'un des systèmes d'exploitation vers l'autre, et réciproquement, comme décrit ci-après. Le dispositif 1000 peut aussi comprendre un élément sécurisé. Un élément 35 sécurisé se présente par exemple sous la forme d'une carte à microcircuit amovible, ou sous la forme d'un microcircuit embarqué et soudé au dispositif, mais distinct du processeur principal du dispositif. Un élément sécurisé répond généralement au standard ISO/IEC 7816, aux normes Critères Communs et/ou à la norme « GlobalPlatform Card Specification v 2.2.1 ». Il offre une sécurité matérielle et logicielle forte, qui est par exemple définie dans ces mêmes normes. Le dispositif 1000 dispose d'un module de détection d'intrusion 1100 composé d'une part d'un module d'écoute 1110, d'un module de collecte 1120, d'un module de transmission 1130, et d'un moyen d'accès aux données stockées dans la mémoire tampon (non représenté, par exemple un pointeur vers l'adresse mémoire de la mémoire tampon) qui sont administrés et donc exécutés par le système d'exploitation polyvalent, et d'autre part d'un module d'analyse 1150 qui est administré et donc exécuté par le système d'exploitation de confiance. Différentes activités relatives à un système d'exploitation, dans cet exemple le système d'exploitation polyvalent, sont auditées puis collectées. Il s'agit par exemple de toute ou partie d'informations caractérisant les accès au système d'exploitation, en particulier l'identité du l'utilisateur du dispositif ou des processus, l'horodatage de l'accès, le mode d'accès (local ou distant) ou la localisation de l'utilisateur du dispositif ou du terminal distant accédant au système d'exploitation ; d'informations sur l'usage du système, en particulier sur l'utilisation de commandes, l'accès aux entrées/sorties, le taux d'utilisation du processeur, le taux d'occupation de la mémoire, ou d'informations caractérisant l'usage des données, en particulier l'horodatage de l'accès, le type d'accès tel que la modification ou la suppression et l'identité du l'utilisateur du dispositif ou des processus ; d'informations dynamiques qui concernent les évènements du système d'exploitation tels que les lancements et arrêts de processus et les données accédées ou générées, ou qui caractérisent l'évolution de la circulation de données entre différents supports de stockage et d'organisation, par exemple les fichiers ou registres de mémoire gérés par le système. Enfin, il peut aussi s'agir d'informations caractérisant une possible violation d'une politique de sécurité, en particulier la tentative d'exécution d'une application nécessitant des droits d'accès privilégiés, la tentative d'accès à une donnée nécessitant des droits d'accès privilégiés, la tentative d'accès de lancement de commandes nécessitant des droits d'accès privilégiés, ou la modification de droits d'accès à des données. La collecte des données caractérisant l'activité du système d'exploitation polyvalent peut être mise en oeuvre par le système d'exploitation polyvalent lui-même.Each operating system is associated with a runtime environment, described as versatile in the case of the versatile and trusted operating system in the case of the trusted operating system. When starting the device, a launch program, usually stored in a non-volatile ROM type memory starts the trusted operating system and, if it is executed successfully, the launch of the operating system. versatile. The boot mechanism usually corresponds to a sequence of steps, and the proper execution of one step is a condition for the execution of the next. In a step of launching the multi-purpose operating system, the integrity of the code executed by the device is verified by the trusted operating system already started, for example using a verification method of the operating system. footprint generated by a hash function. All steps start the device. Both runtime environments can be hosted on a single electronic component, called "chipset" in English, and share hardware resources or have dedicated hardware resources. The electronic component integrates for example the TrustZone technology developed by ARM, and in particular described in the document "ARMv7-M Architecture Reference Manual". By resource, we mean in particular the volatile and non-volatile memories, as well as the processor or a data bus. A processor may for example have a trusted zone of confidence and dedicated to the operating system of confidence, and a versatile area dedicated to the versatile operating system. The volatile and nonvolatile memories can be memories dedicated to each operating system, but some areas of the non-volatile memory can be shared in read / write by the two operating systems, or at least be accessible at least read by the other operating system. The versatile operating system and the trusted operating system coexist on the same device 1000 but can run exclusively. The device 1000 thus comprises a flip-flop module 1310 in particular responsible for performing the switchover from one of the operating systems to the other, and vice versa, as described below. The device 1000 may also include a secure element. A secure element 35 is for example in the form of a removable microcircuit card, or in the form of a microcircuit embedded and soldered to the device, but separate from the main processor of the device. A secure element generally meets the ISO / IEC 7816 standard, the Common Criteria standards and / or the "GlobalPlatform Card Specification v 2.2.1" standard. It offers a strong hardware and software security, which is for example defined in these same standards. The device 1000 has an intrusion detection module 1100 composed on the one hand of a listening module 1110, a collection module 1120, a transmission module 1130, and a means access to the data stored in the buffer (not shown, for example a pointer to the memory address of the buffer memory) which are administered and thus executed by the versatile operating system, and secondly of a module Analysis 1150 that is administered and therefore executed by the trusted operating system. Different activities related to an operating system, in this example the versatile operating system, are audited and then collected. This is for example all or part of information characterizing the access to the operating system, in particular the identity of the user of the device or processes, the timestamp of the access, the mode of access (local or remote) or the location of the user of the remote device or terminal accessing the operating system; information on the use of the system, in particular on the use of commands, the access to the inputs / outputs, the rate of use of the processor, the rate of occupation of the memory, or information characterizing the the use of data, in particular the timestamp of access, the type of access such as modification or deletion and the identity of the user of the device or processes; dynamic information that relates to operating system events such as process launches and shutdowns and data accessed or generated, or that characterizes the evolution of data flow between different storage and organization media, for example example the files or registers of memory managed by the system. Finally, it can also be information characterizing a possible violation of a security policy, in particular the attempt to execute an application requiring privileged access rights, the attempt to access data that requires privileged privileges, the attempt to access commands that require privileged privileges, or the modification of access rights to data. The collection of data characterizing the activity of the versatile operating system can be implemented by the multi-purpose operating system itself.

On parle alors d'historique d'évènements qui désigne l'enregistrement séquentiel de l'activité du système d'exploitation. De manière alternative, le code source d'applications 1400 exécutées par le système d'exploitation polyvalent ou faisant partie de ce dernier peut être modifié afin que des instructions ou évènements soient générés lors de leur exécution. Les données collectées sont enregistrées dans une mémoire tampon 1140. Cette mémoire est idéalement une mémoire non volatile, gérée (i.e. avec droits en lecture/écriture) par le système d'exploitation polyvalent et accessible en lecture par le système d'exploitation de confiance. Alternativement, une mémoire non volatile, partagée en lecture/écriture entre le système d'exploitation polyvalent et le système d'exploitation de confiance est implémentée.This is known as event history, which refers to the sequential recording of the operating system activity. Alternatively, the application source code 1400 executed by the versatile operating system or part thereof can be modified so that instructions or events are generated during their execution. The collected data is stored in a buffer 1140. This memory is ideally a nonvolatile memory, managed (i.e. with read / write rights) by the versatile operating system and readable by the trusted operating system. Alternatively, a non-volatile memory, shared read / write between the versatile operating system and the trusted operating system is implemented.

Dans des modes de réalisation, lors de l'enregistrement des données dans la mémoire tampon 1140, une méthode de chiffrement, autrement dit de cryptage, est mise en oeuvre. Par chiffrement, on entend une méthode permettant de vérifier que l'intégrité, voire la confidentialité et l'authenticité de la mémoire tampon 1140 sont préservées.In embodiments, when recording the data in the buffer 1140, an encryption method, that is, encryption, is implemented. Encryption means a method for verifying that the integrity, or even the confidentiality and authenticity of the buffer 1140 are preserved.

Selon un premier mode de réalisation particulier, la mémoire tampon 1140 est chiffrée selon un procédé de chiffrement symétrique. Il s'agit par exemple d'un chiffrement par bloc mettant en oeuvre les algorithmes Avanced Encryption Standard ou Data Encryption Standard. Les données de la mémoire tampon 1140 sont découpées en blocs généralement de taille fixe qui sont chiffrés les uns après les autres. Il peut aussi s'agir d'un chiffrement par flot, qui offre comme avantage de traiter des données de taille importante, et ce quelle que soit leur longueur. Un registre à décalage à rétroaction linéaire, qui fournit une suite récurrente linéaire, peut être utilisé pour mettre en oeuvre ce chiffrement par flot. Préférentiellement, la clef de chiffrement est une clef éphémère, générée par l'élément sécurisé 1500 ou le système d'exploitation de confiance, qui peut être par exemple enregistrée dans une mémoire du système d'exploitation de confiance ou dans la mémoire non volatile de l'élément sécurisé 1500. Alternativement, cette clef peut être générée par le système d'exploitation polyvalent. Lorsque cette clef symétrique est générée par un premier système d'exploitation, elle doit être partagée avec le deuxième système d'exploitation afin de permettre l'accès aux données collectées et enregistrées dans la mémoire partagée. Le premier système d'exploitation transmet donc la clef au module de bascule 1310 afin qu'il l'enregistre dans une mémoire, en vue de la transmettre au deuxième système d'exploitation. De cette manière, le deuxième système d'exploitation pourra ultérieurement utiliser cette clef de chiffrement pour accéder en clair aux données stockées dans la mémoire partagée. Alternativement, la clef de chiffrement est enregistrée dans une mémoire partagée localisée par une adresse prédéterminée et connue du deuxième système d'exploitation. Selon un second mode particulier de réalisation, la mémoire tampon 1140 est chiffrée selon un procédé de chiffrement asymétrique. Le système d'exploitation de confiance dispose d'une clef privée et d'une clef publique, cette dernière étant connue du système d'exploitation polyvalent. Les données de la mémoire tampon 1140 sont chiffrées par le système d'exploitation polyvalent à l'aide de cette clef publique qui est par exemple enregistrée dans la mémoire non volatile du système d'exploitation polyvalent. Selon un troisième mode particulier de réalisation, la mémoire tampon 1140 est signée afin de garantir son intégrité. Le système d'exploitation polyvalent dispose d'une clef privée et les données enregistrées dans la mémoire tampon 1140 sont signées à l'aide de cette clef privée. La clef privée est idéalement stockée dans la mémoire non volatile de l'élément sécurisé 1500. Le système d'exploitation de confiance dispose, quant à lui, de la clef publique correspondante afin de pouvoir vérifier la signature. L'un des deux premiers modes particuliers de réalisation précédemment décrits (clef asymétrique ou symétrique) peut être combiné avec le troisième mode de réalisation afin que la confidentialité, l'authenticité et l'intégrité puissent être assurées ensemble. Lorsque les deux environnements d'exécution s'exécutent de manière exclusive, le basculement du système d'exploitation polyvalent vers le système d'exploitation de confiance permet de déclencher l'analyse des données collectées et stockées dans la mémoire tampon 1140. La gestion du basculement est effectuée par le module de bascule 1310, qui, dans l'architecture illustrée en Figure 1, est indépendant des systèmes d'exploitation. C'est par exemple le cas lorsque le module de bascule 1310 est exécuté dans la « TrustZone » au sens du document « ARMv7-M Architecture Reference Manual ».According to a first particular embodiment, the buffer memory 1140 is encrypted according to a symmetric encryption method. This is for example a block cipher implementing the Advanced Encryption Standard or Data Encryption Standard algorithms. The data of the buffer 1140 is cut into blocks of generally fixed size which are encrypted one after the other. It can also be a flow encryption, which offers the advantage of processing large data, regardless of their length. A linear feedback shift register, which provides a linear recursive sequence, may be used to implement this stream cipher. Preferably, the encryption key is an ephemeral key, generated by the secure element 1500 or the trusted operating system, which can be for example stored in a memory of the trusted operating system or in the non-volatile memory of the secure element 1500. Alternatively, this key can be generated by the versatile operating system. When this symmetric key is generated by a first operating system, it must be shared with the second operating system to allow access to the data collected and stored in the shared memory. The first operating system therefore transmits the key to the flip-flop module 1310 so that it stores it in a memory, for transmission to the second operating system. In this way, the second operating system can later use this encryption key to access in clear data stored in the shared memory. Alternatively, the encryption key is stored in a shared memory located by a predetermined and known address of the second operating system. According to a second particular embodiment, the buffer memory 1140 is encrypted according to an asymmetric encryption method. The trusted operating system has a private key and a public key, the latter being known to the versatile operating system. The data of the buffer 1140 is encrypted by the versatile operating system with the aid of this public key which is, for example, stored in the non-volatile memory of the general-purpose operating system. According to a third particular embodiment, the buffer memory 1140 is signed in order to guarantee its integrity. The versatile operating system has a private key and the data stored in the buffer 1140 are signed using this private key. The private key is ideally stored in the non-volatile memory of the secure element 1500. The trusted operating system has, meanwhile, the corresponding public key in order to verify the signature. One of the first two particular embodiments previously described (asymmetrical or symmetrical key) can be combined with the third embodiment so that confidentiality, authenticity and integrity can be ensured together. When the two runtime environments execute exclusively, the switch from the general purpose operating system to the trusted operating system triggers the analysis of the data collected and stored in the buffer 1140. Failover is performed by the flip-flop module 1310, which, in the architecture illustrated in Figure 1, is independent of the operating systems. This is for example the case when the flip-flop module 1310 is executed in the "TrustZone" in the sense of the document "ARMv7-M Architecture Reference Manual".

Alternativement, le module de bascule 1310 est soit partagé en les deux environnements d'exécution, soit uniquement géré par l'un d'entre eux, classiquement le système d'exploitation polyvalent. Selon un premier mode de réalisation, le basculement vers le système d'exploitation de confiance est initié par l'utilisateur, par exemple au travers d'une application 1400 accessible depuis l'interface graphique du système d'exploitation polyvalent. L'interaction avec l'utilisateur du dispositif 1000 initie l'envoi d'une instruction au module de bascule 1310 qui déclenche le mécanisme de basculement du système d'exploitation polyvalent vers le système d'exploitation de confiance. Selon un second mode de réalisation, le module de transmission 1130 est 5 capable de déterminer le taux d'occupation de la mémoire tampon 1140. Alternativement, une instruction est reçue par le module de transmission 1130, en provenance d'un processus administrant la mémoire tampon lorsque le taux d'occupation est atteint. Lorsqu'une valeur seuil prédéfinie est atteinte, le module de transmission 1130 transmet une instruction au module de bascule 1310 qui déclenche 10 le mécanisme de basculement vers le système d'exploitation de confiance précédemment décrit. Selon un troisième mode de réalisation, le mécanisme de basculement est déclenché après une durée prédéterminée. Préférentiellement, le module de bascule 1310 est indépendant des systèmes d'exploitations du dispositif 1000. Il peut être mis 15 en oeuvre au niveau d'une plateforme matérielle 1300. Le module de bascule 1310 est capable de gérer une minuterie qui décompte le temps écoulé depuis le dernier basculement du système d'exploitation de confiance vers le système d'exploitation polyvalent. Lorsque le temps est écoulé, le module de bascule 1310 déclenche le mécanisme de basculement vers le système d'exploitation de confiance 20 précédemment décrit. Ce dernier mode de réalisation est particulièrement avantageux car il permet d'éviter une attaque par déni de service mise en oeuvre par un attaquant ou un programme malveillant. Pour chacun des trois modes de réalisation précédemment décrits, lorsque la ou les conditions de basculement sont remplies, le module de transmission 1130 25 transmet l'adresse de la mémoire tampon 1140 (par exemple un pointeur vers une sous-partie d'une mémoire de plus grande capacité que la mémoire tampon) au module de bascule 1310, afin qu'il l'enregistre dans une mémoire, en vue de la transmettre au système d'exploitation de confiance. De cette manière, le module d'analyse pourra ultérieurement accéder à cette mémoire tampon 1140. 30 Alternativement, la mémoire tampon est une mémoire partagée localisée par une adresse prédéterminée et connue du module d'analyse 1150, et la transmission de l'adresse de la mémoire tampon 1140 n'est alors plus nécessaire. Lorsque les deux environnements d'exécution s'exécutent de manière parallèle, par exemple grâce à l'utilisation d'un processeur mufti-coeur, l'étape de 35 basculement d'un premier environnement d'exécution vers un second environnement d'exécution correspond à une étape de notification du système d'exploitation polyvalent qui déclenche l'analyse des données stockées dans la mémoire tampon 1140, par exemple par l'instruction SMC définie ci-après. Les mêmes événements déclencheurs que ceux décrits précédemment peuvent être utilisés. À l'issue de la mise en oeuvre de l'un des modes de réalisation précédemment décrits, le module d'analyse 1150 est lancé. Lorsque la mémoire tampon est une mémoire partagée localisée par une adresse connue du module d'analyse 1150, ce dernier y accède directement. Sinon, le module de bascule 1310 qui a préalablement enregistré la valeur de l'adresse de la mémoire tampon 1140 la transmet au module d'analyse 1150. Le module d'analyse 1150 accède à la mémoire tampon 1140 à l'aide de cette valeur d'adresse transmise, et, si nécessaire, vérifie la signature associée aux données et déchiffre ces données. Optionnellement, le module d'analyse 1150 peut réaliser une analyse statistique liant l'occupation de la mémoire tampon 1140 et le temps écoulé depuis la dernière analyse. Cette analyse statistique offre un moyen pour détecter si un attaquant ou un programme malveillant a réalisé une attaque par déni de service, par exemple en bloquant le module d'écoute 1110 ou le module de collecte 1120. Les données sont ensuite analysées, par exemple selon l'une des méthodes précédemment décrites et déjà connues.Alternatively, the flip-flop module 1310 is either shared in both runtime environments, or only managed by one of them, typically the versatile operating system. According to a first embodiment, the switchover to the trusted operating system is initiated by the user, for example through a 1400 application accessible from the graphical interface of the versatile operating system. The interaction with the user of the device 1000 initiates the sending of an instruction to the flip-flop module 1310 which triggers the flip-flop mechanism of the versatile operating system to the trusted operating system. According to a second embodiment, the transmission module 1130 is able to determine the occupancy rate of the buffer memory 1140. Alternatively, an instruction is received by the transmission module 1130, originating from a process that manages the memory. buffer when the occupancy rate is reached. When a predefined threshold value is reached, the transmission module 1130 transmits an instruction to the flip-flop module 1310 which triggers the failover mechanism to the previously described trusted operating system. According to a third embodiment, the tilting mechanism is triggered after a predetermined duration. Preferably, the flip-flop module 1310 is independent of the operating systems of the device 1000. It can be implemented at a hardware platform 1300. The flip-flop module 1310 is able to manage a timer that counts down the elapsed time since the last failover of the trusted operating system to the versatile operating system. When the time is up, the flip-flop module 1310 triggers the failover mechanism to the trusted operating system 20 previously described. This last embodiment is particularly advantageous because it makes it possible to avoid a denial of service attack implemented by an attacker or a malicious program. For each of the three previously described embodiments, when the one or more failover conditions are fulfilled, the transmission module 1130 transmits the address of the buffer memory 1140 (for example a pointer to a sub-part of a memory buffer). greater capacity than the buffer) to the flip-flop module 1310, so that it stores it in a memory, for transmission to the trusted operating system. In this way, the analysis module can subsequently access this buffer memory 1140. Alternatively, the buffer memory is a shared memory located by a predetermined and known address of the analysis module 1150, and the transmission of the the buffer 1140 is then no longer necessary. When the two runtime environments run in parallel, for example through the use of a mufti-core processor, the step of switching from a first runtime environment to a second runtime environment corresponds to a multipurpose operating system notification step that triggers the analysis of the data stored in the buffer 1140, for example by the SMC instruction defined below. The same trigger events as those described above can be used. After the implementation of one of the previously described embodiments, the analysis module 1150 is started. When the buffer memory is a shared memory located by a known address of the analysis module 1150, the latter accesses it directly. Otherwise, the flip-flop module 1310 which has previously recorded the value of the address of the buffer memory 1140 transmits it to the analysis module 1150. The analysis module 1150 accesses the buffer memory 1140 with the aid of this value. address, and, if necessary, verify the signature associated with the data and decrypts the data. Optionally, the analysis module 1150 can perform a statistical analysis linking the occupation of the buffer 1140 and the time elapsed since the last analysis. This statistical analysis provides a means for detecting whether an attacker or malicious program has performed a denial of service attack, for example by blocking the listener 1110 or the collection module 1120. The data is then analyzed, for example according to one of the methods previously described and already known.

Lorsque les deux environnements d'exécution s'exécutent de manière exclusive et qu'aucune activité suspecte n'est détectée à l'issue de l'analyse, le module d'analyse transmet une instruction au module de bascule 1310 afin de déclencher le basculement inverse par le mécanisme de bascule, c'est-à-dire du système d'exploitation de confiance vers le système d'exploitation polyvalent, par exemple par l'instruction SMC définie ci-après. A titre d'exemple, l'analyse comprend, pour une donnée relative à l'activité du premier système d'exploitation, la vérification du respect de droits d'accès en fonction de règles. À chaque donnée, par exemple de type fichier ou répertoire ou processus exécutable, est associée au moins une métadonnée, par exemple dénommée « itag », qui caractérise le contenu de cette donnée. Cette métadonnée peut être soit enregistrée dans la mémoire tampon, soit enregistrée dans une mémoire non volatile du premier système d'exploitation et directement accessible par le module d'analyse lors de l'analyse des données enregistrées dans la mémoire tampon. Cette métadonnée est mise à jour après chaque transfert d'information. Une politique de sécurité correspondant à un ensemble de règles d'accès et dénommée « ptag » peut aussi être associée à chaque donnée. Un scenario volontairement simplifié de mise en oeuvre de cette analyse est décrit ci-après : Un premier fichier « Fichier 1 » est étiqueté « Vert ». Autrement dit, Itag(Fichier 1) = Vert. Un second fichier « Fichier 2 » est étiqueté « Rouge ». Autrement dit, Itag(Fichier 2) = Rouge. Selon l'une des règles associées au second fichier, « écriture(vert ->rouge)=interdit ». Si le contenu du fichier « Fichier 1 » est copié dans le « Fichier 2 », alors l'application de la règle aura pour conséquence de déclencher une information de détection positive à un module de gestion d'alerte 1200. Selon un autre exemple, une vérification peut être menée sur la valeur de certaines données manipulées afin de s'assurer qu'elles ne prennent pas des valeurs interdites. Selon un autre exemple, une vérification peut être menée sur l'évolution des droits d'accès associés aux données manipulées. Lorsqu'une activité suspecte est détectée, l'information de détection positive est transmise à un module de gestion d'alerte 1200 qui peut alors déclencher des contre-mesures locales telles que la désactivation d'une application, l'arrêt d'un processus du système d'exploitation de confiance, la désactivation partielle ou totale des accès aux réseaux de communication, la modification de droits d'accès à un utilisateur ou un processus ou l'exécution d'un procédé d'authentification plus fort.When the two runtime environments execute exclusively and no suspicious activity is detected after the scan, the analysis module transmits an instruction to the flip-flop module 1310 to trigger the failover. reverse by the flip-flop mechanism, that is to say from the trusted operating system to the versatile operating system, for example by the SMC instruction defined below. For example, the analysis includes, for a data relating to the activity of the first operating system, the verification of compliance with access rights according to rules. Each data item, for example of file or directory type or executable process, is associated at least one metadata, for example called "itag", which characterizes the content of this data. This metadata can be either stored in the buffer memory or stored in non-volatile memory of the first operating system and directly accessible by the analysis module when analyzing the data stored in the buffer. This metadata is updated after each information transfer. A security policy corresponding to a set of access rules and called "ptag" can also be associated with each data. A deliberately simplified scenario for implementing this analysis is described below: A first file "File 1" is labeled "Green". In other words, Itag (File 1) = Green. A second file "File 2" is labeled "Red". In other words, Itag (File 2) = Red. According to one of the rules associated with the second file, "writing (green -> red) = forbidden". If the content of the file "File 1" is copied into "File 2", then the application of the rule will have the effect of triggering positive detection information to a management module 1200 alert. According to another example, a check can be made on the value of certain manipulated data to ensure that they do not take forbidden values. In another example, a check can be made on the evolution of the access rights associated with the data manipulated. When a suspicious activity is detected, the positive detection information is transmitted to an alarm management module 1200 which can then trigger local countermeasures such as disabling an application, stopping a process of the trusted operating system, the partial or total deactivation of access to the communication networks, the modification of rights of access to a user or a process or the execution of a stronger authentication process.

L'information peut aussi être transmise à un serveur distant (non représenté), par exemple un serveur administré par un opérateur de téléphonie mobile, afin qu'il puisse détecter qu'une attaque est en cours sur une flotte de dispositifs. Le serveur distant est alors en mesure de déclencher des contre-mesures globales telle que la désactivation d'une application, l'arrêt d'un processus du système d'exploitation de confiance, la désactivation partielle ou totale des accès aux réseaux de communication pour un ensemble de dispositifs ou la désactivation d'un service proposé par le serveur afin notamment d'éviter une attaque distribuée. La Figure 2 présente un algorigramme d'un mode de réalisation d'un procédé conforme aux enseignements de l'invention.The information may also be transmitted to a remote server (not shown), for example a server administered by a mobile operator, so that it can detect that an attack is in progress on a fleet of devices. The remote server is then able to trigger global countermeasures such as disabling an application, stopping a trusted operating system process, disabling all or part of the communication network accesses for a set of devices or the deactivation of a service proposed by the server, in particular to avoid a distributed attack. Figure 2 shows a flowchart of an embodiment of a method according to the teachings of the invention.

Lors d'une première étape E10, l'activité du système d'exploitation polyvalent en cours d'exécution est écoutée par le module 1110. Lors d'une seconde étape E20, les activités des processus et applications du système d'exploitation polyvalent sont collectées. La collecte des données caractérisant l'activité d'un système d'exploitation peut être mise en oeuvre par le système d'exploitation lui-même. De manière alternative, le code source d'applications 1400 exécutées par le système d'exploitation polyvalent ou faisant partie de ce dernier peut être modifié afin que des instructions ou évènements soient générés lors de leurs exécutions. Les données collectées sont enregistrées dans la mémoire tampon 1140. Lors de l'étape de collecte et d'enregistrement des données dans la mémoire tampon 1140, une méthode de chiffrement, autrement dit de cryptage, est mise en oeuvre comme décrit plus haut. Par chiffrement, on entend une méthode permettant de vérifier que l'intégrité, voire la confidentialité et l'authenticité de la mémoire tampon 1140 sont préservées. Une étape E30 de bascule du système d'exploitation polyvalent vers le système d'exploitation de confiance est réalisée afin que l'analyse, par le système d'exploitation de confiance, des données collectées et stockées dans la mémoire tampon 1140 puisse être mise en oeuvre. Alternativement, lorsque les deux systèmes d'exploitation s'exécutent en parallèle, l'étape E30 de bascule correspond à une étape de notification du système d'exploitation de confiance.In a first step E10, the running multi-purpose operating system activity is listened to by the module 1110. In a second step E20, the activities of the processes and applications of the multi-purpose operating system are collected. The collection of data characterizing the activity of an operating system can be implemented by the operating system itself. Alternatively, the application source code 1400 executed by the versatile operating system or part thereof can be modified so that instructions or events are generated during their execution. The collected data is stored in the buffer 1140. During the step of collecting and storing the data in the buffer 1140, an encryption method, that is to say encryption, is implemented as described above. Encryption means a method for verifying that the integrity, or even the confidentiality and authenticity of the buffer 1140 are preserved. A step E30 of switching from the general-purpose operating system to the trusted operating system is carried out so that the analysis, by the trusted operating system, of the data collected and stored in the buffer memory 1140 can be implemented. artwork. Alternatively, when the two operating systems run in parallel, the step E30 of flip-flop corresponds to a notification step of the trusted operating system.

Le basculement est notamment déclenché lorsqu'une condition de basculement est remplie, comme décrit plus haut. Lors d'une étape E40, l'analyse des données collectées est mise en oeuvre. Si nécessaire, la signature associée aux données est vérifiée et les données sont déchiffrées. Optionnellement, une analyse statistique liant le taux d'occupation de la mémoire tampon 1140 et le temps écoulé depuis la dernière analyse est mise en oeuvre. Cette analyse statistique offre un moyen permettant de détecter si un attaquant ou un programme malveillant a réalisé une attaque par déni de service, par exemple en inhibant l'étape d'écoute E10 ou l'étape de collecte E20. Les données sont ensuite analysées, par exemple selon l'une des méthodes précédemment décrites.Failover is triggered when a failover condition is met, as described above. During a step E40, the analysis of the collected data is implemented. If necessary, the signature associated with the data is checked and the data is decrypted. Optionally, a statistical analysis linking the occupancy rate of the buffer 1140 and the time elapsed since the last analysis is implemented. This statistical analysis provides a means for detecting whether an attacker or malicious program has performed a denial of service attack, for example by inhibiting the listening step E10 or the collecting step E20. The data is then analyzed, for example according to one of the previously described methods.

Lorsqu'aucune activité suspecte n'est détectée (test E45) à l'issue de l'analyse, le mécanisme de re-basculement vers le système d'exploitation polyvalent est déclenché (E60). Sinon, lors d'une étape E50, des contre-mesures locales telles que la désactivation d'une application, l'arrêt d'un processus du système d'exploitation de confiance, la désactivation partielle ou totale des accès aux réseaux de communication, la modification de droits d'accès à un utilisateur ou un processus ou un procédé d'authentification plus fort sont mises en oeuvre. L'information de détection d'une activité suspecte peut aussi être transmise à un serveur distant afin qu'il puisse détecter qu'une attaque est en cours sur une flotte de dispositifs. Le serveur distant est alors en mesure de déclencher des contre-mesures globales telle que la désactivation d'une application, l'arrêt d'un processus du système d'exploitation de confiance ou la désactivation partielle ou totale des accès aux réseaux de communication, ou la désactivation d'un service proposé par le serveur afin notamment d'éviter une attaque distribuée. Suite à l'étape E50, le re-basculement vers le système d'exploitation polyvalent est réalisé (E60). Après le re-basculement E60, le procédé retourne à l'étape E10, le système d'exploitation polyvalent étant à nouveau actif. La Figure 3 illustre un exemple de l'état de la pile d'exécution d'un dispositif comprenant deux systèmes d'exploitation après le basculement de l'un vers l'autre. Une mise en oeuvre possible du mécanisme de basculement est la suivante : une instruction, autrement dit un message ou un évènement, est reçue ou générée par le module de bascule 1310. Cette instruction est par exemple générée après qu'un utilisateur a interagi avec le dispositif au travers d'une de ses interfaces ou de ses périphériques, ou après qu'une durée prédéterminée se soit écoulée, ou après que la taille de la mémoire tampon 1140 a atteint une valeur prédéterminée comme décrit précédemment. Le module de bascule 1310, qui est parfois nommé « monitor » ou « scheduler » insère un ensemble d'instructions dans une pile d'exécution commune aux systèmes d'exploitation du dispositif. Dans l'exemple de la Figure 3, un ensemble d'instructions 10, chacune d'entres-elles étant interprétées de manière séquentielle, est ajouté à la pile d'exécution par le premier système d'exploitation. Après avoir reçu ou généré l'instruction préalablement décrite, le module de bascule 1310 ajoute à cette pile d'exécution une première instruction, parfois dénommée « Secure Monitor Control » et notée SMC, chargée de déclencher le mécanisme de basculement (20).When no suspicious activity is detected (test E45) after the analysis, the mechanism for re-switching to the multi-purpose operating system is triggered (E60). Otherwise, during a step E50, local countermeasures such as the deactivation of an application, the termination of a process of the trusted operating system, the partial or total deactivation of the accesses to the communication networks, modifying access rights to a user or a stronger authentication process or process are implemented. The detection information of a suspicious activity can also be transmitted to a remote server so that it can detect that an attack is in progress on a fleet of devices. The remote server is then able to trigger global countermeasures such as disabling an application, stopping a process of the trusted operating system, or disabling all or part of the access to the communication networks, or disabling a service offered by the server to avoid a particular distributed attack. Following step E50, the re-switch to the multi-purpose operating system is performed (E60). After the resetting E60, the process returns to step E10, the versatile operating system being active again. Figure 3 illustrates an example of the state of the execution stack of a device comprising two operating systems after switching from one to the other. A possible implementation of the failover mechanism is as follows: an instruction, in other words a message or an event, is received or generated by the flip-flop module 1310. This instruction is generated, for example, after a user has interacted with the device through one of its interfaces or peripherals, or after a predetermined time has elapsed, or after the size of the buffer 1140 has reached a predetermined value as previously described. The flip-flop module 1310, which is sometimes referred to as "monitor" or "scheduler", inserts a set of instructions into an execution stack common to the operating systems of the device. In the example of Figure 3, a set of instructions 10, each of them being interpreted sequentially, is added to the execution stack by the first operating system. After receiving or generating the instruction previously described, the flip-flop module 1310 adds to this execution stack a first instruction, sometimes called "Secure Monitor Control" and noted SMC, responsible for triggering the tilting mechanism (20).

Ensuite, le module de bascule vérifie quel est le système d'exploitation jusqu'à présent en cours d'exécution, par exemple en déterminant la valeur du bit « Non Secure bit » enregistré dans le registre « Secure Configuration Register » dont la valeur est modifiée à chaque basculement entre les deux systèmes d'exploitation. L'état du premier système d'exploitation est ensuite sauvegardé dans une mémoire non volatile, une instruction est envoyée au premier système d'exploitation afin que les processus en cours d'exécution soient endormis, certaines mémoires sont vidées, et les périphériques matériels initialement associés au premier environnement d'exécution sont associés au deuxième environnement d'exécution. Le deuxième système d'exploitation, préalablement endormi, est réveillé et son état est restauré à partir du dernier état sauvegardé pour le deuxième système d'exploitation. Enfin, la valeur du bit « Non Secure bit » est mise à jour (30) pour indiquer que le deuxième système d'exploitation est en cours d'exécution. Le deuxième système d'exploitation peut alors ajouter ses propres instructions (40) à la pile d'exécution. Les exemples qui précèdent ne sont que des modes de réalisation de l'invention qui ne s'y limite pas.Then, the flip-flop module checks which operating system is currently running, for example by determining the value of the "Non Secure bit" bit stored in the "Secure Configuration Register" whose value is modified at each switchover between the two operating systems. The state of the first operating system is then saved in a non-volatile memory, an instruction is sent to the first operating system so that the running processes are asleep, some memories are emptied, and the hardware devices initially associated with the first runtime environment are associated with the second runtime environment. The second operating system, previously dormant, is awake and its state is restored from the last saved state for the second operating system. Finally, the value of the "Non Secure bit" bit is updated (30) to indicate that the second operating system is running. The second operating system can then add its own instructions (40) to the execution stack. The foregoing examples are only embodiments of the invention which is not limited thereto.

Claims (19)

REVENDICATIONS1. Système de détection d'intrusion dans un dispositif (1000) comprenant un premier système d'exploitation et un deuxième système d'exploitation, le système de détection d'intrusion comprenant un module d'écoute (1110) configuré pour être exécuté dans le premier système d'exploitation pour écouter l'activité de ce premier système d'exploitation et un module de collecte (1120) configuré pour être exécuté dans le premier système d'exploitation pour collecter des données caractérisant l'activité du premier système d'exploitation caractérisé en ce que ledit système de détection d'intrusion comprend un module d'analyse et de détection (1150) configuré pour être exécuté dans le deuxième système d'exploitation pour analyser les données collectées dans le premier système d'exploitation et détecter une activité suspecte dans le premier système d'exploitation en fonction de ladite analyse.REVENDICATIONS1. An intrusion detection system in a device (1000) comprising a first operating system and a second operating system, the intrusion detection system comprising a listening module (1110) configured to be executed in the first operating system for listening to the activity of this first operating system and a collection module (1120) configured to be executed in the first operating system to collect data characterizing the activity of the first operating system characterized in that said intrusion detection system comprises an analysis and detection module (1150) configured to be executed in the second operating system for analyzing the data collected in the first operating system and for detecting suspicious activity in the first operating system according to said analysis. 2. Système de détection d'intrusion selon la revendication 1, caractérisé en ce que le module de collecte (1120) enregistre lesdites données dans une mémoire tampon (1140) dudit premier système d'exploitation, ladite mémoire tampon (1140) étant accessible en lecture par le deuxième système d'exploitation.An intrusion detection system according to claim 1, characterized in that the collection module (1120) stores said data in a buffer (1140) of said first operating system, said buffer memory (1140) being accessible by read by the second operating system. 3. Système de détection d'intrusion selon la revendication 2, caractérisé en ce que la mémoire tampon (1140) est sécurisée par une méthode de chiffrement.3. Intrusion detection system according to claim 2, characterized in that the buffer memory (1140) is secured by an encryption method. 4. Système de détection d'intrusion selon l'une des revendications 1 à 3, caractérisé en ce que le module d'analyse (1150) est configuré pour vérifier, pour une donnée relative à l'activité du premier système d'exploitation, le respect de droits d'accès à des données en fonction d'un ensemble de règles stockées dans une mémoire non volatile du dispositif, accessible par le deuxième système d'exploitation.4. Intrusion detection system according to one of claims 1 to 3, characterized in that the analysis module (1150) is configured to verify, for a data relating to the activity of the first operating system, the respect of rights of access to data according to a set of rules stored in a non-volatile memory of the device, accessible by the second operating system. 5. Système de détection d'intrusion selon l'une des revendications 1 à 4, caractérisé en ce qu'il comprend un module de bascule (1310) configuré pour déclencher une bascule du premier système d'exploitation vers le deuxième système d'exploitation lorsque la taille mémoire utilisée par ladite mémoire tampon (1140) atteint une valeur prédéfinie, ou après une durée prédéterminée, ou après une action de déclenchement par l'utilisateur du dispositif (1000).5. intrusion detection system according to one of claims 1 to 4, characterized in that it comprises a flip-flop module (1310) configured to trigger a flip-flop of the first operating system to the second operating system when the memory size used by said buffer memory (1140) reaches a predefined value, or after a predetermined time, or after a trigger action by the user of the device (1000). 6. Système de détection d'intrusion selon l'une des revendications 1 à 5, caractérisé en ce que le premier système d'exploitation et le deuxième système d'exploitation s'exécutent en mode exclusif l'un par rapport à l'autre.Intrusion detection system according to one of Claims 1 to 5, characterized in that the first operating system and the second operating system run in exclusive mode with respect to one another. . 7. Dispositif comprenant un premier système d'exploitation et un deuxième système d'exploitation, ledit dispositif comprenant un système de détection d'intrusion selon l'une quelconque des revendications 1 à 6.7. Device comprising a first operating system and a second operating system, said device comprising an intrusion detection system according to any one of claims 1 to 6. 8. Dispositif selon la revendication 7, caractérisé en ce que le premier système d'exploitation et le deuxième système d'exploitation s'exécutent en mode exclusif l'un par rapport à l'autre.8. Device according to claim 7, characterized in that the first operating system and the second operating system run in exclusive mode relative to each other. 9. Dispositif selon la revendication 7 ou 8, caractérisé en ce que le deuxième système d'exploitation répond à la norme « TEE Protection Profile » version 1.0 » définie par l'organisation GlobalPlatform.9. Device according to claim 7 or 8, characterized in that the second operating system meets the standard "TEE Protection Profile" version 1.0 "defined by the organization GlobalPlatform. 10. Dispositif selon l'une des revendications 7 à 9, caractérisé en ce que le deuxième système d'exploitation dispose de moyens de chiffrement de la mémoire tampon accessible par le deuxième système d'exploitation.10. Device according to one of claims 7 to 9, characterized in that the second operating system has means of encryption of the buffer accessible by the second operating system. 11. Dispositif selon l'une des revendications 7 à 10, caractérisé en ce que le deuxième système d'exploitation dispose de moyens de contrôle de ses interfaces de programmation, de sorte à se protéger contre des attaques logicielles en provenance du premier système d'exploitation.11. Device according to one of claims 7 to 10, characterized in that the second operating system has control means of its programming interfaces, so as to protect against software attacks from the first system of exploitation. 12. Dispositif selon l'une des revendications 7 à 11, caractérisé en ce que, lorsqu'il s'exécute, le deuxième système d'exploitation dispose d'un droit d'accès à l'ensemble des ressources dudit dispositif.12. Device according to one of claims 7 to 11, characterized in that, when it runs, the second operating system has a right of access to all the resources of said device. 13. Procédé de détection d'une activité suspecte dans un dispositif comprenant un premier système d'exploitation et un deuxième système d'exploitation, le procédé de détection d'intrusion comprenant une étape d'écoute dans le premier système d'exploitation pour écouter l'activité de ce premier système d'exploitation etune étape de collecte dans le premier système d'exploitation pour collecter des données caractérisant l'activité du premier système d'exploitation, caractérisé en ce que le procédé de détection d'une activité suspecte comprend : une étape d'analyse et de détection dans le deuxième système d'exploitation pour analyser les données collectées dans le premier système d'exploitation et détecter une activité suspecte dans le premier système d'exploitation en fonction de ladite analyse.A method of detecting suspicious activity in a device comprising a first operating system and a second operating system, the intrusion detection method comprising a listening step in the first operating system for listening the activity of this first operating system anda collection step in the first operating system for collecting data characterizing the activity of the first operating system, characterized in that the method of detecting a suspicious activity comprises an analysis and detection step in the second operating system for analyzing the data collected in the first operating system and detecting a suspicious activity in the first operating system according to said analysis. 14. Procédé de détection d'une activité suspecte selon la revendication 13, caractérisé en ce que l'étape de collecte comprend l'enregistrement desdites données dans une mémoire tampon (1140) du premier système d'exploitation, ladite mémoire tampon (1140) étant accessible en lecture par le deuxième système d'exploitation.14. A method for detecting a suspicious activity according to claim 13, characterized in that the collecting step comprises the recording of said data in a buffer memory (1140) of the first operating system, said buffer memory (1140). being readable by the second operating system. 15. Procédé de détection d'une activité suspecte selon la revendication 14, caractérisé en ce que la mémoire tampon (1140) est sécurisée par une méthode de chiffrement.15. The method of detecting a suspicious activity according to claim 14, characterized in that the buffer memory (1140) is secured by an encryption method. 16. Procédé de détection d'une activité suspecte selon l'une des revendications 13 à 15, caractérisé en ce que l'étape d'analyse comprend, pour une donnée relative à l'activité du premier système d'exploitation, la vérification du respect de droits d'accès à des données en fonction d'un ensemble de règles stockées dans une mémoire non volatile du dispositif, accessible par le deuxième système d'exploitation.16. A method for detecting a suspicious activity according to one of claims 13 to 15, characterized in that the analysis step comprises, for a data relating to the activity of the first operating system, the verification of the respecting access rights to data according to a set of rules stored in a non-volatile memory of the device, accessible by the second operating system. 17. Procédé de détection d'une activité suspecte selon l'une des revendications 13 à 16, caractérisé en ce qu'il comprend une étape de bascule, ladite étape de bascule étant déclenchée lorsque la taille mémoire utilisée par ladite mémoire tampon (1140) atteint une valeur prédéfinie, ou après une durée prédéterminée, ou après une action de déclenchement par l'utilisateur du dispositif (1000).17. A method for detecting a suspicious activity according to one of claims 13 to 16, characterized in that it comprises a flip-flop step, said flip-flop step being triggered when the memory size used by said buffer memory (1140) reaches a predefined value, or after a predetermined time, or after a trigger action by the user of the device (1000). 18. Produit programme d'ordinateur comprenant des instructions pour la mise en oeuvre d'un procédé de détection d'intrusion selon l'une quelconque des revendications 13 à 17, lorsqu'il est chargé et exécuté par un processeur.A computer program product comprising instructions for implementing an intrusion detection method according to any one of claims 13 to 17, when loaded and executed by a processor. 19. Support lisible par un processeur comprenant les instructions d'un programme d'ordinateur pour mettre en oeuvre un procédé de détection d'intrusion selon l'une quelconque des revendications 13 à 17.19. A processor-readable medium comprising the instructions of a computer program for implementing an intrusion detection method according to any one of claims 13 to 17.
FR1360499A 2013-10-28 2013-10-28 SYSTEM FOR DETECTING INTRUSION IN A DEVICE COMPRISING A FIRST OPERATING SYSTEM AND A SECOND OPERATING SYSTEM Active FR3012643B1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FR1360499A FR3012643B1 (en) 2013-10-28 2013-10-28 SYSTEM FOR DETECTING INTRUSION IN A DEVICE COMPRISING A FIRST OPERATING SYSTEM AND A SECOND OPERATING SYSTEM
PCT/FR2014/052730 WO2015063405A1 (en) 2013-10-28 2014-10-27 Intrusion detection system in a device comprising a first operating system and a second operating system
EP14805992.6A EP3063693B1 (en) 2013-10-28 2014-10-27 Intrusion detection system in a device comprising a first operating system and a second operating system
US15/032,098 US10339307B2 (en) 2013-10-28 2014-10-27 Intrusion detection system in a device comprising a first operating system and a second operating system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1360499A FR3012643B1 (en) 2013-10-28 2013-10-28 SYSTEM FOR DETECTING INTRUSION IN A DEVICE COMPRISING A FIRST OPERATING SYSTEM AND A SECOND OPERATING SYSTEM

Publications (2)

Publication Number Publication Date
FR3012643A1 true FR3012643A1 (en) 2015-05-01
FR3012643B1 FR3012643B1 (en) 2017-03-17

Family

ID=50877350

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1360499A Active FR3012643B1 (en) 2013-10-28 2013-10-28 SYSTEM FOR DETECTING INTRUSION IN A DEVICE COMPRISING A FIRST OPERATING SYSTEM AND A SECOND OPERATING SYSTEM

Country Status (4)

Country Link
US (1) US10339307B2 (en)
EP (1) EP3063693B1 (en)
FR (1) FR3012643B1 (en)
WO (1) WO2015063405A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3086254A1 (en) * 2015-04-22 2016-10-26 Gemalto Sa Method of managing applications in a secure element when updating the operating system
WO2017033180A1 (en) 2015-08-26 2017-03-02 B. G. Negev Technologies And Applications Ltd., At Ben-Gurion University System and method for monitoring and protecting an untrusted operating system by means of a trusted operating system
US10977361B2 (en) * 2017-05-16 2021-04-13 Beyondtrust Software, Inc. Systems and methods for controlling privileged operations
EP3835951A1 (en) * 2019-12-13 2021-06-16 Virtual Open Systems System platform initializer for mixed-critical systems
DE102020204059A1 (en) 2020-03-28 2021-09-30 Robert Bosch Gesellschaft mit beschränkter Haftung Method for treating an anomaly in data, in particular in a motor vehicle
KR20220017319A (en) * 2020-08-04 2022-02-11 삼성전자주식회사 Method and electronic device for protecting memory

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030236992A1 (en) * 2002-06-19 2003-12-25 Sameer Yami Method and system for providing secure logging for intrusion detection
EP1918841A2 (en) * 2006-10-31 2008-05-07 NTT DoCoMo, Inc. Operating system monitoring setting information generator apparatus and operating system monitoring apparatus
US20090044265A1 (en) * 2007-03-29 2009-02-12 Ghosh Anup K Attack Resistant Continuous Network Service Trustworthiness Controller
US20110055925A1 (en) * 2009-09-03 2011-03-03 Palo Alto Research Center Incorporated Pattern-based application classification

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003036174A (en) * 2001-07-25 2003-02-07 Hitachi Ltd On-vehicle terminal device
US20050091558A1 (en) * 2003-10-28 2005-04-28 International Business Machines Corporation System, method and program product for detecting malicious software
US7739532B2 (en) * 2004-06-07 2010-06-15 Intel Corporation Method, apparatus and system for enhanced CPU frequency governers
US7765374B2 (en) * 2007-01-25 2010-07-27 Microsoft Corporation Protecting operating-system resources
EP2130322B1 (en) * 2007-03-21 2014-06-25 Intel Corporation Protection against impersonation attacks
KR20090011481A (en) * 2007-07-26 2009-02-02 삼성전자주식회사 Method for intrusion detecting in a terminal device and apparatus therefor
US8763129B2 (en) * 2008-07-26 2014-06-24 David R. Wallace Vulnerability shield system
WO2014142904A1 (en) * 2013-03-14 2014-09-18 Intel Corporation Context based switching to a secure operating system environment
US9197654B2 (en) * 2013-06-28 2015-11-24 Mcafee, Inc. Rootkit detection by using HW resources to detect inconsistencies in network traffic
US20150052614A1 (en) * 2013-08-19 2015-02-19 International Business Machines Corporation Virtual machine trust isolation in a cloud environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030236992A1 (en) * 2002-06-19 2003-12-25 Sameer Yami Method and system for providing secure logging for intrusion detection
EP1918841A2 (en) * 2006-10-31 2008-05-07 NTT DoCoMo, Inc. Operating system monitoring setting information generator apparatus and operating system monitoring apparatus
US20090044265A1 (en) * 2007-03-29 2009-02-12 Ghosh Anup K Attack Resistant Continuous Network Service Trustworthiness Controller
US20110055925A1 (en) * 2009-09-03 2011-03-03 Palo Alto Research Center Incorporated Pattern-based application classification

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JING LUO ET AL: "Design and implementation of security OS based on TrustZone", 2013 IEEE 11TH INTERNATIONAL CONFERENCE ON ELECTRONIC MEASUREMENT & INSTRUMENTS, IEEE, vol. 2, 16 August 2013 (2013-08-16), pages 1027 - 1032, XP032569158, ISBN: 978-1-4799-0757-1, [retrieved on 20140218], DOI: 10.1109/ICEMI.2013.6743208 *
JOHANNES WINTER: "Trusted computing building blocks for embedded linux-based ARM trustzone platforms", PROCEEDINGS OF THE 3RD ACM WORKSHOP ON SCALABLE TRUSTED COMPUTING, STC '08, 31 October 2008 (2008-10-31), New York, New York, USA, pages 21 - 30, XP055117999, ISBN: 978-1-60-558295-5, DOI: 10.1145/1456455.1456460 *

Also Published As

Publication number Publication date
US10339307B2 (en) 2019-07-02
FR3012643B1 (en) 2017-03-17
US20160335433A1 (en) 2016-11-17
EP3063693A1 (en) 2016-09-07
WO2015063405A1 (en) 2015-05-07
EP3063693B1 (en) 2021-07-28

Similar Documents

Publication Publication Date Title
US11055411B2 (en) System and method for protection against ransomware attacks
US11924230B2 (en) Individual device response options from the monitoring of multiple devices
EP3063693B1 (en) Intrusion detection system in a device comprising a first operating system and a second operating system
US9846776B1 (en) System and method for detecting file altering behaviors pertaining to a malicious attack
US8769296B2 (en) Software signature tracking
US9619649B1 (en) Systems and methods for detecting potentially malicious applications
US10339304B2 (en) Systems and methods for generating tripwire files
EP3156931B1 (en) Method for detecting vulnerabilities in a virtual production server of a virtual or cloud-based computer system
US20150163121A1 (en) Distributed monitoring, evaluation, and response for multiple devices
US9781143B1 (en) Systems and methods for detecting near field communication risks
US10769275B2 (en) Systems and methods for monitoring bait to protect users from security threats
US9385869B1 (en) Systems and methods for trusting digitally signed files in the absence of verifiable signature conditions
US9489529B2 (en) Data security system
Berrueta et al. Crypto-ransomware detection using machine learning models in file-sharing network scenarios with encrypted traffic
CN111800405A (en) Detection method, detection device and storage medium
FR2900298A1 (en) SECURE SYSTEM AND METHOD FOR DATA PROCESSING BETWEEN A FIRST DEVICE AND AT LEAST ONE SECOND DEVICE FOR MONITORING MEANS
US10032022B1 (en) System and method for self-protecting code
US9785775B1 (en) Malware management
Verma et al. Preserving dates and timestamps for incident handling in android smartphones
WO2015000967A1 (en) Device, system and method for securing transfer of data between a source portable data storage device and a destination computing system
TWI711939B (en) Systems and methods for malicious code detection
DeMara et al. Mitigation of network tampering using dynamic dispatch of mobile agents
US10579795B1 (en) Systems and methods for terminating a computer process blocking user access to a computing device
Alashjaee An Integrated Framework for Android Based Mobile Device Malware Forensics
Katal Security and Privacy in Mobile Cloud Computing

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

PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8

CA Change of address

Effective date: 20201019

CD Change of name or company name

Owner name: IDEMIA FRANCE, FR

Effective date: 20201019

PLFP Fee payment

Year of fee payment: 9

PLFP Fee payment

Year of fee payment: 10

PLFP Fee payment

Year of fee payment: 11