IP Library Granted Patent US 12,309,148
Granted Patent B2
US 12,309,148 · App. 16/809,377 · Granted May 20, 2025

Systems and methods for device fingerprinting

Inventors: Srinivas Akella (San Jose, CA); Shahab Sheikh-Bahaei (Atherton, CA)
Assignee: NETSKOPE, INC.
H04L63/0876G06N3/08G06N20/00H04L67/306
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,309,148
App. No.
16/809,377
Filed
Mar 4, 2020
Granted
May 20, 2025
Kind
B2
Art Unit
OHR
USPC
709/224
Abstract

Systems and methods to generate a hyper context associated with a computing device are described. In one embodiment, communication data associated with the computing device is accessed. One or more features associated with the computing device are extracted from the communication data. A type of the computing device is detected. An operating system associated with the computing device is detected. A control associated with the computing device is detected. A functionality of the computing device is detected. An ownership of the computing device is detected. A hyper context associated with the computing device is defined. The hyper context includes a type context, a category context, an ownership context, a connectivity context, and a control context.

Claims (73)

1. A method to generate a hyper context associated with a computing device, the method comprising:

receiving, by a network gateway, communication data from the computing device;

storing, by the network gateway, the communication data in a database;

accessing the communication data associated with the computing device from the database;

extracting one or more features associated with the computing device from the communication data;

detecting a type of the computing device;

detecting an operating system associated with the computing device;

detecting a control associated with the computing device;

detecting a functionality of the computing device;

detecting an ownership of the computing device; and

defining a hyper context associated with the computing device, wherein the hyper context is comprised of a type context, a category context, an operating system context, an ownership context related to information regarding an entity that owns the computing device, a connectivity context, and a control context, and wherein the defining a hyper context includes at least one normalization operation on at least one weighted matrix that includes one or more predicted features of the computing device.

2. The method of claim 1 , wherein the communication data includes packet data, WiFi radio data, Bluetooth data, or Bluetooth Low Energy data.

3. The method of claim 1 , wherein the features include a manufacturer, a device host name, a list of top sites visited, a number of sites visited, one or more top user-agents used, one or more network features, one or more operating system signatures, one or more active hours, an hourly behavior profiling, and a realtime behavior profiling.

4. The method of claim 1 , wherein detecting a type of the computing device comprises:

running one or more type-detection rules;

generating a weighted matrix of predicted types;

running a trained machine learning type-detection model;

generating a prediction responsive to the running;

adding the prediction to the weighted matrix;

normalizing one or more weights;

computing a probability for a type of the computing device;

predicting a type of the computing device based on a value of the probability; and

computing a device category responsive to the prediction.

5. The method of claim 1 , wherein detecting an operating system associated with the computing device comprises:

running one or more operating system detection rules;

generating a weighted matrix of predicted operating systems;

running a machine learning operating system detection model;

generating a prediction by the machine learning operating system detection model;

adding the prediction to the weighted matrix;

normalizing one or more weights associated with the weighted matrix;

calculating a probability for each operating system; and

predicting a device operating system responsive to the calculating.

6. The method of claim 1 , wherein detecting a control associated with the computing device comprises:

running one or more control-detection rules;

generating a weighted matrix of predicted control;

normalizing one or more weights associated with the weighting matrix;

calculating a probability to determine automatic operation versus user-controlled operation for the computing device; and

determining a device control responsive to the calculation.

7. The method of claim 1 , wherein detecting a functionality of the computing device comprises:

running function-detection rules,

generating a weighted prediction matrix, wherein the weighted prediction matrix includes a type of the computing device, an operating system associated with the computing device, and a control associated with the computing device;

generating a prediction using a trained machine learning model;

adding the prediction to the weighted prediction matrix;

normalizing one or more numerical weights associated with the prediction;

calculating a probability for a plurality of functions associated with the prediction; and

detecting a functionality of the computing device as a function with a substantially maximum probability.

8. The method of claim 1 , further comprising classifying the computing device based on ownership, wherein the computing device is classified as a corporate device, an employee-owned device, a visitor device, a transient device, or a neighboring device.

