IP Library Granted Patent US 10,242,193
Granted Patent B1
US 10,242,193 · App. 15/862,044 · Granted Mar 26, 2019

Method of resource-limited device and device class identification using system and function call tracing techniques, performance, and statistical analysis

Inventors: Leonardo Babun (Miami, FL); Hidayet Aksu (Miami, FL); A. Selcuk Uluagac (Miami, FL)
Assignee: The Florida International University Board of Trustees
G06F21/57G06F21/577H04L63/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 10,242,193
App. No.
15/862,044
Granted
Mar 26, 2019
Kind
B1
Abstract

Methods for cyber physical systems device classification are provided. A method can include receiving system and function calls and parameters and a device performance index from an unknown CPS device and a device performance index of similar class of CPS devices, calculating an autocorrelation value between different realizations of the system and function calls and parameters of the known CPS device, determining whether the autocorrelation value is greater than a threshold amount, and storing the system and function calls and parameters and the device performance characteristics of the known CPS device in the database. A method can also include calculating a correlation between system and function calls and parameters of an unknown CPS device and known CPS devices classes included in the database, as well as determining whether the maximum correlation is also greater than a threshold amount.

Claims (208)

1. A method of device and device class classification, the method comprising:

providing a known cyber physical system (CPS) device;

extracting, by an extracting device, using system and function call tracing techniques, system and function calls and parameters from the known CPS device;

extracting, by the extracting device using system and function call tracing techniques, system and function calls and parameters at different time intervals from the known CPS device;

calculating an autocorrelation value between different realizations of the system and function calls and parameters of the known CPS device;

determining whether the autocorrelation value is greater than a threshold amount; and

storing in computer memory, the system and function calls and parameters of the known CPS device whose autocorrelation value is greater than the threshold amount in a database,

the database being subdivided into classes of CPS devices.

2. The method of claim 1 , further comprising:

inserting the system and function calls and parameters in a vector expressed as follows:

PSCL i ={x i ∈X i :∃X i ∧X i ≠∅},

x i representing parameters from system and function calls from device i and X i representing system and function call lists from device i.

3. The method of claim 2 , further comprising:

calculating the autocorrelation between different realizations of the system and function calls and parameters of the known CPS device using the following expression:

ρ

Y

i

Y

i

+

t

=

y

i

y

i

+

t

-

n

y

i

y

i

+

t

_

n

s

y

i

s

y

i

+

t

,

y i and y i+t representing PSCLs from a same CPS process but from a different time interval t, n representing the size of the array y (size of PSCL), and s representing the standard deviation.

4. The method of claim 1 , the threshold value of the autocorrelation value between different realizations of the system and function calls and parameters of the known CPS device being 0.6.

5. The method of claim 1 , further comprising:

providing an unknown CPS device;

extracting, by the extracting device, using system and function call tracing techniques, system and function calls and parameters from the unknown CPS device;

calculating a correlation value between the system and function calls and parameters of the unknown CPS device and systems and function calls and parameters of each CPS class device in the database;

determining whether the correlation value is greater than a threshold amount;

accepting the unknown device whose maximum correlation value is also greater than the threshold amount in the database as a known CPS device; and

storing, in computer memory, the system and function calls and parameters of the known CPS device in the database.

6. The method of claim 5 , further comprising:

storing, in the computer memory, the system and function calls and parameters of the known device whose correlation value is equal to or less than the threshold amount in the database as a new class of CPS device.

7. The method of claim 6 , the threshold amount of the correlation between system and function calls and parameters of the unknown device and each system and function calls and parameters of each CPS class device in the database being 0.6.

8. The method of claim 6 , the correlation between the system and function calls and parameters of the unknown CPS device and the system and function calls and parameters in the database being calculated using the following expression:

ρ

XY

=

x

i

y

i

-

n

xy

_

n

s

x

s

y

,

n representing a size of x i and y i which are ground truth PSCL and unknown CPS device PSCL, respectively, x and y representing a mean, and s x and s y representing a standard deviation.

9. The method of claim 1 , further comprising:

extracting, by an extracting device, device performance characteristics from the known CPS device and the device performance characteristics of an unknown CPS device.

10. The method of claim 9 , the device performance characteristics including memory utilization, CPU utilization, and real time of application execution.

11. The method of claim 10 , the device performance characteristics being expressed as the following equation:

DPI= α × β × γ ,

α representing an average of memory utilization, β representing an average of CPU utilization, and γ representing a time period that an application takes to execute a specific task.

