Skip to content

Commit b60a115

Browse files
committed
Changes to online concealment
1 parent 3805f26 commit b60a115

File tree

3 files changed

+151
-126
lines changed

3 files changed

+151
-126
lines changed

dhalsim/network_attacks/concealment_ae_model.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
from sklearn.model_selection import train_test_split
1616

1717
import joblib
18+
import numpy as np
1819

1920
# This module is based on the implementation by Alessandro Erba, original is found here:
2021
# https://github.com/scy-phy/ICS-Evasion-Attacks/blob/master/Adversarial_Attacks/Black_Box_Attack/adversarial_AE.py
@@ -81,12 +82,12 @@ def save_model(self, model_filename, scaler_filename):
8182

8283
def init_generator(self, training_path):
8384
# Load and preprocess training data
84-
training_path = Path(__file__).parent/training_path/'training_data.csv'
85+
#training_path = Path(__file__).parent/training_path/'training_data.csv'
86+
training_path = Path(__file__).parent/training_path/'ground_truth_dataset.csv'
8587
# print('Reading training data from: ' + str(training_path))
8688
self.physical_pd = self.preprocess_physical(training_path)
8789

8890
# Adversarial model for concealment
89-
# toDo: Ask about this parameter
9091
hide_layers = 160
9192
self.hide_layers = hide_layers
9293
self.generator_layers = [self.feature_dims,
@@ -129,14 +130,19 @@ def fix_sample(self, gen_examples):
129130
return gen_examples
130131

131132
def predict(self, received_values_df):
132-
print('Attempting to predict concealment values')
133+
#print('Attempting to predict concealment values')
133134
# print('Features received to predict: ' + str(received_values_df.columns))
134135
# print('Features received to train: ' + str(self.sensor_cols))
135136

136137
gen_examples = self.generator.predict(self.attacker_scaler.transform(received_values_df))
138+
#print('nan predicted values: ')
139+
# print(gen_examples)
140+
#print(np.isnan(gen_examples))
137141
gen_examples = self.fix_sample(pd.DataFrame(columns=self.sensor_cols,
138142
data=self.attacker_scaler.inverse_transform(gen_examples)))
139143

144+
#print('Model fixed values')
145+
#print(gen_examples)
140146
return gen_examples
141147

142148
def __init__(self, features_list):
@@ -145,3 +151,4 @@ def __init__(self, features_list):
145151
self.sensor_cols = [col for col in features_list if
146152
col not in ['Unnamed: 0', 'iteration', 'timestamp', 'Attack']]
147153
self.feature_dims = len(self.sensor_cols)
154+
print(f'Model has {self.feature_dims } input features' )

dhalsim/network_attacks/mitm_netfilter_queue.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ def capture(self, packet):
5858
del p[TCP].chksum
5959

6060
packet.set_payload(bytes(p))
61-
self.logger.debug(f"Value of network packet for {p[IP].dst} overwritten.")
61+
# self.logger.debug(f"Value of network packet for {p[IP].dst} overwritten.")
6262

6363
packet.accept()
6464
except Exception as exc:

0 commit comments

Comments
 (0)