9. The method of claim 8 , wherein the classification is performed on a basis of an average visibility over time associated with the computing device, and an average visibility to one or more sensors.

10. The method of claim 1 , wherein the communication data includes data associated with a wireless communication protocol or a wired communication protocol.

11. The method of claim 1 , wherein the hyper context is defined independently of an IP address associated with the computing device.

12. The method of claim 1 , wherein the communication data is associated with the computing device communicating over a computer network independently of the network gateway.

13. An apparatus to generate a hyper context associated with a computing device, the apparatus comprising:

a database;

a network gateway configured to receive communication data from the computing device and store the communication data in the database;

a processing system configured to access the communication data from the database and process the communication data, wherein the processing system:

extracts one or more features associated with the computing device from the communication data;

detects a type of the computing device;

detects an operating system associated with the computing device;

detects a control associated with the computing device;

detects a functionality of the computing device;

detects an ownership of the computing device; and

defines a hyper context associated with the computing device, wherein the hyper context is comprised of a type context, a category context, an operating system context, an ownership context related to information regarding an entity that owns the computing device, a connectivity context, and a control context, and wherein the defining a hyper context includes at least one normalization operation on at least one weighted matrix that includes one or more predicted features of the computing device.

14. The apparatus of claim 13 , wherein at least one of the detecting a type of the computing device, detecting an operating system, detecting a control, and detecting a functionality includes calculating a respective probability measure.

15. The apparatus of claim 13 , wherein the network gateway includes a wireless sensor array and a network traffic sensor array.

16. The apparatus of claim 15 , wherein the wireless sensor array includes a WiFi packet sniffer and a Bluetooth packet sniffer.

17. The apparatus of claim 13 , wherein the processing system classifies the computing device, and wherein the computing device is classified as a corporate device, an employee-owned device, a visitor device, a transient device, or a neighboring device.

18. The apparatus of claim 17 , wherein the classification is performed on a basis of an average visibility over time associated with the computing device, and an average visibility to one or more sensors.

19. The apparatus of claim 13 , wherein the communication data includes packet data, WiFi radio data, Bluetooth data, or Bluetooth Low Energy data.

20. The apparatus of claim 13 , wherein the features include a manufacturer, a device host name, a list of top sites visited, a number of sites visited, one or more top user-agents used, one or more network features, one or more operating system signatures, one or more active hours, an hourly behavior profiling, and a realtime behavior profiling.

21. The apparatus of claim 20 , wherein an operating system signature includes one or more unique sites visited by an operating system associated with the computing device.

22. The apparatus of claim 20 , wherein an active hour includes active hours associated with the computing device based on packet traffic data, and observed hours associated with WiFi sniff data.

23. The apparatus of claim 13 , wherein the hyper context is defined independently of an IP address associated with the computing device.

