IP Library Granted Patent US 11,677,757
Granted Patent B2
US 11,677,757 · App. 16/498,009 · Granted Jun 13, 2023

Initialization vector identification for encrypted malware traffic detection

Inventors: Fadi El-Moussa (London, GB); George Kallos (London, GB)
Assignee: British Telecommunications Public Limited Company
H04L63/1416G06N3/04G06N3/084
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 11,677,757
App. No.
16/498,009
Granted
Jun 13, 2023
Kind
B2
Abstract

A method for identifying malicious encrypted network traffic associated with a malware software component communicating via a network, the method including, for the malware, a portion of network traffic including a plurality of contiguous bytes occurring at a predefined offset in a network communication of the malware; extracting the defined portion of network traffic for each of a plurality of disparate encrypted network connections for the malware; training an autoencoder based on each extracted portion of network traffic, wherein the autoencoder includes: a set of input units each for representing information from a byte of an extracted portion; output units each for storing an output of the autoencoder; and a set of hidden units smaller in number than the set of input units and each interconnecting all input and all output units with weighted interconnections, such that the autoencoder is trainable to provide an approximated reconstruction of values of the input units at the output units; selecting a set of one or more offsets in the definition of a portion of network traffic as candidate locations for communication of an initialization vector for encryption of the network traffic, the selection being based on weights of interconnections in the autoencoder; and identifying malicious network traffic based on an identification of an initialization vector in the network traffic at one of the candidate locations.

Claims (26)

1. A method for identifying malicious encrypted network traffic associated with a malware software component communicating via a network, the method comprising:

defining, for the malware software component, a portion of network traffic including a plurality of contiguous bytes occurring at a predefined offset in a network communication of the malware software component;

extracting the defined portion of network traffic for each of a plurality of disparate encrypted network connections for the malware software component;

training an autoencoder based on each extracted defined portion of network traffic, wherein the autoencoder includes:

a set of input units each for representing information from a byte of an extracted software component portion of network traffic,

output units each for storing an output of the autoencoder, and

a set of hidden units smaller in number than the set of input units and each interconnecting all input units and all output units with weighted interconnections, such that the autoencoder is trainable to provide an approximated reconstruction of values of the input units at the output units;

selecting a set of one or more offsets in the definition of a portion of network traffic as candidate locations for communication of an initialization vector for encryption of the network traffic, the selection being based on the weights of the interconnections in the autoencoder; and

identifying malicious network traffic based on the identification of an initialization vector in the network traffic at one of the candidate locations.

2. The method of claim 1 , wherein at least a portion of the plurality of disparate network connections includes network connections for which network traffic is encrypted using a different initialization vector of the encryption.

3. The method of claim 1 , wherein the initialization vector changes for each successive communication between the malware software component and a new communication endpoint based on a predetermined pattern, and the identification of an initialization vector is made based on a prior initialization vector and the predetermined pattern.

4. The method of claim 3 , wherein the pattern is an incrementation of the initialization vector for the successive communications.

5. The method of claim 1 , wherein the autoencoder is trainable using a backpropagation algorithm for adjusting weights of interconnections between the autoencoder units.

6. The method of claim 1 , wherein training the autoencoder further includes using a gradient descent algorithm.

7. A computer system comprising:

a processor and memory storing computer program code for identifying malicious encrypted network traffic associated with a malware software component communicating via a network, by:

defining, for the malware software component, a portion of network traffic including a plurality of contiguous bytes occurring at a predefined offset in a network communication of the malware software component;

extracting the defined portion of network traffic for each of a plurality of disparate encrypted network connections for the malware software component;

training an autoencoder based on each extracted defined portion of network traffic,

wherein the autoencoder includes:

a set of input units each for representing information from a byte of an extracted software component portion of network traffic,

output units each for storing an output of the autoencoder, and

a set of hidden units smaller in number than the set of input units and each interconnecting all input units and all output units with weighted interconnections, such that the autoencoder is trainable to provide an approximated reconstruction of values of the input units at the output units;

selecting a set of one or more offsets in the definition of a portion of network traffic as candidate locations for communication of an initialization vector for encryption of the network traffic, the selection being based on the weights of the interconnections in the autoencoder; and

identifying malicious network traffic based on the identification of an initialization vector in the network traffic at one of the candidate locations.

8. A non-transitory computer-readable storage medium storing a computer program element comprising computer program code to, when loaded into a computer system and executed thereon, cause the computer system to perform the method as claimed in claim 1 .

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 26, 2019
From: EL-MOUSSA, FADI; KALLOS, GEORGE
To: BRITISH TELECOMMUNICATIONS PUBLIC LIMITED COMPANY
Reel/Frame 050502/0516 →
Priority Claims (1)
EP 17163365 · Mar 28, 2017 · regional
Continuity (1)
Related Publication 20200053104A1 · Feb 13, 2020
Cited By (1)
US 12,640,994