FR3085498A1 - Surveillance d’acces en memoire - Google Patents

Surveillance d’acces en memoire Download PDF

Info

Publication number
FR3085498A1
FR3085498A1 FR1857948A FR1857948A FR3085498A1 FR 3085498 A1 FR3085498 A1 FR 3085498A1 FR 1857948 A FR1857948 A FR 1857948A FR 1857948 A FR1857948 A FR 1857948A FR 3085498 A1 FR3085498 A1 FR 3085498A1
Authority
FR
France
Prior art keywords
memory
accesses
abnormal
detection rule
data
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.)
Pending
Application number
FR1857948A
Other languages
English (en)
Inventor
Sanaa Kerroumi
Damien Courousse
Anca MOLNOS
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.)
Commissariat a lEnergie Atomique et aux Energies Alternatives CEA
Original Assignee
Commissariat a lEnergie Atomique CEA
Commissariat a lEnergie Atomique et aux Energies Alternatives CEA
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 Commissariat a lEnergie Atomique CEA, Commissariat a lEnergie Atomique et aux Energies Alternatives CEA filed Critical Commissariat a lEnergie Atomique CEA
Priority to FR1857948A priority Critical patent/FR3085498A1/fr
Publication of FR3085498A1 publication Critical patent/FR3085498A1/fr
Pending legal-status Critical Current

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
    • 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/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2135Metering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2143Clearing memory, e.g. to prevent the data from being stolen

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

La présente description concerne un procédé de détection d'accès anormaux en mémoire, ce procédé consistant à : surveiller, par un circuit de surveillance du trafic (202), les accès aux données d'une mémoire pour rassembler des données d'accès en mémoire ; extraire des données d'accès en mémoire une pluralité de caractéristiques ; et détecter des accès anormaux à la mémoire à partir de la pluralité de caractéristiques extraites.

Description

