IP Library Granted Patent US 10,693,896
Granted Patent B2
US 10,693,896 · App. 15/543,234 · Granted Jun 23, 2020

Anomaly and malware detection using side channel analysis

Inventors: Denis Foo Kune (Saint Paul, MN); Benjamin Andrew Ransford (Seattle, WA); Daniel Edward Holcomb (Hadley, MA)
Assignee: Virta Laboratories, Inc.
H04L63/1425G06F1/28G06F21/56H04L41/06H04Q9/00H04L67/34
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,693,896
App. No.
15/543,234
Granted
Jun 23, 2020
Kind
B2
Abstract

The present disclosure describes systems and methods for detecting malware. More particularly, the system includes a monitoring device that monitors side-channel activity of a target device. The monitoring device that can work in conjunction with (or independently of) a cloud-based security analytics engine to perform anomaly detection and classification on the side-channel activity. For example, the monitoring device can calculate a first set of features that are then transmitted to the security analytics engine for anomaly detection and classification.

Claims (42)

1. A method for anomaly detection comprising:

receiving, by one or more data processors, an input signal comprising a plurality of samples, each of the plurality of samples representing a power consumption level from an alternating current (AC) source of a target device at a given time;

storing, by the one or more data processors, the plurality of samples as a data structure in a memory element coupled to the one or more data processors;

retrieving, by the one or more data processors, a subset of the plurality of samples from the data structure;

calculating, by the one or more data processors, a feature sample comprising at least a root-mean square value for the subset of the plurality of samples;

transmitting, by the one or more data processors and to a remote server, the feature sample;

receiving, by the one or more data processors and from the remote server, a classification of the feature sample; and

generating, by the one or more data processors, an alarm signal responsive to the classification of the feature sample indicating an anomaly.

2. The method of claim 1 , further comprising receiving the input signal from a current sensor including one of a current sense resistor, a current transformer, and a Hall effect sensor.

3. The method of claim 1 , further comprising calculating a frequency content for the subset of the plurality of samples in each of a plurality of frequency bins.

4. The method of claim 3 , further comprising calculating the feature sample for at least one of the plurality of frequency bins.

5. The method of claim 1 , wherein calculating the feature sample further comprises calculating a Fourier transform of the subset of the plurality of samples.

6. The method of claim 1 , wherein calculating the feature sample further comprises calculating at least one of a mean, a standard deviation, a skew, and a kurtosis of the subset of the plurality of samples.

7. The method of claim 1 , wherein calculating the feature sample further comprises calculating an aggregate power consumption of the target device over the subset of the plurality of samples.

8. The method of claim 1 , wherein the anomaly comprises at least one of a computer virus, a worm, a trojan horse, a ransomware, a spyware, an adware, and a scareware executing on the target device.

9. A monitoring device comprising:

a pass-through power circuit comprising an inlet and an outlet;

a current sensor configured to generate a signal corresponding to an amount of AC current flowing through the pass-through power circuit; and

one or more data processors configured to:

convert the signal into a plurality of samples representing a level of AC current flowing into a target device at a given time;

store the plurality of samples as a data structure in a memory element coupled to the one or more data processors;

retrieve a subset of the plurality of samples from the data structure stored in the memory element;

calculate a feature sample comprising at least a root-mean square value of the subset of the plurality of samples;

transmit the feature sample to a remote server;

receive from the remote server a classification of the feature sample; and

generate, responsive to receiving a feature classification indicating an anomaly, an alarm signal.

10. The device of claim 9 , wherein the current sensor comprises one of a current sense resistor, a current transformer, and a Hall effect sensor.

11. The device of claim 9 , wherein the one or more data processors are further configured to calculate a frequency content for the subset of the plurality of samples in each of a plurality of frequency bins.

12. The device of claim 11 , wherein the one or more data processors are further configured to calculate the feature sample for at least one of the plurality of frequency bins.

13. The device of claim 9 , wherein the one or more data processors are further configured to calculate a Fourier transform of the subset of the plurality of samples.

14. The device of claim 9 , wherein the feature sample includes at least one of a mean, a standard deviation, a skew, and a kurtosis of the subset of the plurality of samples.

15. The device of claim 9 , wherein the feature sample includes an aggregate power consumption of the target device over the subset of the plurality of samples.

16. The device of claim 9 , wherein the anomaly comprises at least one of a computer virus, a worm, a trojan horse, a ransomware, a spyware, an adware, and a scareware executing on the target device.

17. A non-transitory computer readable medium storing processor executable instructions thereon, the instructions, when executed by one or more data processors, cause the one or more data processors to:

receive an input signal comprising a plurality of samples, each of the plurality of samples representing a power consumption level from an AC source of a target device at a given time;

store the plurality of samples as a data structure in a memory element coupled to the one or more data processors;

retrieve a subset of the plurality of samples from the data structure;

calculate a feature sample comprising at least a root-mean square value for the subset of the plurality of samples;

transmit the feature sample;

receive a classification of the feature sample; and

generate an alarm signal responsive to the classification of the feature sample indicating an anomaly.

18. The computer readable medium of claim 17 , wherein the instructions further cause the one or more data processors to calculate a frequency content for the subset of the plurality of samples in each of a plurality of frequency bins.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2020
From: KUNE, DENIS FOO; RANSFORD, BENJAMIN ANDREW; HOLCOMB, DANIEL EDWARD
To: VIRTA LABORATORIES, INC.
Reel/Frame 052608/0576 →
Continuity (2)
Provisional Application 62103482 · Jan 14, 2015
Related Publication 20180007074A1 · Jan 4, 2018
Cited By (2)
US 12,284,087 US 12,309,039