Skip to content

lsinfo3/VDS_features

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 

Repository files navigation

VDS_features

The growing complexity and dynamism of modern networks make anomaly detection a challenging problem, especially in large-scale environments with non-stationary traffic. Many existing methods rely on high-resolution packet-level data, limiting their use in real-world deployments that primarily generate aggregated data like NetFlow records. To address this, we introduce a scalable, lightweight approach for detecting behavioral shifts in network traffic using NetFlow-based monitoring data. Our method integrates principal component analysis (PCA) for dimensionality reduction, time series decomposition to isolate trends, and the Pruned Exact Linear Time (PELT) algorithm for detecting mean shifts. We evaluate its effectiveness in a large-scale nationwide enterprise network in Germany, demonstrating its ability to identify change points in traffic. Additionally, we assess the expressiveness of various features in detecting these shifts. This repository provides a detailed description of our features.

We compute temporal features for each 5-minute interval, resulting in a d-dimensional feature vector for every interval. By aggregating data across all relevant subnets, we shift from a per-subnet perspective to an application-level view. In total, we extract 116 features, which are organized into eight categories. It’s important to note that a record, in this context, represents communication between two subnets within a 5-minute window, using a specific protocol. Consequently, for each 5-minute interval, we may have thousands of records, from which we derive our features.

Overall Traffic

ID Feature Name Description
1 n Number of records
2 flows Number of flows
3 bytes Number of bytes
4 packets Number of packets
5 in_n Number of ingress records (from any subnet to a VDS subnet)
6 in_flows Number of ingress flows
7 in_packets Number of ingress packets
8 in_bytes Number of ingress bytes
9 out_n Number of egress records (from a VDS subnet to any subnet)
10 out_flows Number of egress flows
11 out_packets Number of egress packets
12 out_bytes Number of egress bytes

Protocol based

ID Feature Name Description
13 n_protocols Number of protocols
14 n_protocols_ingress Number of ingress protocols
15 n_protocols_egress Number of egress protocols
16 dom_prot_share_in Share of ingress flows of the dominating protocol in total ingress flows
17 dom_prot_share_out Share of egress flows of the dominating protocol in total egress flows
18 dom_prot_share_total Share of flows of the dominating protocol in total flows

Network based

ID Feature Name Description
19 n_receiving_subnets Number of subnets receiving data from VDS
20 n_sending_subnets Number of subnets sending data to VDS

TCP traffic

ID Feature Name Description
21 TCP_n_in Number of TCP ingress records
22 TCP_bytes_in Number of TCP ingress bytes
23 TCP_packets_in Number of TCP ingress packets
24 TCP_flows_in Number of TCP ingress flows
25 TCP_n_share_in Share of TCP ingress records in total ingress records
26 TCP_bytes_share_in Share of TCP ingress bytes in total ingress bytes
27 TCP_packets_share_in Share of TCP ingress packets in total ingress packets
28 TCP_flows_share_in Share of TCP ingress flows in total ingress flows
29 TCP_n_out Number of TCP egress records
30 TCP_bytes_out Number of TCP egress bytes
31 TCP_packets_out Number of TCP egress packets
32 TCP_flows_out Number of TCP egress flows
33 TCP_n_share_out Share of TCP egress records in total egress records
34 TCP_bytes_share_out Share of TCP egress bytes in total egress bytes
35 TCP_packets_share_out Share of TCP egress packets in total egress packets
36 TCP_flows_share_out Share of TCP egress flows in total egress flows

UDP traffic

ID Feature Name Description
37 UDP_n_in Number of UDP ingress records
38 UDP_bytes_in Number of UDP ingress bytes
39 UDP_packets_in Number of UDP ingress packets
40 UDP_flows_in Number of UDP ingress flows
41 UDP_n_share_in Share of UDP ingress records in total ingress records
42 UDP_bytes_share_in Share of UDP ingress bytes in total ingress bytes
43 UDP_packets_share_in Share of UDP ingress packets in total ingress packets
44 UDP_flows_share_in Share of UDP ingress flows in total ingress flows
45 UDP_n_out Number of UDP egress records
46 UDP_bytes_out Number of UDP egress bytes
47 UDP_packets_out Number of UDP egress packets
48 UDP_flows_out Number of UDP egress flows
49 UDP_n_share_out Share of UDP egress records in total egress records
50 UDP_bytes_share_out Share of UDP egress bytes in total egress bytes
51 UDP_packets_share_out Share of UDP egress packets in total egress packets
52 UDP_flows_share_out Share of UDP egress flows in total egress flows

Other traffic (non UDP/TCP)

