#1355 - Carried out full renaming in node.py, active_node.py, passive_node.py, and service_node.py to make params and variable names explicit.

- Made the same renaming in the yaml laydown config files.
- Added Type hints wherever I've been.
- Added a custom NodeType in custom_typing.py to encompass the Union of ActiveNode, PassiveNode, ServiceNode.
This commit is contained in:
Chris McCarthy
2023-05-25 21:03:11 +01:00
parent 00e9d1f88d
commit 32a4d9e459
31 changed files with 965 additions and 1081 deletions

View File

@@ -9,77 +9,77 @@
serviceList:
- name: TCP
- itemType: NODE
id: '1'
node_id: '1'
name: PC1
baseType: SERVICE
nodeType: COMPUTER
node_class: SERVICE
node_type: COMPUTER
priority: P5
hardwareState: 'ON'
ipAddress: 192.168.1.2
softwareState: GOOD
fileSystemState: GOOD
hardware_state: 'ON'
ip_address: 192.168.1.2
software_state: GOOD
file_system_state: GOOD
services:
- name: TCP
port: '80'
state: GOOD
- itemType: NODE
id: '2'
node_id: '2'
name: SERVER
baseType: SERVICE
nodeType: SERVER
node_class: SERVICE
node_type: SERVER
priority: P5
hardwareState: 'ON'
ipAddress: 192.168.1.3
softwareState: GOOD
fileSystemState: GOOD
hardware_state: 'ON'
ip_address: 192.168.1.3
software_state: GOOD
file_system_state: GOOD
services:
- name: TCP
port: '80'
state: GOOD
- itemType: NODE
id: '3'
node_id: '3'
name: PC2
baseType: SERVICE
nodeType: COMPUTER
node_class: SERVICE
node_type: COMPUTER
priority: P5
hardwareState: 'ON'
ipAddress: 192.168.1.4
softwareState: GOOD
fileSystemState: GOOD
hardware_state: 'ON'
ip_address: 192.168.1.4
software_state: GOOD
file_system_state: GOOD
services:
- name: TCP
port: '80'
state: GOOD
- itemType: NODE
id: '4'
node_id: '4'
name: SWITCH1
baseType: ACTIVE
nodeType: SWITCH
node_class: ACTIVE
node_type: SWITCH
priority: P2
hardwareState: 'ON'
ipAddress: 192.168.1.5
softwareState: GOOD
fileSystemState: GOOD
hardware_state: 'ON'
ip_address: 192.168.1.5
software_state: GOOD
file_system_state: GOOD
- itemType: NODE
id: '5'
node_id: '5'
name: SWITCH2
baseType: ACTIVE
nodeType: SWITCH
node_class: ACTIVE
node_type: SWITCH
priority: P2
hardwareState: 'ON'
ipAddress: 192.168.1.6
softwareState: GOOD
fileSystemState: GOOD
hardware_state: 'ON'
ip_address: 192.168.1.6
software_state: GOOD
file_system_state: GOOD
- itemType: NODE
id: '6'
node_id: '6'
name: SWITCH3
baseType: ACTIVE
nodeType: SWITCH
node_class: ACTIVE
node_type: SWITCH
priority: P2
hardwareState: 'ON'
ipAddress: 192.168.1.7
softwareState: GOOD
fileSystemState: GOOD
hardware_state: 'ON'
ip_address: 192.168.1.7
software_state: GOOD
file_system_state: GOOD
- itemType: LINK
id: '7'
name: link1

View File

