IP Library Granted Patent US 12,464,015
Granted Patent B2
US 12,464,015 · App. 18/268,774 · Granted Nov 4, 2025

Device, method, and system for supporting botnet traffic detection

Inventor: Gergely Matefi (Budapest, HU)
Assignee: TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
H04L63/1458G06F21/554G06N20/00H04L41/16H04L63/1416H04L63/1425H04L2463/144
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 12,464,015
App. No.
18/268,774
Granted
Nov 4, 2025
Kind
B2
Abstract

The invention relates to a method, a device ( 101 ), a system ( 106 ), a computer program ( 504 ) and a computer program product ( 505 ) for supporting botnet traffic detection. A device ( 101 ) for supporting botnet traffic detection obtains information associated with a first data flow of a first communication device ( 104 a ) and information associated with a second data flow of the first communication device ( 104 a ) or of a second communication device ( 104 b ), and trains a first and a second prediction model. The first and second prediction models are applied to data traffic and a label based on the outputs of the first and the second prediction models is associated with the traffic, wherein the label either indicates benign traffic or malicious traffic.

Claims (83)

1 . A device for supporting botnet traffic detection, the device comprising:

a processor; and

a memory, the memory containing instructions executable by the processor, wherein the instructions, when executed by the processor, cause the device to:

obtain information associated with a first data flow of a first communication device and information associated with a second data flow of the first communication device or a second communication device;

associate the first data flow with a first network flow aggregate, and the second data flow with a second network flow aggregate;

create a first feature set for the first network flow aggregate as a first training set, and a second feature set for the second network flow aggregate as a second training set;

train a first prediction model using the first training set, and a second prediction model using the second training set;

apply the first prediction model and the second prediction model to the second feature set of the second network flow aggregate;

select an output of the first prediction model as a first anomaly score for the second network flow aggregate, and an output of the second prediction model as a second anomaly score for the second network flow aggregate;

associate the second network flow aggregate with a connection, wherein the connection is based on source and destination information, protocol and destination port of the second data flow of the second network flow aggregate;

determine an average difference value for the connection, wherein the average difference value is an average of a difference between the first anomaly score and the second anomaly score;

associate the connection with a label based on the average difference value and a first threshold, wherein the label either indicates benign traffic or malicious traffic;

determine whether or not the label indicates malicious traffic; and

after determining that the label indicates malicious traffic, raise an alarm and/or initiate a remedial action.

2 . The device of claim 1 , wherein the instructions, when executed by the processor, cause the device to obtain information associated with the first data flow of the first communication device and information associated to the second data flow of the first communication device or the second communication device, wherein the first data flow relates to benign traffic and the second data flow relates to evaluation traffic, and the information associated with the first data flow and the second data flow comprises destination and source information, and traffic statistics, wherein traffic statistics comprise data flow starting time, data flow ending time, data flow duration, and data flow traffic volume from source to destination and from destination to source.

3 . The device of claim 2 , wherein the instructions, when executed by the processor, cause the device to discard the information associated with the first data flow and/or the information associated with the second data flow if the information matches a criterion of a filter based on a destination and source information.

4 . The device of claim 2 , wherein the instructions, when executed by the processor, cause the device to associate the first data flow with a first aggregation window, based on the data flow starting time, source and destination information, protocol and destination port of the first data flow; and

to associate the second data flow with a second aggregation window, based on the data flow starting time, source and destination information, protocol and destination port of the second data flow.

5 . The device of claim 4 , wherein the instructions, when executed by the processor, cause the device to associate the first data flow of the first aggregation window with a slot of the first aggregation window, based on the data flow starting time, source and destination information, protocol and destination port of the first data flow; and

to associate the second data flow of the second aggregation window with a slot of the second aggregation window, based on the data flow starting time, source and destination information, protocol and destination port of the second data flow.

6 . The device of claim 1 , wherein the instructions, when executed by the processor, cause the device to determine a first inter-flow set for the first network flow aggregate, wherein the first inter-flow set comprises a first inter-flow time; and

to determine a second inter-flow set for the second network flow aggregate, wherein the second inter-flow set comprises a second inter-flow time.

7 . The device of claim 6 , wherein the instructions, when executed by the processor, cause the device to associate a plurality of first inter-flow times with the first inter-flow set, wherein the first inter-flow times are ordered in an ascending order; and

to associate a plurality of second inter-flow times with the second inter-flow set, wherein the second inter-flow times are ordered in an ascending order.