ID Feature Name Description
53 Other_n_in Number of Other ingress records
54 Other_bytes_in Number of Other ingress bytes
55 Other_packets_in Number of Other ingress packets
56 Other_flows_in Number of Other ingress flows
57 Other_n_share_in Share of Other ingress records in total ingress records
58 Other_bytes_share_in Share of Other ingress bytes in total ingress bytes
59 Other_packets_share_in Share of Other ingress packets in total ingress packets
60 Other_flows_share_in Share of Other ingress flows in total ingress flows
61 Other_n_out Number of Other egress records
62 Other_bytes_out Number of Other egress bytes
63 Other_packets_out Number of Other egress packets
64 Other_flows_out Number of Other egress flows
65 Other_n_share_out Share of Other egress records in total egress records
66 Other_bytes_share_out Share of Other egress bytes in total egress bytes
67 Other_packets_share_out Share of Other egress packets in total egress packets
68 Other_flows_share_out Share of Other egress flows in total egress flows

Traffic Variability

ID Feature Name Description
69 mean_flows Mean number of flows per record
70 mean_bytes Mean number of bytes per record
71 mean_packets Mean number of packets per record
72 sd_flows Standard deviation of flows per record
73 sd_bytes Standard deviation of bytes per record
74 sd_packets Standard deviation of packets per record
75 mean_in_flows Mean number of flows per ingress record
76 mean_in_bytes Mean number of bytes per ingress record
77 mean_in_packets Mean number of packets per ingress record
78 sd_in_flows Standard deviation of flows per ingress record
79 sd_in_bytes Standard deviation of bytes per ingress record
80 sd_in_packets Standard deviation of packets per ingress record
81 mean_out_flows Mean number of flows per egress record
82 mean_out_bytes Mean number of bytes per egress record
83 mean_out_packets Mean number of packets per egress record
84 sd_out_flows Standard deviation of flows per egress record
85 sd_out_bytes Standard deviation of bytes per egress record
86 sd_out_packets Standard deviation of packets per egress record
87 mean_packets_per_in_flows Mean packets per ingress flows (Calculated by taking the mean of the ratio of packets to flows for each record)
88 sd_packets_per_in_flows Standard deviation of packets per ingress flows
89 mean_packets_per_out_flows Mean packets per egress flows (Calculated by taking the mean of the ratio of packets to flows for each record)
90 sd_packets_per_out_flows Standard deviation of packets per egress flows
91 mean_bytes_per_in_packets Mean bytes per ingress packets (Calculated by taking the mean of the ratio of bytes to packets for each record)
92 sd_bytes_per_in_packets Standard deviation of bytes per ingress packets
93 mean_bytes_per_out_packets Mean bytes per egress packets (Calculated by taking the mean of the ratio of bytes to packets for each record)
94 sd_bytes_per_out_packets Standard deviation of bytes per egress packets
95 Other_mean_flows_in Mean of Other ingress flows per Other protocol
96 Other_mean_bytes_in Mean of Other ingress bytes per Other protocol
97 Other_mean_packets_in Mean of Other ingress packets per Other protocol
98 Other_mean_flows_out Mean of Other egress flows per Other protocol
99 Other_mean_bytes_out Mean of Other egress bytes per Other protocol
100 Other_mean_packets_out Mean of Other egress packets per Other protocol
101 TCP_mean_flows_in Mean of TCP ingress flows per TCP protocol
102 TCP_mean_bytes_in Mean of TCP ingress bytes per TCP protocol
103 TCP_mean_packets_in Mean of TCP ingress packets per TCP protocol
104 TCP_mean_flows_out Mean of TCP egress flows per TCP protocol
105 TCP_mean_bytes_out Mean of TCP egress bytes per TCP protocol
106 TCP_mean_packets_out Mean of TCP egress packets per TCP protocol
107 UDP_mean_flows_in Mean of UDP ingress flows per UDP protocol
108 UDP_mean_bytes_in Mean of UDP ingress bytes per UDP protocol
109 UDP_mean_packets_in Mean of UDP ingress packets per UDP protocol
110 UDP_mean_flows_out Mean of UDP egress flows per UDP protocol
111 UDP_mean_bytes_out Mean of UDP egress bytes per UDP protocol
112 UDP_mean_packets_out Mean of UDP egress packets per UDP protocol

Traffic symmetry

ID Feature Name Description
113 sym_coeff Symmetry coefficient of records: Specifies the ratio between ingress records and egress records. Value between -1 and 1, where 0 represents a perfectly symmetrical ratio.
114 sym_coeff_flows Symmetry coefficient of flows: Specifies the ratio between ingress flows and egress flows. Value between -1 and 1, where 0 represents a perfectly symmetrical ratio.
115 sym_coeff_bytes Symmetry coefficient of bytes: Specifies the ratio between ingress bytes and egress bytes. Value between -1 and 1, where 0 represents a perfectly symmetrical ratio.
116 sym_coeff_packets Symmetry coefficient of packets: Specifies the ratio between ingress packets and egress packets. Value between -1 and 1, where 0 represents a perfectly symmetrical ratio.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published