@@ -9,133 +9,133 @@
serviceList:
- name: TCP
- itemType: NODE
id: '1'
node_id: '1'
name: PC1
baseType: SERVICE
nodeType: COMPUTER
node_class: SERVICE
node_type: COMPUTER
priority: P5
hardwareState: 'ON'
ipAddress: 192.168.10.11
softwareState: GOOD
fileSystemState: GOOD
hardware_state: 'ON'
ip_address: 192.168.10.11
software_state: GOOD
file_system_state: GOOD
services:
- name: TCP
port: '80'
state: GOOD
- itemType: NODE
id: '2'
node_id: '2'
name: PC2
baseType: SERVICE
nodeType: COMPUTER
node_class: SERVICE
node_type: COMPUTER
priority: P5
hardwareState: 'ON'
ipAddress: 192.168.10.12
softwareState: GOOD
fileSystemState: GOOD
hardware_state: 'ON'
ip_address: 192.168.10.12
software_state: GOOD
file_system_state: GOOD
services:
- name: TCP
port: '80'
state: GOOD
- itemType: NODE
id: '3'
node_id: '3'
name: PC3
baseType: SERVICE
nodeType: COMPUTER
node_class: SERVICE
node_type: COMPUTER
priority: P5
hardwareState: 'ON'
ipAddress: 192.168.10.13
softwareState: GOOD
fileSystemState: GOOD
hardware_state: 'ON'
ip_address: 192.168.10.13
software_state: GOOD
file_system_state: GOOD
services:
- name: TCP
port: '80'
state: GOOD
- itemType: NODE
id: '4'
node_id: '4'
name: PC4
baseType: SERVICE
nodeType: COMPUTER
node_class: SERVICE
node_type: COMPUTER
priority: P5
hardwareState: 'ON'
ipAddress: 192.168.20.14
softwareState: GOOD
fileSystemState: GOOD
hardware_state: 'ON'
ip_address: 192.168.20.14
software_state: GOOD
file_system_state: GOOD
services:
- name: TCP
port: '80'
state: GOOD
- itemType: NODE
id: '5'
node_id: '5'
name: SWITCH1
baseType: ACTIVE
nodeType: SWITCH
node_class: ACTIVE
node_type: SWITCH
priority: P2
hardwareState: 'ON'
ipAddress: 192.168.1.2
softwareState: GOOD
fileSystemState: GOOD
hardware_state: 'ON'
ip_address: 192.168.1.2
software_state: GOOD
file_system_state: GOOD
- itemType: NODE
id: '6'
node_id: '6'
name: IDS
baseType: SERVICE
nodeType: SERVER
node_class: SERVICE
node_type: SERVER
priority: P5
hardwareState: 'ON'
ipAddress: 192.168.1.4
softwareState: GOOD
fileSystemState: GOOD
hardware_state: 'ON'
ip_address: 192.168.1.4
software_state: GOOD
file_system_state: GOOD
services:
- name: TCP
port: '80'
state: GOOD
- itemType: NODE
id: '7'
node_id: '7'
name: SWITCH2
baseType: ACTIVE
nodeType: SWITCH
node_class: ACTIVE
node_type: SWITCH
priority: P2
hardwareState: 'ON'
ipAddress: 192.168.1.3
softwareState: GOOD
fileSystemState: GOOD
hardware_state: 'ON'
ip_address: 192.168.1.3
software_state: GOOD
file_system_state: GOOD
- itemType: NODE
id: '8'
node_id: '8'
name: LOP1
baseType: SERVICE
nodeType: LOP
node_class: SERVICE
node_type: LOP
priority: P5
hardwareState: 'ON'
ipAddress: 192.168.1.12
softwareState: GOOD
fileSystemState: GOOD
hardware_state: 'ON'
ip_address: 192.168.1.12
software_state: GOOD
file_system_state: GOOD
services:
- name: TCP
port: '80'
state: GOOD
- itemType: NODE
id: '9'
node_id: '9'
name: SERVER1
baseType: SERVICE
nodeType: SERVER
node_class: SERVICE
node_type: SERVER
priority: P5
hardwareState: 'ON'
ipAddress: 192.168.10.14
softwareState: GOOD
fileSystemState: GOOD
hardware_state: 'ON'
ip_address: 192.168.10.14
software_state: GOOD
file_system_state: GOOD
services:
- name: TCP
port: '80'
state: GOOD
- itemType: NODE
id: '10'
node_id: '10'
name: SERVER2
baseType: SERVICE
nodeType: SERVER
node_class: SERVICE
node_type: SERVER
priority: P5
hardwareState: 'ON'
ipAddress: 192.168.20.15
softwareState: GOOD
fileSystemState: GOOD
hardware_state: 'ON'
ip_address: 192.168.20.15
software_state: GOOD
file_system_state: GOOD
services:
- name: TCP
port: '80'

