IP Library › Granted Patent US 12,603,861
Granted Patent B2
US 12,603,861 · App. 18/646,655 · Granted Apr 14, 2026

Defense-in-depth method based on known device behavior

Inventors: Kevin Kornegay (Middle River, MD); Khir Henderson (Baltimore, MD)
Assignee: Morgan State University
H04L63/0236H04L63/102H04L63/20H04L63/0876
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,603,861
App. No.
18/646,655
Granted
Apr 14, 2026
Kind
B2
Abstract

Methods and systems identify a device on an IoT network. A network controller detects connection of the device on the IoT network and determines an organizational unique identifier (OUI) from a media access control (MAC) address of the device. The network controller retrieves a vendor ID from an OUI database. The network controller sends requests to the device via transmission control protocol (TCP) ports and receives a TCP port output. The network controller sends user datagram protocol (UDP) datagrams to the device via UDP ports and receives a UDP port output. The network controller determines a device fingerprint from the vendor ID, the TCP port output, and the UDP port output and matches the device fingerprint to parameters in an identity database to determine a first identity of the device. The network controller sends a DHCP deauthorization request to the device. After detecting reconnection of the device on the IoT network, the network controller collects DHCP option 55 parameters from the device and refines the first identity to determine a second identity based on the parameters.

Claims (56)

1 . A method for identifying an unknown device on an Internet of Things (IoT) network, the method comprising:

detecting connection of an unknown device on the IoT network;

determining an organizational unique identifier (OUI) from a media access control (MAC) address of the unknown device;

determining a hostname from a DNS reverse lookup of the unknown device;

retrieving a vendor identifier (ID) from an OUI database corresponding to the OUI;

sending a plurality of requests to the unknown device including TCP SYN probes generated as raw IP packets and directed to a predefined set of TCP port numbers associated with IoT services, wherein each request is sent to one of a plurality of transmission control protocol (TCP) ports of the unknown device;

receiving a TCP port output comprising a corresponding response to each request made to a corresponding one of the plurality of TCP ports;

sending a plurality of user datagram protocol (UDP) datagrams to the unknown device including UDP datagrams with protocol-specific payloads to elicit service-specific responses from DNS, SNMP, and DHCP services, wherein each datagram is sent to one of a plurality of UDP ports of the unknown device;

receiving a UDP port output comprising a corresponding response to each datagram sent to a corresponding one of the plurality of UDP ports;

sending a dynamic host configuration protocol (DHCP) deauthorization request to the unknown device;

detecting reconnection of the unknown device on the IoT network;

collecting and filtering DHCP options and parameters (e.g., DHCP Hostname from Option 12) from the unknown device;

collecting and filtering DHCP option 55 parameters from the unknown device;

determining from the vendor ID, the TCP port output, and the UDP port output a device fingerprint, wherein the device fingerprint comprises a tuple including: (i) the vendor ID mapped from the OUI, (ii) a TCP port-state vector comprising open/closed/filtered states per probed port, and (iii) a UDP port-state vector comprising open/open|filtered/closed/filtered per probed port;

determining a first identity of the unknown device based on matching the device fingerprint to parameters in an identity database, wherein matching comprises comparing the tuple to entries in a structured, MUD-oriented identity database;

refining the first identity to determine a second identity based on the DHCP option 55 parameters, wherein refining the first identity comprises correlating values in the collected DHCP Option 55 parameters with manufacturer- and model-specific parameter request patterns stored in the identity database; and

applying, by a network controller, a behavior-based access policy associated with the refined identity.

2 . The method of claim 1 , further comprising determining an access policy for the unknown device having the second identity.

3 . The method of claim 2 , further comprising determining a behavior profile from the access policy.

4 . The method of claim 3 , further comprising determining a plurality of behavior-based security policies from the behavior profile.

5 . The method of claim 4 , wherein the determining comprises correlating and selecting at least one of the plurality of behavior-based security policies based on the second identity and the behavior profile.

6 . The method of claim 4 , wherein the plurality of behavior-based security policies comprise one or more policies for intrusion detection, intrusion prevention, dynamic access control, or device authentication.

7 . The method of claim 1 , further comprising populating a datafile associated with the first identity with the vendor ID, the TCP port output, and the UDP port output to create a device fingerprint for the unknown device.

8 . The method of claim 7 , further comprising populating the datafile associated with the first identity with the DHCP Option 55 parameters to create a combined device fingerprint for the unknown device.

9 . The method of claim 8 , wherein a structure of the datafile is specified by a Manufacturer Usage Description (MUD) for the first identity or the second identity, wherein the MUD is defined by Request for Comments (RFC) 8520 and defines rules for establishing an access policy for a device of the first identity or the second identity.