24. The apparatus of claim 13 , wherein the communication data is associated with the computing device communicating over a computer network independently of the network gateway.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 30, 2022
From: WOOTCLOUD INC.
To: NETSKOPE, INC.
Reel/Frame 060943/0474 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2020
From: AKELLA, SRINIVAS; SHEIKH-BAHAEI, SHAHAB
To: WOOTCLOUD INC.
Reel/Frame 052017/0404 →
Continuity (1)
Related Publication 20210281566A1 · Sep 9, 2021
References Cited (56)
US 7290046B1 · Kumar · 2007 [cited by examiner]
US 8370955B2 · Proctor, Jr. · 2013 [cited by examiner]
US 8856315B2 · Tyree · 2014 [cited by examiner]
US 8973088B1 · Leung · 2015 [cited by examiner]
US 9374663B2 · Lee · 2016 [cited by examiner]
US 9642013B2 · Shaulov · 2017 [cited by examiner]
US 9774604B2 · Zou · 2017 [cited by examiner]
US 9948626B2 · Zou · 2018 [cited by examiner]
US 10057227B1 · Hess · 2018 [cited by examiner]
US 10404532B2 · Ramasubramani · 2019 [cited by examiner]
US 10601604B2 · Kozura · 2020 [cited by examiner]
US 10841316B2 · Innes · 2020 [cited by examiner]
US 10924144B2 · Zalewski · 2021 [cited by examiner]
US 10999390B2 · Ramasamy · 2021 [cited by examiner]
US 11270312B1 · Jass · 2022 [cited by examiner]
US 11550351B2 · Imes · 2023 [cited by examiner]
US 11954112B2 · Siebel · 2024 [cited by examiner]
US 20080253380A1 · Cazares · 2008 [cited by examiner]
US 20080281607A1 · Sajja · 2008 [cited by examiner]
US 20100088747A1 · Fink · 2010 [cited by examiner]
US 20100299401A1 · Lloyd · 2010 [cited by examiner]
US 20130167203A1 · Etchegoyen · 2013 [cited by examiner]
US 20130242795A1 · Heen · 2013 [cited by examiner]
US 20140283062A1 · Kamthe · 2014 [cited by examiner]
US 20150081382A1 · L'Heureux · 2015 [cited by examiner]
US 20150237038A1 · Grajek · 2015 [cited by examiner]
US 20160217022A1 · Velipasaoglu · 2016 [cited by examiner]
US 20160226892A1 · Sen · 2016 [cited by examiner]
US 20170041345A1 · Mandalia · 2017 [cited by examiner]
US 20170150357A1 · Waytena, Jr. · 2017 [cited by examiner]
US 20170299633A1 · Pietrowicz · 2017 [cited by examiner]
US 20180077572A1 · Trappitt · 2018 [cited by examiner]
US 20180145834A1 · Dharankar · 2018 [cited by examiner]
US 20190043148A1 · Vemury · 2019 [cited by examiner]
US 20190190920A1 · Connell, II · 2019 [cited by examiner]
US 20190297102A1 · Davis, III · 2019 [cited by examiner]
US 20190356505A1 · Madden · 2019 [cited by examiner]
US 20200184556A1 · Cella · 2020 [cited by examiner]
US 20200213352A1 · Fainberg · 2020 [cited by examiner]
US 20200344203A1 · Mermoud · 2020 [cited by examiner]
US 20210099473A1 · Fainberg · 2021 [cited by examiner]
US 20210258774A1 · Ramsay, III · 2021 [cited by examiner]
US 20210271962A1 · Abhishek · 2021 [cited by examiner]
CA 3000493A1 · 2019 [cited by examiner]
Uluagac et al.; A Passive Technique for Fingerprinting Wireless Devices with Wired-side Observations; IEEE (Year: 2013). [cited by examiner]
Sivanathan et al.; Classifying IoT Devices in Smart Environments Using Network Traffic Characteristics; IEEE (Year: 2019). [cited by examiner]
Kim et al.; Deriving and Measuring DNS-based Fingerprints; www.elsevier.com/locate/jisa (Year: 2017). [cited by examiner]
Hall, Detection of rogue device in wireless networks; PhD, thesis, Ottaway Carleton Institute of Computer Science, Carleton University (Year: 2006). [cited by examiner]
Vo-Huu et al.; Fingerprinting WiFi Devices Using Software Defined Radios; 2016 ACM ISBN 978-1-4503-4270-4/16/07 (Year: 2019). [cited by examiner]
Bitar, et al.; Wireless Technology Identification Using Deep Convolutional Neural Networks; IEEE (Year: 2017). [cited by examiner]
Dong et al.; Your Smart Home Can't Keep a Secret: Towards Automated Fingerprinting of IoT Traffic with Neural Networks; ACM (Year: 2019). [cited by examiner]
Aneja et al.; IoT Device Fingerprint using Deep Learningf; IEEE (Year: 2018). [cited by examiner]
Marchal et al.; AUDI: Toward Autonomous IoT Device-Type Identification Using Periodic Communicator; IEEE (Year: 2019). [cited by examiner]
Shahid et al.; IoT Devices Recognition Through Network Traffic Analysis; IEEE (Year: 2018). [cited by examiner]
Alotaibi et al.; A New MAC Address Spoofing Detection Technique Based on Random Forests; www.mdpi.com/jounal/sensors (Year: 2016). [cited by examiner]
Aksoy et al.; Automated IoT Device Indentification using Network Traffic; ICC 20199—2019 IEEE International Conference on Communications (ICC) (Year: 2019). [cited by examiner]