View File

@@ -9,53 +9,53 @@
serviceList:
- name: TCP
- itemType: NODE
id: '1'
node_id: '1'
name: PC1
baseType: SERVICE
nodeType: COMPUTER
node_class: SERVICE
node_type: COMPUTER
priority: P5
hardwareState: 'ON'
ipAddress: 192.168.1.2
softwareState: GOOD
fileSystemState: GOOD
hardware_state: 'ON'
ip_address: 192.168.1.2
software_state: GOOD
file_system_state: GOOD
services:
- name: TCP
port: '80'
state: GOOD
- itemType: NODE
id: '2'
node_id: '2'
name: PC2
baseType: SERVICE
nodeType: COMPUTER
node_class: SERVICE
node_type: COMPUTER
priority: P5
hardwareState: 'ON'
ipAddress: 192.168.1.3
softwareState: GOOD
fileSystemState: GOOD
hardware_state: 'ON'
ip_address: 192.168.1.3
software_state: GOOD
file_system_state: GOOD
services:
- name: TCP
port: '80'
state: GOOD
- itemType: NODE
id: '3'
node_id: '3'
name: SWITCH1
baseType: ACTIVE
nodeType: SWITCH
node_class: ACTIVE
node_type: SWITCH
priority: P2
hardwareState: 'ON'
ipAddress: 192.168.1.1
softwareState: GOOD
fileSystemState: GOOD
hardware_state: 'ON'
ip_address: 192.168.1.1
software_state: GOOD
file_system_state: GOOD
- itemType: NODE
id: '4'
node_id: '4'
name: SERVER1
baseType: SERVICE
nodeType: SERVER
node_class: SERVICE
node_type: SERVER
priority: P5
hardwareState: 'ON'
ipAddress: 192.168.1.4
softwareState: GOOD
fileSystemState: GOOD
hardware_state: 'ON'
ip_address: 192.168.1.4
software_state: GOOD
file_system_state: GOOD
services:
- name: TCP
port: '80'

View File