10 . The method of claim 3 , further comprising creating a software-defined network to automate functions of the IoT network according to a Manufacturer Usage Description (MUD) selected based on the behavior profile.

11 . The method of claim 1 , further comprising extracting features of the identity database into a structured aggregate of prime features characterizing an identified IoT device and processing the structured aggregate of prime features through an ensemble machine learning (ML) model to train the ensemble ML model to accurately identify another IoT device having the prime features.

12 . The method of claim 11 , wherein the structured aggregate of prime features is selected based on a correlation with features associated with security techniques, and wherein the method further comprises processing the behavior profile and the first identity or the second identity through the ensemble ML model to select one or more individual security techniques for defense-in-depth for the identified IoT device.

13 . A system for identifying an unknown device on an Internet of Things (IoT) network, the system comprising one or more processors and memory storing computer-executable instructions that, when executed by the one or more processors, causes the system to:

detect connection of an unknown device on the IoT network;

determine an organizational unique identifier (OUI) from a media access control (MAC) address of the unknown device;

determine a hostname from a DNS reverse lookup of the unknown device;

retrieve a vendor identifier (ID) from an OUI database corresponding to the OUI;

send a plurality of requests to the unknown device, wherein each request is sent to one of a plurality of transmission control protocol (TCP) ports of the unknown device, wherein sending the plurality of requests comprises generating TCP SYN probes as raw IP packets directed to a predefined set of TCP port numbers associated with IoT services, and monitoring for SYN-ACK and RST responses to populate a TCP port-state vector;

receive a TCP port output comprising a corresponding response to each request made to a corresponding one of the plurality of TCP ports;

send a plurality of user datagram protocol (UDP) datagrams to the unknown device, wherein each datagram is sent to one of a plurality of UDP ports of the unknown device, wherein sending the plurality of UDP datagrams comprises transmitting protocol-specific UDP payloads to elicit service-specific responses from DNS, SNMP, and DHCP services, and classifying responses and ICMP ‘port unreachable’ codes to populate a UDP port-state vector;

receive a UDP port output comprising a corresponding response to each datagram sent to a corresponding one of the plurality of UDP ports;

send a dynamic host configuration protocol (DHCP) deauthorization request to the unknown device;

detect reconnection of the unknown device on the IoT network;

collect and filter DHCP options and parameters (e.g., DHCP Hostname from Option 12) from the unknown device, including parsing a DHCP Option 55 Parameter Request List emitted during a DHCP discovery process;

collect and filter DHCP option 55 parameters from the unknown device;

determine from the vendor ID, the TCP port output, and the UDP port output a device fingerprint, wherein the device fingerprint comprises a tuple including: (i) the vendor ID mapped from the QUI, (ii) a TCP port-state vector comprising open/closed/filtered states per probed TCP port, and (iii) a UDP port-state vector comprising open/open|filtered/closed/filtered states per probed UDP port;

determine a first identity of the unknown device based on matching the device fingerprint to parameters in an identity database, wherein determining the first identity comprises comparing the device-fingerprint tuple to entries in a structured centralized fingerprints/identity database; and

refine the first identity to determine a second identity based on the DHCP option 55 parameters, wherein refining the first identity comprises correlating values in the collected DHCP Option 55 parameters with manufacturer- and model-specific parameter-request patterns stored in the identity database.

14 . The system of claim 13 , further comprising computer-executable instructions that, when executed by the one or more processors, causes the system to determine an access policy for the unknown device having the second identity.

15 . The system of claim 14 , further comprising computer-executable instructions that, when executed by the one or more processors, causes the system to determine a behavior profile from the access policy.

16 . The system of claim 15 , further comprising computer-executable instructions that, when executed by the one or more processors, causes the system to determine a plurality of behavior-based security policies from the behavior profile.

17 . The system of claim 16 , wherein to determine the plurality of behavior-based security policies from the behavior profile, execution of the computer-executable instructions by the one or more processors causes the system to correlate and select at least one of the plurality of behavior-based security policies based on the second identity and the behavior profile.

18 . The system of claim 16 , wherein the plurality of behavior-based security policies comprise one or more policies for intrusion detection, intrusion prevention, dynamic access control, or device authentication.

19 . The system of claim 13 , further comprising computer-executable instructions that, when executed by the one or more processors, causes the system to populate a datafile associated with the first identity with the vendor ID, the TCP port output, and the UDP port output to create a device fingerprint for the unknown device.

20 . The system of claim 19 , further comprising computer-executable instructions that, when executed by the one or more processors, causes the system to populate the datafile associated with the first identity with the DHCP Option 55 parameters to create a combined device fingerprint for the unknown device.

