ES3058708T3 - Systems and methods for device recognition - Google Patents

Systems and methods for device recognition

Info

Publication number
ES3058708T3
ES3058708T3 ES18788907T ES18788907T ES3058708T3 ES 3058708 T3 ES3058708 T3 ES 3058708T3 ES 18788907 T ES18788907 T ES 18788907T ES 18788907 T ES18788907 T ES 18788907T ES 3058708 T3 ES3058708 T3 ES 3058708T3
Authority
ES
Spain
Prior art keywords
mac address
devices
bits
data
cluster
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES18788907T
Other languages
English (en)
Inventor
Carlo Medas
Angelis Marco De
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.)
Fing Ltd
Original Assignee
Fing Ltd
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 Fing Ltd filed Critical Fing Ltd
Application granted granted Critical
Publication of ES3058708T3 publication Critical patent/ES3058708T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/06Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
    • H04W4/08User group management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Multimedia (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Las realizaciones de la presente invención proporcionan técnicas, sistemas y métodos para el reconocimiento colectivo de dispositivos para recopilar información de dispositivos y datos de identificación de un número limitado de dispositivos de red y luego aprovechar la información recopilada con técnicas de aprendizaje automático para expandir el conjunto inicial de manera que la predicción de atributos del dispositivo como el tipo de dispositivo, la marca del dispositivo, la familia y el modelo se puedan aplicar en miles de millones de dispositivos. (Traducción automática con Google Translate, sin valor legal)

Description

[0001] DESCRIPCIÓN
[0002] Sistemas y métodos de reconocimiento de dispositivos
[0003] Referencia cruzada a solicitudes relacionadas
[0004] Esta solicitud PCT reivindica la prioridad y el beneficio de la solicitud de patente provisional estadounidense n.º 62/564.737 presentada el 28 de septiembre de 2017.
[0005] Antecedentes
[0006] A medida que los dispositivos en red se generalizan en las empresas, resulta cada vez más difícil gestionar e identificar todos los dispositivos de una red. Por ejemplo, no solo los dispositivos de telecomunicaciones se conectan a las redes, sino también otros dispositivos electrónicos de consumo tienen conectividad de red, como artículos personales (podómetros, relojes, etc.), dispositivos médicos, electrodomésticos y vehículos. Además, cada vez es más difícil determinar la presencia de dispositivos en la red y, por tanto, controlar el almacenamiento de datos sensibles en todos los dispositivos de la red. Además, puede determinarse información valiosa a partir de la escasa información sobre dispositivos obtenida mediante la mera detección de dispositivos en la red, que puede utilizarse en diversas aplicaciones de Internet de las Cosas (IoT), comercio minorista, seguros, robo y fraude de dispositivos, etc. En consecuencia, existe la necesidad de sistemas y métodos de reconocimiento de dispositivos dentro de una red con el fin de supervisar, gestionar y asegurar los dispositivos dentro de la red.
[0007] MIETTINEN MARKUS ET AL: "IoT Sentinel Demo: Automated Device-Type Identification for Security Enforcement in IoT", PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS, IEEE COMPUTER SOCIETY, EE.UU., 5 de junio de 2017 (05-06-2017), páginas 2511-2514, XP033123186, divulga información de antecedentes.
[0008] Yair Meidan ET AL: Unauthorized IoT Devices Using Machine Learning Techniques", 14 de septiembre de 2017 (14-09-2017), XP055535199, divulga información de antecedentes. El documento EP3223485A1 divulga información de antecedentes.
[0009] Aspectos de la invención se exponen en las reivindicaciones independientes adjuntas.
[0010] Breve descripción de los dibujos
[0011] Varias realizaciones de acuerdo con la presente divulgación se describirán con referencia a los dibujos, en los que: la figura 1 ilustra un diagrama de bloques de un sistema de ejemplo para recopilar información de dispositivos en una red para predecir otros dispositivos en la red, de acuerdo con realizaciones de la presente invención;
[0012] la figura 2 ilustra un ejemplo de cómo los dispositivos pueden ser identificados de forma única en una red, de acuerdo con las realizaciones de la presente invención;
[0013] la figura 3 ilustra un ejemplo de diagrama de flujo general de un método de recopilación de información del dispositivo, de acuerdo con una realización de la presente invención;
[0014] la figura 4 ilustra un diagrama de flujo de ejemplo de un método de agregación de información de dispositivo recopilada, de acuerdo con una realización de la presente invención;
[0015] la figura 5 ilustra un diagrama de flujo de ejemplo de un método de análisis de clúster de información de dispositivo, de acuerdo con una realización de la presente invención;
[0016] la figura 6 ilustra un diagrama de bloques de alto nivel de un sistema informático, de acuerdo con una realización de la presente invención.
[0017] Descripción detallada
[0018] En la siguiente descripción, se describirán diversas realizaciones. A efectos explicativos, se exponen configuraciones y detalles específicos con el fin de proporcionar una comprensión completa de las realizaciones. Sin embargo, será también evidente para un experto en la materia que las realizaciones se pueden poner en práctica sin los detalles específicos. Además, pueden omitirse o simplificarse características bien conocidas para no oscurecer la realización que se describe.
[0019] Las realizaciones de la presente invención proporcionan técnicas, incluyendo sistemas y métodos, para recopilar información de dispositivo para identificar y reconocer dispositivos en una red. Según diversas realizaciones, un sistema de reconocimiento de dispositivos puede recopilar datos de dispositivos (por ejemplo, información de identificación) de un subconjunto de dispositivos de una red y utilizar técnicas de aprendizaje automático para realizar un análisis predictivo de agrupación de otros dispositivos de la red. En algunas realizaciones, la recopilación de información de dispositivos en una red puede llevarse a cabo mediantecrowdsourcingde la información del dispositivo para que el sistema de reconocimiento de dispositivos aprenda iterativamente, reconozca y prediga los dispositivos existentes y nuevos en la red. Como tal, las realizaciones de la presente solicitud proporcionan métodos y técnicas mejoradas de recopilación de información de dispositivos y datos de identificación de un número limitado de dispositivos de red para, a continuación, aprovechar la información recopilada con técnicas de aprendizaje automático con el fin de predecir los atributos de dispositivo del dispositivo existente, tal como el tipo de dispositivo, la marca del dispositivo, la familia, etc. En algunas realizaciones, un modelo predictivo puede ser generado de tal manera que el modelo predictivo puede utilizar la información recopilada de un número limitado de dispositivos en una red para predecir los otros dispositivos en la red.
[0021] La detección de dispositivos, según diversas realizaciones, incluye varias técnicas para identificar dispositivos que acceden a contenidos en línea en una red. Detectar e identificar dispositivos dentro de una red o dentro de un radio geográfico ofrece muchas ventajas y beneficios. Las realizaciones de la presente invención incluyen técnicas mejoradas para proporcionar contenidos accesibles a los usuarios a través de una pluralidad de dispositivos, tipos de dispositivos, sistemas operativos, navegadores, etc. La detección de dispositivos, según diversas realizaciones de la presente solicitud, sirve para resolver problemas técnicos que los usuarios encuentran al intentar acceder a contenidos en línea utilizando diferentes dispositivos (por ejemplo, ver un sitio web desde un ordenador portátil en comparación con ver el sitio web desde un teléfono móvil). Dependiendo del tipo de dispositivo utilizado para acceder al contenido, es posible que el formato o la disposición del contenido no sean adecuados para el dispositivo concreto, o que el sitio web no sea compatible con el navegador o el dispositivo, por ejemplo.
[0023] Las realizaciones de la presente invención también incluyen técnicas mejoradas para proporcionar contenidos específicos a los usuarios. Por ejemplo, los datos sobre los dispositivos que utilizan los usuarios para acceder a los contenidos en línea de una empresa pueden ser valiosos para la empresa a la hora de determinar cómo comercializar y/o anunciar sus productos, cómo mejorar sus productos y cómo prestar servicios a sus usuarios. La identificación de los dispositivos utilizados para acceder a diversos tipos de datos puede utilizarse para extrapolar y revelar otras características de los propios usuarios, tal como datos demográficos. Los datos de usuario extrapolados a partir de los datos de identificación del dispositivo pueden utilizarse además para predecir otros tipos de contenidos que puedan interesar a determinados grupos de usuarios. Por ejemplo, el tipo de dispositivo identificado puede correlacionarse con usuarios de un grupo socioeconómico concreto y, por tanto, los resultados de publicidad y búsqueda pueden ajustarse en función de lo que estadísticamente tiene más probabilidades de ser relevante para ese grupo socioeconómico concreto. Estas predicciones de usuario pueden ser utilizadas por diversos algoritmos de aprendizaje automático para determinar contenidos relevantes y específicos para usuarios concretos, basándose en los datos de identificación de los dispositivos de los usuarios concretos.
[0025] Las realizaciones de la presente invención también incluyen técnicas mejoradas de detección e identificación de dispositivos en una red. Los datos de identificación de dispositivos de usuarios específicos en una red pueden cruzarse con una base de datos de dispositivos. En función de la base de datos del dispositivo, la detección de dispositivos puede utilizarse para determinar las especificaciones de los dispositivos de visita para diversas aplicaciones de varios proveedores de productos y servicios, así como de sus usuarios. De este modo, el robo del dispositivo de un usuario también puede localizarse e identificarse fácilmente cuando se detecta en otra red en otro lugar. En otras realizaciones, los datos de identificación del dispositivo se pueden utilizar para identificar a los usuarios con el fin de notificarles la retirada de un producto, determinar el seguro adecuado para ese dispositivo en particular y/o proporcionar otros servicios de dispositivos relevantes a los usuarios para los dispositivos identificados.
[0027] Las técnicas existentes de detección de dispositivos presentan varios problemas que las realizaciones de la presente invención resuelven. Por ejemplo, las técnicas existentes utilizan el estándar del Protocolo de Transferencia de Hipertexto (HTTP), que define las cadenas de agente de usuario como la forma predeterminada de proporcionar información sobre un dispositivo que envía una solicitud a un servidor web en una red. Sin embargo, el estándar HTTP no define cómo se crean las cadenas de agente de usuario, lo que da lugar a palabras clave incoherentes en las cadenas de agente de usuario entre navegadores y dispositivos. Las cadenas de agente de usuario incoherentes pueden utilizarse para enmascarar información de identificación real sobre el dispositivo, por lo que el uso del protocolo HTTP estándar no siempre da como resultado una identificación precisa de los dispositivos. Las realizaciones de la presente invención resuelven el problema técnico de la identificación inexacta de dispositivos mediante el uso de un identificador único asignado (por ejemplo, la dirección MAC) en lugar de las cadenas de agente de usuario estándar HTTP. En consecuencia, la información de identificación del dispositivo puede obtenerse con mayor rapidez y precisión, lo que da lugar a mejores datos para el análisis de predicciones y otras aplicaciones para los usuarios basadas en los datos del dispositivo.
[0029] Como ejemplos, una o más realizaciones de la presente invención incluyen un método como se menciona en la reivindicación adjunta 6.
[0031] Como otros ejemplos, una o más realizaciones de la presente invención incluyen un dispositivo como se menciona en la reivindicación adjunta 1.
[0033] La figura 1 ilustra un ejemplo de sistema 100 para recopilar información de dispositivos en una red para predecir otros dispositivos en la red, de acuerdo con realizaciones de la presente invención. El sistema 100 puede incluir un sistema de reconocimiento de dispositivos 102 que está conectado a una red 120, tal como Internet. La red 10 puede ser cualquier red a la que puedan conectarse dispositivos, sistemas, servidores, ordenadores, etc., para comunicarse entre sí. Múltiples dispositivos, tal como el Dispositivo A 130A, el Dispositivo B 130B y el Dispositivo C 130C, pueden estar conectados a Internet 104. Cada dispositivo 130A, 130B, y 130C puede tener un correspondiente procesador 132A, 132B, 132C y una memoria 134A, 134B, 134C, en la que se puede almacenar la información de identificación de cada dispositivo correspondiente.
[0035] Según diversas realizaciones de la invención, el sistema de reconocimiento de dispositivos 102 puede interactuar con la red 120 a través de una interfaz 104. El sistema de reconocimiento de dispositivos 102 puede incluir un procesador 110 y una memoria con instrucciones ejecutables que realizan funciones específicas. El sistema de reconocimiento de dispositivos incluye un módulo de recopilación de datos 106 que está configurado con código ejecutable para llevar a cabo en primer lugar una Fase de Recopilación de Datos. En la Fase de Recopilación de Datos, el módulo de recopilación de datos 106 del sistema de reconocimiento de dispositivos 102 puede escanear la red 120 para recoger datos de un número limitado de dispositivos de la red 120. El sistema de reconocimiento de dispositivos 102 incluye un módulo de datos de identificación 108 que extrapola información de identificación de dispositivos a partir de los datos sin procesar que se recogen del módulo de recopilación de datos 106. Por ejemplo, la información de identificación del dispositivo, tal como una dirección de control de acceso al medio (MAC), puede ser extrapolada por el módulo de datos de identificación 108. Todos los datos sin procesar recopilados pueden almacenarse en una base de datos de datos recopilados 118, y los datos de identificación de dispositivo (por ejemplo, la dirección MAC) pueden almacenarse en una base de datos de datos de identificación de dispositivo 116.
[0037] Según diversas realizaciones de la invención, el sistema de reconocimiento de dispositivos 102 realiza entonces un Análisis de Aprendizaje Supervisado y Agrupación MAC sobre la información de dispositivo. Esto es realizado por un Módulo de Análisis de clúster 112 que puede acceder a la base de datos de datos de identificador de dispositivo 116 y a los datos recopilados 118, para determinar clústeres específicos de identificadores de dispositivos, que pueden ser almacenados en datos de clúster 114. En algunas realizaciones, el sistema de reconocimiento de dispositivos 102, u otra entidad de terceros, también puede tener una base de datos de información de usuario, que puede cruzarse con la base de datos de datos de identificador de dispositivo 116, datos de clúster 114 o datos recopilados sin procesar 118, para realizar diversos análisis estadísticos sobre la demografía de los usuarios para determinar las correlaciones de los usuarios con la información de los dispositivos. Los análisis pueden utilizarse para crear modelos predictivos sobre el comportamiento de los usuarios, la identificación de dispositivos en diversas redes, contenidos relevantes para los usuarios, servicios de dispositivos dirigidos a los usuarios, etc.
[0039] La figura 2 ilustra un ejemplo de sistema 200 para un ejemplo de identificador de dispositivo, concretamente una dirección MAC. La dirección MAC de un dispositivo es un identificador único asignado a interfaces de red para comunicaciones en la capa de enlace de datos de un segmento de red. Las direcciones MAC pueden utilizarse como dirección de red para la mayoría de las tecnologías de red IEEE 802, incluidas Ethernet y Wi-Fi. Las direcciones MAC suelen ser asignadas por el fabricante de un controlador de interfaz de red (NIC) y pueden almacenarse en el hardware. Por ejemplo, las direcciones MAC pueden almacenarse en la memoria de solo lectura de una tarjeta NIC o en algún otro mecanismo de firmware. Las direcciones MAC que son asignadas por el fabricante, normalmente codifican el número de identificación registrado por el fabricante, por ejemplo, una dirección grabada (BIA), una dirección de hardware Ethernet (EHA), dirección de hardware o dirección física. A diferencia de una dirección programada, donde un dispositivo anfitrión emite comandos al NIC para utilizar una dirección arbitraria, la dirección MAC se asigna de forma exclusiva al dispositivo de hardware, ya que las direcciones MAC están grabadas permanentemente en el hardware por el fabricante de hardware.
[0041] Un nodo de red puede tener múltiples NIC y cada NIC debe tener una dirección MAC única. Los equipos de red sofisticados, tal como un conmutador multicapa o un router, pueden requerir una o varias direcciones MAC asignadas permanentemente. Las direcciones MAC se forman según las reglas de uno de los tres espacios de nombres de numeración gestionados por el Instituto de Ingenieros Eléctricos y Electrónicos (IEEE): MAC-48, EUI-48 y EUI-64. Una dirección MAC es un identificador único global asignado a los dispositivos de red, por lo que a menudo se denomina dirección física o de hardware. Las direcciones MAC tienen una longitud de 6 bytes (48 bits) y se escriben en formato MM:MM:MM:SS:SS:SS. Un byte tiene ocho bits, y en la figura 2, cada byte se denomina octeto. Los primeros 3 bytes, 202, 204 y 206, son un número de identificación (ID) del fabricante, que es asignado por una entidad de estándares de Internet. Los segundos 3 bytes, 208, 210 y 212, son un número de serie asignado por el fabricante.
[0043] Los tres primeros octetos (en orden de transmisión), 202, 204 y 206, identifican a la organización que ha emitido el identificador y se conocen como Identificador Único de la Organización (OUI). El resto de las direcciones, 208, 210 y 212, son asignadas por la organización correspondiente (tres octetos para MAC-48 y EUI-48 o cinco para EUI-64), utilizando diversas combinaciones únicas. Según realizaciones de la presente invención, el sistema de reconocimiento de dispositivos implementa un algoritmo que analiza el resto de la dirección (los tres últimos octetos: 208, 210, 212) entrenando conjuntos supervisados de aprendizaje automático para crear un modelo de predicción/clasificación. Los conjuntos de aprendizaje automático supervisado incluyen múltiples árboles de decisión que permiten al modelo de predicción/clasificación predecir propiedades específicas de los dispositivos con un nivel de detalle mucho mayor, como el tipo, la marca, la familia y el modelo, con un conjunto mucho menor de datos de dispositivos procedentes de un número limitado de dispositivos de la red.
[0045] La figura 3 ilustra un ejemplo de diagrama de flujo general de un método 300 de recopilación de información del dispositivo, de acuerdo con una realización de la presente invención. De acuerdo con varias realizaciones de la presente invención, la recopilación o descubrimiento de datos alimenta datos a un Lago de Datos de Red (NDL), que puede ser utilizado por el sistema de reconocimiento de dispositivos o entidad de terceros para predecir el comportamiento del usuario y los dispositivos de usuario en la red. La recopilación de datos en la etapa de descubrimiento 300 puede ser ejecutada por un software que funcione en un dispositivo como un ordenador personal (PC) y una aplicación móvil disponible en Windows, OS X, Linux, armbian, Android, iOS o cualquier otro sistema operativo adecuado. El descubrimiento 302 puede ser ejecutado como un software de escáner de red para realizar auditorías de red proporcionando la lista de dispositivos conectados a la red, y puede ser ejecutado por el usuario realizando un descubrimiento en su aplicación móvil en su dispositivo móvil, por ejemplo.
[0046] Según diversas realizaciones, el sistema de reconocimiento de dispositivos puede proporcionar un servicio de cuenta. En 304, un servicio de cuenta remota puede proporcionar la sincronización de los datos de descubrimiento de dispositivos desde 302 con la información de la cuenta del usuario (por ejemplo, la información personal del usuario utilizada para configurar la cuenta). La sincronización y el almacenamiento automáticos de las redes descubiertas de los usuarios en la etapa de descubrimiento 302 permiten al sistema de reconocimiento de dispositivos realizar uncrowdsourcingde datos de redes y dispositivos a partir de su base de usuarios. Además, en 304, la información de red recopilada puede almacenarse en un sistema informático en la nube o en otro sistema de almacenamiento externo de forma que la información de red recopilada no se pierda cuando un usuario cambie o reinicie un dispositivo personal. La información de red recopilada puede protegerse y cifrarse según diversas técnicas.
[0047] Según algunas realizaciones, el sistema de reconocimiento de dispositivos puede proporcionar servicios de reconocimiento de dispositivos a los usuarios sin la sincronización de la cuenta en la etapa 304. Por ejemplo, los usuarios pueden transmitir los datos de red recopilados en la etapa 302 directamente al sistema de reconocimiento de dispositivos. En algunas realizaciones, el sistema de reconocimiento de dispositivos puede incluir uno o más servidores en la nube que recopilan y almacenan los datos de red recopilados de sus usuarios como información de red anónima del usuario. En respuesta, el sistema de reconocimiento de dispositivos puede analizar y proporcionar resultados para mostrar a los usuarios solicitantes propiedades detalladas de cada dispositivo descubierto en la red.
[0048] En la etapa 306, los datos del dispositivo y de la red recopilados y sincronizados con los datos de la cuenta pueden almacenarse en la nube en un Lago de Datos de Red (NDL). El NDL puede realizar un seguimiento con un registro de datos para cada dispositivo o evento descubierto. El NDL puede implementarse con una arquitectura suficiente para almacenar, gestionar y poner en cola grandes cantidades de datos.
[0049] Según varias realizaciones de la presente invención, el sistema de reconocimiento de dispositivos puede implementar un algoritmo que accede a datos del NDL y realiza procesamiento distribuido paralelo (por ejemplo, filtrado, mapeos, reducciones, agregaciones y trabajos de aprendizaje automático) para procesar el conjunto de datos de entrada y producir un conjunto de datos de salida de reconocimientos de dispositivos. El algoritmo puede ejecutarse para funcionar como un modelo de datos para generar un conjunto de datos de salida más grande de datos predictivos basados en un conjunto de datos de entrada más pequeño. Ejemplos de datos en el conjunto de datos de entrada incluyen, pero no se limitan a: registros de dispositivos recopilados, incluyendo la dirección MAC del dispositivo (por ejemplo, utilizando la dirección MAC como clave y/o identificador único), e información de red auditada de varios protocolos (por ejemplo, DHCP, NetBIOS, Bonjour, UPnP, DNS, SNMP, HTTP, Agente de Usuario HTTP, sondas Wi-Fi).
[0050] El conjunto de datos de salida, según diversas realizaciones, puede incluir huellas de reconocimiento de dispositivos compuestas por: (1) entradas únicas específicas para cada dirección MAC individual (es decir, dispositivos conocidos identificados); y (2) conjuntos de predicción de clústeres MAC que comparten las mismas propiedades de dispositivo. Por ejemplo, los dispositivos identificados se mapean y vinculan a un catálogo de dispositivos, proporcionando propiedades específicas, como ejemplos:
[0051] • Tipo de dispositivo - móvil, portátil, servidor, controlador doméstico inteligente
[0052] • Marca de mercado - por ejemplo, Apple, Samsung
[0053] • Familia de mercados - por ejemplo, iPhone, Galaxy
[0054] • Modelo de mercado - por ejemplo, iPhone 7, Galaxy Note 8
[0055] • Almacenamiento del dispositivo - por ejemplo, 64 GB, 128 GB
[0056] • Color del dispositivo - blanco, rosa, dorado, negro
[0057] El modelo de datos puede normalizarse para permitir que el algoritmo de reconocimiento de dispositivos produzca huellas digitales que pueden ser muy específicas (por ejemplo, modelo de mercado de dispositivos) o también muy generales (por ejemplo, marca de mercado de dispositivos).
[0058] La figura 4 ilustra un diagrama de flujo de ejemplo de un método de un algoritmo de aprendizaje de reconocimiento de dispositivos según varias realizaciones de la presente invención. En 402, el algoritmo de reconocimiento de dispositivos puede analizar los registros NDF para identificar de forma única y agregar los registros por dispositivo. Los registros de dispositivos recopilados pueden agregarse, por ejemplo, mediante la dirección MAC como clave o identificador único.
[0059] En 404, cada registro de dispositivo agregado se analiza individualmente utilizando información de red. Por ejemplo, a partir de cada registro de dispositivo agregado, el dispositivo puede identificarse con reglas de clasificación específicas por protocolo basadas en las propiedades específicas del catálogo de dispositivos (por ejemplo, tipo de dispositivo, banda de mercado, familia de mercado, modelo de mercado, almacenamiento del dispositivo, color del dispositivo, etc.). Los dispositivos identificados pueden almacenarse como un único registro de dirección MAC (por ejemplo, un dispositivo identificado y conocido y su correspondiente dirección MAC) en un almacenamiento específico que puede utilizarse para la búsqueda en 410. Los registros de direcciones MAC para cada dispositivo también se pueden utilizar como entradas en un algoritmo de análisis de clúster de MAC en la etapa 406.
[0061] En 406, se realiza el análisis del algoritmo de clúster de MAC en todos los registros de identificación cualificados, agrupándolos mediante el análisis de la porción de cola restante de la dirección MAC (que puede ser de particiones de longitud variable de los tres últimos octetos o bytes en función de la organización; por ejemplo, tres octetos para MAC-48 y EUI-48 o cinco para EUI-64). El análisis de clúster de MAC se realiza entrenando conjuntos supervisados de aprendizaje automático mediante la búsqueda de co-ocurrencias de las mismas propiedades de dispositivo en clústeres de direcciones MAC. Dado que los dispositivos del mismo modelo se fabrican en lotes, un dispositivo identificado con una dirección MAC específica puede utilizarse como dispositivo de referencia para determinar el clúster de direcciones MAC de otros dispositivos fabricados en el mismo lote. Por ejemplo, una vez determinada la dirección MAC de un dispositivo de referencia conocido e identificado, es muy probable que los dispositivos fabricados en el mismo lote tengan direcciones MAC dentro del mismo clúster, y el algoritmo de análisis de clúster de MAC puede predecir que los dispositivos con direcciones MAC dentro de ese clúster tienen las mismas especificaciones de dispositivo (por ejemplo, la misma marca y modelo) que el dispositivo de referencia identificado.
[0063] En 408, los registros de clústeres de MAC identificados (por ejemplo, el clúster de direcciones MAC para un tipo, marca, modelo de dispositivo identificado y sus correspondientes especificaciones de dispositivo) pueden almacenarse en el almacenamiento de pistas de clúster de MAC, que se utilizará para la búsqueda. Por ejemplo, una vez que se ha identificado un clúster de MAC como de iPhone 7, entonces ese clúster de MAC y sus especificaciones de dispositivo asociadas pueden almacenarse en 408.
[0065] La figura 5 ilustra un diagrama de flujo de ejemplo de un método de análisis de clúster de información de dispositivo, de acuerdo con una realización de la presente invención. El método 500 es un ejemplo de aprendizaje de reconocimiento de dispositivos/análisis de agrupación MAC según una realización de la invención. El método 500 es un ejemplo de algoritmo que puede utilizarse en la etapa 406 de la figura 4. El algoritmo de clúster de MAC 500 puede analizar registros de identificación MAC cualificados, ya sean pistas MAC singulares (por ejemplo, una dirección MAC correspondiente a un dispositivo identificado singular) en 502 (generadas a partir de la etapa 404 de la figura 4), o pistas de clúster de MAC identificadas previamente almacenadas o instantáneas previamente almacenadas (por ejemplo, un clúster de MAC correspondiente a dispositivos de una marca y modelo específicos) en 504.
[0067] En 506, el análisis de clúster de MAC mapea las pistas a prefijos MAC como claves. Como ya se ha indicado, las direcciones MAC están compuestas por seis bytes o seis octetos, de los cuales los 3 primeros son asignados globalmente por una autoridad estándar tal como el IEEE. La autoridad asigna el prefijo a cada organización y lo publica en una lista pública que se utiliza globalmente como atributo "fabricante". Un prefijo de los tres primeros octetos da un rango de direcciones MAC disponibles de 2^24 (24 son los bits de la cola). Así, la clave puede establecerse en un MAC-Prefix[x] que es un prefijo de longitud variable de la dirección MAC, donde [x] es el tamaño del prefijo en bits, comparado con una dirección MAC completa que se compone de 6 octetos, 48 bits. Como tal, una clave de prefijo válida está en el rango de 1-48 bits, pero dado que los primeros 24 bits son asignados por IEEE a cada proveedor específico, el análisis de clúster de MAC utiliza, como clave, la porción de los prefijos MAC que están en el rango de 24-48. En algunas realizaciones, el análisis de clúster de MAC puede utilizar una porción más pequeña del prefijo MAC, por ejemplo bits en el rango de 34-41. Esto se debe a que los prefijos más grandes pueden introducir demasiada entropía o varianza, mientras que los prefijos más pequeños dan como resultado un subconjunto más pequeño de dispositivos, por lo que puede ser innecesario analizar prefijos MAC con grandes rangos de bits. Por ejemplo, un prefijo de 47 bits incluye las dos posibles subparticiones de 48 bits, y así sucesivamente para cualquier clúster de MAC y las particiones de cola relacionadas; son conjuntos progresivos inclusivos.
[0069] Además, en la etapa 506, el método de análisis de clúster 500 puede ejecutar un análisis de reconocimiento de dispositivos. De acuerdo con alguna realización, el análisis de reconocimiento de dispositivos puede incluir el acceso a una estructura de datos que contiene campos de identificación de dispositivos, incluyendo, pero no limitado a:
[0070] • Tipo de dispositivo
[0071] • Marca
[0072] • Familia
[0073] • Modelo
[0074] • Rango (una medida de la calidad de la pista, 0-100 %)
[0076] En algunas realizaciones, el algoritmo de clúster de MAC puede ejecutar las clasificaciones de aprendizaje en Hadoop/Spark para calcular expansiones, agregaciones y reducciones mediante DAG (grafos acíclicos directos).
[0077] En 508, según algunas realizaciones, el método del algoritmo de clúster de MAC 500 puede reducir por clave (por ejemplo, prefijo MAC), dando como resultado una información única para cada dirección MAC de entrada. Generalmente, la etapa 508 puede ser necesaria cuando se fusionan instantáneas previamente almacenadas. En 510, el método del algoritmo de clúster de MAC 500 puede aplanar el mapa para cada par de entrada que coincida con una clave para un dispositivo (por ejemplo, MAC-Prefix[48] para un dispositivo reconocido/identificado), de tal manera que se genere un número de pares de salida. Cada par de salida se genera para cada longitud de prefijo elegida diferente, por ejemplo, por la clave desde MAC-Prefix[34] hasta MAC-Prefix[41],
[0078] En 512, los pares de salida pueden reducirse y agregarse por clave. Por ejemplo, cada instancia MAC-Prefix[x] (por ejemplo, cada clave) se agrega para que el valor se convierta en la lista de todas las direcciones MAC específicas pertenecientes al clúster que corresponden a una marca y modelo de los dispositivos fabricados en el mismo lote. En 514, los resultados pueden filtrarse para eliminar los clústeres de MAC con muy pocas entradas con respecto al tamaño del clúster, ya que un tamaño de clúster demasiado pequeño puede indicar una menor confianza en que el clúster de MAC identifica con precisión los dispositivos fabricados en ese lote. En algunas realizaciones puede haber un umbral mínimo para el tamaño del clúster; por ejemplo, entradas mínimas = 3+2*(clusterSize-12).
[0079] En 516, el algoritmo de análisis de clúster de MAC 500 puede entonces analizar las co-ocurrencias para validar los clústeres de MAC con una mayor confianza en su precisión. Por ejemplo, cada instancia de clúster de MAC puede procesarse comparando todas las entradas de reconocimiento de dispositivos contenidas en el clúster. En algunas realizaciones, puede haber un intervalo de margen de tolerancia para errores o valores atípicos. Con el margen de tolerancia para valores atípicos, el algoritmo de análisis de clúster de MAC 500 busca un conjunto de atributos coocurrentes, como tipo de dispositivo, marca, familia, modelo, en la etapa 516.
[0080] En algunas realizaciones, puede haber una puntuación de confianza que se determina para el clúster MAC. Por ejemplo, una puntuación de confianza puede calcularse como un porcentaje o una función del bit diferencial más alto en pistas MAC individuales en comparación con el tamaño total del clúster. La puntuación de confianza puede utilizarse entonces para clasificar los reconocimientos de dispositivos de salida correspondientes al clúster de MAC, y/o descartar los clústeres cuyo nivel de confianza esté por debajo de un umbral mínimo determinado.
[0081] En 518, los resultados pueden filtrarse aún más para eliminar clústeres de MAC redundantes. Por ejemplo, los clústeres validados más pequeños pueden estar ya incluidos en clústeres validados más grandes. Como tal, el clúster más pequeño puede ser eliminado como redundante, dejando el clúster validado más grande como retenedor del clúster de MAC validado y sus correspondientes datos de reconocimiento de dispositivos (por ejemplo, dispositivos identificados).
[0082] En 520, el método de análisis de clúster de MAC 500 puede dar salida a los clústeres de MAC validados almacenados por prefijo MAC (por ejemplo, clave) como tablas de consulta. La tabla de consulta puede almacenarse como una consulta/búsqueda de reconocimiento de dispositivos para su utilización en un modelo de predicción de reconocimiento de dispositivos. La búsqueda y consulta de reconocimiento de dispositivos puede utilizar las huellas almacenadas por el algoritmo de Aprendizaje de Reconocimiento de Dispositivos de la figura 4, específicamente el método de análisis de agrupamiento MAC 500. Por ejemplo, se puede utilizar una dirección MAC como clave para consultar las pistas MAC individuales o, en algunas realizaciones, se pueden utilizar particiones de longitud variable de prefijos MAC como claves para consultar las agrupaciones MAC. Los resultados coincidentes pueden devolverse y ordenarse por rango o por una puntuación de confianza.
[0083] En 522, las pistas de clúster de MAC resultantes pueden entonces ser almacenadas y usadas iterativamente como entradas como instantáneas previamente almacenadas en la etapa 504.
[0084] La figura 6 ilustra un conjunto de componentes básicos de un ejemplo de dispositivo informático 600 que puede utilizarse para implementar aspectos de las diversas realizaciones. En este ejemplo, el dispositivo incluye al menos un procesador 602 para ejecutar instrucciones que pueden almacenarse en un dispositivo o elemento de memoria 604. Como sería evidente para un experto en la materia, el dispositivo puede incluir muchos tipos de memoria, almacenamiento de datos o medios legibles por ordenador, tal como un primer almacenamiento de datos para instrucciones de programa para su ejecución por el al menos un procesador 602, el mismo almacenamiento o un almacenamiento separado puede utilizarse para imágenes o datos, una memoria extraíble puede estar disponible para compartir información con otros dispositivos, y cualquier número de enfoques de comunicación puede estar disponible para compartir con otros dispositivos. El dispositivo puede incluir al menos un tipo de elemento de visualización 606, tal como una pantalla táctil, tinta electrónica (e-ink), diodo orgánico emisor de luz (OLED) o pantalla de cristal líquido (LCD), aunque dispositivos como los servidores podrían transmitir información por otros medios, como a través de un sistema de luces y transmisiones de datos. El dispositivo típicamente incluirá uno o más componentes de red 608, tal como un puerto, una tarjeta de interfaz de red o un transceptor inalámbrico que permite la comunicación a través de al menos una red. El dispositivo puede incluir al menos un dispositivo de entrada 610 capaz de recibir entradas convencionales de un usuario. Esta entrada convencional puede incluir, por ejemplo, un pulsador, una almohadilla táctil, una pantalla táctil, una rueda, un joystick, un teclado, un ratón, un trackball, un teclado numérico o cualquier otro dispositivo o elemento por el que un usuario pueda introducir un comando en el dispositivo. Estos dispositivos de E/S podrían incluso conectarse por infrarrojos inalámbricos o Bluetooth u otro enlace también en algunas realizaciones. En algunas realizaciones, sin embargo, un dispositivo de este tipo podría no incluir ningún botón en absoluto y podría ser controlado solo a través de una combinación de comandos visuales y de audio de tal manera que un usuario puede controlar el dispositivo sin tener que estar en contacto con el dispositivo.
[0086] Como ya se ha dicho, pueden aplicarse diferentes enfoques en diversos entornos de acuerdo con las realizaciones descritas. Como se apreciará, aunque se utiliza un entorno basado en la web para fines de explicación en varios ejemplos presentados en el presente documento, se pueden utilizar diferentes entornos, según proceda, para implementar diversas realizaciones. El sistema incluye un dispositivo electrónico cliente, que puede incluir cualquier dispositivo apropiado capaz de enviar y recibir solicitudes, mensajes o información a través de una red apropiada y transmitir información a un usuario del dispositivo. Algunos ejemplos de estos dispositivos cliente son los ordenadores personales, los teléfonos móviles, los dispositivos de mensajería portátiles, los ordenadores portátiles, los descodificadores, los asistentes personales de datos, los lectores de libros electrónicos y similares. La red puede incluir cualquier red apropiada, incluida una intranet, Internet, una red celular, una red de área local o cualquier otra red o combinación de las mismas. Los componentes utilizados para un sistema de este tipo pueden depender, al menos en parte, del tipo de red y/o entorno seleccionados. Los protocolos y componentes para comunicarse a través de una red de este tipo son bien conocidos y no se tratarán en detalle en el presente documento. La comunicación a través de la red puede realizarse mediante conexiones por cable o inalámbricas y combinaciones de las mismas. En este ejemplo, la red incluye Internet, ya que el entorno incluye un servidor web para recibir solicitudes y servir contenidos en respuesta a las mismas, aunque para otras redes, se podría utilizar un dispositivo alternativo que sirva para un propósito similar, como sería evidente para un experto en la materia. Debe apreciarse que los métodos y sistemas implementados por ordenador, tal como se discuten en el presente documento, tienen la capacidad de predecir/reconocer dispositivos dentro de una red de forma más rápida y precisa que las técnicas actualmente conocidas, disminuyendo así la potencia de procesamiento informática necesaria para dicha predicción/reconocimiento de dispositivos, así como disminuyendo la tasa de error y aumentando una puntuación de confianza asociada con dicha predicción/reconocimiento de dispositivos. Además, debe apreciarse que los métodos y sistemas divulgados en el presente documento superan lo que se considera bien entendido, rutinario o convencional.
[0087] El entorno ilustrativo incluye al menos un servidor de aplicaciones y un almacén de datos. Debe entenderse que puede haber varios servidores de aplicaciones, capas u otros elementos, procesos o componentes, que pueden estar encadenados o configurados de otro modo, que pueden interactuar para realizar tareas tal como obtener datos de un almacén de datos apropiado. Tal como se utiliza en el presente documento, el término "almacén de datos" se refiere a cualquier dispositivo o combinación de dispositivos capaces de almacenar, acceder y recuperar datos, que pueden incluir cualquier combinación y número de servidores de datos, bases de datos, dispositivos de almacenamiento de datos y medios de almacenamiento de datos, en cualquier entorno estándar, distribuido o en clúster. El servidor de aplicaciones puede incluir cualquier hardware y software apropiado para integrarse con el almacén de datos según sea necesario para ejecutar aspectos de una o más aplicaciones para el dispositivo cliente y manejar la mayor parte del acceso a los datos y la lógica de negocio para una aplicación. El servidor de aplicaciones proporciona servicios de control de acceso en cooperación con el almacén de datos y es capaz de generar contenido tal como texto, gráficos, audio y/o vídeo para ser transferido al usuario, que puede ser servido al usuario por el servidor web en forma de HTML, XML u otro lenguaje estructurado apropiado en este ejemplo. El servidor web puede gestionar todas las solicitudes y respuestas, así como la entrega de contenidos entre el dispositivo cliente y el servidor de aplicaciones. Debe entenderse que los servidores web y de aplicaciones no son necesarios y son meramente componentes de ejemplo, ya que el código estructurado discutido en el presente documento puede ser ejecutado en cualquier dispositivo apropiado o máquina anfitriona como se discute en otra parte en el presente documento.
[0089] El almacén de datos puede incluir varias tablas de datos separadas, bases de datos u otros mecanismos y medios de almacenamiento de datos para almacenar datos relativos a un aspecto concreto. Por ejemplo, el almacén de datos ilustrado incluye mecanismos para almacenar contenido (por ejemplo, datos de producción) e información de usuario, que puede utilizarse para servir contenido para el lado de producción. También se muestra que el almacén de datos incluye un mecanismo para almacenar datos de registro o de sesión. Debe entenderse que puede haber muchos otros aspectos que necesiten almacenarse en el almacén de datos, tal como la información sobre la imagen de la página y la información sobre los derechos de acceso, que pueden almacenarse en cualquiera de los mecanismos enumerados anteriormente, según proceda, o en mecanismos adicionales del almacén de datos. El almacén de datos es operable, a través de la lógica asociada al mismo, para recibir instrucciones del servidor de aplicaciones y obtener, actualizar o procesar de otro modo datos en respuesta a las mismas. Por ejemplo, un usuario puede enviar una solicitud de búsqueda de un determinado tipo de artículo. En este caso, el almacén de datos podría acceder a la información del usuario para verificar su identidad y puede acceder a la información detallada del catálogo para obtener información sobre artículos de ese tipo. A continuación, la información puede devolverse al usuario, por ejemplo, en un listado de resultados en una página web que el usuario puede ver a través de un navegador en el dispositivo de usuario. La información sobre un artículo concreto de interés puede consultarse en una página o ventana específica del navegador.
[0090] Cada servidor suele incluir un sistema operativo que proporciona instrucciones de programa ejecutables para la administración general y el funcionamiento de dicho servidor, y suele incluir un medio legible por ordenador que almacena instrucciones que, cuando son ejecutadas por un procesador del servidor, permiten al servidor realizar las funciones previstas. Implementaciones adecuadas para el sistema operativo y la funcionalidad general de los servidores son conocidas o están disponibles comercialmente y son fácilmente implementadas por personas con conocimientos ordinarios en la materia, en particular a la luz de la divulgación en el presente documento.
[0092] El entorno en una realización es un entorno informático distribuido que utiliza varios sistemas informáticos y componentes que están interconectados a través de enlaces de comunicación, utilizando una o más redes informáticas o conexiones directas. Sin embargo, los expertos en la materia apreciarán que un sistema de este tipo podría funcionar igualmente bien en un sistema con un número menor o mayor de componentes que los ilustrados. Por lo tanto, la representación de los sistemas en el presente documento debe considerarse de carácter ilustrativo y no limitativo del alcance de la divulgación.
[0094] Las diversas realizaciones pueden implementarse además en una amplia variedad de entornos operativos, que en algunos casos pueden incluir uno o más ordenadores de usuario o dispositivos informáticos que pueden utilizarse para operar cualquiera de una serie de aplicaciones. Los dispositivos de usuario o cliente pueden incluir cualquiera de un número de ordenadores personales de uso general, tal como ordenadores de sobremesa o portátiles con un sistema operativo estándar, así como dispositivos móviles, inalámbricos y portátiles con software móvil y capaces de soportar diversos protocolos de red y mensajería. Un sistema de este tipo también puede incluir una serie de estaciones de trabajo que ejecuten cualquiera de los diversos sistemas operativos disponibles en el mercado y otras aplicaciones conocidas para fines como el desarrollo y la gestión de bases de datos. Estos dispositivos también pueden incluir otros dispositivos electrónicos, tal como terminales ficticios, clientes ligeros, sistemas de juego y otros dispositivos capaces de comunicarse a través de una red.
[0096] La mayoría de las realizaciones utilizan al menos una red que sería familiar a los expertos en la materia para soportar comunicaciones utilizando cualquiera de una variedad de protocolos disponibles comercialmente, tal como TCP/IP, FTP, UPnP, NFS y CIFS. La red puede ser, por ejemplo, una red de área local, una red de área extensa, una red privada virtual, Internet, una intranet, una extranet, una red telefónica pública conmutada, una red de infrarrojos, una red inalámbrica y cualquier combinación de las mismas.
[0098] En las realizaciones que utilizan un servidor web, el servidor web puede ejecutar cualquiera de una variedad de aplicaciones de servidor o de nivel medio, incluidos servidores HTTP, servidores FTP, servidores CGI, servidores de datos, servidores Java y servidores de aplicaciones empresariales. El servidor o servidores también pueden ser capaces de ejecutar programas o scripts en respuesta a las solicitudes de los dispositivos de usuario, tales como la ejecución de una o más aplicaciones web que pueden ser implementadas como uno o más scripts o programas escritos en cualquier lenguaje de programación, tal como Java®, C, C# o C++ o cualquier lenguaje de scripting, tal como Perl, Python o TCL, así como combinaciones de los mismos. El servidor o servidores también pueden incluir servidores de bases de datos, incluidos, entre otros, los disponibles comercialmente de Oracle®, Microsoft®, Sybase® e IBM®, así como servidores de código abierto como MySQL, Postgres, SQLite, MongoDB y cualquier otro servidor capaz de almacenar, recuperar y acceder a datos estructurados o no estructurados. Los servidores de bases de datos pueden incluir servidores basados en tablas, servidores basados en documentos, servidores no estructurados, servidores relacionales, servidores no relacionales o combinaciones de estos y/u otros servidores de bases de datos.
[0100] El entorno puede incluir una variedad de almacenes de datos y otros medios de memoria y almacenamiento como se ha comentado anteriormente. Estos pueden residir en una variedad de ubicaciones, como en un medio de almacenamiento local a (y/o residente en) uno o más de los ordenadores o remoto desde cualquiera o todos los ordenadores a través de la red. En un conjunto particular de realizaciones, la información puede residir en una red de área de almacenamiento (SAN) familiar para los expertos en la materia. Del mismo modo, todos los archivos necesarios para realizar las funciones atribuidas a los ordenadores, servidores u otros dispositivos de red pueden almacenarse localmente y/o a distancia, según proceda. Cuando un sistema incluye dispositivos informáticos, cada uno de estos dispositivos puede incluir elementos de hardware que pueden estar acoplados eléctricamente a través de un bus, incluyendo los elementos, por ejemplo, al menos una unidad central de procesamiento (CPU), al menos un dispositivo de entrada (por ejemplo, un ratón, un teclado, un controlador, un elemento de pantalla táctil o un teclado) y al menos un dispositivo de salida (por ejemplo, un dispositivo de visualización, una impresora o un altavoz). Dicho sistema también puede incluir uno o más dispositivos de almacenamiento, tal como unidades de disco, unidades de cinta magnética, dispositivos de almacenamiento óptico y dispositivos de almacenamiento de estado sólido, tal como memoria de acceso aleatorio (RAM) o memoria de solo lectura (ROM), así como dispositivos de medios extraíbles, tarjetas de memoria, tarjetas flash, etc.
[0102] Dichos dispositivos también pueden incluir un lector de medios de almacenamiento legibles por ordenador, un dispositivo de comunicaciones (por ejemplo, un módem, una tarjeta de red (inalámbrica o por cable), un dispositivo de comunicación por infrarrojos) y memoria de trabajo como se ha descrito anteriormente. El lector de medios de almacenamiento legibles por ordenador puede estar conectado con, o configurado para recibir, un medio de almacenamiento legible por ordenador que represente dispositivos de almacenamiento remotos, locales, fijos y/o extraíbles, así como medios de almacenamiento para contener, almacenar, transmitir y recuperar información legible por ordenador de forma temporal y/o más permanente. El sistema y los diversos dispositivos también incluirán típicamente una serie de aplicaciones de software, módulos, servicios u otros elementos ubicados dentro de al menos un dispositivo de memoria de trabajo, incluyendo un sistema operativo y programas de aplicación tales como una aplicación cliente o un navegador web. Se debe apreciar que las realizaciones alternativas pueden tener numerosas variaciones de lo descrito anteriormente. Por ejemplo, también podría usarse un hardware personalizado y/o podrían implementarse elementos específicos en hardware, software (incluyendo software portátil, como applets) o ambos. Además, puede emplearse una conexión a otros dispositivos informáticos tales como dispositivos de entrada/salida de red.
[0103] Los medios de almacenamiento y otros medios legibles por ordenador no transitorios para contener código, o porciones de código, pueden incluir cualquier medio apropiado conocido o utilizado en la técnica, tales como, pero no limitados a, medios volátiles y no volátiles, extraíbles y no extraíbles implementados en cualquier método o tecnología para el almacenamiento de información tal como instrucciones legibles por ordenador, estructuras de datos, módulos de programa u otros datos, incluyendo RAM, ROM, EEPROM memoria flash u otra tecnología de memoria, CD-ROM, disco versátil digital (DVD) u otro almacenamiento óptico, casetes magnéticos, cinta magnética, almacenamiento en disco magnético u otros dispositivos de almacenamiento magnético o cualquier otro medio que pueda utilizarse para almacenar la información deseada y al que pueda acceder un dispositivo del sistema. Sobre la base de la divulgación y las enseñanzas proporcionadas en el presente documento, un experto en la materia apreciará otras formas y/o métodos para implementar las diversas realizaciones.
[0104] Aunque los ejemplos anteriores se han descrito con cierto detalle a efectos de claridad de comprensión, las técnicas inventivas descritas anteriormente no se limitan a los detalles proporcionados. Existen muchas formas alternativas de implementar las técnicas de la invención descritas anteriormente. Los ejemplos divulgados son ilustrativos y no restrictivos.
[0105] La terminología usada en el presente documento es para el fin de describir realizaciones particulares únicamente y no se pretende que sea para limitar la invención. Por ejemplo, como se usa en el presente documento, se pretende que las formas singulares "un", "una", "el" y "la" incluyan también las formas plurales, a menos que el contexto lo indique claramente de otra manera. Se entenderá adicionalmente que los términos "comprende" y/o "que comprende", cuando se usan en esta memoria descriptiva, especifican la presencia de características indicadas, etapas, operaciones, elementos y/o componentes, pero no excluyen la presencia o adición de una o más otras características, etapas, operaciones, elementos, componentes y/o grupos de los mismos. Como se usa en el presente documento, el término "y/o" incluye todas y cada una de las combinaciones de uno o más de los artículos enumerados asociados y puede abreviarse como "/".
[0106] Aunque los términos "primero" y "segundo" pueden usarse en el presente documento para describir diversas características/elementos, estas características/elementos no deberían estar limitados por estos términos, a menos que el contexto indique claramente lo contrario. Estos términos pueden usarse para distinguir una característica/elemento de otra característica/elemento. Por lo tanto, una primera característica/elemento analizado a continuación podría denominarse una segunda característica/elemento, y de manera similar, una segunda característica/elemento analizado a continuación podría denominarse una primera característica/elemento sin alejarse de las enseñanzas de la presente invención.
[0107] Como se usa en el presente documento en la memoria descriptiva y reivindicaciones, incluyendo como se usa en los ejemplos y a menos que se especifique expresamente de otra manera, todos los números pueden leerse como si estuvieran precedidos por la palabra "alrededor de" o "aproximadamente", incluso si el término no apareciera expresamente. La expresión "alrededor de" o "aproximadamente" puede usarse cuando se describe una magnitud y/o posición para indicar que el valor y/o posición descritos se encuentra dentro de un intervalo de valores y/o posiciones esperadas razonable.
[0108] Por ejemplo, un valor numérico puede tener un valor que es /- 0,1 % del valor establecido (o intervalo de valores), /-1 % del valor establecido (o intervalo de valores), /- 2 % del valor establecido (o intervalo de valores), /- 5 % del valor establecido (o intervalo de valores), /- 10 % del valor establecido (o intervalo de valores), etc. Se pretende que cualquier intervalo numérico indicado en el presente documento incluya todos los subintervalos incluidos en el mismo. Aunque se han descrito anteriormente diversas realizaciones ilustrativas, puede realizarse cualquiera de un número de cambios a diversas realizaciones sin alejarse del alcance de la invención como se describe mediante las reivindicaciones.

Claims (15)

1. REIVINDICACIONES
1. Un sistema de reconocimiento de dispositivos (102) que comprende:
un módulo de recopilación de datos (106) configurado para recopilar datos de dispositivo asociados a un dispositivo en una red (120);
un módulo de datos de identificación (108) configurado para determinar la información de identificación del dispositivo en función de una extrapolación de los datos del dispositivo, en donde la información de identificación es una dirección de control de acceso al medio, MAC; y
un módulo de análisis de clúster (112) configurado para:
obtener un conjunto de bits especificados de la dirección MAC del dispositivo;
determinar una clave basada en el conjunto de bits especificados de la dirección MAC; y
predecir, utilizando conjuntos de aprendizaje automático y la clave, un conjunto de características del dispositivo, en donde los conjuntos de aprendizaje automático clasifican el dispositivo en un grupo predicho de dispositivos que tienen el conjunto de características del dispositivo;
en donde el conjunto de bits especificados de la dirección MAC son los bits de la dirección MAC aparte de los bits de la dirección MAC que proporcionan el Identificador Único de la Organización.
2. El sistema de reconocimiento de dispositivos de la reivindicación 1, en donde el conjunto de características del dispositivo incluye al menos uno de un identificador de tipo de dispositivo, un identificador de marca de dispositivo, un identificador de modelo de dispositivo y un identificador de lote de fabricación;
en donde, opcionalmente, los conjuntos de aprendizaje automático utilizan múltiples árboles de decisión para clasificar el dispositivo.
3. El sistema de reconocimiento de dispositivos de la reivindicación 1 o 2, en donde el conjunto de bits especificados de la dirección MAC incluye bits en el intervalo de bits 24 a 48 de la dirección MAC.
4. El sistema de reconocimiento de dispositivos de cualquier reivindicación anterior, en donde el conjunto de bits especificados de la dirección MAC incluye bits en el intervalo de bits 34 a 41 de la dirección MAC.
5. El sistema de reconocimiento de dispositivos de cualquier reivindicación anterior, en donde los bits de la dirección MAC que proporcionan el Identificador Único de la Organización son los tres primeros octetos de la dirección MAC.
6. Un método para el reconocimiento de dispositivos, comprendiendo el método:
recopilar datos de dispositivo asociados a un dispositivo detectado en una red (120);
determinar información de identificación del dispositivo en función de una extrapolación de los datos del dispositivo, en donde la información de identificación es una dirección de control de acceso al medio, MAC;
obtener un conjunto de bits especificados de la dirección MAC del dispositivo;
determinar una clave basada en el conjunto de bits especificados de la dirección MAC; y
predecir, utilizando conjuntos de aprendizaje automático y la clave, un conjunto de características del dispositivo, en donde los conjuntos de aprendizaje automático clasifican el dispositivo en un grupo predicho de dispositivos que tienen el conjunto de características del dispositivo;
en donde el conjunto de bits especificados de la dirección MAC son los bits de la dirección MAC aparte de los bits de la dirección MAC que proporcionan el Identificador Único de la Organización.
7. El método de la reivindicación 6, en donde el número de bits especificados en el conjunto de bits especificados es proporcional a un tamaño del grupo predicho de dispositivos que tienen el conjunto de características del dispositivo.
8. El método de la reivindicación 7, que comprende además la etapa de generar una puntuación de confianza en función del conjunto de bits especificados de la dirección de hardware y del tamaño del grupo de dispositivos predicho.
9. El método de la reivindicación 6, en donde el conjunto de características del dispositivo incluye al menos uno de un identificador de tipo de dispositivo, un identificador de marca de dispositivo, un identificador de modelo de dispositivo y un identificador de lote de fabricación;
en donde, opcionalmente, los conjuntos de aprendizaje automático utilizan múltiples árboles de decisión para clasificar el dispositivo.
10. El método de la reivindicación 6, que comprende además la etapa de proporcionar contenido dirigido al dispositivo basado en el conjunto de características del dispositivo, en donde las características del dispositivo incluyen una marca del dispositivo y un modelo del dispositivo.
11. El método de cualquiera de las reivindicaciones 6 a 10, que comprende adicionalmente:
utilizar el método según cualquiera de las reivindicaciones 6 a 10 con cada uno de una pluralidad de dispositivos detectados en una red (120) para recopilar una pluralidad de datos del dispositivo, determinar una pluralidad de claves e identificar las especificaciones del dispositivo;
determinar un clúster de dispositivos entre el conjunto de dispositivos basándose, al menos en parte, en las especificaciones del dispositivo; y
almacenar identificadores correspondientes a los dispositivos del clúster de dispositivos y las claves correspondientes de la pluralidad de claves en una estructura de datos, en donde cada clave identifica dónde está almacenado en la estructura de datos el identificador correspondiente a un dispositivo respectivo del clúster de dispositivos.
12. El método de la reivindicación 11, en donde una longitud de la clave correspondiente es proporcional a un tamaño del clúster de dispositivos.
13. El método de la reivindicación 11 o 12, en donde el clúster de dispositivos se determina tras la eliminación de un clúster redundante de dispositivos de tamaño de clúster insuficiente.
14. El método de la reivindicación 13, en donde la eliminación de un clúster redundante de dispositivos de tamaño de clúster insuficiente se basa en un umbral predeterminado.
15. El método de cualquiera de las reivindicaciones 6 a 14, en donde los bits de la dirección MAC que proporcionan el Identificador Único de la Organización son los tres primeros octetos de la dirección MAC.
ES18788907T 2017-09-28 2018-09-27 Systems and methods for device recognition Active ES3058708T3 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201762564737P 2017-09-28 2017-09-28
PCT/IB2018/057522 WO2019064237A1 (en) 2017-09-28 2018-09-27 Systems and methods for device recognition

Publications (1)

Publication Number Publication Date
ES3058708T3 true ES3058708T3 (en) 2026-03-12

Family

ID=63878733

Family Applications (1)

Application Number Title Priority Date Filing Date
ES18788907T Active ES3058708T3 (en) 2017-09-28 2018-09-27 Systems and methods for device recognition

Country Status (9)

Country Link
US (1) US11475323B2 (es)
EP (1) EP3676757B1 (es)
CA (1) CA3076319C (es)
ES (1) ES3058708T3 (es)
HR (1) HRP20260106T1 (es)
PL (1) PL3676757T3 (es)
RS (1) RS67684B1 (es)
SM (1) SMT202500498T1 (es)
WO (1) WO2019064237A1 (es)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11586971B2 (en) * 2018-07-19 2023-02-21 Hewlett Packard Enterprise Development Lp Device identifier classification
US11528231B2 (en) * 2018-11-19 2022-12-13 Cisco Technology, Inc. Active labeling of unknown devices in a network
KR102905974B1 (ko) 2020-01-23 2025-12-29 삼성전자 주식회사 복수의 공유 픽셀들을 포함하는 이미지 장치 및 이의 동작 방법
CN113286260B (zh) * 2020-02-20 2022-11-15 深圳奇迹智慧网络有限公司 人群分布确定方法、系统、计算机设备和存储介质
CN113452802A (zh) * 2020-03-24 2021-09-28 华为技术有限公司 设备型号的识别方法、装置及系统
US11526392B2 (en) 2020-05-07 2022-12-13 Armis Security Ltd. System and method for inferring device model based on media access control address
US12026248B2 (en) * 2021-06-10 2024-07-02 Armis Security Ltd. Techniques for securing network environments by identifying device attributes based on string field conventions
US12052274B2 (en) 2021-09-23 2024-07-30 Armis Security Ltd. Techniques for enriching device profiles and mitigating cybersecurity threats using enriched device profiles
US20230216853A1 (en) * 2022-01-06 2023-07-06 Armis Security Ltd. Device attribute determination based on protocol string conventions
CN114710378B (zh) * 2022-03-03 2024-03-26 中国人民解放军国防科技大学 一种基于决策树的并行报文分类查找方法及系统
US12572846B2 (en) 2022-03-22 2026-03-10 Armis Security Ltd. System and method for device attribute identification based on host configuration protocols
US12470593B2 (en) 2022-07-11 2025-11-11 Armis Security Ltd. Malicious lateral movement detection using remote system protocols
US20240354466A1 (en) * 2023-04-20 2024-10-24 Assurant, Inc. Apparatuses, computer-implemented methods, and computer program products for modeling expected device attributes

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6658585B1 (en) * 1999-10-07 2003-12-02 Andrew E. Levi Method and system for simple network management protocol status tracking
EP2754277B1 (en) * 2011-09-08 2018-11-14 Intel Corporation Methods and arrangements for device profiles in wireless networks
US10218726B2 (en) * 2016-03-25 2019-02-26 Cisco Technology, Inc. Dynamic device clustering using device profile information
WO2018004580A1 (en) 2016-06-30 2018-01-04 Intel Corporation Device-based anomaly detection using random forest models
US11115429B2 (en) * 2016-08-11 2021-09-07 Balbix, Inc. Device and network classification based on probabilistic model
CN107357560A (zh) * 2017-04-28 2017-11-17 阿里巴巴集团控股有限公司 交互处理方法及装置

Also Published As

Publication number Publication date
CA3076319C (en) 2023-03-28
SMT202500498T1 (it) 2026-03-09
EP3676757B1 (en) 2025-10-29
US20200242488A1 (en) 2020-07-30
US11475323B2 (en) 2022-10-18
PL3676757T3 (pl) 2026-03-09
EP3676757A1 (en) 2020-07-08
CA3076319A1 (en) 2019-04-04
EP3676757C0 (en) 2025-10-29
RS67684B1 (sr) 2026-02-27
HRP20260106T1 (hr) 2026-03-13
WO2019064237A1 (en) 2019-04-04

Similar Documents

Publication Publication Date Title
ES3058708T3 (en) Systems and methods for device recognition
US20230252324A1 (en) Machine learning techniques for internet protocol address to domain name resolution systems
US20230095470A1 (en) Systems and methods for controlling data exposure using artificial- intelligence-based modeling
US11316851B2 (en) Security for network environment using trust scoring based on power consumption of devices within network
US10708288B2 (en) Computerized system and method for automatically determining malicious IP clusters using network activity data
Thouti et al. Investigation on identify the multiple issues in IoT devices using Convolutional Neural Network
US10862756B2 (en) Systems and methods for inventory discovery in a network
CN115039379B (zh) 使用分类器层级确定设备属性的系统和方法
US20230006936A1 (en) Intelligent dataflow-based service discovery and analysis
US9654503B1 (en) Systems and methods for evaluating networks
US10212170B1 (en) User authentication using client-side browse history
US12003383B2 (en) Fingerprinting assisted by similarity-based semantic clustering
US20180176205A1 (en) System and method for automatic service discovery and protection
US10411985B1 (en) Network traffic monitoring for virtual machines
US10607263B2 (en) Computerized systems and methods for authenticating users on a network device via dynamically allocated authenticating state machines hosted on a computer network
US9712520B1 (en) User authentication using client-side browse history
US11314787B2 (en) Temporal resolution of an entity
US12328233B2 (en) Fingerprinting assisted by similarity-based semantic clustering
US10936336B1 (en) Configuration change tracking with multiple manifests
Chhabra et al. Hadoop‐based analytic framework for cyber forensics
US20250158966A1 (en) Framework For Configurable Per-Service Security Settings In A Forward Proxy
US9646104B1 (en) User tracking based on client-side browse history
US11799882B1 (en) Network endpoint identification through network fingerprint based entity resolution
US20250294038A1 (en) Detecting malicious dns requests using machine learning
US10290022B1 (en) Targeting content based on user characteristics