@@ -13,15 +13,15 @@
- name: TCP_SQL
- name: UDP
- itemType: NODE
id: '1'
node_id: '1'
name: CLIENT_1
baseType: SERVICE
nodeType: COMPUTER
node_class: SERVICE
node_type: COMPUTER
priority: P5
hardwareState: 'ON'
ipAddress: 192.168.10.11
softwareState: GOOD
fileSystemState: GOOD
hardware_state: 'ON'
ip_address: 192.168.10.11
software_state: GOOD
file_system_state: GOOD
services:
- name: TCP
port: '80'
@@ -30,39 +30,39 @@
port: '53'
state: GOOD
- itemType: NODE
id: '2'
node_id: '2'
name: CLIENT_2
baseType: SERVICE
nodeType: COMPUTER
node_class: SERVICE
node_type: COMPUTER
priority: P5
hardwareState: 'ON'
ipAddress: 192.168.10.12
softwareState: GOOD
fileSystemState: GOOD
hardware_state: 'ON'
ip_address: 192.168.10.12
software_state: GOOD
file_system_state: GOOD
services:
- name: TCP
port: '80'
state: GOOD
- itemType: NODE
id: '3'
node_id: '3'
name: SWITCH_1
baseType: ACTIVE
nodeType: SWITCH
node_class: ACTIVE
node_type: SWITCH
priority: P2
hardwareState: 'ON'
ipAddress: 192.168.10.1
softwareState: GOOD
fileSystemState: GOOD
hardware_state: 'ON'
ip_address: 192.168.10.1
software_state: GOOD
file_system_state: GOOD
- itemType: NODE
id: '4'
node_id: '4'
name: SECURITY_SUITE
baseType: SERVICE
nodeType: SERVER
node_class: SERVICE
node_type: SERVER
priority: P5
hardwareState: 'ON'
ipAddress: 192.168.1.10
softwareState: GOOD
fileSystemState: GOOD
hardware_state: 'ON'
ip_address: 192.168.1.10
software_state: GOOD
file_system_state: GOOD
services:
- name: TCP
port: '80'
@@ -71,15 +71,15 @@
port: '53'
state: GOOD
- itemType: NODE
id: '5'
node_id: '5'
name: MANAGEMENT_CONSOLE
baseType: SERVICE
nodeType: SERVER
node_class: SERVICE
node_type: SERVER
priority: P5
hardwareState: 'ON'
ipAddress: 192.168.1.12
softwareState: GOOD
fileSystemState: GOOD
hardware_state: 'ON'
ip_address: 192.168.1.12
software_state: GOOD
file_system_state: GOOD
services:
- name: TCP
port: '80'
@@ -88,25 +88,25 @@
port: '53'
state: GOOD
- itemType: NODE
id: '6'
node_id: '6'
name: SWITCH_2
baseType: ACTIVE
nodeType: SWITCH
node_class: ACTIVE
node_type: SWITCH
priority: P2
hardwareState: 'ON'
ipAddress: 192.168.2.1
softwareState: GOOD
fileSystemState: GOOD
hardware_state: 'ON'
ip_address: 192.168.2.1
software_state: GOOD
file_system_state: GOOD
- itemType: NODE
id: '7'
node_id: '7'
name: WEB_SERVER
baseType: SERVICE
nodeType: SERVER
node_class: SERVICE
node_type: SERVER
priority: P5
hardwareState: 'ON'
ipAddress: 192.168.2.10
softwareState: GOOD
fileSystemState: GOOD
hardware_state: 'ON'
ip_address: 192.168.2.10
software_state: GOOD
file_system_state: GOOD
services:
- name: TCP
port: '80'
@@ -115,15 +115,15 @@
port: '1433'
state: GOOD
- itemType: NODE
id: '8'
node_id: '8'
name: DATABASE_SERVER
baseType: SERVICE
nodeType: SERVER
node_class: SERVICE
node_type: SERVER
priority: P5
hardwareState: 'ON'
ipAddress: 192.168.2.14
softwareState: GOOD
fileSystemState: GOOD
hardware_state: 'ON'
ip_address: 192.168.2.14
software_state: GOOD
file_system_state: GOOD
services:
- name: TCP
port: '80'
@@ -135,15 +135,15 @@
port: '53'
state: GOOD
- itemType: NODE
id: '9'
node_id: '9'
name: BACKUP_SERVER
baseType: SERVICE
nodeType: SERVER
node_class: SERVICE
node_type: SERVER
priority: P5
hardwareState: 'ON'
ipAddress: 192.168.2.16
softwareState: GOOD
fileSystemState: GOOD
hardware_state: 'ON'
ip_address: 192.168.2.16
software_state: GOOD
file_system_state: GOOD
services:
- name: TCP
port: '80'

View File