21 . The system of claim 20 , wherein a structure of the datafile is specified by a Manufacturer Usage Description (MUD) for the first identity or the second identity, wherein the MUD is defined by Request for Comments (RFC) 8520 and defines rules for establishing an access policy for a device of the first identity or the second identity.

22 . The system of claim 13 , further comprising computer-executable instructions that, when executed by the one or more processors, causes the system to:

extract features of the identity database into a structured aggregate of prime features characterizing an identified IoT device; and

process the structured aggregate of prime features through an ensemble machine learning (ML) model to train the ensemble ML model to accurately identify another IoT device having the prime features.

23 . The system of claim 22 , wherein the structured aggregate of prime features is selected based on a correlation with features associated with security techniques, and wherein the system further comprises computer-executable instructions that, when executed by the one or more processors, causes the system to process the behavior profile and the first identity or the second identity through the ensemble ML model to select one or more individual security techniques for defense-in-depth for the identified IoT device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2024
From: KORNEGAY, KEVIN; HENDERSON, KHIR
To: MORGAN STATE UNIVERSITY
Reel/Frame 067309/0301 →
Continuity (2)
Provisional Application 63461641 · Apr 25, 2023
Related Publication 20240430229A1 · Dec 26, 2024
References Cited (20)
US 8204984B1 · Aziz · 2012 [cited by examiner]
US 11539716B2 · Meng et al. · 2022 [cited by applicant]
US 20020184533A1 · Fox · 2002 [cited by examiner]
US 20150143504A1 · Desai · 2015 [cited by examiner]
US 20170302665A1 · Zou et al. · 2017 [cited by applicant]
US 20180145986A1 · Chien · 2018 [cited by examiner]
US 20180262533A1 · McCaig et al. · 2018 [cited by applicant]
US 20220303167A1 · Wang et al. · 2022 [cited by applicant]
P. Baral, N. Yang, and N. Weng, “IoT Device Identification Using Device Fingerprint and Deep Learning,” IntechOpen, pp. 2-23, 2023. [cited by applicant]
B. Bezawada, M. Bachani, J. Peterson, H. Shirazi, and I. Ray “Behavior Fingerprinting of IoT Devices,” Colorado State University, pp. 41-50, Oct. 2018. [cited by applicant]
C. Koball, B. Rimal, Y. Want, T. Salmen, and C. Ford “IoT Device Identification Using Unsupervised Machine Learning,” MDPI, pp. 1-11, 2023. [cited by applicant]
K. Kostas, M. Just, and M. Lones, “A behavior-based device identification method for the IoT,” IEE Internet of Things Journal, pp. 1-10, 2022. [cited by applicant]
Y. Liu, J. Wang, J. Li, S. Niu, and H. Song, “Machine Learning for the Detection and Identification of IoT Devices,” IEE Internet of Things Journal, pp. 1-23, 2020. [cited by applicant]
A. Sivanathan, H. H. Gharakheili, F. Loi, A. Radford, C. Wijenayake, A. Vish-wanath, and V. Sivaraman, “Classifying IoT Devices in Smart Environments Using Network Traffic Characteristics,” IEEE Transactions on Mobile C… [cited by applicant]
A. Sivanathan, H. H. Gharakheili, and V. Sivaraman, “Inferring IoT Device Types from Network Behavior Using Unsupervised Clustering,” Proceedings—Conference on Local Computer Networks, LCN, vol. 2019—Octob, pp. 230-233,… [cited by applicant]
A. Sivanathan, H. H. Gharakheili, and V. Sivaraman, “Can We Classify an IoT Device using TCP Port Scan?” 018 IEEE 9th International Conference on Information and Automation for Sustainability, ICIAfS 018, 2018. [cited by applicant]
D. Dodson, D. Montgomery, T. Polk, M. Ranganathan, M. Souppaya, S. Johnson, A. Kadam, C. Pratt, D. Thakore, M. Walker, E. Lear, B. Weis, W. C. Barker, D. Coclin, A. Hojjati, C. Wilson, T. Jones, A. Baykal, D. Cohen, K. … [cited by applicant]
Cisco, “Cisco Identity Services Engine—Cisco,” 2022, Accessed on: Mar. 16, 2022. [Online]. Available: https://www.cisco.com/c/en/us/products/security/ identity-services-engine/index.html. [cited by applicant]
Cisco, “What is MUD?—Manufacturer Usage Description—Document—Cisco DevNet,” 2022, Accessed on: Mar. 13, 2022. [Online]. Available: https://developer.cisco.com/docs/mud/#!what-is-mud. [cited by applicant]
Cisco, “FAQ—Manufacturer Usage Description—Document—Cisco DevNet,” 2019, Accessed on: Mar. 16, 2022. [Online]. Available: https: //developer.cisco.com/docs/mud/#!faq/frequently-asked-questions-faq. [cited by applicant]