8 . The device of claim 2 , wherein the first inter-flow time is a time difference between the data flow starting time of the first data flow and a consecutive data flow starting time of a further first data flow associated with the first network flow aggregate; and

the second inter-flow time is a time difference between the data flow starting time of the second data flow and a consecutive network flow starting time of a further second data flow associated with the second network flow aggregate.

9 . The device of claim 1 , wherein the instructions, when executed by the processor, cause the device to associate a plurality of first data flows with the first network flow aggregate, and

to associate a plurality of the second data flows with the second network flow aggregate.

10 . The device of claim 9 , wherein the instructions, when executed by the processor, cause the device to discard the first network flow aggregate if all the first data flows associated with the first network flow aggregate are related to unidirectional traffic and/or if the first data flows associated with the first network flow aggregate are fewer than a second threshold; and/or

to discard the second network flow aggregate if all the data flows associated with the second network flow aggregate are related to unidirectional traffic and/or if the second data flows associated with the second network flow aggregate are fewer than the second threshold.

11 . The device of claim 1 , wherein the instructions, when executed by the processor, cause the device to create a first feature set for the first network flow aggregate, wherein the first feature set is based on a feature extracted from the first network flow aggregate, wherein the feature is a value based on traffic volume and packet number distributions and/or temporal behavior of the first network flow aggregate; and

to create a second feature set for the second network flow aggregate, wherein the second feature set is based on a feature extracted from the second network flow aggregate, wherein the feature is a value based on traffic volume and packet number distributions and/or temporal behavior of the second network flow aggregate.

12 . The device of claim 1 , wherein the instructions, when executed by the processor, cause the device to normalize the average difference value.

13 . The device of claim 1 , wherein

the instructions, when executed by the processor, cause the device to initiate the remedial action, and

the remedial action comprises blocking and/or dropping traffic from a source of the malicious traffic.

14 . The device of claim 1 , wherein the instructions, when executed by the processor, cause the device to perform an action based on the associated label, wherein the action is an alert sent to a Security Information and Event Management system if the associated label indicates malicious traffic.

15 . The device of claim 1 , wherein the instructions, when executed by the processor, cause the device to train a first prediction model and a second prediction model, wherein the first prediction model and the second prediction model are machine learning model models based on an unsupervised method.

16 . A method for supporting botnet traffic detection performed by a device for supporting botnet traffic detection, the method comprising:

obtaining information associated with a first data flow of a first communication device and information associated with a second data flow of the first communication device or a second communication device;

associating the first data flow with a first network flow aggregate, and the second data flow with a second network flow aggregate;

creating a first feature set for the first network flow aggregate as a first training set, and a second feature set for the second network flow aggregate as a second training set;

training a first prediction model using the first training set, and a second prediction model using the second training set;

applying the first prediction model and the second prediction model to the second feature set of the second network flow aggregate;

selecting an output of the first prediction model as a first anomaly score for the second network flow aggregate, and an output of the second prediction model as a second anomaly score for the second network flow aggregate;

associating the second network flow aggregate with a connection, wherein the connection is based on source and destination information, protocol and destination port of the second data flow of the second network flow aggregate;

determining an average difference value for the connection, wherein the average difference value is an average of a difference between the first anomaly score and the second anomaly score;

associating the connection with a label based on the average difference value and a first threshold, wherein the label either indicates benign traffic or malicious traffic;

determining whether or not the label indicates malicious traffic; and

after determining that the label indicates malicious traffic, raising an alarm and/or initiating a remedial action.

17 . The method of claim 16 , wherein obtaining information associated with the first data flow of a first communication device and with the second data flow of the first communication device or the second communication device comprises obtaining destination and source information, and traffic statistics, wherein traffic statistics comprise data flow starting time, data flow ending time, data flow duration, and data flow traffic volume from source to destination and from destination to source, wherein the first data flow relates to benign traffic and the data network flow relates to evaluation traffic.

18 . The method of claim 16 , comprising

associating the first data flow with a first aggregation window based on the data flow starting time, source and destination information, protocol and destination port of the first data flow; and

associating the second data flow with a second aggregation, based on the data flow starting time, source and destination information, protocol and destination port of the second data flow.

19 . A system comprising:

a device for supporting botnet traffic detection,

a Security Information and Event Management system, and

a flow exporter device, wherein

the flow exporter device is configured to send to the device for supporting botnet traffic detection i) information associated with a first data flow of a first communication device and ii) information associated with a second data flow of the first communication device or a second communication device;

the device for supporting botnet traffic detection is configured to:

receive the information from the flow exporter device;

