Methods and systems for transmitting performance beacons from an embedded device
First Claim
1. A method for monitoring an execution path of an embedded device, the embedded device including a processor, a network interface, and a data storage device storing firmware of the embedded device, the method comprising:
- for each of a plurality of functions that are part of the firmware of the embedded device,(i) executing the function by the processor of the embedded device, wherein prior to the execution of the function, code is inserted into the function, the code configured to initiate a process during which a performance beacon is wirelessly transmitted from the embedded device, and(ii) in response to the function being executed, wirelessly transmitting, by the network interface, the performance beacon from the embedded device, wherein the performance beacon includes an identifier of the embedded device, an identifier of the function, and a time stamp recording a time at which the function was executed;
wirelessly transmitting a plurality of performance beacons from the embedded device to a server;
reconstructing, by the server, an execution path of the embedded device from the plurality of performance beacons;
learning, by a machine learning module hosted on the server, a typical execution path of the embedded device;
comparing, by the server, the reconstructed execution path to the typical execution path of the embedded device; and
if the reconstructed execution path deviates from the typical execution path, notifying, by a notification module hosted on the server, a user that the reconstructed execution path of the embedded device deviates from the typical execution path of the embedded device.
1 Assignment
0 Petitions
Accused Products
Abstract
A network sensor, inserted into a mirror port of a network switch or router, may be configured to monitor the network traffic originating from an embedded device. Metadata in the network traffic may be passively extracted by the network sensor and transmitted to a server in order to monitor and analyze the behavior of the embedded device. The server may employ machine learning to distinguish typical behavior of the embedded device from atypical behavior. Further, code may be injected into the firmware of the embedded device, and the code may be programmed to broadcast a performance beacon whenever certain firmware functions are executed. A collection of the performance beacons may be analyzed at the server to reconstruct an execution path of the embedded device, and machine learning may be applied to determine whether the execution path is typical or atypical.
15 Citations
14 Claims
-
1. A method for monitoring an execution path of an embedded device, the embedded device including a processor, a network interface, and a data storage device storing firmware of the embedded device, the method comprising:
-
for each of a plurality of functions that are part of the firmware of the embedded device, (i) executing the function by the processor of the embedded device, wherein prior to the execution of the function, code is inserted into the function, the code configured to initiate a process during which a performance beacon is wirelessly transmitted from the embedded device, and (ii) in response to the function being executed, wirelessly transmitting, by the network interface, the performance beacon from the embedded device, wherein the performance beacon includes an identifier of the embedded device, an identifier of the function, and a time stamp recording a time at which the function was executed; wirelessly transmitting a plurality of performance beacons from the embedded device to a server; reconstructing, by the server, an execution path of the embedded device from the plurality of performance beacons; learning, by a machine learning module hosted on the server, a typical execution path of the embedded device; comparing, by the server, the reconstructed execution path to the typical execution path of the embedded device; and if the reconstructed execution path deviates from the typical execution path, notifying, by a notification module hosted on the server, a user that the reconstructed execution path of the embedded device deviates from the typical execution path of the embedded device. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for monitoring an execution path of an embedded device, the system comprising:
-
the embedded device including a processor, a network interface, and a data storage device configured to store firmware of the embedded device, the firmware including instructions which when executed by the processor causes the processor to; for each of a plurality of functions that are part of the firmware of the embedded device, (i) execute the function, wherein prior to the execution of the function, code is inserted into the function, the code configured to initiate a process during which a performance beacon is wirelessly transmitted from the embedded device, and (ii) in response to the function being executed, instruct the network interface to wirelessly transmit the performance beacon from the embedded device, wherein the performance beacon includes an identifier of the embedded device, an identifier of the function, and a time stamp recording a time at which the function was executed; and transmit a plurality of performance beacons from the embedded device to a server; and the server configured to; reconstruct an execution path of the embedded device from the plurality of performance beacons; learn a typical execution path of the embedded device; compare the reconstructed execution path to the typical execution path of the embedded device; and if the reconstructed execution path deviates from the typical execution path, notify a user that the reconstructed execution path of the embedded device deviates from the typical execution path of the embedded device. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
Specification