@@ -13,15 +13,15 @@
- name: TCP_SQL
- name: UDP
- itemType: NODE
id: '1'
node_id: '1'
name: CLIENT_1
baseType: SERVICE
nodeType: COMPUTER
node_class: SERVICE
node_type: COMPUTER
priority: P5
hardwareState: 'ON'
ipAddress: 192.168.10.11
softwareState: GOOD
fileSystemState: GOOD
hardware_state: 'ON'
ip_address: 192.168.10.11
software_state: GOOD
file_system_state: GOOD
services:
- name: TCP
port: '80'
@@ -30,39 +30,39 @@
port: '53'
state: GOOD
- itemType: NODE
id: '2'
node_id: '2'
name: CLIENT_2
baseType: SERVICE
nodeType: COMPUTER
node_class: SERVICE
node_type: COMPUTER
priority: P5
hardwareState: 'ON'
ipAddress: 192.168.10.12
softwareState: GOOD
fileSystemState: GOOD
hardware_state: 'ON'
ip_address: 192.168.10.12
software_state: GOOD
file_system_state: GOOD
services:
- name: TCP
port: '80'
state: GOOD
- itemType: NODE
id: '3'
node_id: '3'
name: SWITCH_1
baseType: ACTIVE
nodeType: SWITCH
node_class: ACTIVE
node_type: SWITCH
priority: P2
hardwareState: 'ON'
ipAddress: 192.168.10.1
softwareState: GOOD
fileSystemState: GOOD
hardware_state: 'ON'
ip_address: 192.168.10.1
software_state: GOOD
file_system_state: GOOD
- itemType: NODE
id: '4'
node_id: '4'
name: SECURITY_SUITE
baseType: SERVICE
nodeType: SERVER
node_class: SERVICE
node_type: SERVER
priority: P5
hardwareState: 'ON'
ipAddress: 192.168.1.10
softwareState: GOOD
fileSystemState: GOOD
hardware_state: 'ON'
ip_address: 192.168.1.10
software_state: GOOD
file_system_state: GOOD
services:
- name: TCP
port: '80'
@@ -71,15 +71,15 @@
port: '53'
state: GOOD
- itemType: NODE
id: '5'
node_id: '5'
name: MANAGEMENT_CONSOLE
baseType: SERVICE
nodeType: SERVER
node_class: SERVICE
node_type: SERVER
priority: P5
hardwareState: 'ON'
ipAddress: 192.168.1.12
softwareState: GOOD
fileSystemState: GOOD
hardware_state: 'ON'
ip_address: 192.168.1.12
software_state: GOOD
file_system_state: GOOD
services:
- name: TCP
port: '80'
@@ -88,25 +88,25 @@
port: '53'
state: GOOD
- itemType: NODE
id: '6'
node_id: '6'
name: SWITCH_2
baseType: ACTIVE
nodeType: SWITCH
node_class: ACTIVE
node_type: SWITCH
priority: P2
hardwareState: 'ON'
ipAddress: 192.168.2.1
softwareState: GOOD
fileSystemState: GOOD
hardware_state: 'ON'
ip_address: 192.168.2.1
software_state: GOOD
file_system_state: GOOD
- itemType: NODE
id: '7'
node_id: '7'
name: WEB_SERVER
baseType: SERVICE
nodeType: SERVER
node_class: SERVICE
node_type: SERVER
priority: P5
hardwareState: 'ON'
ipAddress: 192.168.2.10
softwareState: GOOD
fileSystemState: GOOD
hardware_state: 'ON'
ip_address: 192.168.2.10
software_state: GOOD
file_system_state: GOOD
services:
- name: TCP
port: '80'
@@ -115,15 +115,15 @@
port: '1433'
state: GOOD
- itemType: NODE
id: '8'
node_id: '8'
name: DATABASE_SERVER
baseType: SERVICE
nodeType: SERVER
node_class: SERVICE
node_type: SERVER
priority: P5
hardwareState: 'ON'
ipAddress: 192.168.2.14
softwareState: GOOD
fileSystemState: GOOD
hardware_state: 'ON'
ip_address: 192.168.2.14
software_state: GOOD
file_system_state: GOOD
services:
- name: TCP
port: '80'
@@ -135,15 +135,15 @@
port: '53'
state: GOOD
- itemType: NODE
id: '9'
node_id: '9'
name: BACKUP_SERVER
baseType: SERVICE
nodeType: SERVER
node_class: SERVICE
node_type: SERVER
priority: P5
hardwareState: 'ON'
ipAddress: 192.168.2.16
softwareState: GOOD
fileSystemState: GOOD
hardware_state: 'ON'
ip_address: 192.168.2.16
software_state: GOOD
file_system_state: GOOD
services:
- name: TCP
port: '80'

View File

@@ -26,7 +26,7 @@ observationSpaceHighValue: 1000000000
# Reward values
# Generic
allOk: 0
# Node Operating State
# Node Hardware State
offShouldBeOn: -10
offShouldBeResetting: -5
onShouldBeOff: -2
@@ -34,7 +34,7 @@ onShouldBeResetting: -5
resettingShouldBeOn: -5
resettingShouldBeOff: -2
resetting: -3
# Node O/S or Service State
# Node Software or Service State
goodShouldBePatching: 2
goodShouldBeCompromised: 5
goodShouldBeOverwhelmed: 5