associate the first data flow with a first network flow aggregate, and the second data flow with a second network flow aggregate;

create a first feature set for the first network flow aggregate as first training set, and a second feature set for the second network flow aggregate as second training set;

train a first prediction model using the first training set, and a second prediction model using the second training set;

apply the first prediction model and the second prediction model to the second feature set of the second network flow aggregate;

select an output of the first prediction model as a first anomaly score for the second network flow aggregate, and an output of the second prediction model as a second anomaly score for the second network flow aggregate;

associate the second network flow aggregate with a connection, wherein the connection is based on source and destination information, protocol and destination port of the second data flow of the second network flow aggregate;

determine an average difference value for the connection, wherein the average difference value is an average of a difference between the first anomaly score and the second anomaly score;

associate the connection with a label based on the average difference value and a first threshold, wherein the label either indicates benign traffic or malicious traffic; and

send an alert to the Security Information and Event Management system if the associated label indicates malicious traffic; and

the Security Information and Event Management system is configured to perform a mitigation action after receiving the alert.

20 . A non-transitory computer readable storage medium storing a computer program comprising instructions, which, when executed by a processing unit on a device causes the device to:

obtain information associated with a first data flow of a first communication device and information associated with a second data flow of the first communication device or a second communication device;

associate the first data flow with a first network flow aggregate, and the second data flow with a second network flow aggregate;

create a first feature set for the first network flow aggregate as first training set, and a second feature set for the second network flow aggregate as second training set;

train a first prediction model using the first training set, and a second prediction model using the second training set;

apply the first prediction model and the second prediction model to the second feature set of the second network flow aggregate;

select an output of the first prediction model as a first anomaly score for the second network flow aggregate, and an output of the second prediction model as a second anomaly score for the second network flow aggregate;

associate the second network flow aggregate with a connection, wherein the connection is based on source and destination information, protocol and destination port of the second data flow of the second network flow aggregate;

determine an average difference value for the connection, wherein the average difference value is an average of a difference between the first anomaly score and the second anomaly score;

associate the connection with a label based on the average difference value and a first threshold, wherein the label either indicates benign traffic or malicious traffic;

determine whether or not the label indicates malicious traffic; and

after determining that the label indicates malicious traffic, raise an alarm and/or initiate a remedial action.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 15, 2023
From: MATEFI, GERGELY
To: TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
Reel/Frame 064274/0692 →
Continuity (1)
Related Publication 20240080337A1 · Mar 7, 2024
References Cited (16)
US 10594711B2 · Levin · 2020 [cited by examiner]
US 11334764B2 · Zeng · 2022 [cited by examiner]
US 12015622B2 · Zhou · 2024 [cited by examiner]
US 20180150635A1 · Melvin · 2018 [cited by examiner]
US 20180351972A1 · Yu · 2018 [cited by examiner]
US 20200012891A1 · Watson et al. · 2020 [cited by applicant]
US 20230328081A1 · Najafirad · 2023 [cited by examiner]
EP 3694177A1 · 2020 [cited by applicant]
WO 2018224669A1 · 2018 [cited by applicant]
International Search Report and Written Opinion issued in International Application No. PCT/SE2020/051257 dated Sep. 13, 2021 (12 pages). [cited by applicant]
Gu, g., et. al., “BotMiner: Clustering Analysis of Network Traffic for Protocol- and Structure-Independent Botnet Detection,” Proceedings of the 17th USENIX Security Symposium, Jul. 28-Aug. 1, 2008, San Jose, CA, USA (1… [cited by applicant]
Alejandre, F.V., et. al., “Botnet Detection using Clustering Algorithms,” Research in Computing Science 118 (2016) (pp. 65-75). [cited by applicant]
Nomm, S., et. al., “Unsupervised Anomaly Based Botnet Detection in IoT Networks,” 2018 17th IEEE International Conference on Machine Learning and Applications, 2018 (6 pages). [cited by applicant]
Zeidanloo, H., et. al., “Botnet Detection Based on Traffic Monitoring,” 2010 International Conference on Networking and Information Technology, 2010 (5 pages). [cited by applicant]
Chen, W., et. al., “Exploring a Service-Based Normal Behaviour Profiling System for Botnet Detection,” IFIP/IEEE IM, 2017 (6 pages). [cited by applicant]
Tegeler, F., et. al., “BotFinder: Finding Bots in Network Traffic Without Deep Packet Inspection,” Co-NEXT'12, Dec. 10-13, 2012, Nice, France (12 pages). [cited by applicant]