| CPC G06F 8/60 (2013.01) [H04L 63/0876 (2013.01); H04L 63/168 (2013.01); H04L 67/34 (2013.01)] | 22 Claims |

|
1. A system for device fingerprinting, the system comprising:
one or more computer readable storage devices configured to store a plurality of computer executable instructions; and
one or more hardware computer processors in communication with the one or more computer readable storage devices and configured to execute the plurality of computer executable instructions in order to cause the system to:
collect, via one or more distributed software agents on one or more endpoint devices of a computer network, endpoint device data;
analyze, by the one or more distributed software agents or a central server, the endpoint device data to determine at least one of an operating system family and an operating system type of at least one of the one or more endpoint devices, wherein analyzing the endpoint device data comprises:
inputting the endpoint device data into a hierarchical machine learning model comprising:
a first layer, the first layer configured to classify each of the one or more endpoint devices into an operating system family classification; and
a second layer, the second layer configured to classify each of the one or more endpoint devices of a classified operating system family into an operating system type classification;
aggregate, by the one or more distributed software agents or the central server, the operating system family classification and the operating system type classification for each of the one or more endpoint devices to generate a device fingerprint for the respective endpoint device.
|