# Launching Adversarial Attacks against Network Intrusion Detection Systems for IoT
## 3 Methodology  
### Dataset Overview  
There have already been many adversarial machine learning works performed on the datasets of the litterature [31]. However, the Bot-IoT dataset finds itself still in its early days, and to the best of our knowledge, no other work in the literature has used it to study adversarial machine learning. The Bot-IoT dataset was created in a simulated environment formed up of victim and attacking machines [14]. The traffic was captured in.pcap files, analysed and exported to comma-separated value (.CSV) files resulting more than 73 million records with 46 features, including three classification features. The work of [14], categorised the different attacks into five classes; (1) Normal, (2) Reconnaissance, (3) DDoS, (4) DoS, (5) Information Theft. For the easier management of the dataset, ref. [14] extracted a random 5% selection of each class which reduces the amount to approximately 3.6 million records. In Table 1 the value counts of each category can be seen. The total number of records is 73,370,443, including benign traffic.  
\begin{table}
\begin{tabular}{l l l l l} \hline
**Category** & **Full Amount** & **5\% Amount** & **Training Amount** & **Testing Amount** \\ \hline DDoS & 38,532,480 & 1,926,624 & 1,541,315 & 385,309 \\ \hline DoS & 33,005,194 & 1,650,260 & 1,320,148 & 330,112 \\ \hline Normal & 9543 & 477 & 370 & 107 \\ \hline Reconnaissance & 1,821,639 & 91,082 & 72,919 & 18,163 \\ \hline Theft & 1587 & 79 & 370 & 14 \\ \hline Total & 73,370,443 & 3,668,522 & 2,934,817 & 733,705 \\ \hline \end{tabular}
\end{table}
Table 1: Bot-IoT category value counts.  
In Section 2.3, the importance of feature selection was emphasised. Feature selection activities were performed using the Correlation Coefficient and Joint Entropy Score methods against the dataset. Using the feature selection metrics, a top 10 list of features was extracted and are highlighted in Table 2[14]. There are three classification features in this dataset. The first classification feature is _attack_ which is intended for binary classification. The label is either True or False corresponding to malicious or benign traffic, respectively. All the various attack categories are labelled as True. The second classification feature is a five-class multi-classification feature, namely _category_, and is made up of the string values seen in Table 1. The final classification feature is _subcategory_ and is composed of ten classifications. The subcategory classification feature is more fine-grained than the category classification feature. For example, the DoS category is split into DoS by protocol (TCP, UDP, HTTP). Information theft was categorised into keylogging and data theft. Reconnaissance is divided into service scanning and OS fingerprinting, thus completing the ten subcategory class values. Nevertheless, Table 1 depicts a severe data imbalance leaning towards DDoS and DoS classes than the others, something that intuitively makes sense as the IoT devices are used more frequently for such attacks as zombie devices. Besides, a common practice in the literature to combat this asymmetry is introducing class weights during the training process [47].