DESCRIPTION
TITRE : SURVEILLANCE D'ACCES EN MEMOIRE
Domaine technique [0001] La présente invention concerne de façon générale le domaine des systèmes informatiques et en particulier les circuits et procédé de surveillance des accès en mémoire pour détecter une activité anormale.
Technique antérieure [0002] L'internet des objets (IdO) correspond à la mise en réseau de dispositifs physiques, souvent désignés sous le nom de nœuds IdO. L'IdO apporte de nombreux avantages aux utilisateurs du fait du haut niveau de connectivité entre les dispositifs. Toutefois, de tels réseaux sont relativement exposés et sont donc vulnérables en termes de maintien de : la confidentialité, en d'autres termes, ce qui permet d'empêcher l'accès illégitime à l'information ; l'intégrité, en d'autres termes, ce qui permet d'éviter les dénis de service.
[0003] Le chiffrement offre un moyen de rendre les nœuds IdO plus résistants, mais des études récentes ont montré que le chiffrement seul n'était plus suffisant pour protéger la confidentialité et l'intégrité des données mémorisées dans des mémoires d'un nœud IdO. Par exemple, la sécurité du chiffrement complet de disque est décrite dans la publication de T. Müller et al. intitulée A systematic assessment of the security of full disk encryption, IEEE Transactions on Dependable and Secure Computing, 12(5), 491-503.
[0004] En particulier, en ciblant la mémoire d'un nœud IdO, une personne souhaitant compromettre la sécurité du réseau IdO peut être en mesure d'espionner les accès mémoire et ainsi d'extraire les clés de chiffrement, compromettant de la sorte la confidentialité, d'altérer les données
B17167- DD18635ST mémorisées en implantant des programmes malveillants ou en écrasant les données mémorisées, compromettant de la sorte l'intégrité des données, et de ralentir et même de mettre hors service le nœud IdO.
Résumé de l'invention [0005] Un objet de modes de réalisation de la présente invention est de répondre à un ou plusieurs besoins de l'art antérieur.
[0006] Selon un aspect, on prévoit un procédé de détection d'accès anormaux en mémoire, ce procédé comprenant : surveiller, par un circuit de surveillance de trafic, les accès aux données d'une mémoire pour rassembler des données d'accès en mémoire ; extraire, des données d'accès en mémoire, une pluralité de caractéristiques ; et détecter des accès anormaux à la mémoire à partir de la pluralité de caractéristiques extraites.
[0007] Selon un mode de réalisation, les accès anormaux en mémoire sont détectés en appliquant une règle de détection générée par apprentissage machine.
[0008] Selon un mode de réalisation, la règle de détection se présente sous la forme :
Στη ykakK{x, xk) + b) k = l où k varie de 1 à m, m représentant le nombre de vecteurs de support appris lors de l'apprentissage, xk est le vecteur de support, yk est la classe attribuée du vecteur de support, ak est un multiplicateur de Lagrange, Ko est la fonction noyau utilisée pour calculer le produit scalaire entre la nouvelle observation x et le vecteur de support xk, et b est un biais.
[0009] Selon un mode de réalisation, le noyau KO est une fonction linéaire de la forme :
B17167- DD18635ST
K(x,xk~) = (x.xk) + b [0010] Selon un mode de réalisation, le noyau Ko est un polynôme de la forme :
K{x,xk) = ((x.xk) + b)p où p est le degré du polynôme.
[0011] Selon un mode de réalisation, le noyau Ko est une gaussienne de la forme :
K(x,xk) = exp(y||x — %J|2) où γ est un paramètre qui détermine 1'étendue du noyau.
[0012] Selon un mode de réalisation, des accès anormaux en mémoire sont détectés en appliquant une première règle de détection pendant un premier mode de fonctionnement d'un processeur et en appliquant une seconde règle de détection pendant un second mode de fonctionnement du processeur.
[0013] Selon un mode de réalisation, la pluralité de caractéristiques extraites est sélectionnée à partir de paramètres d'entrée.
[0014] Selon un autre aspect, on prévoit un procédé de génération d'une règle de détection pour mettre en œuvre le fonctionnement ci-dessus de détection d'accès anormaux en mémoire, comprenant à rassembler des données d'accès en mémoire pendant une période d'apprentissage et à utiliser un apprentissage machine pour générer la règle de détection.
[0015] Selon un mode de réalisation, l'utilisation de l'apprentissage machine comprend l'utilisation d'un algorithme s'appuyant sur une machine à vecteurs de support.
[0016] Selon un mode de réalisation, la génération de la règle de détection comprend la détermination des paramètres w et b d'un hyperplan séparant deux classes correspondant à une activité nominale et anormale, 1'hyperplan étant défini par wTx + b, dans lequel b est un scalaire représentant le biais de l'hyperplan, w est un facteur de pondération qui
B17167- DD18635ST définit une direction perpendiculaire à l'hyperplan, T est un ensemble d'apprentissage et x est un ensemble de vecteurs de caractéristique n-dimensionnels.
[0017] Selon un mode sont déterminés en de réalisation, les paramètres w et b résolvant le problème d'optimisation suivant :
i n min(Wb^-wTw + C £
1=1 subject to yi(wTXi + b) > 1 — ξι où ξί est une variable d'écart et C est un terme de pénalité correspondant à une erreur de classification, avec C > 0.
[0018] Selon un mode de réalisation, l'utilisation de l'apprentissage machine comprend l'utilisation d'une technique de classification à une seule classe.
[0019] Selon un autre mode de réalisation, on prévoit un dispositif de détection d'accès anormaux en mémoire, ce dispositif comprenant : un circuit de surveillance du trafic configuré pour surveiller les accès à des données d'une mémoire pour rassembler des données d'accès en mémoire ; et un processeur et/ou un autre circuit configuré pour extraire, des données d'accès en mémoire, une pluralité de caractéristiques et pour détecter des accès anormaux en mémoire à partir de la pluralité de caractéristiques extraites.
[0020] Selon un mode de réalisation, le processeur et/ou l'autre circuit sont configurés pour détecter des accès anormaux en mémoire en appliquant une règle de détection générée par apprentissage machine.
Brève description des dessins [0021] Ces caractéristiques et avantages, ainsi que d'autres, seront exposés en détail dans la description suivante de
B17167- DD18635ST modes de réalisation particuliers faite à titre non limitatif en relation avec les figures jointes parmi lesquelles :
[0022] [Fig. 1] La figure 1 illustre schématiquement un nœud de calcul selon un exemple de réalisation ;
[0023] [Fig. 2] La figure 2 illustre schématiquement un dispositif de surveillance du trafic d'une mémoire selon un exemple de réalisation de la présente invention ;
[0024] [Fig. 3] la figure 3 illustre schématiquement un nœud de calcul comprenant un circuit de détection d'accès anormaux en mémoire selon un exemple de réalisation de la présente invention ;
[0025] [Fig. 4] la figure 4 est un organigramme représentant des opérations d'un procédé de détection d'accès anormaux en mémoire selon un exemple de réalisation de la présente invention ; et [0026] [Fig. 5] la figure 5 est un organigramme illustrant un exemple d'opérations dans un procédé de sélection de caractéristiques et de règles de détection d'accès anormaux en mémoire.
Description des modes de réalisation [0027] De mêmes éléments ont été désignés par de mêmes références dans les différentes figures. En particulier, les éléments structurels et/ou fonctionnels communs aux différents modes de réalisation peuvent présenter les mêmes références et peuvent disposer de propriétés structurelles, dimensionnelles et matérielles identiques.
[0028] Sauf précision contraire, les expressions environ, approximativement, sensiblement et de l'ordre de signifient à 10% près, de préférence à 5% près.
[0029] La figure 1 illustre schématiquement un nœud de calcul
100, par exemple un nœud IdO ou autre type de dispositif
B17167- DD18635ST physique de traitement de données. Par exemple, le nœud de calcul 100 correspond aux ressources de traitement d'un téléphone mobile, d'un ordinateur portable, d'un ordinateur de bord, d'un drone, d'une caméra vidéo, d'un capteur de sécurité, d'un régulateur de chauffage ou d'autres dispositifs électroniques, par exemple connectés à un réseau. Le dispositif de calcul 100 comprend un processeur (PROCESSEUR) 102, comprenant un ou plusieurs cœurs de processeur, une mémoire (MEMOIRE) 104 et un module d'accès direct en mémoire (ADM) 106, tous reliés par un bus de dispositif 108.
[0030] Le nœud de calcul 100 comprend également un module de détection d'activité anormale (DETECTION D'ACTIVITE ANORMALE) 110 configuré pour surveiller les accès en mémoire à la mémoire 104 par le processeur 102 et/ou par le dispositif ADM 106 et pour détecter une activité anormale. Le module 110 est par exemple entièrement réalisé sous forme matérielle par un circuit dédié. A titre de variante, certaines fonctions pourraient être mises en œuvre sous forme logicielle, par exemple, exécutées par le processeur 102.
[0031] Dans certains modes de réalisation, le nœud de calcul 100 comprend en outre un ou plusieurs capteurs de niveau de circuit (CAPTEUR DE NIVEAU DE CIRCUIT) 112 qui détectent certaines variables concernant le fonctionnement du nœud de calcul 100 qui peuvent être utilisées en tant que paramètres d'entrée supplémentaires pour détecter une activité anormale. Des exemples des variables détectées par les capteurs 112 comprennent la consommation d'énergie et/ou de puissance du nœud de calcul 100.
[0032] La figure 2 illustre schématiquement un circuit de surveillance du trafic d'une mémoire (SURVEILLANCE DE TRAFIC MEMOIRE) 202 du module de détection d'activité anormale 110 de la figure 1 selon un exemple de réalisation. Le circuit
B17167- DD18635ST de surveillance 202 correspond par exemple à un circuit matériel dont les entrées sont couplées au bus de mémoire (BUS MEMOIRE) 204 de la mémoire 104 pour leur surveillance. Le bus de mémoire 204 correspond par exemple à une partie du bus de dispositif 108 et comprend en particulier un bus de données (DATA) délivrant des données à et à partir de la mémoire 104, un bus d'adresse (ADR) délivrant l'adresse en mémoire ou la plage d'adresses à laquelle chaque accès en mémoire accède, et un bus de commande (CTRL) indiquant par exemple le type d'accès en mémoire, généralement en lecture ou en écriture.
[0033] Le circuit de surveillance 202 comprend par exemple une machine d'état (MACHINE D'ETAT) 206 configurée pour rassembler certaines données d'accès en mémoire relatives à la mémoire 104. Le circuit de surveillance 202 comprend par exemple un tampon (TAMPON) 208 configuré pour mémoriser les données d'accès en mémoire rassemblées.
[0034] La figure 3 illustre schématiquement une partie du nœud de calcul 100 de la figure 1 plus en détail.
[0035] Le nœud de calcul 100 comprend par exemple une source d'horloge (HORLOGE) 302 qui délivre un signal d'horloge de système CLK au module de détection d'activité anormale 110, comprenant le dispositif de surveillance de trafic 202 selon la figure 2.
[0036] Le bus de données DATA, le bus d'adresse ADR et le bus de commande CTRL du bus de mémoire 204 sont couplés au module de détection d'activité anormale 110.
[0037] Le module 110 comprend par exemple le circuit de surveillance de trafic de mémoire (STM) 202 mis en œuvre sous forme matérielle. Dans certains modes de réalisation, le circuit 202 comprend un registre 305 mémorisant un ou plusieurs paramètres d'entrée TM_INPUT de sélection des
B17167- DD18635ST types d'informations d'accès en mémoire à surveiller. Le module 110 peut en outre comprendre un circuit d'extraction de caractéristique (FE) 306 comprenant dans certains modes de réalisation un registre 307 mémorisant un ou plusieurs paramètres d'entrée FE_INPUT sélectionnant les caractéristiques à extraire. Le module 110 peut en outre comprendre un circuit de détection de comportement anormal (DET) 308 comprenant dans certains modes de réalisation un registre 309 mémorisant un ou plusieurs paramètres d'entrée DET_INPUT en sélectionnant une règle de détection à appliquer. Le module 110 peut en outre comprendre un circuit de réaction (REACT) 310.
[0038] Les trois circuits 306, 308 et 310 sont représentés par des blocs en traits tiretés à la figure 3 pour indiquer qu'ils peuvent chacun être mis en œuvre sous forme matérielle, comme on l'a représenté, ou sous forme logicielle, comme le représente un bloc en traits tiretés 312 correspondant au logiciel (SW) exécuté par le processeur 102. Plutôt que d'utiliser les registres 305, 307 et 309, dans des variantes de réalisation, le module 110 pourrait comprendre une ou plusieurs entrées couplées à un bus de commande pour recevoir certain des ou tous les divers paramètres d'entrée.
[0039] Dans certains modes de réalisation, un commutateur de classification (COMMUTATEUR DE CLASSIFICATION) 314 est couplé au bus de commande CTRL et fournit un signal d'entrée au circuit de détection 308. Le commutateur de classification 314 est par exemple configuré pour effectuer une sélection entre différentes règles de détection à appliquer par le circuit de détection 308 à partir de conditions indiquées par le bus de commande CTRL. Par exemple, certaines règles de détection ne sont pas appliquées quand le nœud de calcul 100 est en mode de repos.
B17167- DD18635ST [0040] Le fonctionnement du module de détection d'activité anormale 110 des figures 1 et 3 sera à présent décrit plus en détail en référence à la figure 4.
[0041] La figure 4 est un organigramme représentant des opérations d'un procédé de détection d'accès anormaux en mémoire. Les accès anormaux en mémoire correspondent à des accès en mémoire qui sont détectés comme n'étant pas susceptibles de correspondre à une activité normale de la mémoire et devraient par conséquent être considérés comme suspects.
[0042] A l'opération 401, la surveillance du trafic est effectuée par le circuit de surveillance de trafic de mémoire 202. Ceci implique par exemple que le circuit 202 rassemble des données d'accès en mémoire correspondant à divers types d'informations concernant les accès en mémoire, comprenant par exemple l'une des, certaines ou toutes les informations suivantes :
- le type d'accès, par exemple en lecture ou en écriture, tel qu'indiqué par le bus de commande CTRL ;
- l'estampille temporelle de l'accès en mémoire, indiquée par exemple par l'horloge de système CLK ;
l'estampille temporelle d'un événement, indiquée par exemple par un minuteur ou compteur ;
l'adresse de l'accès en mémoire, indiquée par le bus d'adresse ADR ;
- le compte d'instructions détecté par un capteur adapté et représentant le nombre d'instructions délivrées par le processeur, par exemple le nombre total d'instructions exécutées ou le nombre d'opérations de chargement et/ou le nombre d'opérations de mémorisation ;
- le compte d'interruptions levées, détecté par exemple par des compteurs de performance ;
- la consommation énergétique, détectée par exemple par les
B17167- DD18635ST capteurs de niveau de circuit 112 de la figure 1 ; et
- l'identificateur du processus ID, délivré par exemple par le processeur 102.
[0043] Dans certains modes de réalisation, les types de données d'accès en mémoire rassemblées sont fixes. Dans des variantes de réalisation, les types de données d'accès en mémoire rassemblées sont programmables par les paramètres d'entrée de surveillance du trafic TM_INPUT. Par exemple, ces paramètres d'entrée permettent de sélectionner un ou plusieurs de tous les types de données d'accès en mémoire énumérés ci-dessus.
[0044] Comme le représente encore la figure 4, à l'opération 402, les caractéristiques sélectionnées sont extraites des données d'accès en mémoire par le circuit d'extraction de caractéristique 306 et/ou par un logiciel mettant en œuvre cette fonction. Ceci implique par exemple le traitement des données d'accès en mémoire pour extraire certaines caractéristiques utiles. Par exemple, l'une de, certaines ou toutes les caractéristiques suivantes sont extraites, les noms donnés à ces caractéristiques l'étant à titre d'exemple :
NRead - le nombre de lectures en mémoire par intervalle temporel, l'intervalle temporel à considérer étant par exemple indiqué par les paramètres d'entrée FE_INPUT du circuit d'extraction de caractéristique 306 ;
NmemAcc - le nombre d'accès en mémoire par intervalle temporel, l'intervalle temporel à considérer étant par exemple indiqué par les paramètres d'entrée FE_INPUT du circuit d'extraction de caractéristique 306 ;
ReadFreq - la fréquence de lecture correspondant au nombre de lectures par rapport au nombre total d'accès en mémoire ; Time2Read - la durée entre deux accès consécutifs en lecture ;
B17167- DD18635ST
UnknownAd - le nombre d'adresses inconnues ;
Inc - le nombre d'incréments d'adresse ;
MeanEC - la consommation énergétique moyenne par intervalle temporel, l'intervalle temporel à considérer étant par exemple indiqué par les paramètres d'entrée FE_INPUT du circuit d'extraction de caractéristique 306 ; et
UnknownpID - le nombre d'identificateurs de processus ID actif inconnus.
[0045] A titre d'exemple, la valeur ReadFreq est par exemple calculée comme suit :
Soit : M = {mltm2,... ,mn} n accès en mémoire mémorisés pendant un intervalle temporel. Le nombre de lectures pendant l'intervalle temporel peut par exemple être évalué de la façon suivante :
Number_of_reads = |{i G {1,2, ...,η}·.ΊΠι = Read_access}\
La fréquence de lecture ReadFreq peut alors être par exemple déterminée commue suit :
|{i G {1,2, = Read access}!
ReadFreq = ----------------l---------=------n [0046] A titre d'autre exemple, la valeur UnknownAd est par exemple calculée comme suit :
Soit : C = {c1( c2,..., cfc} une liste de k adresses connues et/ou inconnues dans le système et A = {a1, a2,..., an} une liste d'adresses à laquelle ayant fait l'objet d'un accès pendant un intervalle temporel. Le nombre d'adresses inconnues UnknownAd pendant l'intervalle temporel peut par exemple être évalué de la façon suivante :
UnknownAd = |{i G {1,2, ...,η}: a( £ C}| [0047] Dans certains modes de réalisation, la fonction utilisée pour extraire les caractéristiques est fixe. Dans des variantes de réalisation, certains paramètres utilisés pour l'extraction des caractéristiques sont variables et
B17167- DD18635ST peuvent être sélectionnés au moyen des paramètres d'entrée FE_INPUT.
[0048] Par exemple, certaines caractéristiques doivent être extraites pendant une ou plusieurs fenêtres temporelles et la longueur de ces fenêtres temporelles peut être sélectionnée au moyen des paramètres d'entrée FE_INPUT. En effet, la longueur de fenêtre sélectionnée est par exemple limitée en termes de taille du tampon 208 et ainsi, en fonction du nombre de caractéristiques à extraire, une longueur de fenêtre temporelle différente peut être utilisée pour chaque caractéristique. Dans certains modes de réalisation, plus d'une longueur de fenêtre temporelle peut être appliquée pour une même caractéristique pour apporter une sensibilité aux variations à court terme et à long terme. Par exemple, pour une caractéristique donnée, trois fenêtres temporelles peuvent être utilisées pour l'extraction de caractéristiques, de longueurs Wl, W2 et W3, respectivement, où Wl < W2 < W3.
[0049] Les paramètres d'entrée FE_INPUT peuvent à titre de variante ou en supplément permettre à la nature de chaque fenêtre temporelle d'être sélectionnée, par exemple, d'être de longueur constante ou de longueur variable.
[0050] Dans certains modes de réalisation, une opération d'extraction de caractéristique implique l'extraction d'au moins deux caractéristiques des données d'accès en mémoire, par exemple entre deux et quatre caractéristiques.
[0051] Comme le représente encore la figure 4, à l'opération 403, la détection d'accès anormaux en mémoire est réalisée, à partir des caractéristiques extraites, par le circuit de détection 308 et/ou par un logiciel mettant en œuvre cette fonction.
B17167- DD18635ST [0052] La détection réalisée à l'opération 403 est par exemple basée sur une règle de détection correspondant à une fonction mathématique qui établit une correspondance entre l'espace de caractéristiques et la classification du comportement en mémoire en nominal et anormal.
[0053] Dans certains modes de réalisation, la règle de détection se présente sous la forme suivante :
Στη ykakK{x, xk) + b) k = l où k varie de 1 à m, m représentant le nombre de vecteurs de support appris lors de l'apprentissage, xk est le vecteur de support, yk est la classe attribuée du vecteur de support, ak est un multiplicateur de Lagrange, Ko est la fonction noyau utilisée pour calculer le produit scalaire entre la nouvelle observation x et le vecteur de support xk, et b est un biais.
[0054] Le signe de la fonction détermine si un comportement donné devrait être considéré comme normal (signe négatif) ou anormal (signe positif). Dans certains modes de réalisation, les classes peuvent être séparées linéairement et la fonction de mise en correspondance (mappage) Ko est par exemple un noyau linéaire tel que K{x,xk) = (x.xk) + b. Dans d'autres modes de réalisation, les données d'entrée sont mises en correspondance vers un espace à un plus grand nombre de dimensions au moyen d'une fonction non linéaire, les objets des deux classes étant capables de subir une séparation linéaire dans cet espace à un plus grand nombre de dimensions. Dans un tel cas, on utilise par exemple un noyau polynomial tel que K{x,xk) = ({x. xk) + b)p, dans lequel p est le degré du polynôme, ou l'on utilise un noyau gaussien tel que K(x,xk) = exp(y||x — xfc||2), dans lequel y est un paramètre qui détermine 1'étendue du noyau.
B17167- DD18635ST [0055] Il peut n'y avoir qu'une seule règle de détection appliquée en toutes circonstances. A titre de variante, le module 110 peut être capable d'appliquer plus d'une règle de détection sélectionnée à partir des paramètres d'entrée DET_INPUT. Par exemple, différentes règles de détection pourraient être appliquées pendant différents mode de fonctionnement du processeur 102, par exemple à partir du niveau de sécurité à appliquer pour le mode de fonctionnement donné. En supplément ou à titre de variante, pour économiser de la consommation énergétique, une règle de détection relativement légère est établie quand le nœud de calcul est en mode de repos et une règle de détection plus rigoureuse est appliquée pendant le mode de fonctionnement actif. En outre, dans certains cas, différentes règles de détection peuvent être appliquées à différentes applications logicielles en cours d'exécution. En effet, un certain comportement d'accès en mémoire peut être normal pendant l'exécution d'une application mais anormal pendant l'exécution d'une autre application.
[0056] Comme le représente encore la figure 4, à l'opération 404, si l'activité est détectée comme étant anormale, une réaction est par exemple mise en œuvre à une opération 405. L'opération de réaction 405 implique par exemple une ou plusieurs des actions suivantes, par exemple mises en œuvre par des signaux générés par le module 110 et/ou par le processeur 102 :
- éteindre/réinitialiser le nœud de calcul ;
- déclencher une alarme, indiquant par exemple à l'utilisateur du nœud de calcul et/ou à un ou plusieurs dispositifs distants qu'un comportement anormal a été détecté ;
- générer un signal à destination du processeur 102 ;
- randomiser, effacer ou écraser les données mémorisées dans la mémoire 104 ; et
B17167- DD18635ST
- incrémenter une valeur de comptage, une ou plusieurs des actions ci-dessus étant réalisées quand la valeur de comptage atteint un certain niveau.
[0057] A titre de variante, si à l'opération 404, l'activité est détectée comme étant nominale, ou après la réaction à l'opération 405, le procédé revient par exemple à l'opération de surveillance du trafic 401.
[0058] La figure 5 est un organigramme illustrant un exemple d'opérations dans un procédé de sélection de caractéristiques et détermination de la règle de détection pour la détection d'accès anormaux en mémoire. Ce procédé est par exemple réalisé pendant une étape de développement logiciel du nœud de calcul à partir des applications ou programmes de calcul à exécuter pendant la durée de vie du nœud de calcul. En supplément ou à titre de variante, les paramètres de la détection d'accès anormal en mémoire peuvent être modifiés pendant la durée de vie du nœud de calcul en vue de l'exécution d'un nouveau logiciel par le nœud de calcul et/ou en vue de nouveaux types de comportement d'accès indésirables en mémoire.
[0059] Ces caractéristiques sont par exemple sélectionnées et les règles de détection sont par exemple choisies par un outil d'apprentissage machine à partir de données brutes. Des procédés d'apprentissage machine sont par exemple présentés plus en détail dans la publication d'Adam Coates et al. intitulée An analysis of single-layer networks in unsupervised feature learning, Proceedings of the fourteenth international conference on artificial intelligence and statistics, 2011.
[0060] Le procédé de la figure 5 est par exemple mis en œuvre par un outil d'apprentissage machine mis en œuvre par le nœud de calcul 100 ou par un dispositif de calcul analogue.
B17167- DD18635ST [0061] A l'opération 501, la surveillance du trafic est effectuée pour rassembler des données brutes d'accès en mémoire, ou bien ces données sont délivrées par un autre moyen à l'outil d'apprentissage machine. Par exemple, tous les types possibles de données d'accès en mémoire sont rassemblés, comme on l'a énuméré ci-dessus. Cette opération est par exemple réalisée au moyen de données d'apprentissage dans lesquelles des accès nominaux et anormaux connus en mémoire sont présents. A titre de variante, les données brutes d'accès en mémoire correspondent seulement aux accès nominaux en mémoire et l'on utilise ces données seules pour détecter un fonctionnement anormal.
[0062] A l'opération 502, l'extraction des caractéristiques est par exemple effectuée en extrayant une gamme relativement large de caractéristiques et la sélection de caractéristiques est effectuée pour sélectionner l'une de, certaines ou toutes ces caractéristiques à utiliser pour la détection d'accès anormaux en mémoire. La sélection des caractéristiques peut être réalisée automatiquement par l'outil d'apprentissage machine ou au moins partiellement manuellement .
[0063] Par exemple, dans certains modes de réalisation, la sélection des caractéristiques est effectuée au moyen d'une technique de sélection récursive des caractéristiques et/ou au moyen d'une analyse discriminante linéaire de Fisher. La sélection récursive de caractéristiques est par exemple décrite plus en détail dans la publication de Xuegong Zhang et al. intitulée Recursive SVM feature selection and sample classification for mass-spectrometry and microarray data, BMC bioinformatics 7.1 (2006):197. L'analyse discriminante linéaire de Fisher est par exemple décrite plus en détail
B17167- DD18635ST dans la publication by Quanquan Gu et al. intitulée Generalized Fisher Score for Feature Selection, arXiv:1202.3725 (2012) .
[0064] A l'opération 503, une ou plusieurs règles de détection sont générées à partir des caractéristiques sélectionnées pour une série d'accès en mémoire.
[0065] Par exemple, on utilise l'apprentissage machine pour déterminer une fonction mathématique définissant la mise en correspondance entre l'espace des caractéristiques et la nature du comportement d'accès en mémoire (nominal ou anormal/suspect).
[0066] Dans certains modes de réalisation, on utilise l'apprentissage machine supervisé par exemple au moyen d'une technique connue sous le nom de machine à vecteurs de support (SVM, Support Vector Machine).
[0067] Un algorithme SVM est un classifieur supervisé qui suppose que deux classes, correspondant respectivement dans le cas présent à une activité nominale et anormale/suspecte, peuvent être séparées linéairement par une frontière, désignée ici sous le nom d'hyperplan, défini par wTx + b, où T est un ensemble d'apprentissage, x est un ensemble de vecteurs de caractéristiques n-dimensionnels et w et b sont les paramètres de l'hyperplan. L'algorithme SVM recherche, lors de l'apprentissage, les paramètres w et b d'un hyperplan optimal qui maximise la marge l/l|vv|| séparant les deux classes. Le paramètre b est un scalaire représentant le biais de l'hyperplan et w est un facteur de pondération qui définit une direction perpendiculaire à l'hyperplan.
[0068] Par exemple, dans un mode de réalisation, l'ensemble d'apprentissage T peut être représenté sous la forme T = {(xi>yi)>(x2>y2)> ·>(χτη>Υτη)} et chaque vecteur de caractéristiques de l'ensemble de vecteurs de caractéristiques x peut être
B17167- DD18635ST représenté sous la forme x = (alt a2,..., an), où chaque at est la valeur de caractéristique, avec aL G R et i = {1,2,... ,n}.
[0069] Chaque objet xj peut être attribué à une classe y7· G {—1,+1}, où -1 décrit le comportement nominal et + 1 décrit le comportement irrégulier.
[0070] Soit à présent un espace de produits scalaires S dans lequel sont insérés les objets x, x1,x2...xmES. Tout hyperplan dans l'espace S peut s'écrire sous la forme :
{x G S|w · x + b = 0], w G S, b G R [0071] Le produit scalaire w.x est défini par :
n
W · X = f Widi i=l (wl\ : I est appelé vecteur de pondération et b est le wJ [0072] Après la période d'apprentissage, pour ranger :
xk = (ak,l &k,n dans une classe, l'algorithme SVM ne considérera que le signe de f(x) :
r, (w · x + b > 0 ,if x G class 1 7 7 (w-x + b<0,ifxE class 2 [0073] Pour trouver les paramètres (w,b) de l'hyperplan optimal, il est par exemple nécessaire de résoudre le problème d'optimisation suivant :
r fn mln(Wib^-wTw + C ξι <1=1 subject to yi(wTXi + b) > 1 — ξι l7>0 où ξί est une variable d'écart, et C est un terme de pénalité correspondant à une mauvaise classification, avec 00. Quand la donnée d'entrée est bruitée, l'hyperplan optimal est par
B17167- DD18635ST exemple choisi d'une façon qui permette à certains échantillons d'apprentissage de violer la contrainte de marge yfwxi + 1 > 1), en introduisant la variable d'écart ξί.
[0074] Dans le cas où les classes en peuvent être séparées dans l'espace d'entrée, on peut utiliser une mise en correspondance vers un espace à un plus grand nombre de dimensions, éventuellement infini, par une fonction φ ( ) de mise en correspondance non linéaire. L'algorithme SVM est alors utilisé pour trouver un hyperplan de séparation linéaire avec une marge maximale dans cet espace, également connu sous le nom d'espace de caractéristiques transformées. Si Κ(χι,%y) = φ(χι).φ(χγ) , avec (.) exprimant le produit scalaire, alors seul K est utilisé pour l'apprentissage et la mise en correspondance n'est jamais explicitement utilisée. Ceci est appelé l'astuce du noyau. La fonction de décision d'hyper-plan est par exemple la suivante :
n f(x) = αιγιΚ(χι,χ) + b)
1=1 où cq est le paramètre de Lagrange correspondant au vecteur de support X;. Par exemple, le noyau est l'un des suivants :
- un noyau linéaire tel que :
K(x,xk~) = (x. xfc) + b
- un noyau polynomial tel que :
K(x,xk) = ((x.xk) + b)p où p est le degré du polynôme, et
- un noyau gaussien, également appelé fonction de base radiale, tel que :
K(x,xk) = exp(y||x — xfc||2) où γest un paramètre qui détermine 1'étendue du noyau.
[0075] Dans certains modes de réalisation, plutôt que de collecter des échantillons en provenance de tous les types possibles d'activité indésirable ou frauduleuse et
B17167- DD18635ST d'utiliser ces échantillons pour l'apprentissage du classifieur, on utilise par exemple un classifieur à une seule classe (OCC).
[0076] On utilise un classifieur OCC pour définir une frontière de classification autour de la classe positive (la classe nominale) tel qu'il accepte autant d'objets que possible à partir de la classe positive tout en minimisant les chances d'accepter des objets aberrants qui sont potentiellement anormaux.
[0077] On trouve un exemple d'OCC dans la famille des algorithmes SVM, connu sous le nom de SVM à une seule classe,
OC-SVM. L'apprentissage de ce classifieur se base sur l'apprentissage des paramètres d'hyperplan qui séparent la classe connue de l'origine, où l'on estime que se trouvent les objets aberrants. La séparation se produit par exemple dans un espace à un plus grand nombre de dimensions après la mise en correspondance des échantillons par une fonction de noyau Ko. La fonction de décision est par exemple positive pour la plupart des exemples utilisés pour l'apprentissage : /(x) = signCy'' αιΚ(χι, x) — b) où ai représente les paramètres de Lagrange associés au vecteur de support xi, x représente l'échantillon à classer et b représente le biais de l'hyperplan défini lors de l'apprentissage. Pour chaque nouvel échantillon, la valeur de f(x) est par exemple déterminée en évaluant de quel côté de l'hyperplan elle se trouve dans l'espace des caractéristiques .
[0078] Comme le représente encore la figure 5, dans certains modes de réalisation, à la suite de l'opération 503, on effectue une opération 504 dans laquelle on évalue le rapport coût/sécurité des règles de détection générées. En particu
B17167- DD18635ST lier, le coût dépendra du nombre de caractéristiques extraites et également du coût de mise en œuvre de la règle de détection. La sécurité peut par exemple être évaluée par analyse statistique du nombre de faux positifs et/ou du nombre de faux négatifs ou par calcul de classe de précision de la règle de détection. A partir de cette évaluation, on répète par exemple l'opération d'extraction de caractéristique et de sélection 502 après un réglage pour réduire le coût de mise en œuvre et/ou augmenter la sécurité. Dans certains cas, le processus est itératif, les opérations 502, 503 et 504 étant répétées tant qu'un coût maximal de mis en œuvre n'est pas dépassé et/ou jusqu'à l'obtention d'un niveau minimal de sécurité.
[0079] Un avantage des modes de réalisation décrits ici est que les accès anormaux en mémoire peuvent être détectés de manière simple et efficace tout en utilisant relativement peu de ressources de traitement.
[0080] Un avantage lié au fait de permettre la configuration, à partir des paramètres d'entrée, des données d'accès en mémoire rassemblées, des caractéristiques extraites et/ou des règles de détection appliquées, est que le mécanisme de détection peut être modifié pendant la durée de vie du nœud de calcul protégé, par exemple en vue de l'exécution de nouvelles applications logicielles par le nœud de calcul.
[0081] Divers modes de réalisation et variantes ont été décrits. L'homme de l'art comprendra que certaines caractéristiques de ces divers modes de réalisation et variantes pourraient être combinées, et d'autres variantes apparaîtront à l'homme de l'art. Par exemple, alors qu'on a décrit des exemples reposant sur l'algorithme SMV, il apparaîtra à l'homme de l'art que d'autres types de techniques d'apprentissage machine peuvent être utilisés pour définir les règles de détection.

Claims (15)

  1. REVENDICATIONS
    1. Procédé de détection d'accès anormaux en mémoire, ce procédé comprenant :
    surveiller, par un circuit de surveillance de trafic (202), les accès aux données d'une mémoire (104) pour rassembler des données d'accès en mémoire ;
    extraire, des données d'accès en mémoire, une pluralité de caractéristiques ; et détecter des accès anormaux à la mémoire à partir de la pluralité de caractéristiques extraites.
  2. 2. Procédé selon la revendication 1, dans lequel les accès anormaux en mémoire sont détectés en appliquant une règle de détection générée par apprentissage machine.
  3. 3. Procédé selon la revendication 2, dans lequel la règle de détection se présente sous la forme :
    Στη ykakK{x,xk) + b) k=l où k varie de 1 à m, m représentant le nombre de vecteurs de support appris lors de l'apprentissage, xk est le vecteur de support, yk est la classe attribuée du vecteur de support, ak est un multiplicateur de Lagrange, Ko est la fonction noyau utilisée pour calculer le produit scalaire entre la nouvelle observation x et le vecteur de support xk, et b est un biais.
  4. 4. Procédé selon la revendication 3, dans lequel le noyau KO est une fonction linéaire de la forme :
    K (x, xk) = (x.xk) + b
  5. 5. Procédé selon la revendication 3, dans lequel le noyau KO est un polynôme de la forme :
    K{x,xk) = ((x.xk) + b)P où p est le degré du polynôme.
  6. 6. Procédé selon la revendication 3, dans lequel le noyau KO est une gaussienne de la forme :
    B17167- DD18635ST
    K(.x,Xk) = exp(y||x — %J|2) où y est un paramètre qui détermine 1'étendue du noyau.
  7. 7. Procédé selon l'une quelconque des revendications 2 à 6, dans lequel des accès anormaux en mémoire sont détectés en appliquant une première règle de détection pendant un premier mode de fonctionnement d'un processeur (102) et en appliquant une seconde règle de détection pendant un second mode de fonctionnement du processeur (102) .
  8. 8. Procédé selon l'une quelconques des revendications 1 à 7, dans lequel la pluralité de caractéristiques extraites est sélectionnée à partir de paramètres d'entrée (FE_INPUTS).
  9. 9. Procédé de génération d'une règle de détection pour mettre en œuvre l'opération de détection d'accès anormaux en mémoire selon l'une quelconque des revendications 1 à 8, comprenant à rassembler les données d'accès en mémoire pendant une période d'apprentissage et à utiliser un apprentissage machine pour générer la règle de détection.
  10. 10. Procédé selon la revendication 9, dans lequel l'utilisation de l'apprentissage machine comprend l'utilisation d'un algorithme s'appuyant sur une machine à vecteurs de support (SVM) .
  11. 11. Procédé selon la revendication 9 ou 10, dans lequel la génération de la règle de détection comprend la détermination des paramètres w et b d'un hyperplan séparant deux classes correspondant à une activité nominale et anormale, l'hyperplan étant défini par wTx + b, dans lequel b est un scalaire représentant le biais de l'hyperplan, w est un facteur de pondération qui définit une direction perpendiculaire à l'hyperplan, T est un ensemble d'apprentissage et x est un ensemble de vecteurs de caractéristique n-dimensionnels.
  12. 12. Procédé selon la revendication 11, dans lequel les paramètres w et b sont déterminés en résolvant le problème
    B17167- DD18635ST d'optimisation suivant :
    r in min(wbif)-wTw + C ξι <1=1 subject to yi(wTXi + b) > 1 — l/>0 où ξί est une variable d'écart et C est un terme de pénalité correspondant à une mauvaise classification, avec C > 0.
  13. 13. Procédé selon l'une quelconque des revendications 9 à 12, dans lequel l'utilisation d'un apprentissage machine comprend l'utilisation d'une technique de classification à une seule classe.
  14. 14. Dispositif de détection d'accès anormaux en mémoire, ce dispositif comprenant :
    un circuit de surveillance du trafic (202) configuré pour surveiller les accès aux données d'une mémoire (104) pour rassembler des données d'accès en mémoire ; et un processeur (102) et/ou un autre circuit (306, 308) configuré pour extraire, des données d'accès en mémoire, une pluralité de caractéristiques et pour détecter des accès anormaux à la mémoire à partir de la pluralité de caractéristiques extraites.
  15. 15. Dispositif selon la revendication 14, dans lequel le processeur (102) et/ou l'autre circuit (306, 308) sont configurés pour détecter des accès anormaux en mémoire en appliquant une règle de détection générée par apprentissage machine.
FR1857948A 2018-09-05 2018-09-05 Surveillance d’acces en memoire Pending FR3085498A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1857948A FR3085498A1 (fr) 2018-09-05 2018-09-05 Surveillance d’acces en memoire

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1857948 2018-09-05
FR1857948A FR3085498A1 (fr) 2018-09-05 2018-09-05 Surveillance d’acces en memoire

Publications (1)

Publication Number Publication Date
FR3085498A1 true FR3085498A1 (fr) 2020-03-06

Family

ID=66218128

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1857948A Pending FR3085498A1 (fr) 2018-09-05 2018-09-05 Surveillance d’acces en memoire

Country Status (1)

Country Link
FR (1) FR3085498A1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160078347A1 (en) * 2014-09-11 2016-03-17 Qualcomm Incorporated Methods and Systems for Aggregated Multi-Application Behavioral Analysis of Mobile Device Behaviors
US20160328561A1 (en) * 2015-05-08 2016-11-10 Mcafee Inc. Hardened event counters for anomaly detection
US20170076116A1 (en) * 2015-09-11 2017-03-16 Freescale Semiconductor, Inc. Model-Based Runtime Detection of Insecure Behavior for System on Chip with Security Requirements

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160078347A1 (en) * 2014-09-11 2016-03-17 Qualcomm Incorporated Methods and Systems for Aggregated Multi-Application Behavioral Analysis of Mobile Device Behaviors
US20160328561A1 (en) * 2015-05-08 2016-11-10 Mcafee Inc. Hardened event counters for anomaly detection
US20170076116A1 (en) * 2015-09-11 2017-03-16 Freescale Semiconductor, Inc. Model-Based Runtime Detection of Insecure Behavior for System on Chip with Security Requirements

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
D'ADAM COATES ET AL.: "An analysis of single-layer networks in unsupervised feature learning", PROCEEDINGS OF THE FOURTEENTH INTERNATIONAL CONFÉRENCE ON ARTIFICIAL INTELLIGENCE AND STATISTICS, 2011
QUANQUAN GU ET AL.: "Gene-ralized Fisher Score for Feature Selection", ARXIV:1202.3725, 2012
T. MÜLLER ET AL.: "A systematic assessment of the security of full disk encryption", IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING, vol. 12, no. 5, pages 491 - 503, XP011668373, DOI: doi:10.1109/TDSC.2014.2369041
XUEGONG ZHANG ET AL.: "Recursive SVM feature selection and sample classification for mass-spectrometry and microarray data", BMC BIOINFORMATICS, vol. 7.1, 2006, pages 197

Similar Documents

Publication Publication Date Title
US11522873B2 (en) Detecting network attacks
KR20210141575A (ko) 로깅을 통한 민감 데이터 노출 탐지
CN113470695B (zh) 声音异常检测方法、装置、计算机设备及存储介质
KR20170115532A (ko) 개선된 멀웨어 보호를 위해 모바일 디바이스와의 페이크 사용자 상호작용들을 검출하기 위한 방법들 및 시스템들
FR2944903A1 (fr) Systeme et methode pour detecter des evenements audio anormaux
FR2994495A1 (fr) Procede et systeme pour detecter des evenements sonores dans un environnement donne
KR100859215B1 (ko) 지문법 및 실시간 증거 수집을 사용하여 콘텐츠를 보호하기위한 장치, 시스템 및 방법
WO2022078196A1 (fr) Détection de logiciels malveillants par analyse de données de télémesure distribuées
US20240143426A1 (en) System for early detection of operational failure in component-level functions within a computing environment
Carter et al. Fast, lightweight IoT anomaly detection using feature pruning and PCA
US20160300145A1 (en) System and method for identification of deviations from periodic behavior patterns in multimedia content
FR3026526A1 (fr) Procede et systeme de detection d&#39;evenements de nature connue
Salih et al. Digital Forensic Tools: A Literature Review
EP4055506B1 (fr) Detection d&#39;attaques a l&#39;aide de compteurs de performances materiels
US20200322363A1 (en) Network Data Timeline
FR3085498A1 (fr) Surveillance d’acces en memoire
EP2227755A1 (fr) Procede d&#39;analyse d&#39;un contenu multimedia, produit programme d&#39;ordinateur et dispositif d&#39;analyse correspondants
Rajeev et al. An insightful analysis of digital forensics effects on networks and multimedia applications
CN114297645B (zh) 在云备份系统中识别勒索家族的方法、装置和系统
JP2018109739A (ja) 音声フレーム処理用の装置及び方法
Amrith et al. An early malware threat detection model using Conditional Tabular Generative Adversarial Network
US20240113977A1 (en) Machine learning based system(s) for network traffic discovery and analysis
US20240119148A1 (en) System and method for memory-less anomaly detection using anomaly levels
US20240169690A1 (en) System for featureless image categorization and recognition using unsupervised learning
US20230315439A1 (en) System for enhanced component-level detection in software applications within a computing environment

Legal Events

Date Code Title Description
PLSC Publication of the preliminary search report

Effective date: 20200306

RX Complete rejection

Effective date: 20200616