FR3131672A1 - Procédé d’identification d’équipements présents dans un réseau domestique. - Google Patents
Procédé d’identification d’équipements présents dans un réseau domestique. Download PDFInfo
- Publication number
- FR3131672A1 FR3131672A1 FR2200032A FR2200032A FR3131672A1 FR 3131672 A1 FR3131672 A1 FR 3131672A1 FR 2200032 A FR2200032 A FR 2200032A FR 2200032 A FR2200032 A FR 2200032A FR 3131672 A1 FR3131672 A1 FR 3131672A1
- Authority
- FR
- France
- Prior art keywords
- equipment
- data
- network
- identification data
- digital
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000013179 statistical model Methods 0.000 claims abstract description 20
- 238000013528 artificial neural network Methods 0.000 claims abstract description 19
- 238000012545 processing Methods 0.000 claims abstract description 9
- 238000004891 communication Methods 0.000 claims abstract description 8
- 239000013598 vector Substances 0.000 claims description 32
- 230000000306 recurrent effect Effects 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 6
- 210000002569 neuron Anatomy 0.000 claims description 5
- 230000014509 gene expression Effects 0.000 claims description 3
- 230000002123 temporal effect Effects 0.000 claims description 3
- 239000003795 chemical substances by application Substances 0.000 claims description 2
- 238000004590 computer program Methods 0.000 claims description 2
- 230000006403 short-term memory Effects 0.000 claims description 2
- 238000010801 machine learning Methods 0.000 description 9
- 238000012549 training Methods 0.000 description 7
- 238000005070 sampling Methods 0.000 description 6
- 238000013459 approach Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000010845 search algorithm Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 206010000117 Abnormal behaviour Diseases 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
- G06N3/0442—Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/12—Detection or prevention of fraud
- H04W12/121—Wireless intrusion detection systems [WIDS]; Wireless intrusion prevention systems [WIPS]
- H04W12/122—Counter-measures against attacks; Protection against rogue devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/69—Identity-dependent
- H04W12/71—Hardware identity
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Computer Hardware Design (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Power Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Image Analysis (AREA)
Abstract
L’invention concerne un procédé d’identification d’un premier équipement présent dans un réseau de communication, ce procédé étant mis en œuvre par une unité de traitement et comprenant les étapes suivantes : - réception de données d’identification en provenance dudit premier équipement, - utilisation d’un modèle statistique à base de réseau de neurones pour calculer une empreinte numérique du premier équipement à partir des données d’identification, - détermination successive de distances entre l’empreinte numérique calculée et respectivement des empreintes numériques pré-enregistrées dans une base de référence ; ces empreintes numériques pré-enregistrées étant des empreintes numériques d’équipements connus, - identification du premier équipement comme étant un équipement connu lorsque la distance entre l’empreinte numérique du premier équipement et l’empreinte numérique pré-enregistrée dudit équipement connu est inférieure à un seuil prédéterminé. Figure pour l’abrégé : Fig. 2
Description
La présente invention se rapporte à un procédé d’identification d’un premier équipement présent dans un réseau de communication.
D’une façon générale, l'identification d'équipements dans un réseau domestique se base sur des solutions d'apprentissage automatique de type classification multi-classe. Ces solutions se basent toutes sur des environnements composés de vingt à trente équipements différents.
L'environnement d'un opérateur télécom est très différent. Des millions d'utilisateurs utilisent plusieurs milliers de modèles d'équipements. De plus parmi ces équipements certains sont très populaires et beaucoup plus présents que d’autres (plusieurs centaines de milliers de fois plus). Le fait d'avoir plusieurs milliers de classes et une distribution de modèles très déséquilibrée rend l'approche de classification multi-classe inappropriée pour des réseaux de plusieurs milliers d’équipements.
On connaît le document US20200382376A1 décrit un procédé de classification d’équipement en classant un équipement dans une première catégorie selon une première technique de classification pour une durée prédéterminée. Une deuxième technique de classification est appliquée si l’équipement n’a pas changé de catégorie durant la durée prédéterminée.
On connaît le document US10652116B2 décrit un procédé de classification d’équipements. Des informations variées sont utilisées pour permettre la classification.
La présente invention a pour but d’identifier un très grand nombre d'équipements.
Un autre but de l’invention est de concevoir un nouveau procédé d’identification apte à identifier aisément de nombreux nouveaux équipements.
L’invention a encore pour but un nouveau procédé d’identification apte à reconnaitre de façon fiable des équipements peu populaires.
On atteint au moins l’un des objectifs avec un procédé d’identification d’un premier équipement présent dans un réseau de communication, notamment un réseau domestique, ce procédé étant mis en œuvre par une unité de traitement et comprenant les étapes suivantes :
- réception de données d’identification en provenance dudit premier équipement,
- utilisation d’un modèle statistique à base de réseau de neurones pour calculer une empreinte numérique du premier équipement à partir des données d’identification,
- détermination successive de distances entre l’empreinte numérique calculée et respectivement des empreintes numériques pré-enregistrées dans une base de référence ; ces empreintes numériques pré-enregistrées étant des empreintes numériques d’équipements connus,
- identification du premier équipement comme étant un équipement connu lorsque la distance entre l’empreinte numérique du premier équipement et l’empreinte numérique pré-enregistrée dudit équipement connu est inférieure à un seuil prédéterminé.
Avec le procédé selon l’invention, on utilise une nouvelle approche d’empreinte numérique plutôt qu’une classification comme dans l’art antérieur. L’invention permet de reconnaitre notamment des équipements qui n'étaient pas connus lors de l’entrainement du modèle.
La distance de l’équipement à identifier peut avantageusement être calculée par rapport à toutes les empreintes de la base de référence, avec notamment un algorithme de type KNN (K plus proches voisins). Ceci permet de savoir effectivement quel équipement dans la base de référence est le plus similaire à l'équipement à identifier.
Le modèle statistique est issu de la technologie d’apprentissage automatique (« machine learning ») à base de réseau de neurones. Les données d’entrée sont utilisées pour prédire une empreint numérique. Une recherche est ensuite initiée dans la base de référence pour trouver une empreinte numérique pré-enregistrée qui se rapproche ou qui ressemble le plus à l’empreinte venant d’être prédit ou déterminé.
Avec l’invention, on utilise l’apprentissage automatique au lieu d’un simple algorithme de création de signature. L’utilisation d’apprentissage automatique est moins chronophage.
Identifier un équipement consiste à identifier notamment le système d’exploitation et le type d’équipement.
De manière préférentielle, les informations suivantes peuvent être identifiées pour chaque équipement :
- le type d'équipement, par exemple un ordinateur, une caméra, un téléviseur...
- le vendeur de l'équipement, par exemple « apple »,…
- la ligne de produit de l’équipement, par exemple « iphone »,…
- le modèle de l'équipement, par exemple un « iphone 13 pro max »,…
- le système d'exploitation utilisé par l'équipement, par exemple « iOS »,…
- la version du système d'exploitation utilisé par l'équipement, par exemple « 15.1.0 »,…
L’invention permet de détecter un très grand nombre de types d’équipements en utilisant l’apprentissage automatique pour générer une empreinte numérique et en la comparant à des empreintes numériques contenues dans une base de référence.
L’utilisation de l’apprentissage automatique et de la base de référence permet d’avoir un nombre limité d’empreintes numériques dans la base de référence. En effet, la comparaison n’est pas faite obligatoirement à l’identique mais on cherche une empreinte numérique qui se rapproche le plus. Donc il n’est pas nécessaire de répertorier avec exactitude toutes les empreintes de tous les équipements.
On peut ainsi avoir une base de référence non exhaustive.
Dans le procédé selon l’invention, si l’équipement n’est pas reconnu, un processus manuel ou automatique peut être mis en place pour récupérer un ensemble de données de l’équipement en cours d’identification. Cela peut se faire notamment au moyen d’une application communiquant avec l’équipement. L’empreinte numérique de cet équipement peut ensuite être enregistrée dans la base de référence.
Selon une caractéristique avantageuse de l’invention, les empreintes numériques pré-enregistrées peuvent être des vecteurs obtenus à partir de données d’identification des équipements connus.
En complément de ce qui précède, chaque vecteur peut être déterminé à partir :
- d’une part de données d’identification contenant des informations textuelles sur lesquelles est appliqué un traitement au moyen d’un sous-ensemble du réseau de neurones à base de neurones récurrents pour déterminer un premier sous-vecteur,
- d’une autre part de données d’identification contenant des informations catégorielles sur lesquelles est appliqué un encodage ordinal (« ordinal encoding » en anglais) pour déterminer un code unique par catégorie, puis un enrobage (« embedding » en anglais) pour associer chaque catégorie à un second sous-vecteur,
- les premier et second sous-vecteurs sont ensuite combinés au moyen d’au moins une couche entièrement connectée (« dense layers » en anglais) pour former ledit vecteur.
En particulier, chaque catégorie est transformée en un seul sous-vecteur.
Selon un mode de réalisation de l’invention, le sous-ensemble du réseau de neurones à base de neurones récurrents peut être un réseau récurent de type LSTM (« Long Short Term Memory ») ou GRU (« Gated Recurrent Unit »). D’autres types d’approches peuvent être envisagés, comme des couches à base d'attention, de type transformateurs (« transformers » en anglais).
Selon un mode de mise en œuvre de l’invention, pour un équipement donné, le modèle statistique peut comprendre une fonction de coût par triplet (« Triplet loss » en anglais) permettant de générer un vecteur plus proche des vecteurs d’équipements identiques audit équipement donné et plus éloigné des vecteurs d’équipements différents audit équipement donné.
Une telle mise en œuvre consiste à analyser non seulement les vraisemblances mais également les différences.
Selon un autre mode de mise en œuvre de l’invention, pour un équipement donné, le modèle statistique peut comprendre une fonction de coût par perte de contraste (« Contrastive loss » en anglais) permettant de générer un vecteur plus proche des vecteurs d’équipements identiques audit équipement donné et plus éloigné des vecteurs d’équipements différents audit équipement donné.
Selon l’invention, les empreintes numériques pré-enregistrées peuvent être prédéterminées par le réseau de neurones à partir des données suivantes des équipements connus :
- des identifiants du protocole DHCP comprenant le nom d’hôte (« Hostname »), les options, la classe du fournisseur (« vendor class »), la liste des options dans un paquet requête,
- les trois premiers octets de l’adresse MAC (OUI),
- des noms des services des annonces mDNS , par exemple des champs ptrs des annonces mDNS,
- des données WiFi,
- l’empreinte digitale (« Fingerprints ») TLS client et serveur, par exemple au format JA3,
- la liste des noms de domaines contactés,
- le nombre de noms de domaines différents contactés,
- la liste des ports réseau utilisés (TCP et UDP),
- la liste des ports réseau ouverts (TCP et UDP),
- des informations temporelles de communication réseau comprenant la fréquence de connexion au wifi et au serveur DHCP, et/ou la fréquence d’accès réseau par nom de domaine, et
- le type de connexion réseau : wifi ou ethernet.
En complément de ce qui précède, les données wifi peuvent comprendre :
- les capacités HT/VHT/HE,
- les trois premiers octets présents dans l’étiquette spécifique du fournisseur,
- le nombre d’antennes,
- la liste de MCS (« Modulation and Coding Scheme ») supportés,
- la bande passante maximum supportée,
- les capacités des bandes UNII (« Unlicensed National Information Infrastructure »),
- flux spatial : rx/tx maximum supporté,
- les standards supportés,
- les standards radio supportés.
Selon un mode de mise en œuvre avantageux de l’invention, les données d’identification comprennent au moins l’une des données suivantes :
- un agent utilisateur dans un protocole HTTP ou QUIC,
- des identifiants du protocole DHCP comprenant le nom d’hôte (« Hostname »), la classe du fournisseur (« vendor class »), la classe de l’utilisateur (« user class ») et l’information spécifique du fournisseur (« vendor specific information »),
- des noms des services des annonces mDNS, par exemple « _printer._tcp », et
- des données relatives au protocole UPnP comprenant : fabricant, nom familier, modèle, description, numéro de modèle.
Avec au moins l’une de ces données, il est possible d’identifier un équipement.
Selon un mode de réalisation préféré de l’invention, avant d’utiliser le modèle statistique, les données d’identification peuvent d’abord alimenter un système expert apte à identifier l’équipement ou à transmettre les données d’identification vers le modèle statistique si l’identification échoue ; le système expert comprenant un algorithme de reconnaissance d’équipement à partir de règles à base d’expression régulières.
Avec un tel mode de réalisation, la présente invention constitue une solution hybride composée d'un système expert et d'une solution d'apprentissage automatique. On réalise un premier test avec le système expert, si l’équipement est identifié, l’algorithme s’arrête, sinon les données d’identification sont envoyées vers le modèle statistique pour identification. Si le modèle statistique ne parvient pas à identifier l’équipement, on peut prévoir une intervention humaine, ou pas, pour élaborer une empreinte numérique de cet équipement et l’enregistrer dans la base de référence.
Le système expert est composé de règles à base d'expressions régulières pour reconnaitre certains schémas caractéristiques. Ces règles utilisent les données d’identification pour identifier un équipement.
Avantageusement, la base de référence peut comprendre des empreintes numériques obtenues à partir de données issues de collectes d’information et des empreintes obtenues à partir de données synthétisées à partir d’un générateur.
Les données collectées proviennent de récupérations d’informations d’équipements répertoriés ou sur des requêtes qui ont été faites. Autrement, les données issues de la collecte consistent en un échantillonnage des requêtes qui ont été faite. Cet échantillonnage est fait de manière à avoir une quantité suffisante d'exemples pour chaque équipement à reconnaitre. Il est important dans cet échantillonnage d'équilibrer le nombre d'échantillons pour chaque type d'équipement.
Pour les équipements qui sont peu présents, le générateur de données permet de générer un nombre suffisant d'exemples à ajouter dans la base de référence.
Le générateur utilisé pour la base de référence peut aussi être utilisé lors de la phase d'entrainement du modèle. Il est utilisé dans ce cas pour rééquilibrer la distribution des données. L'équilibre de la distribution des classes lors de l'entrainement d'un modèle est primordial pour ses bonnes performances ensuite.
Ainsi, la fiabilité de la prédiction du système dépend du nombre et du type d’informations qui lui sont fournies en entrée. Pour ce faire, on équilibre au maximum les données utilisées :
- en supprimant des données d’équipements les plus populaires, et
- en utilisant des données synthétiques pour les équipements plus rares.
La présente invention concerne également un produit programme d'ordinateur comprenant des instructions qui, lorsque le programme est exécuté par un ordinateur, conduisent celui-ci à mettre en œuvre le procédé décrit ci-dessus.
Il est également prévu un système de traitement de données comprenant un processeur adapté au procédé décrit ci-dessus.
D’autres avantages et caractéristiques de l’invention apparaîtront à l’examen de la description détaillée d’un mode de mise en œuvre nullement limitatif, et des dessins annexés, sur lesquels :
Les modes de réalisation qui seront décrits dans la suite ne sont nullement limitatifs ; on pourra notamment mettre en œuvre des variantes de l’invention ne comprenant qu’une sélection de caractéristiques décrites par la suite isolées des autres caractéristiques décrites, si cette sélection de caractéristiques est suffisante pour conférer un avantage technique ou pour différencier l’invention par rapport à l’état de la technique antérieur. Cette sélection comprend au moins une caractéristique de préférence fonctionnelle sans détails structurels, ou avec seulement une partie des détails structurels si cette partie uniquement est suffisante pour conférer un avantage technique ou pour différencier l’invention par rapport à l’état de la technique antérieur.
On va tout d’abord décrire, en référence à la , un réseau local domestique sans fil 100. Le centre du réseau est une passerelle domestique 1 distribuant une connexion internet aux différentes stations 2 connectées dans le domicile. La passerelle domestique 1 est placée dans le domicile, dans le salon par exemple. La passerelle domestique 1 est le point central de tous les flux : images, musique, vidéos etc. Chaque station 2 est reliée en WIFI ou par un câble Ethernet à la passerelle. La passerelle domestique 1 est connectée, d’un coté au réseau local 4, en anglais « Local Area Network » ou LAN du domicile et de l’autre côté, au réseau externe 5, en anglais « Wide Area Network » ou WAN. Le réseau local 4 désigne toute installation informatique interconnecté ou station 2 au sein du domicile de l’utilisateur comme par exemple, une télévision, une tablette, un téléphone portable ou encore une console de jeux. Un serveur distant 3, tel un serveur d’un opérateur télécom, est connecté au réseau local 4 via le réseau externe 5. La passerelle domestique 1 est par exemple un appareil dudit opérateur télécom.
La présente invention a pour objet d’identifier tout équipement se connectant aux appareils de l’opérateur télécom. Pour se faire, un algorithme selon l’invention est mis en œuvre dans le serveur distant 3.
Le contexte du réseau local domestique est à titre d’exemple. Le procédé décrit par la présente invention est applicable à d’autres types de réseaux de communication sans fil, par exemple à un réseau universitaire, aux réseaux d’entreprises, etc.
La est une vue globale d’un processus selon l’invention.
Un équipement tel un téléphone portable 6 se connecte au serveur 3. Ce dernier va mettre en œuvre le procédé selon l’invention pour identifier ce téléphone portable, c’est-à-dire identifier les éléments suivants :
- le type d'équipement, par exemple un ordinateur, une caméra, un téléviseur...
- le vendeur de l'équipement,
- la ligne de produit de l’équipement,
- le modèle de l'équipement,
- le système d'exploitation utilisé par l'équipement, et
- la version du système d'exploitation utilisé par l'équipement.
Le minimum pour identifier un équipement est par exemple de trouver son système d’exploitation et son type d’équipement.
Une fois l’équipement identifié, le résultat obtenu peut être :
- affiché sur un dispositif d’affichage soit pour le propriétaire de l'équipement, soit pour un service de support client afin d'aider à résoudre des problèmes,
- utilisé dans d'autres services tels que la qualité de service (adapter la configuration réseau à chaque équipement), la sécurité informatique (détecter qu'un équipement nécessite une mise à jour logicielle, isoler un équipement...), la sécurité physique (détecter un comportement anormal signe d'un possible cambriolage)...
Le résultat obtenu est donc une donnée qui peut être transmise vers un autre dispositif de traitement.
Le serveur 3 comporte des composants matériels et logiciels pour la mise en œuvre de l’invention. Mais ces composants peuvent être intégrés dans un seul appareil ou répartis sur plusieurs appareils proches ou distants.
Le serveur 3 comprend un système expert 7, un modèle statistique 8 à base de réseau de neurones, un algorithme de recherche 9, une base de référence 10 et des sorties 11 et 12.
Lorsque le téléphone 6 se connecte au réseau de l’opérateur télécom, des données d’identification de ce téléphone sont transmises vers le serveur 3.
Le système expert 7 applique ses règles.
Si le téléphone 6 est déjà connu du système expert, alors ce téléphone est identifié en 11.
Si le téléphone 6 se connecte pour la première fois, le système expert en déduit que ce téléphone n’est pas connu. Les données d’identification sont ensuite envoyées vers le modèle statistique 8 qui génère une empreinte numérique 13.
On utilise l’algorithme de recherche knn 9 pour rechercher dans la base de référence 10 une empreinte numérique pré-enregistrée qui serait proche de l’empreinte numérique 13. On teste une distance entre l’empreinte numérique 13 et chaque empreinte numérique pré-enregistrée. Lorsque cette distance est inférieure à un seuil prédéterminé, alors l’empreinte numérique 13 est considéré comme étant l’empreinte numérique pré-enregistrée permettant de passer en dessous du seuil. Dans ce cas, on confirme l’identification en 11. La référence 11 peut être un dispositif de sortie visuel, sonore, une écriture dans une base de donnée, ou autre. Par exemple, une information peut être envoyé vers l’équipement reconnu.
Lorsque le téléphone est identifié, des services peuvent être débloqués ou des informations échangées entre l’équipement reconnu et le serveur 3 ou tout autre appareil.
Si le téléphone n’est pas reconnu dans la base de référence, on place l’empreinte numérique 13 dans une base de prédictions 10bis. Une intervention humaine peut ensuite permettre d’identifier manuellement l’équipement et replacer sa signature dans la base de référence en l’associant au téléphone 6.
En effet, lorsqu’un équipement n'est pas reconnu, son empreinte numérique n'est mise dans la base de référence qu’après une identification manuelle de l’équipement. En attendant les données associées à cet équipement sont sauvegardées dans une seconde base de données dite base de prédictions 10bis comprenant la liste des prédictions déjà réalisées.
La présente invention utilise avantageusement la technique d’apprentissage automatique (« machine learning » en anglais) non pas pour prédire et identifier l’appareil, mais pour générer une empreinte numérique. Cela résulte en un gain de temps car on utilise une base de données pour recherche rapidement une empreinte numérique proche. Etant donné le nombre élevé d’appareils à identifier pour un opérateur donné, l’utilisation d’apprentissage automatique pour directement identifier l’appareil serait trop coûteux en temps de calcul.
Le modèle statistique peut être mis à jour ainsi que la base de référence en fonction des empreintes reçues du même appareil. Une empreinte d’un même appareil peut changer par exemple suite à des mises à jour de l’équipement.
Toutes les demandes d’identification sont par exemple sauvegardées dans la base de prédictions 10bis pour établir des données statistiques et améliorer la base de référence et le réseau de neurones.
Le réseau de neurones utilise les informations suivantes :
- des identifiants du protocole DHCP comprenant le nom d’hôte (« Hostname »), les options, la classe du fournisseur (« vendor class »), la liste des options dans un paquet requête,
- les trois premiers octets de l’adresse MAC (OUI),
- des noms des services des annonces mDNS,
- des données WiFi:
- les capacités HT/VHT/HE,
- les trois premiers octets présents dans l’étiquette spécifique du fournisseur,
- le nombre d’antennes,
- la liste de MCS (« Modulation and Coding Scheme ») supportés,
- la bande passante maximum supportée,
- les capacités des bandes UNII (« Unlicensed National Information Infrastructure »),
- flux spatial : rx/tx maximum supporté,
- les standards supportés,
- les standards radio supportés,
- l’empreinte digitale (« Fingerprints ») TLS client et serveur,
- la liste des noms de domaines contactés,
- le nombre de noms de domaines différents contactés,
- la liste des ports réseau utilisés (TCP et UDP),
- la liste des ports réseau ouverts (TCP et UDP),
- des informations temporelles de communication réseau comprenant la fréquence de connexion au wifi et au serveur DHCP, et/ou la fréquence d’accès réseau par nom de domaine, et
- le type de connexion réseau : wifi ou ethernet.
D’autres sources d’informations peuvent être ajoutées afin d’améliorer le modèle statistique.
Le réseau de neurones prend en entrée les informations listées ci-dessus, et les convertit en un vecteur. Les informations en entrée sont utilisées soit directement, soit encodées.
La est une vue schématique d’une architecture simplifiée d’un réseau de neurones selon l’invention.
Les informations textuelles 14 telles que le « hostname » sont utilisées telles quelles, et traitées par un sous-ensemble 15 du réseau de neurones à base de neurones “récurrents”, par exemple de type LSTM, ou GRU. D'autres approches permettant de traiter du texte, telles que « attention », peuvent être utilisées pour ce type de données. Un premier sous-vecteur est constitué. Le sous-ensemble 15 permet d'identifier des motifs (« patterns » en anglais) caractéristiques à certains équipements par exemple à partir de leur nom "réseau" (hostname dhcp, nom mdns, friendly name upnp). Par exemple, lors de l'apprentissage, le modèle apprendra que le texte "iphone"® est commun a la ligne de produit des iphone®. D'autre part il apprendra à ignorer des motifs qui sont courants dans les noms mais non significatifs pour l'identification de l'équipement. Par exemple dans un nom réseau comme "iphone-de-romain", le modèle aura appris que la partie "romain" n'est pas significative car présente dans plusieurs équipements différents.
Les informations catégorielles 16, par exemple le « fingerprint TLS », sont d’abord encodées par encodage ordinal 17 sous forme d’un nombre unique par catégorie. Ces catégories sont ensuite utilisées dans une couche d’enrobage “embeddings” 18 qui permet d’associer chaque catégorie a un second sous-vecteur qui sera appris lors de l’apprentissage du modèle statistique.
Le premier sous-vecteur et le second sous-vecteur alimentent plusieurs couches entièrement connectées 19 (« dense layers ») pour combiner des sous-vecteurs et former ledit vecteur 20.
Le réseau de neurones est entrainé avec comme objectif de générer des vecteurs proches pour des équipements identiques, et éloignés pour des équipements différents. Ceci peut être fait de différentes manières telles que par exemple en utilisant une fonction de coût par triplet (« Triplet loss » en anglais) ou une fonction de coût par perte de contraste (« Contrastive loss » ou « contrastive learning » en anglais).
Le coût par triplet indique au modèle quels sont les exemples identiques et lesquels sont différents. Cet apprentissage se fait par triplets d’exemples : deux exemples de la même classe et un d’une autre classe. Le modèle est alors explicitement entrainé pour séparer fortement les exemples différents et regrouper au maximum les exemples similaires.
Le « contrastive learning » ne nécessite pas d’exemples différents mais uniquement des exemples de la même classe. Le modèle est alors entrainé pour regrouper les exemples similaires. La séparation des exemples différents se fait de manière implicite.
La base de référence est composée de deux sources d'informations différentes :
- des données issues de la collecte d'information sur des requêtes qui ont été précédemment faites,
- de données synthétisées à partir d'un générateur.
Les données issues de la collecte consistent en un échantillonnage des requêtes qui ont été faites. Cet échantillonnage est fait de manière à avoir une quantité suffisante d'exemples pour chaque équipement à reconnaitre. Il est préférable dans cet échantillonnage d'équilibrer le nombre d'échantillons pour chaque type d'équipement.
Pour les équipements qui sont peu présents, le générateur de données permet de générer un nombre suffisant d'exemples à ajouter dans la base de référence.
Le générateur utilisé pour la base de référence peut aussi être utilisé lors de la phase d'entrainement du modèle. Il est utilisé dans ce cas pour rééquilibrer la distribution des données. L'équilibre de la distribution des classes lors de l'entrainement d'un modèle permet d’obtenir de bonnes performances.
D’une façon générale, la présente invention comprend deux étapes :
- une première étape consistant en un modèle statistique à base de réseau de neurones qui calcule une empreinte numérique de l'équipement à reconnaitre, et
- une seconde étape consistant à retrouver cette empreinte dans une base de données d'équipements connus. Cette recherche est faite en calculant la distance entre l'empreinte de l'équipement à rechercher et celle des équipements connus. Si un équipement connu est à une distance suffisamment faible de l'équipement à reconnaitre, alors on considère qu'il y a une correspondance.
Bien entendu, l’invention n’est pas limitée aux exemples qui viennent d’être décrits. De nombreuses modifications peuvent être apportées à ces exemples sans sortir du cadre de la présente invention telle que décrite.
Claims (13)
- Procédé d’identification d’un premier équipement présent dans un réseau de communication, ce procédé étant mis en œuvre par une unité de traitement et comprenant les étapes suivantes :
- réception de données d’identification en provenance dudit premier équipement,
- utilisation d’un modèle statistique à base de réseau de neurones pour calculer une empreinte numérique du premier équipement à partir des données d’identification,
- détermination successive de distances entre l’empreinte numérique calculée et respectivement des empreintes numériques pré-enregistrées dans une base de référence ; ces empreintes numériques pré-enregistrées étant des empreintes numériques d’équipements connus,
- identification du premier équipement comme étant un équipement connu lorsque la distance entre l’empreinte numérique du premier équipement et l’empreinte numérique pré-enregistrée dudit équipement connu est inférieure à un seuil prédéterminé. - Procédé selon la revendication 1, caractérisé en ce que les empreintes numériques pré-enregistrées sont des vecteurs obtenus à partir de données d’identification des équipements connus.
- Procédé selon la revendication 2, caractérisé en ce que chaque vecteur est déterminé à partir :
- d’une part de données d’identification contenant des informations textuelles sur lesquelles est appliqué un traitement au moyen d’un sous-ensemble du réseau de neurones à base de neurones récurrents pour déterminer un premier sous-vecteur,
- d’une autre part de données d’identification contenant des informations catégorielles sur lesquelles est appliqué un encodage ordinal (« ordinal encoding ») pour déterminer un code unique par catégorie, puis un enrobage (« embedding ») pour associer chaque catégorie à un second sous-vecteur,
- les premier et second sous-vecteurs sont ensuite combinés au moyen d’au moins une couche entièrement connectée (« dense layers ») pour former ledit vecteur. - Procédé selon la revendication 3, caractérisé en ce que le sous-ensemble du réseau de neurones à base de neurones récurrents est un réseau récurent de type LSTM (« Long Short Term Memory ») ou GRU (« Gated Recurrent Unit »).
- Procédé selon la revendication 3 ou 4, caractérisé en ce que, pour un équipement donné, le modèle statistique comprend une fonction de coût par triplet (« Triplet loss » en anglais) permettant de générer un vecteur plus proche des vecteurs d’équipements identiques audit équipement donné et plus éloigné des vecteurs d’équipements différents audit équipement donné.
- Procédé selon la revendication 3 ou 4, caractérisé en ce que, pour un équipement donné, le modèle statistique comprend une fonction de coût par perte de contraste (« Contrastive loss » en anglais) permettant de générer un vecteur plus proche des vecteurs d’équipements identiques audit équipement donné et plus éloigné des vecteurs d’équipements différents audit équipement donné.
- Procédé selon l’une quelconque des revendications précédentes, caractérisé en ce que les empreintes numériques pré-enregistrées sont prédéterminées par le réseau de neurones à partir des données suivantes des équipements connus :
- des identifiants du protocole DHCP comprenant le nom d’hôte (« Hostname »), les options, la classe du fournisseur (« vendor class »), la liste des options dans un paquet requête,
- les trois premiers octets de l’adresse MAC (OUI),
- des noms des services des annonces mDNS,
- des données WiFi,
- l’empreinte digitale (« Fingerprints ») TLS client et serveur,
- la liste des noms de domaines contactés,
- le nombre de noms de domaines différents contactés,
- la liste des ports réseau utilisés (TCP et UDP),
- la liste des ports réseau ouverts (TCP et UDP),
- des informations temporelles de communication réseau comprenant la fréquence de connexion au wifi et au serveur DHCP, et/ou la fréquence d’accès réseau par nom de domaine, et
- le type de connexion réseau : wifi ou ethernet. - Procédé selon la revendication 7, caractérisé en ce que les données wifi comprennent :
- les capacités HT/VHT/HE,
- les trois premiers octets présents dans l’étiquette spécifique du fournisseur,
- le nombre d’antennes,
- la liste de MCS (« Modulation and Coding Scheme ») supportés,
- la bande passante maximum supportée,
- les capacités des bandes UNII (« Unlicensed National Information Infrastructure »),
- flux spatial : rx/tx maximum supporté,
- les standards supportés,
- les standards radio supportés. - Procédé selon l’une quelconque des revendications précédentes, caractérisé en ce que les données d’identification comprennent au moins l’une des données suivantes :
- un agent utilisateur dans un protocole HTTP ou QUIC,
- des identifiants du protocole DHCP comprenant le nom d’hôte (« Hostname »), la classe du fournisseur (« vendor class »), la classe de l’utilisateur (« user class ») et l’information spécifique du fournisseur (« vendor specific information »),
- des noms des services des annonces mDNS, et
- des données relatives au protocole UPnP comprenant : fabricant, nom familier, modèle, description, numéro de modèle. - Procédé selon l’une quelconque des revendications précédentes, caractérisé en ce qu’avant d’utiliser le modèle statistique, les données d’identification alimentent d’abord un système expert apte à identifier l’équipement ou à transmettre les données d’identification vers le modèle statistique si l’identification échoue ; le système expert comprenant un algorithme de reconnaissance d’équipement à partir de règles à base d’expression régulières.
- Procédé selon l’une quelconque des revendications précédentes, caractérisé en ce que la base de référence comprend des empreintes numériques obtenues à partir de données issues de collectes d’information et des empreintes numériques obtenues à partir de données synthétisées à partir d’un générateur.
- Produit programme d'ordinateur comprenant des instructions qui, lorsque le programme est exécuté par un ordinateur, conduisent celui-ci à mettre en œuvre le procédé selon l’une quelconque des revendications précédentes.
- Système de traitement de données comprenant un processeur adapté au procédé selon l’une quelconque des revendications 1 à 11.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR2200032A FR3131672A1 (fr) | 2022-01-04 | 2022-01-04 | Procédé d’identification d’équipements présents dans un réseau domestique. |
PCT/EP2023/050129 WO2023131627A1 (fr) | 2022-01-04 | 2023-01-04 | Procédé d'identification d'équipements présents dans un réseau domestique |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR2200032 | 2022-01-04 | ||
FR2200032A FR3131672A1 (fr) | 2022-01-04 | 2022-01-04 | Procédé d’identification d’équipements présents dans un réseau domestique. |
Publications (1)
Publication Number | Publication Date |
---|---|
FR3131672A1 true FR3131672A1 (fr) | 2023-07-07 |
Family
ID=81346334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR2200032A Pending FR3131672A1 (fr) | 2022-01-04 | 2022-01-04 | Procédé d’identification d’équipements présents dans un réseau domestique. |
Country Status (2)
Country | Link |
---|---|
FR (1) | FR3131672A1 (fr) |
WO (1) | WO2023131627A1 (fr) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10652116B2 (en) | 2016-12-06 | 2020-05-12 | Forescout Technologies, Inc. | Device classification |
WO2020206620A1 (fr) * | 2019-04-09 | 2020-10-15 | Orange | Procédés et appareil pour discriminer des dispositifs d'internet des objets sans fil authentiques |
US20200382376A1 (en) | 2019-05-29 | 2020-12-03 | Cisco Technology, Inc. | Progressive refinement of device classifications using colored device and policy trees |
US20210326644A1 (en) * | 2020-04-17 | 2021-10-21 | Applied Engineering Concepts, Inc. | Physical Layer Authentication of Electronic Communication Networks |
CN113762968A (zh) * | 2021-04-23 | 2021-12-07 | 腾讯科技(深圳)有限公司 | 一种交易设备的认证方法、相关装置、设备以及存储介质 |
-
2022
- 2022-01-04 FR FR2200032A patent/FR3131672A1/fr active Pending
-
2023
- 2023-01-04 WO PCT/EP2023/050129 patent/WO2023131627A1/fr active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10652116B2 (en) | 2016-12-06 | 2020-05-12 | Forescout Technologies, Inc. | Device classification |
WO2020206620A1 (fr) * | 2019-04-09 | 2020-10-15 | Orange | Procédés et appareil pour discriminer des dispositifs d'internet des objets sans fil authentiques |
US20200382376A1 (en) | 2019-05-29 | 2020-12-03 | Cisco Technology, Inc. | Progressive refinement of device classifications using colored device and policy trees |
US20210326644A1 (en) * | 2020-04-17 | 2021-10-21 | Applied Engineering Concepts, Inc. | Physical Layer Authentication of Electronic Communication Networks |
CN113762968A (zh) * | 2021-04-23 | 2021-12-07 | 腾讯科技(深圳)有限公司 | 一种交易设备的认证方法、相关装置、设备以及存储介质 |
Non-Patent Citations (1)
Title |
---|
BRUHADESHWAR BEZAWADA ET AL: "IoTSense: Behavioral Fingerprinting of IoT Devices", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 11 April 2018 (2018-04-11), XP080869645 * |
Also Published As
Publication number | Publication date |
---|---|
WO2023131627A1 (fr) | 2023-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9628208B2 (en) | System, method and program product for customizing presentation of television content to a specific viewer and location | |
US10977565B2 (en) | Bridging heterogeneous domains with parallel transport and sparse coding for machine learning models | |
Ammar et al. | Network-protocol-based iot device identification | |
FR2879389A1 (fr) | Procede et mecanisme pour identifier un commutateur non gere dans un reseau | |
FR3079329A1 (fr) | Procedes d'apprentissage de parametres d'un reseau de neurones a convolution, et de classification d'une donnee d'entree | |
US20190197011A1 (en) | Network-based machine learning model discovery and benchmarking | |
US20210325201A1 (en) | Methods and systems for managing communication sessions | |
EP2537286B1 (fr) | Procédé d'authentification biométrique, système d'authentification et programme correspondant | |
WO2010006914A1 (fr) | Procédé d'authentification d'un utilisateur d'un service sur terminal mobile | |
FR3131672A1 (fr) | Procédé d’identification d’équipements présents dans un réseau domestique. | |
CN106375378B (zh) | 一种基于局域网客户端服务器结构的应用部署方法及系统 | |
US10715865B2 (en) | Method and device for identifying and verifying the illegitimate use of residential set-top boxes | |
CN109032683B (zh) | 配置数据处理方法及装置 | |
EP3714588A1 (fr) | Procede de gestion a distance d'un dispositif connecte a une passerelle residentielle | |
EP3672209B1 (fr) | Procédé d'identification de noeud de communication | |
EP1554687B1 (fr) | SystEme associatif flou de description d objets multimEdia | |
FR2914089A1 (fr) | Appareil electronique communicant, systemes et procedes utilisant un tel appareil. | |
CN107248990A (zh) | 一种远程环境音的智能共享方法及其系统 | |
EP2145499B1 (fr) | Procédé de fourniture de services personnalisés à un terminal par un réseau visité | |
WO2022112494A1 (fr) | Procédé et installation pour contrôler et/ou configurer des caméras ip installées en réseau | |
FR3135341A1 (fr) | Procédé et installation pour un traitement de données basé sur de l’intelligence artificielle | |
JUNKLEWITZ et al. | Clustering and Unsupervised Classification in Forensics | |
FR2866510A1 (fr) | Procede et systeme d'identification et de configuration d'appareils dans un reseau de communications sans fil | |
CN115510041A (zh) | 一种基于Xgboost集成学习的物联终端类型识别方法 | |
KR20240127101A (ko) | 내 얼굴 애니메이션 캐릭터 애니메이션 자동화 기술 페이스 마케팅 시스템 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20230707 |
|
PLFP | Fee payment |
Year of fee payment: 3 |