12. The method of claim 1 , further comprising: storing, in computer memory, a device signature for each known and unknown CPS device as a function of a parametric system call list (PSCL) and a device performance index (DPI).

13. A non-transitory computer-readable storage medium comprising stored instructions thereon, the instructions when executed causing a processor to:

receive system and function calls and parameters from a known CPS device;

receive device performance characteristics from the known CPS device;

receive system and function calls and parameters at different time intervals from the known CPS device;

receive device performance characteristics at different time intervals from the known device;

calculate an autocorrelation value between different executions of the system and function calls and parameters of the known CPS device;

determine whether the autocorrelation value is greater than a threshold amount; and

store the system and function calls and parameters of the known CPS device whose autocorrelation value is greater than a threshold amount in a database,

the database being subdivided into classes of CPS devices.

14. The method of claim 13 , the device performance characteristics being expressed as the following equation:

DPI= α × β × γ ,

α representing an average of memory utilization, β representing an average of CPU utilization, and γ representing a time period the application takes to execute a specific task.

15. The method of claim 13 , the instructions when executed further causing the processor to:

calculate the autocorrelation between different realizations the system and function calls and parameters of the known CPS device with the following expression:

ρ

Y

i

Y

i

+

t

=

y

i

y

i

+

t

-

n

y

i

y

i

+

t

_

n

s

y

i

s

y

i

+

t

,

y i and y i+t representing PSCLs from a same CPS process but from a different time interval t, n representing a size of an array y (size of PSCL), and s representing a standard deviation.

16. The method of claim 14 , the threshold value of the autocorrelation value between different realizations of the system and function calls and parameters of the known CPS device being 0.6.

17. The method of claim 14 , the instructions when executed further causing the processor to:

receive system and function calls and parameters from an unknown CPS device;

calculate a correlation value between the system and function calls and parameters of the unknown CPS device and the system and function calls and parameters of each CPS device class in the database;

determine whether the correlation value is greater than a threshold amount;

accept the unknown device whose maximum correlation value is also greater than the threshold amount in the database as a known CPS device; and

store the system and function calls and parameters of the unknown CPS device in the database.

18. The method of claim 16 , the threshold value of the correlation value between system and function calls and parameters of the unknown CPS device and the system and function calls and parameters of each CPS device class in the database being 0.6.

19. The method of claim 17 , the correlation between the system and function calls and parameters of the unknown CPS device and the system and function calls and parameters of each CPS device class in the database being calculated using the following expression:

ρ

XY

=

x

i

y

i

-

n

xy

_

n

s

x

s

y

,

n representing a size of x i and y i which are ground truth PSCL and unknown CPS device PSCL, respectively, and y representing a mean, and s x and s y representing a standard deviation.

20. A non-transitory computer-readable storage medium comprising stored instructions thereon, the instructions when executed causing a processor to:

receive system and function calls and parameters from a known Cyber Physical Systems (CPS) device;

receive characteristic parameters related to memory utilization, CPU utilization, and real time of application execution from the known CPS device;

receive system and function calls and parameters from a known CPS device;

receive characteristic parameters related to memory utilization, CPU utilization, and real time of application execution from the unknown CPS device;

calculate an autocorrelation value between different realizations of the system and function calls and parameters of the known CPS device;

determine whether the autocorrelation value is greater than 0.6;

store the system and function calls and parameters of the known CPS device whose autocorrelation value is greater than 0.6 in a database,

the database being subdivided into classes of CPS devices;

receive system and function calls and parameters from an unknown CPS device;

receive characteristic parameters related to memory utilization, CPU utilization, and real time of application execution from the known CPS device;

receive from the database, system and function calls and parameters of each CPS device class;

calculate a correlation value between the system and function calls and parameters of the unknown CPS device and the system and function calls and parameters of each CPS device class in the database;

determine whether the correlation value is greater than 0.6;

accept the unknown device whose maximum correlation value is also greater 0.6 in the database as a known CPS device; and

store the system and function calls and parameters and the device performance characteristics of the unknown CPS device in the database.

Assignments (2)
CONFIRMATORY LICENSE Recorded Nov 22, 2019
From: FLORIDA INTERNATIONAL UNIVERSITY
To: UNITED STATES DEPARTMENT OF ENERGY
Reel/Frame 051097/0039 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2018
From: BABUN, LEONARDO; AKSU, HIDAYET; ULUAGAC, A. SELCUK
To: THE FLORIDA INTERNATIONAL UNIVERSITY BOARD OF TRUSTEES
Reel/Frame 044912/0727 →
Cited By (1)
US 12,531,782