#3062 - First pass at unifying naming convention for discriminators (still errors) [skip ci]
This commit is contained in:
@@ -24,20 +24,20 @@ agents:
|
||||
|
||||
- ref: defender
|
||||
team: BLUE
|
||||
type: ProxyAgent
|
||||
type: proxy-agent
|
||||
|
||||
observation_space:
|
||||
type: CUSTOM
|
||||
type: custom
|
||||
options:
|
||||
components:
|
||||
- type: NODES
|
||||
- type: nodes
|
||||
label: NODES
|
||||
options:
|
||||
hosts:
|
||||
- hostname: domain_controller
|
||||
- hostname: web_server
|
||||
services:
|
||||
- service_name: WebServer
|
||||
- service_name: web-server
|
||||
- hostname: database_server
|
||||
folders:
|
||||
- folder_name: database
|
||||
@@ -77,7 +77,7 @@ agents:
|
||||
- UDP
|
||||
num_rules: 10
|
||||
|
||||
- type: LINKS
|
||||
- type: links
|
||||
label: LINKS
|
||||
options:
|
||||
link_references:
|
||||
@@ -91,222 +91,222 @@ agents:
|
||||
- switch_2:eth-1<->client_1:eth-1
|
||||
- switch_2:eth-2<->client_2:eth-1
|
||||
- switch_2:eth-7<->security_suite:eth-2
|
||||
- type: "NONE"
|
||||
- type: "none"
|
||||
label: ICS
|
||||
options: {}
|
||||
|
||||
action_space:
|
||||
action_map:
|
||||
0:
|
||||
action: do_nothing
|
||||
action: do-nothing
|
||||
options: {}
|
||||
# scan webapp service
|
||||
1:
|
||||
action: node_service_scan
|
||||
action: node-service-scan
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
# stop webapp service
|
||||
2:
|
||||
action: node_service_stop
|
||||
action: node-service-stop
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
# start webapp service
|
||||
3:
|
||||
action: "node_service_start"
|
||||
action: "node-service-start"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
4:
|
||||
action: "node_service_pause"
|
||||
action: "node-service-pause"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
5:
|
||||
action: "node_service_resume"
|
||||
action: "node-service-resume"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
6:
|
||||
action: "node_service_restart"
|
||||
action: "node-service-restart"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
7:
|
||||
action: "node_service_disable"
|
||||
action: "node-service-disable"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
8:
|
||||
action: "node_service_enable"
|
||||
action: "node-service-enable"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
9: # check database.db file
|
||||
action: "node_file_scan"
|
||||
action: "node-file-scan"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
file_name: database.db
|
||||
10:
|
||||
action: "node_file_scan" # CHECKHASH replaced by SCAN - but the behaviour is the same in this context.
|
||||
action: "node-file-scan" # CHECKHASH replaced by SCAN - but the behaviour is the same in this context.
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
file_name: database.db
|
||||
11:
|
||||
action: "node_file_delete"
|
||||
action: "node-file-delete"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
file_name: database.db
|
||||
12:
|
||||
action: "node_file_repair"
|
||||
action: "node-file-repair"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
file_name: database.db
|
||||
13:
|
||||
action: "node_service_fix"
|
||||
action: "node-service-fix"
|
||||
options:
|
||||
node_name: database_server
|
||||
service_name: DatabaseService
|
||||
service_name: database-service
|
||||
14:
|
||||
action: "node_folder_scan"
|
||||
action: "node-folder-scan"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
15:
|
||||
action: "node_folder_scan" # CHECKHASH replaced by SCAN - but the behaviour is the same in this context.
|
||||
action: "node-folder-scan" # CHECKHASH replaced by SCAN - but the behaviour is the same in this context.
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
16:
|
||||
action: "node_folder_repair"
|
||||
action: "node-folder-repair"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
17:
|
||||
action: "node_folder_restore"
|
||||
action: "node-folder-restore"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
18:
|
||||
action: "node_os_scan"
|
||||
action: "node-os-scan"
|
||||
options:
|
||||
node_name: domain_controller
|
||||
19:
|
||||
action: "node_shutdown"
|
||||
action: "node-shutdown"
|
||||
options:
|
||||
node_name: domain_controller
|
||||
20:
|
||||
action: node_startup
|
||||
action: node-startup
|
||||
options:
|
||||
node_name: domain_controller
|
||||
21:
|
||||
action: node_reset
|
||||
action: node-reset
|
||||
options:
|
||||
node_name: domain_controller
|
||||
22:
|
||||
action: "node_os_scan"
|
||||
action: "node-os-scan"
|
||||
options:
|
||||
node_name: web_server
|
||||
23:
|
||||
action: "node_shutdown"
|
||||
action: "node-shutdown"
|
||||
options:
|
||||
node_name: web_server
|
||||
24:
|
||||
action: node_startup
|
||||
action: node-startup
|
||||
options:
|
||||
node_name: web_server
|
||||
25:
|
||||
action: node_reset
|
||||
action: node-reset
|
||||
options:
|
||||
node_name: web_server
|
||||
26: # old action num: 18
|
||||
action: "node_os_scan"
|
||||
action: "node-os-scan"
|
||||
options:
|
||||
node_name: database_server
|
||||
27:
|
||||
action: "node_shutdown"
|
||||
action: "node-shutdown"
|
||||
options:
|
||||
node_name: database_server
|
||||
28:
|
||||
action: node_startup
|
||||
action: node-startup
|
||||
options:
|
||||
node_name: database_server
|
||||
29:
|
||||
action: node_reset
|
||||
action: node-reset
|
||||
options:
|
||||
node_name: database_server
|
||||
30:
|
||||
action: "node_os_scan"
|
||||
action: "node-os-scan"
|
||||
options:
|
||||
node_name: backup_server
|
||||
31:
|
||||
action: "node_shutdown"
|
||||
action: "node-shutdown"
|
||||
options:
|
||||
node_name: backup_server
|
||||
32:
|
||||
action: node_startup
|
||||
action: node-startup
|
||||
options:
|
||||
node_name: backup_server
|
||||
33:
|
||||
action: node_reset
|
||||
action: node-reset
|
||||
options:
|
||||
node_name: backup_server
|
||||
34:
|
||||
action: "node_os_scan"
|
||||
action: "node-os-scan"
|
||||
options:
|
||||
node_name: security_suite
|
||||
35:
|
||||
action: "node_shutdown"
|
||||
action: "node-shutdown"
|
||||
options:
|
||||
node_name: security_suite
|
||||
36:
|
||||
action: node_startup
|
||||
action: node-startup
|
||||
options:
|
||||
node_name: security_suite
|
||||
37:
|
||||
action: node_reset
|
||||
action: node-reset
|
||||
options:
|
||||
node_name: security_suite
|
||||
38:
|
||||
action: "node_os_scan"
|
||||
action: "node-os-scan"
|
||||
options:
|
||||
node_name: client_1
|
||||
39: # old action num: 19 # shutdown client 1
|
||||
action: "node_shutdown"
|
||||
action: "node-shutdown"
|
||||
options:
|
||||
node_name: client_1
|
||||
40: # old action num: 20
|
||||
action: node_startup
|
||||
action: node-startup
|
||||
options:
|
||||
node_name: client_1
|
||||
41: # old action num: 21
|
||||
action: node_reset
|
||||
action: node-reset
|
||||
options:
|
||||
node_name: client_1
|
||||
42:
|
||||
action: "node_os_scan"
|
||||
action: "node-os-scan"
|
||||
options:
|
||||
node_name: client_2
|
||||
43:
|
||||
action: "node_shutdown"
|
||||
action: "node-shutdown"
|
||||
options:
|
||||
node_name: client_2
|
||||
44:
|
||||
action: node_startup
|
||||
action: node-startup
|
||||
options:
|
||||
node_name: client_2
|
||||
45:
|
||||
action: node_reset
|
||||
action: node-reset
|
||||
options:
|
||||
node_name: client_2
|
||||
|
||||
46: # old action num: 22 # "ACL: ADDRULE - Block outgoing traffic from client 1"
|
||||
action: "router_acl_add_rule"
|
||||
46: # old action num: 22 # "acl: ADDRULE - Block outgoing traffic from client 1"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 1
|
||||
@@ -318,8 +318,8 @@ agents:
|
||||
protocol_name: ALL
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
47: # old action num: 23 # "ACL: ADDRULE - Block outgoing traffic from client 2"
|
||||
action: "router_acl_add_rule"
|
||||
47: # old action num: 23 # "acl: ADDRULE - Block outgoing traffic from client 2"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 2
|
||||
@@ -332,7 +332,7 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
48: # old action num: 24 # block tcp traffic from client 1 to web app
|
||||
action: "router_acl_add_rule"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 3
|
||||
@@ -345,7 +345,7 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
49: # old action num: 25 # block tcp traffic from client 2 to web app
|
||||
action: "router_acl_add_rule"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 4
|
||||
@@ -358,7 +358,7 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
50: # old action num: 26
|
||||
action: "router_acl_add_rule"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 5
|
||||
@@ -371,7 +371,7 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
51: # old action num: 27
|
||||
action: "router_acl_add_rule"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 6
|
||||
@@ -384,139 +384,139 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
52: # old action num: 28
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 0
|
||||
53: # old action num: 29
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 1
|
||||
54: # old action num: 30
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 2
|
||||
55: # old action num: 31
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 3
|
||||
56: # old action num: 32
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 4
|
||||
57: # old action num: 33
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 5
|
||||
58: # old action num: 34
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 6
|
||||
59: # old action num: 35
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 7
|
||||
60: # old action num: 36
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 8
|
||||
61: # old action num: 37
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 9
|
||||
62: # old action num: 38
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: domain_controller
|
||||
nic_num: 1
|
||||
63: # old action num: 39
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: domain_controller
|
||||
nic_num: 1
|
||||
64: # old action num: 40
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: web_server
|
||||
nic_num: 1
|
||||
65: # old action num: 41
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: web_server
|
||||
nic_num: 1
|
||||
66: # old action num: 42
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: database_server
|
||||
nic_num: 1
|
||||
67: # old action num: 43
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: database_server
|
||||
nic_num: 1
|
||||
68: # old action num: 44
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: backup_server
|
||||
nic_num: 1
|
||||
69: # old action num: 45
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: backup_server
|
||||
nic_num: 1
|
||||
70: # old action num: 46
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: security_suite
|
||||
nic_num: 1
|
||||
71: # old action num: 47
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: security_suite
|
||||
nic_num: 1
|
||||
72: # old action num: 48
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: security_suite
|
||||
nic_num: 2
|
||||
73: # old action num: 49
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: security_suite
|
||||
nic_num: 2
|
||||
74: # old action num: 50
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: client_1
|
||||
nic_num: 1
|
||||
75: # old action num: 51
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: client_1
|
||||
nic_num: 1
|
||||
76: # old action num: 52
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: client_2
|
||||
nic_num: 1
|
||||
77: # old action num: 53
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: client_2
|
||||
nic_num: 1
|
||||
|
||||
reward_function:
|
||||
reward_components:
|
||||
- type: ACTION_PENALTY
|
||||
- type: action-penalty
|
||||
weight: 1.0
|
||||
options:
|
||||
action_penalty: -0.75
|
||||
@@ -585,7 +585,7 @@ simulation:
|
||||
subnet_mask: 255.255.255.0
|
||||
default_gateway: 192.168.1.1
|
||||
services:
|
||||
- type: DNSServer
|
||||
- type: dns-server
|
||||
options:
|
||||
domain_mapping:
|
||||
arcd.com: 192.168.1.12 # web server
|
||||
@@ -597,9 +597,9 @@ simulation:
|
||||
default_gateway: 192.168.1.1
|
||||
dns_server: 192.168.1.10
|
||||
services:
|
||||
- type: WebServer
|
||||
- type: web-server
|
||||
applications:
|
||||
- type: DatabaseClient
|
||||
- type: database-client
|
||||
options:
|
||||
db_server_ip: 192.168.1.14
|
||||
|
||||
@@ -611,10 +611,10 @@ simulation:
|
||||
default_gateway: 192.168.1.1
|
||||
dns_server: 192.168.1.10
|
||||
services:
|
||||
- type: DatabaseService
|
||||
- type: database-service
|
||||
options:
|
||||
backup_server_ip: 192.168.1.16
|
||||
- type: FTPClient
|
||||
- type: ftp-client
|
||||
|
||||
- hostname: backup_server
|
||||
type: server
|
||||
@@ -623,7 +623,7 @@ simulation:
|
||||
default_gateway: 192.168.1.1
|
||||
dns_server: 192.168.1.10
|
||||
services:
|
||||
- type: FTPServer
|
||||
- type: ftp-server
|
||||
|
||||
- hostname: security_suite
|
||||
type: server
|
||||
@@ -643,20 +643,20 @@ simulation:
|
||||
default_gateway: 192.168.10.1
|
||||
dns_server: 192.168.1.10
|
||||
applications:
|
||||
- type: DataManipulationBot
|
||||
- type: data-manipulation-bot
|
||||
options:
|
||||
port_scan_p_of_success: 0.8
|
||||
data_manipulation_p_of_success: 0.8
|
||||
payload: "DELETE"
|
||||
server_ip: 192.168.1.14
|
||||
- type: WebBrowser
|
||||
- type: web-browser
|
||||
options:
|
||||
target_url: http://arcd.com/users/
|
||||
- type: DatabaseClient
|
||||
- type: database-client
|
||||
options:
|
||||
db_server_ip: 192.168.1.14
|
||||
services:
|
||||
- type: DNSClient
|
||||
- type: dns-client
|
||||
|
||||
- hostname: client_2
|
||||
type: computer
|
||||
@@ -665,20 +665,20 @@ simulation:
|
||||
default_gateway: 192.168.10.1
|
||||
dns_server: 192.168.1.10
|
||||
applications:
|
||||
- type: WebBrowser
|
||||
- type: web-browser
|
||||
options:
|
||||
target_url: http://arcd.com/users/
|
||||
- type: DataManipulationBot
|
||||
- type: data-manipulation-bot
|
||||
options:
|
||||
port_scan_p_of_success: 0.8
|
||||
data_manipulation_p_of_success: 0.8
|
||||
payload: "DELETE"
|
||||
server_ip: 192.168.1.14
|
||||
- type: DatabaseClient
|
||||
- type: database-client
|
||||
options:
|
||||
db_server_ip: 192.168.1.14
|
||||
services:
|
||||
- type: DNSClient
|
||||
- type: dns-client
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -12,37 +12,37 @@ game:
|
||||
agents:
|
||||
- ref: client_2_green_user
|
||||
team: GREEN
|
||||
type: ProbabilisticAgent
|
||||
type: probabilistic-agent
|
||||
agent_settings: # options specific to this particular agent type, basically args of __init__(self)
|
||||
action_probabilities:
|
||||
0: 1.0
|
||||
|
||||
- ref: data_manipulation_attacker
|
||||
team: RED
|
||||
type: RedDatabaseCorruptingAgent
|
||||
type: red-database-corrupting-agent
|
||||
agent_settings: # options specific to this particular agent type, basically args of __init__(self)
|
||||
possible_start_nodes: [client_1,]
|
||||
target_application: DataManipulationBot
|
||||
target_application: data-manipulation-bot
|
||||
start_step: 25
|
||||
frequency: 20
|
||||
variance: 5
|
||||
|
||||
- ref: defender
|
||||
team: BLUE
|
||||
type: ProxyAgent
|
||||
type: proxy-agent
|
||||
|
||||
observation_space:
|
||||
type: CUSTOM
|
||||
type: custom
|
||||
options:
|
||||
components:
|
||||
- type: NODES
|
||||
- type: nodes
|
||||
label: NODES
|
||||
options:
|
||||
hosts:
|
||||
- hostname: domain_controller
|
||||
- hostname: web_server
|
||||
services:
|
||||
- service_name: WebServer
|
||||
- service_name: web-server
|
||||
- hostname: database_server
|
||||
folders:
|
||||
- folder_name: database
|
||||
@@ -82,7 +82,7 @@ agents:
|
||||
- UDP
|
||||
num_rules: 10
|
||||
|
||||
- type: LINKS
|
||||
- type: links
|
||||
label: LINKS
|
||||
options:
|
||||
link_references:
|
||||
@@ -96,7 +96,7 @@ agents:
|
||||
- switch_2:eth-1<->client_1:eth-1
|
||||
- switch_2:eth-2<->client_2:eth-1
|
||||
- switch_2:eth-7<->security_suite:eth-2
|
||||
- type: "NONE"
|
||||
- type: "none"
|
||||
label: ICS
|
||||
options: {}
|
||||
|
||||
@@ -104,118 +104,118 @@ agents:
|
||||
|
||||
action_map:
|
||||
0:
|
||||
action: do_nothing
|
||||
action: do-nothing
|
||||
options: {}
|
||||
# scan webapp service
|
||||
1:
|
||||
action: node_service_scan
|
||||
action: node-service-scan
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
# stop webapp service
|
||||
2:
|
||||
action: node_service_stop
|
||||
action: node-service-stop
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
# start webapp service
|
||||
3:
|
||||
action: "node_service_start"
|
||||
action: "node-service-start"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
4:
|
||||
action: "node_service_pause"
|
||||
action: "node-service-pause"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
5:
|
||||
action: "node_service_resume"
|
||||
action: "node-service-resume"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
6:
|
||||
action: "node_service_restart"
|
||||
action: "node-service-restart"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
7:
|
||||
action: "node_service_disable"
|
||||
action: "node-service-disable"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
8:
|
||||
action: "node_service_enable"
|
||||
action: "node-service-enable"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
9: # check database.db file
|
||||
action: "node_file_scan"
|
||||
action: "node-file-scan"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
file_name: database.db
|
||||
10:
|
||||
action: "node_file_checkhash"
|
||||
action: "node-file-checkhash"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
file_name: database.db
|
||||
11:
|
||||
action: "node_file_delete"
|
||||
action: "node-file-delete"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
file_name: database.db
|
||||
12:
|
||||
action: "node_file_repair"
|
||||
action: "node-file-repair"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
file_name: database.db
|
||||
13:
|
||||
action: "node_service_fix"
|
||||
action: "node-service-fix"
|
||||
options:
|
||||
node_name: database_server
|
||||
service_name: DatabaseService
|
||||
service_name: database-service
|
||||
14:
|
||||
action: "node_folder_scan"
|
||||
action: "node-folder-scan"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
15:
|
||||
action: "node_folder_checkhash"
|
||||
action: "node-folder-checkhash"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
16:
|
||||
action: "node_folder_repair"
|
||||
action: "node-folder-repair"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
17:
|
||||
action: "node_folder_restore"
|
||||
action: "node-folder-restore"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
18:
|
||||
action: "node_os_scan"
|
||||
action: "node-os-scan"
|
||||
options:
|
||||
node_name: database_server
|
||||
19: # shutdown client 1
|
||||
action: "node_shutdown"
|
||||
action: "node-shutdown"
|
||||
options:
|
||||
node_name: client_1
|
||||
20:
|
||||
action: "node_startup"
|
||||
action: "node-startup"
|
||||
options:
|
||||
node_name: client_1
|
||||
21:
|
||||
action: "node_reset"
|
||||
action: "node-reset"
|
||||
options:
|
||||
node_name: client_1
|
||||
22: # "ACL: ADDRULE - Block outgoing traffic from client 1" (not supported in Primaite)
|
||||
action: "router_acl_add_rule"
|
||||
22: # "acl: ADDRULE - Block outgoing traffic from client 1" (not supported in Primaite)
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 1
|
||||
@@ -227,8 +227,8 @@ agents:
|
||||
protocol_name: ALL
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
23: # "ACL: ADDRULE - Block outgoing traffic from client 2" (not supported in Primaite)
|
||||
action: "router_acl_add_rule"
|
||||
23: # "acl: ADDRULE - Block outgoing traffic from client 2" (not supported in Primaite)
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 2
|
||||
@@ -241,7 +241,7 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
24: # block tcp traffic from client 1 to web app
|
||||
action: "router_acl_add_rule"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 3
|
||||
@@ -254,7 +254,7 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
25: # block tcp traffic from client 2 to web app
|
||||
action: "router_acl_add_rule"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 4
|
||||
@@ -267,7 +267,7 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
26:
|
||||
action: "router_acl_add_rule"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 5
|
||||
@@ -280,7 +280,7 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
27:
|
||||
action: "router_acl_add_rule"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 6
|
||||
@@ -293,139 +293,139 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
28:
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 0
|
||||
29:
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 1
|
||||
30:
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 2
|
||||
31:
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 3
|
||||
32:
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 4
|
||||
33:
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 5
|
||||
34:
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 6
|
||||
35:
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 7
|
||||
36:
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 8
|
||||
37:
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 9
|
||||
38:
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: domain_controller
|
||||
nic_num: 1
|
||||
39:
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: domain_controller
|
||||
nic_num: 1
|
||||
40:
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: web_server
|
||||
nic_num: 1
|
||||
41:
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: web_server
|
||||
nic_num: 1
|
||||
42:
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: database_server
|
||||
nic_num: 1
|
||||
43:
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: database_server
|
||||
nic_num: 1
|
||||
44:
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: backup_server
|
||||
nic_num: 1
|
||||
45:
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: backup_server
|
||||
nic_num: 1
|
||||
46:
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: security_suite
|
||||
nic_num: 1
|
||||
47:
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: security_suite
|
||||
nic_num: 1
|
||||
48:
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: security_suite
|
||||
nic_num: 2
|
||||
49:
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: security_suite
|
||||
nic_num: 2
|
||||
50:
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: client_1
|
||||
nic_num: 1
|
||||
51:
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: client_1
|
||||
nic_num: 1
|
||||
52:
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: client_2
|
||||
nic_num: 1
|
||||
53:
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: client_2
|
||||
nic_num: 1
|
||||
|
||||
reward_function:
|
||||
reward_components:
|
||||
- type: DATABASE_FILE_INTEGRITY
|
||||
- type: database-file-integrity
|
||||
weight: 0.5
|
||||
options:
|
||||
node_hostname: database_server
|
||||
@@ -433,7 +433,7 @@ agents:
|
||||
file_name: database.db
|
||||
|
||||
|
||||
- type: WEB_SERVER_404_PENALTY
|
||||
- type: web-server-404-penalty
|
||||
weight: 0.5
|
||||
options:
|
||||
node_hostname: web_server
|
||||
@@ -492,7 +492,7 @@ simulation:
|
||||
subnet_mask: 255.255.255.0
|
||||
default_gateway: 192.168.1.1
|
||||
services:
|
||||
- type: DNSServer
|
||||
- type: dns-server
|
||||
options:
|
||||
domain_mapping:
|
||||
arcd.com: 192.168.1.12 # web server
|
||||
@@ -504,9 +504,9 @@ simulation:
|
||||
default_gateway: 192.168.1.1
|
||||
dns_server: 192.168.1.10
|
||||
services:
|
||||
- type: WebServer
|
||||
- type: web-server
|
||||
applications:
|
||||
- type: DatabaseClient
|
||||
- type: database-client
|
||||
options:
|
||||
db_server_ip: 192.168.1.14
|
||||
|
||||
@@ -518,7 +518,7 @@ simulation:
|
||||
default_gateway: 192.168.1.1
|
||||
dns_server: 192.168.1.10
|
||||
services:
|
||||
- type: DatabaseService
|
||||
- type: database-service
|
||||
|
||||
- type: server
|
||||
hostname: backup_server
|
||||
@@ -527,7 +527,7 @@ simulation:
|
||||
default_gateway: 192.168.1.1
|
||||
dns_server: 192.168.1.10
|
||||
services:
|
||||
- type: FTPServer
|
||||
- type: ftp-server
|
||||
|
||||
- type: server
|
||||
hostname: security_suite
|
||||
@@ -547,14 +547,14 @@ simulation:
|
||||
default_gateway: 192.168.10.1
|
||||
dns_server: 192.168.1.10
|
||||
applications:
|
||||
- type: DataManipulationBot
|
||||
- type: data-manipulation-bot
|
||||
options:
|
||||
port_scan_p_of_success: 0.1
|
||||
data_manipulation_p_of_success: 0.1
|
||||
payload: "DELETE"
|
||||
server_ip: 192.168.1.14
|
||||
services:
|
||||
- type: DNSClient
|
||||
- type: dns-client
|
||||
|
||||
- type: computer
|
||||
hostname: client_2
|
||||
@@ -563,9 +563,9 @@ simulation:
|
||||
default_gateway: 192.168.10.1
|
||||
dns_server: 192.168.1.10
|
||||
applications:
|
||||
- type: WebBrowser
|
||||
- type: web-browser
|
||||
services:
|
||||
- type: DNSClient
|
||||
- type: dns-client
|
||||
|
||||
links:
|
||||
- endpoint_a_hostname: router_1
|
||||
|
||||
@@ -40,7 +40,7 @@ simulation:
|
||||
subnet_mask: 255.255.255.0
|
||||
default_gateway: 192.168.10.1
|
||||
applications:
|
||||
- type: C2Server
|
||||
- type: c2-server
|
||||
options:
|
||||
listen_on_ports:
|
||||
- 80
|
||||
@@ -52,7 +52,7 @@ simulation:
|
||||
subnet_mask: 255.255.255.0
|
||||
default_gateway: 192.168.10.1
|
||||
applications:
|
||||
- type: C2Beacon
|
||||
- type: c2-beacon
|
||||
options:
|
||||
c2_server_ip_address: 192.168.10.21
|
||||
keep_alive_frequency: 5
|
||||
|
||||
@@ -26,18 +26,18 @@ game:
|
||||
agents:
|
||||
- ref: client_2_green_user
|
||||
team: GREEN
|
||||
type: ProbabilisticAgent
|
||||
type: probabilistic-agent
|
||||
|
||||
action_space:
|
||||
action_map:
|
||||
0:
|
||||
action: do_nothing
|
||||
action: do-nothing
|
||||
options: {}
|
||||
1:
|
||||
action: node_application_execute
|
||||
action: node-application-execute
|
||||
options:
|
||||
node_name: client_2
|
||||
application_name: WebBrowser
|
||||
application_name: web-browser
|
||||
|
||||
agent_settings:
|
||||
action_probabilities:
|
||||
|
||||
@@ -26,13 +26,13 @@ simulation:
|
||||
subnet_mask: 255.255.255.0
|
||||
default_gateway: 192.168.10.1
|
||||
services:
|
||||
- type: DatabaseService
|
||||
- type: database-service
|
||||
options:
|
||||
backup_server_ip: 10.10.1.12
|
||||
listen_on_ports:
|
||||
- 631
|
||||
applications:
|
||||
- type: WebBrowser
|
||||
- type: web-browser
|
||||
options:
|
||||
target_url: http://sometech.ai
|
||||
listen_on_ports:
|
||||
|
||||
@@ -29,22 +29,22 @@ game:
|
||||
agents:
|
||||
- ref: client_2_green_user
|
||||
team: GREEN
|
||||
type: ProbabilisticAgent
|
||||
type: probabilistic-agent
|
||||
|
||||
action_space:
|
||||
action_map:
|
||||
0:
|
||||
action: do_nothing
|
||||
action: do-nothing
|
||||
options: {}
|
||||
1:
|
||||
action: node_application_execute
|
||||
action: node-application-execute
|
||||
options:
|
||||
node_name: client_2
|
||||
application_name: WebBrowser
|
||||
application_name: web-browser
|
||||
|
||||
reward_function:
|
||||
reward_components:
|
||||
- type: DUMMY
|
||||
- type: dummy
|
||||
|
||||
agent_settings:
|
||||
action_probabilities:
|
||||
@@ -53,13 +53,13 @@ agents:
|
||||
|
||||
- ref: defender
|
||||
team: BLUE
|
||||
type: ProxyAgent
|
||||
type: proxy-agent
|
||||
|
||||
observation_space:
|
||||
type: CUSTOM
|
||||
type: custom
|
||||
options:
|
||||
components:
|
||||
- type: NODES
|
||||
- type: nodes
|
||||
label: NODES
|
||||
options:
|
||||
hosts:
|
||||
@@ -96,25 +96,25 @@ agents:
|
||||
- UDP
|
||||
num_rules: 10
|
||||
|
||||
- type: LINKS
|
||||
- type: links
|
||||
label: LINKS
|
||||
options:
|
||||
link_references:
|
||||
- switch_1:eth-1<->client_1:eth-1
|
||||
- switch_1:eth-2<->client_2:eth-1
|
||||
- type: "NONE"
|
||||
- type: "none"
|
||||
label: ICS
|
||||
options: {}
|
||||
|
||||
action_space:
|
||||
action_map:
|
||||
0:
|
||||
action: do_nothing
|
||||
action: do-nothing
|
||||
options: {}
|
||||
|
||||
reward_function:
|
||||
reward_components:
|
||||
- type: DATABASE_FILE_INTEGRITY
|
||||
- type: database-file-integrity
|
||||
weight: 0.5
|
||||
options:
|
||||
node_hostname: database_server
|
||||
@@ -122,7 +122,7 @@ agents:
|
||||
file_name: database.db
|
||||
|
||||
|
||||
- type: WEB_SERVER_404_PENALTY
|
||||
- type: web-server-404-penalty
|
||||
weight: 0.5
|
||||
options:
|
||||
node_hostname: web_server
|
||||
@@ -147,41 +147,41 @@ simulation:
|
||||
default_gateway: 192.168.10.1
|
||||
dns_server: 192.168.1.10
|
||||
applications:
|
||||
- type: RansomwareScript
|
||||
- type: WebBrowser
|
||||
- type: ransomware-script
|
||||
- type: web-browser
|
||||
options:
|
||||
target_url: http://arcd.com/users/
|
||||
- type: DatabaseClient
|
||||
- type: database-client
|
||||
options:
|
||||
db_server_ip: 192.168.1.10
|
||||
server_password: arcd
|
||||
- type: DataManipulationBot
|
||||
- type: data-manipulation-bot
|
||||
options:
|
||||
port_scan_p_of_success: 0.8
|
||||
data_manipulation_p_of_success: 0.8
|
||||
payload: "DELETE"
|
||||
server_ip: 192.168.1.21
|
||||
server_password: arcd
|
||||
- type: DoSBot
|
||||
- type: dos-bot
|
||||
options:
|
||||
target_ip_address: 192.168.10.21
|
||||
payload: SPOOF DATA
|
||||
port_scan_p_of_success: 0.8
|
||||
services:
|
||||
- type: DNSClient
|
||||
- type: DNSServer
|
||||
- type: dns-client
|
||||
- type: dns-server
|
||||
options:
|
||||
domain_mapping:
|
||||
arcd.com: 192.168.1.10
|
||||
- type: DatabaseService
|
||||
- type: database-service
|
||||
options:
|
||||
backup_server_ip: 192.168.1.10
|
||||
- type: WebServer
|
||||
- type: FTPServer
|
||||
- type: NTPClient
|
||||
- type: web-server
|
||||
- type: ftp-server
|
||||
- type: ntp-client
|
||||
options:
|
||||
ntp_server_ip: 192.168.1.10
|
||||
- type: NTPServer
|
||||
- type: ntp-server
|
||||
- hostname: client_2
|
||||
type: computer
|
||||
ip_address: 192.168.10.22
|
||||
|
||||
@@ -24,7 +24,7 @@ game:
|
||||
agents:
|
||||
- ref: client_2_green_user
|
||||
team: GREEN
|
||||
type: ProbabilisticAgent
|
||||
type: probabilistic-agent
|
||||
agent_settings:
|
||||
action_probabilities:
|
||||
0: 0.3
|
||||
@@ -34,33 +34,33 @@ agents:
|
||||
action_space:
|
||||
action_map:
|
||||
0:
|
||||
action: do_nothing
|
||||
action: do-nothing
|
||||
options: {}
|
||||
1:
|
||||
action: node_application_execute
|
||||
action: node-application-execute
|
||||
options:
|
||||
node_name: client_2
|
||||
application_name: WebBrowser
|
||||
application_name: web-browser
|
||||
2:
|
||||
action: node_application_execute
|
||||
action: node-application-execute
|
||||
options:
|
||||
node_name: client_2
|
||||
application_name: DatabaseClient
|
||||
application_name: database-client
|
||||
|
||||
reward_function:
|
||||
reward_components:
|
||||
- type: WEBPAGE_UNAVAILABLE_PENALTY
|
||||
- type: webpage-unavailable-penalty
|
||||
weight: 0.25
|
||||
options:
|
||||
node_hostname: client_2
|
||||
- type: GREEN_ADMIN_DATABASE_UNREACHABLE_PENALTY
|
||||
- type: green-admin-database-unreachable-penalty
|
||||
weight: 0.05
|
||||
options:
|
||||
node_hostname: client_2
|
||||
|
||||
- ref: client_1_green_user
|
||||
team: GREEN
|
||||
type: ProbabilisticAgent
|
||||
type: probabilistic-agent
|
||||
agent_settings:
|
||||
action_probabilities:
|
||||
0: 0.3
|
||||
@@ -70,26 +70,26 @@ agents:
|
||||
action_space:
|
||||
action_map:
|
||||
0:
|
||||
action: do_nothing
|
||||
action: do-nothing
|
||||
options: {}
|
||||
1:
|
||||
action: node_application_execute
|
||||
action: node-application-execute
|
||||
options:
|
||||
node_name: client_1
|
||||
application_name: WebBrowser
|
||||
application_name: web-browser
|
||||
2:
|
||||
action: node_application_execute
|
||||
action: node-application-execute
|
||||
options:
|
||||
node_name: client_1
|
||||
application_name: WebBrowser
|
||||
application_name: web-browser
|
||||
|
||||
reward_function:
|
||||
reward_components:
|
||||
- type: WEBPAGE_UNAVAILABLE_PENALTY
|
||||
- type: webpage-unavailable-penalty
|
||||
weight: 0.25
|
||||
options:
|
||||
node_hostname: client_1
|
||||
- type: GREEN_ADMIN_DATABASE_UNREACHABLE_PENALTY
|
||||
- type: green-admin-database-unreachable-penalty
|
||||
weight: 0.05
|
||||
options:
|
||||
node_hostname: client_1
|
||||
@@ -100,30 +100,30 @@ agents:
|
||||
|
||||
- ref: data_manipulation_attacker
|
||||
team: RED
|
||||
type: RedDatabaseCorruptingAgent
|
||||
type: red-database-corrupting-agent
|
||||
agent_settings: # options specific to this particular agent type, basically args of __init__(self)
|
||||
possible_start_nodes: [client_1, client_2]
|
||||
target_application: DataManipulationBot
|
||||
target_application: data-manipulation-bot
|
||||
start_step: 25
|
||||
frequency: 20
|
||||
variance: 5
|
||||
|
||||
- ref: defender
|
||||
team: BLUE
|
||||
type: ProxyAgent
|
||||
type: proxy-agent
|
||||
|
||||
observation_space:
|
||||
type: CUSTOM
|
||||
type: custom
|
||||
options:
|
||||
components:
|
||||
- type: NODES
|
||||
- type: nodes
|
||||
label: NODES
|
||||
options:
|
||||
hosts:
|
||||
- hostname: domain_controller
|
||||
- hostname: web_server
|
||||
services:
|
||||
- service_name: WebServer
|
||||
- service_name: web-server
|
||||
- hostname: database_server
|
||||
folders:
|
||||
- folder_name: database
|
||||
@@ -168,7 +168,7 @@ agents:
|
||||
- UDP
|
||||
num_rules: 10
|
||||
|
||||
- type: LINKS
|
||||
- type: links
|
||||
label: LINKS
|
||||
options:
|
||||
link_references:
|
||||
@@ -182,222 +182,222 @@ agents:
|
||||
- switch_2:eth-1<->client_1:eth-1
|
||||
- switch_2:eth-2<->client_2:eth-1
|
||||
- switch_2:eth-7<->security_suite:eth-2
|
||||
- type: "NONE"
|
||||
- type: "none"
|
||||
label: ICS
|
||||
options: {}
|
||||
|
||||
action_space:
|
||||
action_map:
|
||||
0:
|
||||
action: do_nothing
|
||||
action: do-nothing
|
||||
options: {}
|
||||
# scan webapp service
|
||||
1:
|
||||
action: node_service_scan
|
||||
action: node-service-scan
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
# stop webapp service
|
||||
2:
|
||||
action: node_service_stop
|
||||
action: node-service-stop
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
# start webapp service
|
||||
3:
|
||||
action: "node_service_start"
|
||||
action: "node-service-start"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
4:
|
||||
action: "node_service_pause"
|
||||
action: "node-service-pause"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
5:
|
||||
action: "node_service_resume"
|
||||
action: "node-service-resume"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
6:
|
||||
action: "node_service_restart"
|
||||
action: "node-service-restart"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
7:
|
||||
action: "node_service_disable"
|
||||
action: "node-service-disable"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
8:
|
||||
action: "node_service_enable"
|
||||
action: "node-service-enable"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
9: # check database.db file
|
||||
action: "node_file_scan"
|
||||
action: "node-file-scan"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
file_name: database.db
|
||||
10:
|
||||
action: "node_file_scan" # CHECKHASH replaced by SCAN - but the behaviour is the same in this context.
|
||||
action: "node-file-scan" # CHECKHASH replaced by SCAN - but the behaviour is the same in this context.
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
file_name: database.db
|
||||
11:
|
||||
action: "node_file_delete"
|
||||
action: "node-file-delete"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
file_name: database.db
|
||||
12:
|
||||
action: "node_file_repair"
|
||||
action: "node-file-repair"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
file_name: database.db
|
||||
13:
|
||||
action: "node_service_fix"
|
||||
action: "node-service-fix"
|
||||
options:
|
||||
node_name: database_server
|
||||
service_name: DatabaseService
|
||||
service_name: database-service
|
||||
14:
|
||||
action: "node_folder_scan"
|
||||
action: "node-folder-scan"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
15:
|
||||
action: "node_folder_scan" # CHECKHASH replaced by SCAN - but the behaviour is the same in this context.
|
||||
action: "node-folder-scan" # CHECKHASH replaced by SCAN - but the behaviour is the same in this context.
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
16:
|
||||
action: "node_folder_repair"
|
||||
action: "node-folder-repair"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
17:
|
||||
action: "node_folder_restore"
|
||||
action: "node-folder-restore"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
18:
|
||||
action: "node_os_scan"
|
||||
action: "node-os-scan"
|
||||
options:
|
||||
node_name: domain_controller
|
||||
19:
|
||||
action: "node_shutdown"
|
||||
action: "node-shutdown"
|
||||
options:
|
||||
node_name: domain_controller
|
||||
20:
|
||||
action: node_startup
|
||||
action: node-startup
|
||||
options:
|
||||
node_name: domain_controller
|
||||
21:
|
||||
action: node_reset
|
||||
action: node-reset
|
||||
options:
|
||||
node_name: domain_controller
|
||||
22:
|
||||
action: "node_os_scan"
|
||||
action: "node-os-scan"
|
||||
options:
|
||||
node_name: web_server
|
||||
23:
|
||||
action: "node_shutdown"
|
||||
action: "node-shutdown"
|
||||
options:
|
||||
node_name: web_server
|
||||
24:
|
||||
action: node_startup
|
||||
action: node-startup
|
||||
options:
|
||||
node_name: web_server
|
||||
25:
|
||||
action: node_reset
|
||||
action: node-reset
|
||||
options:
|
||||
node_name: web_server
|
||||
26: # old action num: 18
|
||||
action: "node_os_scan"
|
||||
action: "node-os-scan"
|
||||
options:
|
||||
node_name: database_server
|
||||
27:
|
||||
action: "node_shutdown"
|
||||
action: "node-shutdown"
|
||||
options:
|
||||
node_name: database_server
|
||||
28:
|
||||
action: node_startup
|
||||
action: node-startup
|
||||
options:
|
||||
node_name: database_server
|
||||
29:
|
||||
action: node_reset
|
||||
action: node-reset
|
||||
options:
|
||||
node_name: database_server
|
||||
30:
|
||||
action: "node_os_scan"
|
||||
action: "node-os-scan"
|
||||
options:
|
||||
node_name: backup_server
|
||||
31:
|
||||
action: "node_shutdown"
|
||||
action: "node-shutdown"
|
||||
options:
|
||||
node_name: backup_server
|
||||
32:
|
||||
action: node_startup
|
||||
action: node-startup
|
||||
options:
|
||||
node_name: backup_server
|
||||
33:
|
||||
action: node_reset
|
||||
action: node-reset
|
||||
options:
|
||||
node_name: backup_server
|
||||
34:
|
||||
action: "node_os_scan"
|
||||
action: "node-os-scan"
|
||||
options:
|
||||
node_name: security_suite
|
||||
35:
|
||||
action: "node_shutdown"
|
||||
action: "node-shutdown"
|
||||
options:
|
||||
node_name: security_suite
|
||||
36:
|
||||
action: node_startup
|
||||
action: node-startup
|
||||
options:
|
||||
node_name: security_suite
|
||||
37:
|
||||
action: node_reset
|
||||
action: node-reset
|
||||
options:
|
||||
node_name: security_suite
|
||||
38:
|
||||
action: "node_os_scan"
|
||||
action: "node-os-scan"
|
||||
options:
|
||||
node_name: client_1
|
||||
39: # old action num: 19 # shutdown client 1
|
||||
action: "node_shutdown"
|
||||
action: "node-shutdown"
|
||||
options:
|
||||
node_name: client_1
|
||||
40: # old action num: 20
|
||||
action: node_startup
|
||||
action: node-startup
|
||||
options:
|
||||
node_name: client_1
|
||||
41: # old action num: 21
|
||||
action: node_reset
|
||||
action: node-reset
|
||||
options:
|
||||
node_name: client_1
|
||||
42:
|
||||
action: "node_os_scan"
|
||||
action: "node-os-scan"
|
||||
options:
|
||||
node_name: client_2
|
||||
43:
|
||||
action: "node_shutdown"
|
||||
action: "node-shutdown"
|
||||
options:
|
||||
node_name: client_2
|
||||
44:
|
||||
action: node_startup
|
||||
action: node-startup
|
||||
options:
|
||||
node_name: client_2
|
||||
45:
|
||||
action: node_reset
|
||||
action: node-reset
|
||||
options:
|
||||
node_name: client_2
|
||||
|
||||
46: # old action num: 22 # "ACL: ADDRULE - Block outgoing traffic from client 1"
|
||||
action: "router_acl_add_rule"
|
||||
46: # old action num: 22 # "acl: ADDRULE - Block outgoing traffic from client 1"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 1
|
||||
@@ -409,8 +409,8 @@ agents:
|
||||
protocol_name: ALL
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
47: # old action num: 23 # "ACL: ADDRULE - Block outgoing traffic from client 2"
|
||||
action: "router_acl_add_rule"
|
||||
47: # old action num: 23 # "acl: ADDRULE - Block outgoing traffic from client 2"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 2
|
||||
@@ -423,7 +423,7 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
48: # old action num: 24 # block tcp traffic from client 1 to web app
|
||||
action: "router_acl_add_rule"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 3
|
||||
@@ -436,7 +436,7 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
49: # old action num: 25 # block tcp traffic from client 2 to web app
|
||||
action: "router_acl_add_rule"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 4
|
||||
@@ -449,7 +449,7 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
50: # old action num: 26
|
||||
action: "router_acl_add_rule"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 5
|
||||
@@ -462,7 +462,7 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
51: # old action num: 27
|
||||
action: "router_acl_add_rule"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 6
|
||||
@@ -475,151 +475,151 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
52: # old action num: 28
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 0
|
||||
53: # old action num: 29
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 1
|
||||
54: # old action num: 30
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 2
|
||||
55: # old action num: 31
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 3
|
||||
56: # old action num: 32
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 4
|
||||
57: # old action num: 33
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 5
|
||||
58: # old action num: 34
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 6
|
||||
59: # old action num: 35
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 7
|
||||
60: # old action num: 36
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 8
|
||||
61: # old action num: 37
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 9
|
||||
62: # old action num: 38
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: domain_controller
|
||||
nic_num: 1
|
||||
63: # old action num: 39
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: domain_controller
|
||||
nic_num: 1
|
||||
64: # old action num: 40
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: web_server
|
||||
nic_num: 1
|
||||
65: # old action num: 41
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: web_server
|
||||
nic_num: 1
|
||||
66: # old action num: 42
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: database_server
|
||||
nic_num: 1
|
||||
67: # old action num: 43
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: database_server
|
||||
nic_num: 1
|
||||
68: # old action num: 44
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: backup_server
|
||||
nic_num: 1
|
||||
69: # old action num: 45
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: backup_server
|
||||
nic_num: 1
|
||||
70: # old action num: 46
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: security_suite
|
||||
nic_num: 1
|
||||
71: # old action num: 47
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: security_suite
|
||||
nic_num: 1
|
||||
72: # old action num: 48
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: security_suite
|
||||
nic_num: 2
|
||||
73: # old action num: 49
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: security_suite
|
||||
nic_num: 2
|
||||
74: # old action num: 50
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: client_1
|
||||
nic_num: 1
|
||||
75: # old action num: 51
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: client_1
|
||||
nic_num: 1
|
||||
76: # old action num: 52
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: client_2
|
||||
nic_num: 1
|
||||
77: # old action num: 53
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: client_2
|
||||
nic_num: 1
|
||||
|
||||
reward_function:
|
||||
reward_components:
|
||||
- type: DATABASE_FILE_INTEGRITY
|
||||
- type: database-file-integrity
|
||||
weight: 0.40
|
||||
options:
|
||||
node_hostname: database_server
|
||||
folder_name: database
|
||||
file_name: database.db
|
||||
|
||||
- type: SHARED_REWARD
|
||||
- type: shared-reward
|
||||
weight: 1.0
|
||||
options:
|
||||
agent_name: client_1_green_user
|
||||
|
||||
- type: SHARED_REWARD
|
||||
- type: shared-reward
|
||||
weight: 1.0
|
||||
options:
|
||||
agent_name: client_2_green_user
|
||||
@@ -689,7 +689,7 @@ simulation:
|
||||
subnet_mask: 255.255.255.0
|
||||
default_gateway: 192.168.1.1
|
||||
services:
|
||||
- type: DNSServer
|
||||
- type: dns-server
|
||||
options:
|
||||
domain_mapping:
|
||||
arcd.com: 192.168.1.12 # web server
|
||||
@@ -701,9 +701,9 @@ simulation:
|
||||
default_gateway: 192.168.1.1
|
||||
dns_server: 192.168.1.10
|
||||
services:
|
||||
- type: WebServer
|
||||
- type: web-server
|
||||
applications:
|
||||
- type: DatabaseClient
|
||||
- type: database-client
|
||||
options:
|
||||
db_server_ip: 192.168.1.14
|
||||
|
||||
@@ -715,10 +715,10 @@ simulation:
|
||||
default_gateway: 192.168.1.1
|
||||
dns_server: 192.168.1.10
|
||||
services:
|
||||
- type: DatabaseService
|
||||
- type: database-service
|
||||
options:
|
||||
backup_server_ip: 192.168.1.16
|
||||
- type: FTPClient
|
||||
- type: ftp-client
|
||||
|
||||
- hostname: backup_server
|
||||
type: server
|
||||
@@ -727,7 +727,7 @@ simulation:
|
||||
default_gateway: 192.168.1.1
|
||||
dns_server: 192.168.1.10
|
||||
services:
|
||||
- type: FTPServer
|
||||
- type: ftp-server
|
||||
|
||||
- hostname: security_suite
|
||||
type: server
|
||||
@@ -747,20 +747,20 @@ simulation:
|
||||
default_gateway: 192.168.10.1
|
||||
dns_server: 192.168.1.10
|
||||
applications:
|
||||
- type: DataManipulationBot
|
||||
- type: data-manipulation-bot
|
||||
options:
|
||||
port_scan_p_of_success: 0.8
|
||||
data_manipulation_p_of_success: 0.8
|
||||
payload: "DELETE"
|
||||
server_ip: 192.168.1.14
|
||||
- type: WebBrowser
|
||||
- type: web-browser
|
||||
options:
|
||||
target_url: http://arcd.com/users/
|
||||
- type: DatabaseClient
|
||||
- type: database-client
|
||||
options:
|
||||
db_server_ip: 192.168.1.14
|
||||
services:
|
||||
- type: DNSClient
|
||||
- type: dns-client
|
||||
|
||||
- hostname: client_2
|
||||
type: computer
|
||||
@@ -769,20 +769,20 @@ simulation:
|
||||
default_gateway: 192.168.10.1
|
||||
dns_server: 192.168.1.10
|
||||
applications:
|
||||
- type: WebBrowser
|
||||
- type: web-browser
|
||||
options:
|
||||
target_url: http://arcd.com/users/
|
||||
- type: DataManipulationBot
|
||||
- type: data-manipulation-bot
|
||||
options:
|
||||
port_scan_p_of_success: 0.8
|
||||
data_manipulation_p_of_success: 0.8
|
||||
payload: "DELETE"
|
||||
server_ip: 192.168.1.14
|
||||
- type: DatabaseClient
|
||||
- type: database-client
|
||||
options:
|
||||
db_server_ip: 192.168.1.14
|
||||
services:
|
||||
- type: DNSClient
|
||||
- type: dns-client
|
||||
|
||||
links:
|
||||
- endpoint_a_hostname: router_1
|
||||
|
||||
@@ -51,18 +51,18 @@ game:
|
||||
agents:
|
||||
- ref: client_1_green_user
|
||||
team: GREEN
|
||||
type: ProbabilisticAgent
|
||||
type: probabilistic-agent
|
||||
|
||||
action_space:
|
||||
action_map:
|
||||
0:
|
||||
action: do_nothing
|
||||
action: do-nothing
|
||||
options: {}
|
||||
1:
|
||||
action: node_application_execute
|
||||
action: node-application-execute
|
||||
options:
|
||||
node_name: client_1
|
||||
application_name: WebBrowser
|
||||
application_name: web-browser
|
||||
|
||||
agent_settings:
|
||||
action_probabilities:
|
||||
@@ -223,7 +223,7 @@ simulation:
|
||||
start_up_duration: 0
|
||||
shut_down_duration: 0
|
||||
services:
|
||||
- type: DNSServer
|
||||
- type: dns-server
|
||||
links:
|
||||
- endpoint_a_hostname: client_1
|
||||
endpoint_a_port: 1
|
||||
|
||||
@@ -12,17 +12,17 @@ game:
|
||||
agents:
|
||||
- ref: client_2_green_user
|
||||
team: GREEN
|
||||
type: ProbabilisticAgent
|
||||
type: probabilistic-agent
|
||||
|
||||
action_space:
|
||||
action_map:
|
||||
0:
|
||||
action: do_nothing
|
||||
action: do-nothing
|
||||
options: {}
|
||||
|
||||
reward_function:
|
||||
reward_components:
|
||||
- type: DUMMY
|
||||
- type: dummy
|
||||
|
||||
agent_settings: # options specific to this particular agent type, basically args of __init__(self)
|
||||
action_probabilities:
|
||||
@@ -30,47 +30,47 @@ agents:
|
||||
|
||||
- ref: data_manipulation_attacker
|
||||
team: RED
|
||||
type: RedDatabaseCorruptingAgent
|
||||
type: red-database-corrupting-agent
|
||||
|
||||
|
||||
|
||||
action_space:
|
||||
action_map:
|
||||
0:
|
||||
action: do_nothing
|
||||
action: do-nothing
|
||||
options: {}
|
||||
1:
|
||||
action: node_application_execute
|
||||
action: node-application-execute
|
||||
options:
|
||||
node_name: client_1
|
||||
application_name: DataManipulationBot
|
||||
application_name: data-manipulation-bot
|
||||
reward_function:
|
||||
reward_components:
|
||||
- type: DUMMY
|
||||
- type: dummy
|
||||
|
||||
agent_settings: # options specific to this particular agent type, basically args of __init__(self)
|
||||
possible_start_nodes: [client_1,]
|
||||
target_application: DataManipulationBot
|
||||
target_application: data-manipulation-bot
|
||||
start_step: 25
|
||||
frequency: 20
|
||||
variance: 5
|
||||
|
||||
- ref: defender
|
||||
team: BLUE
|
||||
type: ProxyAgent
|
||||
type: proxy-agent
|
||||
|
||||
observation_space:
|
||||
type: CUSTOM
|
||||
type: custom
|
||||
options:
|
||||
components:
|
||||
- type: NODES
|
||||
- type: nodes
|
||||
label: NODES
|
||||
options:
|
||||
hosts:
|
||||
- hostname: domain_controller
|
||||
- hostname: web_server
|
||||
services:
|
||||
- service_name: WebServer
|
||||
- service_name: web-server
|
||||
- hostname: database_server
|
||||
folders:
|
||||
- folder_name: database
|
||||
@@ -110,7 +110,7 @@ agents:
|
||||
- UDP
|
||||
num_rules: 10
|
||||
|
||||
- type: LINKS
|
||||
- type: links
|
||||
label: LINKS
|
||||
options:
|
||||
link_references:
|
||||
@@ -124,7 +124,7 @@ agents:
|
||||
- switch_2:eth-1<->client_1:eth-1
|
||||
- switch_2:eth-2<->client_2:eth-1
|
||||
- switch_2:eth-7<->security_suite:eth-2
|
||||
- type: "NONE"
|
||||
- type: "none"
|
||||
label: ICS
|
||||
options: {}
|
||||
|
||||
@@ -132,118 +132,118 @@ agents:
|
||||
|
||||
action_map:
|
||||
0:
|
||||
action: do_nothing
|
||||
action: do-nothing
|
||||
options: {}
|
||||
# scan webapp service
|
||||
1:
|
||||
action: node_service_scan
|
||||
action: node-service-scan
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
# stop webapp service
|
||||
2:
|
||||
action: node_service_stop
|
||||
action: node-service-stop
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
# start webapp service
|
||||
3:
|
||||
action: "node_service_start"
|
||||
action: "node-service-start"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
4:
|
||||
action: "node_service_pause"
|
||||
action: "node-service-pause"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
5:
|
||||
action: "node_service_resume"
|
||||
action: "node-service-resume"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
6:
|
||||
action: "node_service_restart"
|
||||
action: "node-service-restart"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
7:
|
||||
action: "node_service_disable"
|
||||
action: "node-service-disable"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
8:
|
||||
action: "node_service_enable"
|
||||
action: "node-service-enable"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
9: # check database.db file
|
||||
action: "node_file_scan"
|
||||
action: "node-file-scan"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
file_name: database.db
|
||||
10:
|
||||
action: "node_file_checkhash"
|
||||
action: "node-file-checkhash"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
file_name: database.db
|
||||
11:
|
||||
action: "node_file_delete"
|
||||
action: "node-file-delete"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
file_name: database.db
|
||||
12:
|
||||
action: "node_file_repair"
|
||||
action: "node-file-repair"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
file_name: database.db
|
||||
13:
|
||||
action: "node_service_fix"
|
||||
action: "node-service-fix"
|
||||
options:
|
||||
node_name: database_server
|
||||
service_name: DatabaseService
|
||||
service_name: database-service
|
||||
14:
|
||||
action: "node_folder_scan"
|
||||
action: "node-folder-scan"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
15:
|
||||
action: "node_folder_checkhash"
|
||||
action: "node-folder-checkhash"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
16:
|
||||
action: "node_folder_repair"
|
||||
action: "node-folder-repair"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
17:
|
||||
action: "node_folder_restore"
|
||||
action: "node-folder-restore"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
18:
|
||||
action: "node_os_scan"
|
||||
action: "node-os-scan"
|
||||
options:
|
||||
node_name: database_server
|
||||
19: # shutdown client 1
|
||||
action: "node_shutdown"
|
||||
action: "node-shutdown"
|
||||
options:
|
||||
node_name: client_1
|
||||
20:
|
||||
action: "node_startup"
|
||||
action: "node-startup"
|
||||
options:
|
||||
node_name: client_1
|
||||
21:
|
||||
action: "node_reset"
|
||||
action: "node-reset"
|
||||
options:
|
||||
node_name: client_1
|
||||
22: # "ACL: ADDRULE - Block outgoing traffic from client 1" (not supported in Primaite)
|
||||
action: "router_acl_add_rule"
|
||||
22: # "acl: ADDRULE - Block outgoing traffic from client 1" (not supported in Primaite)
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 1
|
||||
@@ -255,8 +255,8 @@ agents:
|
||||
protocol_name: ALL
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
23: # "ACL: ADDRULE - Block outgoing traffic from client 2" (not supported in Primaite)
|
||||
action: "router_acl_add_rule"
|
||||
23: # "acl: ADDRULE - Block outgoing traffic from client 2" (not supported in Primaite)
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 2
|
||||
@@ -269,7 +269,7 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
24: # block tcp traffic from client 1 to web app
|
||||
action: "router_acl_add_rule"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 3
|
||||
@@ -282,7 +282,7 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
25: # block tcp traffic from client 2 to web app
|
||||
action: "router_acl_add_rule"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 4
|
||||
@@ -295,7 +295,7 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
26:
|
||||
action: "router_acl_add_rule"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 5
|
||||
@@ -308,7 +308,7 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
27:
|
||||
action: "router_acl_add_rule"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 6
|
||||
@@ -321,139 +321,139 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
28:
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 0
|
||||
29:
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 1
|
||||
30:
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 2
|
||||
31:
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 3
|
||||
32:
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 4
|
||||
33:
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 5
|
||||
34:
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 6
|
||||
35:
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 7
|
||||
36:
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 8
|
||||
37:
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 9
|
||||
38:
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: domain_controller
|
||||
nic_num: 1
|
||||
39:
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: domain_controller
|
||||
nic_num: 1
|
||||
40:
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: web_server
|
||||
nic_num: 1
|
||||
41:
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: web_server
|
||||
nic_num: 1
|
||||
42:
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: database_server
|
||||
nic_num: 1
|
||||
43:
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: database_server
|
||||
nic_num: 1
|
||||
44:
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: backup_server
|
||||
nic_num: 1
|
||||
45:
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: backup_server
|
||||
nic_num: 1
|
||||
46:
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: security_suite
|
||||
nic_num: 1
|
||||
47:
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: security_suite
|
||||
nic_num: 1
|
||||
48:
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: security_suite
|
||||
nic_num: 2
|
||||
49:
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: security_suite
|
||||
nic_num: 2
|
||||
50:
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: client_1
|
||||
nic_num: 1
|
||||
51:
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: client_1
|
||||
nic_num: 1
|
||||
52:
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: client_2
|
||||
nic_num: 1
|
||||
53:
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: client_2
|
||||
nic_num: 1
|
||||
|
||||
reward_function:
|
||||
reward_components:
|
||||
- type: DATABASE_FILE_INTEGRITY
|
||||
- type: database-file-integrity
|
||||
weight: 0.5
|
||||
options:
|
||||
node_hostname: database_server
|
||||
@@ -461,7 +461,7 @@ agents:
|
||||
file_name: database.db
|
||||
|
||||
|
||||
- type: WEB_SERVER_404_PENALTY
|
||||
- type: web-server-404-penalty
|
||||
weight: 0.5
|
||||
options:
|
||||
node_hostname: web_server
|
||||
@@ -520,7 +520,7 @@ simulation:
|
||||
subnet_mask: 255.255.255.0
|
||||
default_gateway: 192.168.1.1
|
||||
services:
|
||||
- type: DNSServer
|
||||
- type: dns-server
|
||||
options:
|
||||
domain_mapping:
|
||||
arcd.com: 192.168.1.12 # web server
|
||||
@@ -532,9 +532,9 @@ simulation:
|
||||
default_gateway: 192.168.1.1
|
||||
dns_server: 192.168.1.10
|
||||
services:
|
||||
- type: WebServer
|
||||
- type: web-server
|
||||
applications:
|
||||
- type: DatabaseClient
|
||||
- type: database-client
|
||||
options:
|
||||
db_server_ip: 192.168.1.14
|
||||
|
||||
@@ -546,7 +546,7 @@ simulation:
|
||||
default_gateway: 192.168.1.1
|
||||
dns_server: 192.168.1.10
|
||||
services:
|
||||
- type: DatabaseService
|
||||
- type: database-service
|
||||
|
||||
- type: server
|
||||
hostname: backup_server
|
||||
@@ -555,7 +555,7 @@ simulation:
|
||||
default_gateway: 192.168.1.1
|
||||
dns_server: 192.168.1.10
|
||||
services:
|
||||
- type: FTPServer
|
||||
- type: ftp-server
|
||||
|
||||
- type: server
|
||||
hostname: security_suite
|
||||
@@ -575,14 +575,14 @@ simulation:
|
||||
default_gateway: 192.168.10.1
|
||||
dns_server: 192.168.1.10
|
||||
applications:
|
||||
- type: DataManipulationBot
|
||||
- type: data-manipulation-bot
|
||||
options:
|
||||
port_scan_p_of_success: 0.1
|
||||
data_manipulation_p_of_success: 0.1
|
||||
payload: "DELETE"
|
||||
server_ip: 192.168.1.14
|
||||
services:
|
||||
- type: DNSClient
|
||||
- type: dns-client
|
||||
|
||||
- type: computer
|
||||
hostname: client_2
|
||||
@@ -591,9 +591,9 @@ simulation:
|
||||
default_gateway: 192.168.10.1
|
||||
dns_server: 192.168.1.10
|
||||
applications:
|
||||
- type: WebBrowser
|
||||
- type: web-browser
|
||||
services:
|
||||
- type: DNSClient
|
||||
- type: dns-client
|
||||
|
||||
links:
|
||||
- endpoint_a_hostname: router_1
|
||||
|
||||
@@ -24,7 +24,7 @@ game:
|
||||
agents:
|
||||
- ref: client_2_green_user
|
||||
team: GREEN
|
||||
type: ProbabilisticAgent
|
||||
type: probabilistic-agent
|
||||
agent_settings:
|
||||
action_probabilities:
|
||||
0: 0.3
|
||||
@@ -34,33 +34,33 @@ agents:
|
||||
action_space:
|
||||
action_map:
|
||||
0:
|
||||
action: do_nothing
|
||||
action: do-nothing
|
||||
options: {}
|
||||
1:
|
||||
action: node_application_execute
|
||||
action: node-application-execute
|
||||
options:
|
||||
node_name: client_2
|
||||
application_name: WebBrowser
|
||||
application_name: web-browser
|
||||
2:
|
||||
action: node_application_execute
|
||||
action: node-application-execute
|
||||
options:
|
||||
node_name: client_2
|
||||
application_name: DatabaseClient
|
||||
application_name: database-client
|
||||
|
||||
reward_function:
|
||||
reward_components:
|
||||
- type: WEBPAGE_UNAVAILABLE_PENALTY
|
||||
- type: webpage-unavailable-penalty
|
||||
weight: 0.25
|
||||
options:
|
||||
node_hostname: client_2
|
||||
- type: GREEN_ADMIN_DATABASE_UNREACHABLE_PENALTY
|
||||
- type: green-admin-database-unreachable-penalty
|
||||
weight: 0.05
|
||||
options:
|
||||
node_hostname: client_2
|
||||
|
||||
- ref: client_1_green_user
|
||||
team: GREEN
|
||||
type: ProbabilisticAgent
|
||||
type: probabilistic-agent
|
||||
agent_settings:
|
||||
action_probabilities:
|
||||
0: 0.3
|
||||
@@ -70,26 +70,26 @@ agents:
|
||||
action_space:
|
||||
action_map:
|
||||
0:
|
||||
action: do_nothing
|
||||
action: do-nothing
|
||||
options: {}
|
||||
1:
|
||||
action: node_application_execute
|
||||
action: node-application-execute
|
||||
options:
|
||||
node_name: client_1
|
||||
application_name: WebBrowser
|
||||
application_name: web-browser
|
||||
2:
|
||||
action: node_application_execute
|
||||
action: node-application-execute
|
||||
options:
|
||||
node_name: client_1
|
||||
application_name: DatabaseClient
|
||||
application_name: database-client
|
||||
|
||||
reward_function:
|
||||
reward_components:
|
||||
- type: WEBPAGE_UNAVAILABLE_PENALTY
|
||||
- type: webpage-unavailable-penalty
|
||||
weight: 0.25
|
||||
options:
|
||||
node_hostname: client_1
|
||||
- type: GREEN_ADMIN_DATABASE_UNREACHABLE_PENALTY
|
||||
- type: green-admin-database-unreachable-penalty
|
||||
weight: 0.05
|
||||
options:
|
||||
node_hostname: client_1
|
||||
@@ -100,31 +100,31 @@ agents:
|
||||
|
||||
- ref: data_manipulation_attacker
|
||||
team: RED
|
||||
type: RedDatabaseCorruptingAgent
|
||||
type: red-database-corrupting-agent
|
||||
|
||||
agent_settings: # options specific to this particular agent type, basically args of __init__(self)
|
||||
possible_start_nodes: [client_1, client_2]
|
||||
target_application: DataManipulationBot
|
||||
target_application: data-manipulation-bot
|
||||
start_step: 25
|
||||
frequency: 20
|
||||
variance: 5
|
||||
|
||||
- ref: defender
|
||||
team: BLUE
|
||||
type: ProxyAgent
|
||||
type: proxy-agent
|
||||
|
||||
observation_space:
|
||||
type: CUSTOM
|
||||
type: custom
|
||||
options:
|
||||
components:
|
||||
- type: NODES
|
||||
- type: nodes
|
||||
label: NODES
|
||||
options:
|
||||
hosts:
|
||||
- hostname: domain_controller
|
||||
- hostname: web_server
|
||||
services:
|
||||
- service_name: WebServer
|
||||
- service_name: web-server
|
||||
- hostname: database_server
|
||||
folders:
|
||||
- folder_name: database
|
||||
@@ -169,7 +169,7 @@ agents:
|
||||
- UDP
|
||||
num_rules: 10
|
||||
|
||||
- type: LINKS
|
||||
- type: links
|
||||
label: LINKS
|
||||
options:
|
||||
link_references:
|
||||
@@ -183,222 +183,222 @@ agents:
|
||||
- switch_2:eth-1<->client_1:eth-1
|
||||
- switch_2:eth-2<->client_2:eth-1
|
||||
- switch_2:eth-7<->security_suite:eth-2
|
||||
- type: "NONE"
|
||||
- type: "none"
|
||||
label: ICS
|
||||
options: {}
|
||||
|
||||
action_space:
|
||||
action_map:
|
||||
0:
|
||||
action: do_nothing
|
||||
action: do-nothing
|
||||
options: {}
|
||||
# scan webapp service
|
||||
1:
|
||||
action: node_service_scan
|
||||
action: node-service-scan
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
# stop webapp service
|
||||
2:
|
||||
action: node_service_stop
|
||||
action: node-service-stop
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
# start webapp service
|
||||
3:
|
||||
action: "node_service_start"
|
||||
action: "node-service-start"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
4:
|
||||
action: "node_service_pause"
|
||||
action: "node-service-pause"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
5:
|
||||
action: "node_service_resume"
|
||||
action: "node-service-resume"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
6:
|
||||
action: "node_service_restart"
|
||||
action: "node-service-restart"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
7:
|
||||
action: "node_service_disable"
|
||||
action: "node-service-disable"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
8:
|
||||
action: "node_service_enable"
|
||||
action: "node-service-enable"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
9: # check database.db file
|
||||
action: "node_file_scan"
|
||||
action: "node-file-scan"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
file_name: database.db
|
||||
10:
|
||||
action: "node_file_checkhash"
|
||||
action: "node-file-checkhash"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
file_name: database.db
|
||||
11:
|
||||
action: "node_file_delete"
|
||||
action: "node-file-delete"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
file_name: database.db
|
||||
12:
|
||||
action: "node_file_repair"
|
||||
action: "node-file-repair"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
file_name: database.db
|
||||
13:
|
||||
action: "node_service_fix"
|
||||
action: "node-service-fix"
|
||||
options:
|
||||
node_name: database_server
|
||||
service_name: DatabaseService
|
||||
service_name: database-service
|
||||
14:
|
||||
action: "node_folder_scan"
|
||||
action: "node-folder-scan"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
15:
|
||||
action: "node_folder_checkhash"
|
||||
action: "node-folder-checkhash"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
16:
|
||||
action: "node_folder_repair"
|
||||
action: "node-folder-repair"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
17:
|
||||
action: "node_folder_restore"
|
||||
action: "node-folder-restore"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
18:
|
||||
action: "node_os_scan"
|
||||
action: "node-os-scan"
|
||||
options:
|
||||
node_name: domain_controller
|
||||
19:
|
||||
action: "node_shutdown"
|
||||
action: "node-shutdown"
|
||||
options:
|
||||
node_name: domain_controller
|
||||
20:
|
||||
action: node_startup
|
||||
action: node-startup
|
||||
options:
|
||||
node_name: domain_controller
|
||||
21:
|
||||
action: node_reset
|
||||
action: node-reset
|
||||
options:
|
||||
node_name: domain_controller
|
||||
22:
|
||||
action: "node_os_scan"
|
||||
action: "node-os-scan"
|
||||
options:
|
||||
node_name: web_server
|
||||
23:
|
||||
action: "node_shutdown"
|
||||
action: "node-shutdown"
|
||||
options:
|
||||
node_name: web_server
|
||||
24:
|
||||
action: node_startup
|
||||
action: node-startup
|
||||
options:
|
||||
node_name: web_server
|
||||
25:
|
||||
action: node_reset
|
||||
action: node-reset
|
||||
options:
|
||||
node_name: web_server
|
||||
26: # old action num: 18
|
||||
action: "node_os_scan"
|
||||
action: "node-os-scan"
|
||||
options:
|
||||
node_name: database_server
|
||||
27:
|
||||
action: "node_shutdown"
|
||||
action: "node-shutdown"
|
||||
options:
|
||||
node_name: database_server
|
||||
28:
|
||||
action: node_startup
|
||||
action: node-startup
|
||||
options:
|
||||
node_name: database_server
|
||||
29:
|
||||
action: node_reset
|
||||
action: node-reset
|
||||
options:
|
||||
node_name: database_server
|
||||
30:
|
||||
action: "node_os_scan"
|
||||
action: "node-os-scan"
|
||||
options:
|
||||
node_name: backup_server
|
||||
31:
|
||||
action: "node_shutdown"
|
||||
action: "node-shutdown"
|
||||
options:
|
||||
node_name: backup_server
|
||||
32:
|
||||
action: node_startup
|
||||
action: node-startup
|
||||
options:
|
||||
node_name: backup_server
|
||||
33:
|
||||
action: node_reset
|
||||
action: node-reset
|
||||
options:
|
||||
node_name: backup_server
|
||||
34:
|
||||
action: "node_os_scan"
|
||||
action: "node-os-scan"
|
||||
options:
|
||||
node_name: security_suite
|
||||
35:
|
||||
action: "node_shutdown"
|
||||
action: "node-shutdown"
|
||||
options:
|
||||
node_name: security_suite
|
||||
36:
|
||||
action: node_startup
|
||||
action: node-startup
|
||||
options:
|
||||
node_name: security_suite
|
||||
37:
|
||||
action: node_reset
|
||||
action: node-reset
|
||||
options:
|
||||
node_name: security_suite
|
||||
38:
|
||||
action: "node_os_scan"
|
||||
action: "node-os-scan"
|
||||
options:
|
||||
node_name: client_1
|
||||
39: # old action num: 19 # shutdown client 1
|
||||
action: "node_shutdown"
|
||||
action: "node-shutdown"
|
||||
options:
|
||||
node_name: client_1
|
||||
40: # old action num: 20
|
||||
action: node_startup
|
||||
action: node-startup
|
||||
options:
|
||||
node_name: client_1
|
||||
41: # old action num: 21
|
||||
action: node_reset
|
||||
action: node-reset
|
||||
options:
|
||||
node_name: client_1
|
||||
42:
|
||||
action: "node_os_scan"
|
||||
action: "node-os-scan"
|
||||
options:
|
||||
node_name: client_2
|
||||
43:
|
||||
action: "node_shutdown"
|
||||
action: "node-shutdown"
|
||||
options:
|
||||
node_name: client_2
|
||||
44:
|
||||
action: node_startup
|
||||
action: node-startup
|
||||
options:
|
||||
node_name: client_2
|
||||
45:
|
||||
action: node_reset
|
||||
action: node-reset
|
||||
options:
|
||||
node_name: client_2
|
||||
|
||||
46: # old action num: 22 # "ACL: ADDRULE - Block outgoing traffic from client 1"
|
||||
action: "router_acl_add_rule"
|
||||
46: # old action num: 22 # "acl: ADDRULE - Block outgoing traffic from client 1"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 1
|
||||
@@ -410,8 +410,8 @@ agents:
|
||||
protocol_name: ALL
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
47: # old action num: 23 # "ACL: ADDRULE - Block outgoing traffic from client 2"
|
||||
action: "router_acl_add_rule"
|
||||
47: # old action num: 23 # "acl: ADDRULE - Block outgoing traffic from client 2"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 2
|
||||
@@ -424,7 +424,7 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
48: # old action num: 24 # block tcp traffic from client 1 to web app
|
||||
action: "router_acl_add_rule"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 3
|
||||
@@ -437,7 +437,7 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
49: # old action num: 25 # block tcp traffic from client 2 to web app
|
||||
action: "router_acl_add_rule"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 4
|
||||
@@ -450,7 +450,7 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
50: # old action num: 26
|
||||
action: "router_acl_add_rule"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 5
|
||||
@@ -463,7 +463,7 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
51: # old action num: 27
|
||||
action: "router_acl_add_rule"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 6
|
||||
@@ -476,132 +476,132 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
52: # old action num: 28
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 0
|
||||
53: # old action num: 29
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 1
|
||||
54: # old action num: 30
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 2
|
||||
55: # old action num: 31
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 3
|
||||
56: # old action num: 32
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 4
|
||||
57: # old action num: 33
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 5
|
||||
58: # old action num: 34
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 6
|
||||
59: # old action num: 35
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 7
|
||||
60: # old action num: 36
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 8
|
||||
61: # old action num: 37
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 9
|
||||
62: # old action num: 38
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: domain_controller
|
||||
nic_num: 1
|
||||
63: # old action num: 39
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: domain_controller
|
||||
nic_num: 1
|
||||
64: # old action num: 40
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: web_server
|
||||
nic_num: 1
|
||||
65: # old action num: 41
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: web_server
|
||||
nic_num: 1
|
||||
66: # old action num: 42
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: database_server
|
||||
nic_num: 1
|
||||
67: # old action num: 43
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: database_server
|
||||
nic_num: 1
|
||||
68: # old action num: 44
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: backup_server
|
||||
nic_num: 1
|
||||
69: # old action num: 45
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: backup_server
|
||||
nic_num: 1
|
||||
70: # old action num: 46
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: security_suite
|
||||
nic_num: 1
|
||||
71: # old action num: 47
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: security_suite
|
||||
nic_num: 1
|
||||
72: # old action num: 48
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: security_suite
|
||||
nic_num: 2
|
||||
73: # old action num: 49
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: security_suite
|
||||
nic_num: 2
|
||||
74: # old action num: 50
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: client_1
|
||||
nic_num: 1
|
||||
75: # old action num: 51
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: client_1
|
||||
nic_num: 1
|
||||
76: # old action num: 52
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: client_2
|
||||
nic_num: 1
|
||||
77: # old action num: 53
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: client_2
|
||||
nic_num: 1
|
||||
@@ -610,19 +610,19 @@ agents:
|
||||
|
||||
reward_function:
|
||||
reward_components:
|
||||
- type: DATABASE_FILE_INTEGRITY
|
||||
- type: database-file-integrity
|
||||
weight: 0.40
|
||||
options:
|
||||
node_hostname: database_server
|
||||
folder_name: database
|
||||
file_name: database.db
|
||||
|
||||
- type: SHARED_REWARD
|
||||
- type: shared-reward
|
||||
weight: 1.0
|
||||
options:
|
||||
agent_name: client_1_green_user
|
||||
|
||||
- type: SHARED_REWARD
|
||||
- type: shared-reward
|
||||
weight: 1.0
|
||||
options:
|
||||
agent_name: client_2_green_user
|
||||
@@ -692,7 +692,7 @@ simulation:
|
||||
subnet_mask: 255.255.255.0
|
||||
default_gateway: 192.168.1.1
|
||||
services:
|
||||
- type: DNSServer
|
||||
- type: dns-server
|
||||
options:
|
||||
domain_mapping:
|
||||
arcd.com: 192.168.1.12 # web server
|
||||
@@ -704,9 +704,9 @@ simulation:
|
||||
default_gateway: 192.168.1.1
|
||||
dns_server: 192.168.1.10
|
||||
services:
|
||||
- type: WebServer
|
||||
- type: web-server
|
||||
applications:
|
||||
- type: DatabaseClient
|
||||
- type: database-client
|
||||
options:
|
||||
db_server_ip: 192.168.1.14
|
||||
|
||||
@@ -718,10 +718,10 @@ simulation:
|
||||
default_gateway: 192.168.1.1
|
||||
dns_server: 192.168.1.10
|
||||
services:
|
||||
- type: DatabaseService
|
||||
- type: database-service
|
||||
options:
|
||||
backup_server_ip: 192.168.1.16
|
||||
- type: FTPClient
|
||||
- type: ftp-client
|
||||
|
||||
- hostname: backup_server
|
||||
type: server
|
||||
@@ -730,7 +730,7 @@ simulation:
|
||||
default_gateway: 192.168.1.1
|
||||
dns_server: 192.168.1.10
|
||||
services:
|
||||
- type: FTPServer
|
||||
- type: ftp-server
|
||||
|
||||
- hostname: security_suite
|
||||
type: server
|
||||
@@ -750,27 +750,27 @@ simulation:
|
||||
default_gateway: 192.168.10.1
|
||||
dns_server: 192.168.1.10
|
||||
applications:
|
||||
- type: DataManipulationBot
|
||||
- type: data-manipulation-bot
|
||||
options:
|
||||
port_scan_p_of_success: 0.8
|
||||
data_manipulation_p_of_success: 0.8
|
||||
payload: "DELETE"
|
||||
server_ip: 192.168.1.14
|
||||
- type: WebBrowser
|
||||
- type: web-browser
|
||||
options:
|
||||
target_url: http://arcd.com/users/
|
||||
- type: ExtendedApplication
|
||||
- type: extended-application
|
||||
options:
|
||||
target_url: http://arcd.com/users/
|
||||
- type: DatabaseClient
|
||||
- type: database-client
|
||||
options:
|
||||
db_server_ip: 192.168.1.14
|
||||
services:
|
||||
- type: DNSClient
|
||||
- type: DatabaseService
|
||||
- type: dns-client
|
||||
- type: database-service
|
||||
options:
|
||||
backup_server_ip: 192.168.1.16
|
||||
- type: ExtendedService
|
||||
- type: extended-service
|
||||
|
||||
- hostname: client_2
|
||||
type: computer
|
||||
@@ -779,20 +779,20 @@ simulation:
|
||||
default_gateway: 192.168.10.1
|
||||
dns_server: 192.168.1.10
|
||||
applications:
|
||||
- type: WebBrowser
|
||||
- type: web-browser
|
||||
options:
|
||||
target_url: http://arcd.com/users/
|
||||
- type: DataManipulationBot
|
||||
- type: data-manipulation-bot
|
||||
options:
|
||||
port_scan_p_of_success: 0.8
|
||||
data_manipulation_p_of_success: 0.8
|
||||
payload: "DELETE"
|
||||
server_ip: 192.168.1.14
|
||||
- type: DatabaseClient
|
||||
- type: database-client
|
||||
options:
|
||||
db_server_ip: 192.168.1.14
|
||||
services:
|
||||
- type: DNSClient
|
||||
- type: dns-client
|
||||
|
||||
links:
|
||||
- endpoint_a_hostname: router_1
|
||||
|
||||
@@ -51,13 +51,13 @@ game:
|
||||
agents:
|
||||
- ref: defender
|
||||
team: BLUE
|
||||
type: ProxyAgent
|
||||
type: proxy-agent
|
||||
|
||||
observation_space:
|
||||
type: CUSTOM
|
||||
type: custom
|
||||
options:
|
||||
components:
|
||||
- type: NODES
|
||||
- type: nodes
|
||||
label: NODES
|
||||
options:
|
||||
hosts:
|
||||
@@ -85,24 +85,24 @@ agents:
|
||||
- UDP
|
||||
num_rules: 10
|
||||
|
||||
- type: LINKS
|
||||
- type: links
|
||||
label: LINKS
|
||||
options:
|
||||
link_references:
|
||||
- client_1:eth-1<->switch_1:eth-1
|
||||
- type: "NONE"
|
||||
- type: "none"
|
||||
label: ICS
|
||||
options: {}
|
||||
|
||||
action_space:
|
||||
action_map:
|
||||
0:
|
||||
action: do_nothing
|
||||
action: do-nothing
|
||||
options: {}
|
||||
1:
|
||||
action: firewall_acl_add_rule
|
||||
action: firewall-acl-add-rule
|
||||
options:
|
||||
type: firewall_acl_add_rule
|
||||
type: firewall-acl-add-rule
|
||||
target_firewall_nodename: firewall
|
||||
firewall_port_name: internal
|
||||
firewall_port_direction: inbound
|
||||
@@ -116,14 +116,14 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
2:
|
||||
action: firewall_acl_remove_rule
|
||||
action: firewall-acl-remove-rule
|
||||
options:
|
||||
target_firewall_nodename: firewall
|
||||
firewall_port_name: internal
|
||||
firewall_port_direction: inbound
|
||||
position: 1
|
||||
3:
|
||||
action: firewall_acl_add_rule
|
||||
action: firewall-acl-add-rule
|
||||
options:
|
||||
target_firewall_nodename: firewall
|
||||
firewall_port_name: internal
|
||||
@@ -134,18 +134,18 @@ agents:
|
||||
dst_ip: ALL
|
||||
src_port: ARP
|
||||
dst_port: DNS
|
||||
protocol_name: ICMP
|
||||
protocol_name: icmp
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
4:
|
||||
action: firewall_acl_remove_rule
|
||||
action: firewall-acl-remove-rule
|
||||
options:
|
||||
target_firewall_nodename: firewall
|
||||
firewall_port_name: internal
|
||||
firewall_port_direction: outbound
|
||||
position: 1
|
||||
5:
|
||||
action: firewall_acl_add_rule
|
||||
action: firewall-acl-add-rule
|
||||
options:
|
||||
target_firewall_nodename: firewall
|
||||
firewall_port_name: dmz
|
||||
@@ -160,14 +160,14 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
6:
|
||||
action: firewall_acl_remove_rule
|
||||
action: firewall-acl-remove-rule
|
||||
options:
|
||||
target_firewall_nodename: firewall
|
||||
firewall_port_name: dmz
|
||||
firewall_port_direction: inbound
|
||||
position: 1
|
||||
7:
|
||||
action: firewall_acl_add_rule
|
||||
action: firewall-acl-add-rule
|
||||
options:
|
||||
target_firewall_nodename: firewall
|
||||
firewall_port_name: dmz
|
||||
@@ -182,14 +182,14 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
8:
|
||||
action: firewall_acl_remove_rule
|
||||
action: firewall-acl-remove-rule
|
||||
options:
|
||||
target_firewall_nodename: firewall
|
||||
firewall_port_name: dmz
|
||||
firewall_port_direction: outbound
|
||||
position: 2
|
||||
9:
|
||||
action: firewall_acl_add_rule
|
||||
action: firewall-acl-add-rule
|
||||
options:
|
||||
target_firewall_nodename: firewall
|
||||
firewall_port_name: external
|
||||
@@ -200,18 +200,18 @@ agents:
|
||||
dst_ip: 192.168.10.10 # dmz
|
||||
src_port: POSTGRES_SERVER
|
||||
dst_port: POSTGRES_SERVER
|
||||
protocol_name: ICMP
|
||||
protocol_name: icmp
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
10:
|
||||
action: firewall_acl_remove_rule
|
||||
action: firewall-acl-remove-rule
|
||||
options:
|
||||
target_firewall_nodename: firewall
|
||||
firewall_port_name: external
|
||||
firewall_port_direction: inbound
|
||||
position: 10
|
||||
11:
|
||||
action: firewall_acl_add_rule
|
||||
action: firewall-acl-add-rule
|
||||
options:
|
||||
target_firewall_nodename: firewall
|
||||
firewall_port_name: external
|
||||
@@ -220,28 +220,28 @@ agents:
|
||||
permission: DENY
|
||||
src_ip: 192.168.20.10 # external_computer
|
||||
dst_ip: 192.168.0.10 # client_1
|
||||
src_port: NONE
|
||||
dst_port: NONE
|
||||
protocol_name: none
|
||||
src_port: ALL
|
||||
dst_port: ALL
|
||||
protocol_name: NONE
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
12:
|
||||
action: firewall_acl_remove_rule
|
||||
action: firewall-acl-remove-rule
|
||||
options:
|
||||
target_firewall_nodename: firewall
|
||||
firewall_port_name: external
|
||||
firewall_port_direction: outbound
|
||||
position: 1
|
||||
13:
|
||||
action: network_port_disable
|
||||
action: network-port-disable
|
||||
options:
|
||||
type: network_port_disable
|
||||
type: network-port-disable
|
||||
target_nodename: firewall
|
||||
port_num: 3
|
||||
14:
|
||||
action: network_port_enable
|
||||
action: network-port-enable
|
||||
options:
|
||||
type: network_port_enable
|
||||
type: network-port-enable
|
||||
target_nodename: firewall
|
||||
port_num: 3
|
||||
|
||||
@@ -401,7 +401,7 @@ simulation:
|
||||
start_up_duration: 0
|
||||
shut_down_duration: 0
|
||||
services:
|
||||
- type: DNSServer
|
||||
- type: dns-server
|
||||
links:
|
||||
- endpoint_a_hostname: client_1
|
||||
endpoint_a_port: 1
|
||||
|
||||
@@ -26,18 +26,18 @@ game:
|
||||
agents:
|
||||
- ref: client_2_green_user
|
||||
team: GREEN
|
||||
type: ProbabilisticAgent
|
||||
type: probabilistic-agent
|
||||
|
||||
action_space:
|
||||
action_map:
|
||||
0:
|
||||
action: do_nothing
|
||||
action: do-nothing
|
||||
options: {}
|
||||
1:
|
||||
action: node_application_execute
|
||||
action: node-application-execute
|
||||
options:
|
||||
node_name: client_1
|
||||
application_name: WebBrowser
|
||||
application_name: web-browser
|
||||
agent_settings:
|
||||
action_probabilities:
|
||||
0: 0.4
|
||||
@@ -46,13 +46,13 @@ agents:
|
||||
|
||||
- ref: defender
|
||||
team: BLUE
|
||||
type: ProxyAgent
|
||||
type: proxy-agent
|
||||
|
||||
observation_space:
|
||||
type: CUSTOM
|
||||
type: custom
|
||||
options:
|
||||
components:
|
||||
- type: NODES
|
||||
- type: nodes
|
||||
label: NODES
|
||||
options:
|
||||
hosts:
|
||||
@@ -89,25 +89,25 @@ agents:
|
||||
- UDP
|
||||
num_rules: 10
|
||||
|
||||
- type: LINKS
|
||||
- type: links
|
||||
label: LINKS
|
||||
options:
|
||||
link_references:
|
||||
- switch_1:eth-1<->client_1:eth-1
|
||||
- switch_1:eth-2<->client_2:eth-1
|
||||
- type: "NONE"
|
||||
- type: "none"
|
||||
label: ICS
|
||||
options: {}
|
||||
|
||||
action_space:
|
||||
action_map:
|
||||
0:
|
||||
action: do_nothing
|
||||
action: do-nothing
|
||||
options: {}
|
||||
|
||||
reward_function:
|
||||
reward_components:
|
||||
- type: DATABASE_FILE_INTEGRITY
|
||||
- type: database-file-integrity
|
||||
weight: 0.5
|
||||
options:
|
||||
node_hostname: database_server
|
||||
@@ -115,7 +115,7 @@ agents:
|
||||
file_name: database.db
|
||||
|
||||
|
||||
- type: WEB_SERVER_404_PENALTY
|
||||
- type: web-server-404-penalty
|
||||
weight: 0.5
|
||||
options:
|
||||
node_hostname: web_server
|
||||
@@ -140,46 +140,46 @@ simulation:
|
||||
default_gateway: 192.168.10.1
|
||||
dns_server: 192.168.1.10
|
||||
applications:
|
||||
- type: RansomwareScript
|
||||
- type: WebBrowser
|
||||
- type: ransomware-script
|
||||
- type: web-browser
|
||||
options:
|
||||
target_url: http://arcd.com/users/
|
||||
- type: DatabaseClient
|
||||
- type: database-client
|
||||
options:
|
||||
db_server_ip: 192.168.1.10
|
||||
server_password: arcd
|
||||
fixing_duration: 1
|
||||
- type: DataManipulationBot
|
||||
- type: data-manipulation-bot
|
||||
options:
|
||||
port_scan_p_of_success: 0.8
|
||||
data_manipulation_p_of_success: 0.8
|
||||
payload: "DELETE"
|
||||
server_ip: 192.168.1.21
|
||||
server_password: arcd
|
||||
- type: DoSBot
|
||||
- type: dos-bot
|
||||
options:
|
||||
target_ip_address: 192.168.10.21
|
||||
payload: SPOOF DATA
|
||||
port_scan_p_of_success: 0.8
|
||||
services:
|
||||
- type: DNSClient
|
||||
- type: DNSServer
|
||||
- type: dns-client
|
||||
- type: dns-server
|
||||
options:
|
||||
domain_mapping:
|
||||
arcd.com: 192.168.1.10
|
||||
- type: DatabaseService
|
||||
- type: database-service
|
||||
options:
|
||||
fixing_duration: 5
|
||||
backup_server_ip: 192.168.1.10
|
||||
- type: WebServer
|
||||
- type: FTPClient
|
||||
- type: FTPServer
|
||||
- type: web-server
|
||||
- type: ftp-client
|
||||
- type: ftp-server
|
||||
options:
|
||||
server_password: arcd
|
||||
- type: NTPClient
|
||||
- type: ntp-client
|
||||
options:
|
||||
ntp_server_ip: 192.168.1.10
|
||||
- type: NTPServer
|
||||
- type: ntp-server
|
||||
- hostname: client_2
|
||||
type: computer
|
||||
ip_address: 192.168.10.22
|
||||
@@ -187,12 +187,12 @@ simulation:
|
||||
default_gateway: 192.168.10.1
|
||||
dns_server: 192.168.1.10
|
||||
applications:
|
||||
- type: DatabaseClient
|
||||
- type: database-client
|
||||
options:
|
||||
db_server_ip: 192.168.1.10
|
||||
server_password: arcd
|
||||
services:
|
||||
- type: DNSClient
|
||||
- type: dns-client
|
||||
|
||||
links:
|
||||
- endpoint_a_hostname: switch_1
|
||||
|
||||
@@ -16,48 +16,48 @@ game:
|
||||
agents:
|
||||
- ref: agent_1
|
||||
team: BLUE
|
||||
type: ProxyAgent
|
||||
type: proxy-agent
|
||||
|
||||
|
||||
action_space:
|
||||
action_map:
|
||||
0:
|
||||
action: do_nothing
|
||||
action: do-nothing
|
||||
options: {}
|
||||
1:
|
||||
action: node_application_install
|
||||
action: node-application-install
|
||||
options:
|
||||
node_name: client_1
|
||||
application_name: DatabaseClient
|
||||
application_name: database-client
|
||||
2:
|
||||
action: node_application_install
|
||||
action: node-application-install
|
||||
options:
|
||||
node_name: client_2
|
||||
application_name: RansomwareScript
|
||||
application_name: ransomware-script
|
||||
3:
|
||||
action: node_application_install
|
||||
action: node-application-install
|
||||
options:
|
||||
node_name: client_3
|
||||
application_name: DoSBot
|
||||
application_name: dos-bot
|
||||
4:
|
||||
action: configure_database_client
|
||||
action: configure-database-client
|
||||
options:
|
||||
node_name: client_1
|
||||
server_ip_address: 10.0.0.5
|
||||
5:
|
||||
action: configure_database_client
|
||||
action: configure-database-client
|
||||
options:
|
||||
node_name: client_1
|
||||
server_password: correct_password
|
||||
6:
|
||||
action: configure_ransomware_script
|
||||
action: configure-ransomware-script
|
||||
options:
|
||||
node_name: client_2
|
||||
server_ip_address: 10.0.0.5
|
||||
server_password: correct_password
|
||||
payload: ENCRYPT
|
||||
7:
|
||||
action: configure_dos_bot
|
||||
action: configure-dos-bot
|
||||
options:
|
||||
node_name: client_3
|
||||
target_ip_address: 10.0.0.5
|
||||
@@ -68,10 +68,10 @@ agents:
|
||||
dos_intensity: 1.0
|
||||
max_sessions: 1000
|
||||
8:
|
||||
action: node_application_install
|
||||
action: node-application-install
|
||||
options:
|
||||
node_name: client_2
|
||||
application_name: DatabaseClient
|
||||
application_name: database-client
|
||||
agent_settings:
|
||||
flatten_obs: True
|
||||
action_masking: False
|
||||
@@ -103,7 +103,7 @@ simulation:
|
||||
subnet_mask: 255.255.255.0
|
||||
default_gateway: 10.0.0.1
|
||||
services:
|
||||
- type: DatabaseService
|
||||
- type: database-service
|
||||
options:
|
||||
db_password: correct_password
|
||||
links:
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -21,12 +21,12 @@ game:
|
||||
agents:
|
||||
- ref: client_1_red_nmap
|
||||
team: RED
|
||||
type: ProbabilisticAgent
|
||||
type: probabilistic-agent
|
||||
|
||||
action_space:
|
||||
action_map:
|
||||
0:
|
||||
action: node_network_service_recon
|
||||
action: node-network-service-recon
|
||||
options:
|
||||
source_node: client_1
|
||||
target_ip_address: 192.168.10.0/24
|
||||
|
||||
@@ -21,12 +21,12 @@ game:
|
||||
agents:
|
||||
- ref: client_1_red_nmap
|
||||
team: RED
|
||||
type: ProbabilisticAgent
|
||||
type: probabilistic-agent
|
||||
|
||||
action_space:
|
||||
action_map:
|
||||
0:
|
||||
action: node_nmap_ping_scan
|
||||
action: node-nmap-ping-scan
|
||||
options:
|
||||
source_node: client_1
|
||||
target_ip_address: 192.168.1.0/24
|
||||
|
||||
@@ -21,12 +21,12 @@ game:
|
||||
agents:
|
||||
- ref: client_1_red_nmap
|
||||
team: RED
|
||||
type: ProbabilisticAgent
|
||||
type: probabilistic-agent
|
||||
|
||||
action_space:
|
||||
action_map:
|
||||
0:
|
||||
action: node_nmap_port_scan
|
||||
action: node-nmap-port-scan
|
||||
options:
|
||||
source_node: client_1
|
||||
target_ip_address: 192.168.10.0/24
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
agents: &greens
|
||||
- ref: green_A
|
||||
team: GREEN
|
||||
type: ProbabilisticAgent
|
||||
type: probabilistic-agent
|
||||
agent_settings:
|
||||
action_probabilities:
|
||||
0: 0.2
|
||||
@@ -10,17 +10,17 @@ agents: &greens
|
||||
action_space:
|
||||
action_map:
|
||||
0:
|
||||
action: do_nothing
|
||||
action: do-nothing
|
||||
options: {}
|
||||
1:
|
||||
action: node_application_execute
|
||||
action: node-application-execute
|
||||
options:
|
||||
node_name: client
|
||||
application_name: DatabaseClient
|
||||
application_name: database-client
|
||||
|
||||
reward_function:
|
||||
reward_components:
|
||||
- type: GREEN_ADMIN_DATABASE_UNREACHABLE_PENALTY
|
||||
- type: green-admin-database-unreachable-penalty
|
||||
weight: 1.0
|
||||
options:
|
||||
node_hostname: client
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
agents: &greens
|
||||
- ref: green_B
|
||||
team: GREEN
|
||||
type: ProbabilisticAgent
|
||||
type: probabilistic-agent
|
||||
agent_settings:
|
||||
action_probabilities:
|
||||
0: 0.95
|
||||
@@ -10,17 +10,17 @@ agents: &greens
|
||||
action_space:
|
||||
action_map:
|
||||
0:
|
||||
action: do_nothing
|
||||
action: do-nothing
|
||||
options: {}
|
||||
1:
|
||||
action: node_application_execute
|
||||
action: node-application-execute
|
||||
options:
|
||||
node_name: client
|
||||
application_name: DatabaseClient
|
||||
application_name: database-client
|
||||
|
||||
reward_function:
|
||||
reward_components:
|
||||
- type: GREEN_ADMIN_DATABASE_UNREACHABLE_PENALTY
|
||||
- type: green-admin-database-unreachable-penalty
|
||||
weight: 1.0
|
||||
options:
|
||||
node_hostname: client
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
reds: &reds
|
||||
- ref: red_A
|
||||
team: RED
|
||||
type: RedDatabaseCorruptingAgent
|
||||
type: red-database-corrupting-agent
|
||||
|
||||
agent_settings:
|
||||
possible_start_nodes: [client,]
|
||||
target_application: DataManipulationBot
|
||||
target_application: data-manipulation-bot
|
||||
start_step: 10
|
||||
frequency: 10
|
||||
variance: 0
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
reds: &reds
|
||||
- ref: red_B
|
||||
team: RED
|
||||
type: RedDatabaseCorruptingAgent
|
||||
type: red-database-corrupting-agent
|
||||
agent_settings:
|
||||
possible_start_nodes: [client_1,]
|
||||
target_application: DataManipulationBot
|
||||
target_application: data-manipulation-bot
|
||||
start_step: 3
|
||||
frequency: 2
|
||||
variance: 1
|
||||
|
||||
@@ -26,12 +26,12 @@ agents:
|
||||
|
||||
- ref: defender
|
||||
team: BLUE
|
||||
type: ProxyAgent
|
||||
type: proxy-agent
|
||||
observation_space:
|
||||
type: CUSTOM
|
||||
type: custom
|
||||
options:
|
||||
components:
|
||||
- type: NODES
|
||||
- type: nodes
|
||||
label: NODES
|
||||
options:
|
||||
routers: []
|
||||
@@ -46,7 +46,7 @@ agents:
|
||||
include_num_access: false
|
||||
include_nmne: false
|
||||
|
||||
- type: LINKS
|
||||
- type: links
|
||||
label: LINKS
|
||||
options:
|
||||
link_references:
|
||||
@@ -56,48 +56,48 @@ agents:
|
||||
action_space:
|
||||
action_map:
|
||||
0:
|
||||
action: do_nothing
|
||||
action: do-nothing
|
||||
options: {}
|
||||
1:
|
||||
action: node_shutdown
|
||||
action: node-shutdown
|
||||
options:
|
||||
node_name: client
|
||||
2:
|
||||
action: node_shutdown
|
||||
action: node-shutdown
|
||||
options:
|
||||
node_name: server
|
||||
3:
|
||||
action: node_startup
|
||||
action: node-startup
|
||||
options:
|
||||
node_name: client
|
||||
4:
|
||||
action: node_startup
|
||||
action: node-startup
|
||||
options:
|
||||
node_name: server
|
||||
5:
|
||||
action: host_nic_disable
|
||||
action: host-nic-disable
|
||||
options:
|
||||
node_name: client
|
||||
nic_num: 1
|
||||
6:
|
||||
action: host_nic_disable
|
||||
action: host-nic-disable
|
||||
options:
|
||||
node_name: server
|
||||
nic_num: 1
|
||||
7:
|
||||
action: host_nic_enable
|
||||
action: host-nic-enable
|
||||
options:
|
||||
node_name: client
|
||||
nic_num: 1
|
||||
8:
|
||||
action: host_nic_enable
|
||||
action: host-nic-enable
|
||||
options:
|
||||
node_name: server
|
||||
nic_num: 1
|
||||
|
||||
reward_function:
|
||||
reward_components:
|
||||
- type: DATABASE_FILE_INTEGRITY
|
||||
- type: database-file-integrity
|
||||
weight: 0.40
|
||||
options:
|
||||
node_hostname: database_server
|
||||
@@ -117,10 +117,10 @@ simulation:
|
||||
subnet_mask: 255.255.255.0
|
||||
default_gateway: 192.168.1.1
|
||||
applications:
|
||||
- type: DatabaseClient
|
||||
- type: database-client
|
||||
options:
|
||||
db_server_ip: 192.168.1.3
|
||||
- type: DataManipulationBot
|
||||
- type: data-manipulation-bot
|
||||
options:
|
||||
server_ip: 192.168.1.3
|
||||
payload: "DELETE"
|
||||
@@ -135,7 +135,7 @@ simulation:
|
||||
subnet_mask: 255.255.255.0
|
||||
default_gateway: 192.168.1.1
|
||||
services:
|
||||
- type: DatabaseService
|
||||
- type: database-service
|
||||
|
||||
links:
|
||||
- endpoint_a_hostname: client
|
||||
|
||||
@@ -23,7 +23,7 @@ game:
|
||||
agents:
|
||||
- ref: client_2_green_user
|
||||
team: GREEN
|
||||
type: ProbabilisticAgent
|
||||
type: probabilistic-agent
|
||||
agent_settings:
|
||||
action_probabilities:
|
||||
0: 0.3
|
||||
@@ -33,33 +33,33 @@ agents:
|
||||
action_space:
|
||||
action_map:
|
||||
0:
|
||||
action: do_nothing
|
||||
action: do-nothing
|
||||
options: {}
|
||||
1:
|
||||
action: node_application_execute
|
||||
action: node-application-execute
|
||||
options:
|
||||
node_name: client_2
|
||||
application_name: WebBrowser
|
||||
application_name: web-browser
|
||||
2:
|
||||
action: node_application_execute
|
||||
action: node-application-execute
|
||||
options:
|
||||
node_name: client_2
|
||||
application_name: DatabaseClient
|
||||
application_name: database-client
|
||||
|
||||
reward_function:
|
||||
reward_components:
|
||||
- type: WEBPAGE_UNAVAILABLE_PENALTY
|
||||
- type: webpage-unavailable-penalty
|
||||
weight: 0.25
|
||||
options:
|
||||
node_hostname: client_2
|
||||
- type: GREEN_ADMIN_DATABASE_UNREACHABLE_PENALTY
|
||||
- type: green-admin-database-unreachable-penalty
|
||||
weight: 0.05
|
||||
options:
|
||||
node_hostname: client_2
|
||||
|
||||
- ref: client_1_green_user
|
||||
team: GREEN
|
||||
type: ProbabilisticAgent
|
||||
type: probabilistic-agent
|
||||
agent_settings:
|
||||
action_probabilities:
|
||||
0: 0.3
|
||||
@@ -69,57 +69,57 @@ agents:
|
||||
action_space:
|
||||
action_map:
|
||||
0:
|
||||
action: do_nothing
|
||||
action: do-nothing
|
||||
options: {}
|
||||
1:
|
||||
action: node_application_execute
|
||||
action: node-application-execute
|
||||
options:
|
||||
node_name: client_1
|
||||
application_name: WebBrowser
|
||||
application_name: web-browser
|
||||
2:
|
||||
action: node_application_execute
|
||||
action: node-application-execute
|
||||
options:
|
||||
node_name: client_1
|
||||
application_name: DatabaseClient
|
||||
application_name: database-client
|
||||
|
||||
reward_function:
|
||||
reward_components:
|
||||
- type: WEBPAGE_UNAVAILABLE_PENALTY
|
||||
- type: webpage-unavailable-penalty
|
||||
weight: 0.25
|
||||
options:
|
||||
node_hostname: client_1
|
||||
- type: GREEN_ADMIN_DATABASE_UNREACHABLE_PENALTY
|
||||
- type: green-admin-database-unreachable-penalty
|
||||
weight: 0.05
|
||||
options:
|
||||
node_hostname: client_1
|
||||
|
||||
- ref: data_manipulation_attacker
|
||||
team: RED
|
||||
type: RedDatabaseCorruptingAgent
|
||||
type: red-database-corrupting-agent
|
||||
|
||||
agent_settings: # options specific to this particular agent type, basically args of __init__(self)
|
||||
possible_start_nodes: [client_1, client_2]
|
||||
target_application: DataManipulationBot
|
||||
target_application: data-manipulation-bot
|
||||
start_step: 25
|
||||
frequency: 20
|
||||
variance: 5
|
||||
|
||||
- ref: defender
|
||||
team: BLUE
|
||||
type: ProxyAgent
|
||||
type: proxy-agent
|
||||
|
||||
observation_space:
|
||||
type: CUSTOM
|
||||
type: custom
|
||||
options:
|
||||
components:
|
||||
- type: NODES
|
||||
- type: nodes
|
||||
label: NODES
|
||||
options:
|
||||
hosts:
|
||||
- hostname: domain_controller
|
||||
- hostname: web_server
|
||||
services:
|
||||
- service_name: WebServer
|
||||
- service_name: web-server
|
||||
- hostname: database_server
|
||||
folders:
|
||||
- folder_name: database
|
||||
@@ -159,7 +159,7 @@ agents:
|
||||
- UDP
|
||||
num_rules: 10
|
||||
|
||||
- type: LINKS
|
||||
- type: links
|
||||
label: LINKS
|
||||
options:
|
||||
link_references:
|
||||
@@ -173,222 +173,222 @@ agents:
|
||||
- switch_2:eth-1<->client_1:eth-1
|
||||
- switch_2:eth-2<->client_2:eth-1
|
||||
- switch_2:eth-7<->security_suite:eth-2
|
||||
- type: "NONE"
|
||||
- type: "none"
|
||||
label: ICS
|
||||
options: {}
|
||||
|
||||
action_space:
|
||||
action_map:
|
||||
0:
|
||||
action: do_nothing
|
||||
action: do-nothing
|
||||
options: {}
|
||||
# scan webapp service
|
||||
1:
|
||||
action: node_service_scan
|
||||
action: node-service-scan
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
# stop webapp service
|
||||
2:
|
||||
action: node_service_stop
|
||||
action: node-service-stop
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
# start webapp service
|
||||
3:
|
||||
action: "node_service_start"
|
||||
action: "node-service-start"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
4:
|
||||
action: "node_service_pause"
|
||||
action: "node-service-pause"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
5:
|
||||
action: "node_service_resume"
|
||||
action: "node-service-resume"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
6:
|
||||
action: "node_service_restart"
|
||||
action: "node-service-restart"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
7:
|
||||
action: "node_service_disable"
|
||||
action: "node-service-disable"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
8:
|
||||
action: "node_service_enable"
|
||||
action: "node-service-enable"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
9: # check database.db file
|
||||
action: "node_file_scan"
|
||||
action: "node-file-scan"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
file_name: database.db
|
||||
10:
|
||||
action: "node_file_checkhash"
|
||||
action: "node-file-checkhash"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
file_name: database.db
|
||||
11:
|
||||
action: "node_file_delete"
|
||||
action: "node-file-delete"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
file_name: database.db
|
||||
12:
|
||||
action: "node_file_repair"
|
||||
action: "node-file-repair"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
file_name: database.db
|
||||
13:
|
||||
action: "node_service_fix"
|
||||
action: "node-service-fix"
|
||||
options:
|
||||
node_name: database_server
|
||||
service_name: DatabaseService
|
||||
service_name: database-service
|
||||
14:
|
||||
action: "node_folder_scan"
|
||||
action: "node-folder-scan"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
15:
|
||||
action: "node_folder_checkhash"
|
||||
action: "node-folder-checkhash"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
16:
|
||||
action: "node_folder_repair"
|
||||
action: "node-folder-repair"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
17:
|
||||
action: "node_folder_restore"
|
||||
action: "node-folder-restore"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
18:
|
||||
action: "node_os_scan"
|
||||
action: "node-os-scan"
|
||||
options:
|
||||
node_name: domain_controller
|
||||
19:
|
||||
action: "node_shutdown"
|
||||
action: "node-shutdown"
|
||||
options:
|
||||
node_name: domain_controller
|
||||
20:
|
||||
action: node_startup
|
||||
action: node-startup
|
||||
options:
|
||||
node_name: domain_controller
|
||||
21:
|
||||
action: node_reset
|
||||
action: node-reset
|
||||
options:
|
||||
node_name: domain_controller
|
||||
22:
|
||||
action: "node_os_scan"
|
||||
action: "node-os-scan"
|
||||
options:
|
||||
node_name: web_server
|
||||
23:
|
||||
action: "node_shutdown"
|
||||
action: "node-shutdown"
|
||||
options:
|
||||
node_name: web_server
|
||||
24:
|
||||
action: node_startup
|
||||
action: node-startup
|
||||
options:
|
||||
node_name: web_server
|
||||
25:
|
||||
action: node_reset
|
||||
action: node-reset
|
||||
options:
|
||||
node_name: web_server
|
||||
26: # old action num: 18
|
||||
action: "node_os_scan"
|
||||
action: "node-os-scan"
|
||||
options:
|
||||
node_name: database_server
|
||||
27:
|
||||
action: "node_shutdown"
|
||||
action: "node-shutdown"
|
||||
options:
|
||||
node_name: database_server
|
||||
28:
|
||||
action: node_startup
|
||||
action: node-startup
|
||||
options:
|
||||
node_name: database_server
|
||||
29:
|
||||
action: node_reset
|
||||
action: node-reset
|
||||
options:
|
||||
node_name: database_server
|
||||
30:
|
||||
action: "node_os_scan"
|
||||
action: "node-os-scan"
|
||||
options:
|
||||
node_name: backup_server
|
||||
31:
|
||||
action: "node_shutdown"
|
||||
action: "node-shutdown"
|
||||
options:
|
||||
node_name: backup_server
|
||||
32:
|
||||
action: node_startup
|
||||
action: node-startup
|
||||
options:
|
||||
node_name: backup_server
|
||||
33:
|
||||
action: node_reset
|
||||
action: node-reset
|
||||
options:
|
||||
node_name: backup_server
|
||||
34:
|
||||
action: "node_os_scan"
|
||||
action: "node-os-scan"
|
||||
options:
|
||||
node_name: security_suite
|
||||
35:
|
||||
action: "node_shutdown"
|
||||
action: "node-shutdown"
|
||||
options:
|
||||
node_name: security_suite
|
||||
36:
|
||||
action: node_startup
|
||||
action: node-startup
|
||||
options:
|
||||
node_name: security_suite
|
||||
37:
|
||||
action: node_reset
|
||||
action: node-reset
|
||||
options:
|
||||
node_name: security_suite
|
||||
38:
|
||||
action: "node_os_scan"
|
||||
action: "node-os-scan"
|
||||
options:
|
||||
node_name: client_1
|
||||
39: # old action num: 19 # shutdown client 1
|
||||
action: "node_shutdown"
|
||||
action: "node-shutdown"
|
||||
options:
|
||||
node_name: client_1
|
||||
40: # old action num: 20
|
||||
action: node_startup
|
||||
action: node-startup
|
||||
options:
|
||||
node_name: client_1
|
||||
41: # old action num: 21
|
||||
action: node_reset
|
||||
action: node-reset
|
||||
options:
|
||||
node_name: client_1
|
||||
42:
|
||||
action: "node_os_scan"
|
||||
action: "node-os-scan"
|
||||
options:
|
||||
node_name: client_2
|
||||
43:
|
||||
action: "node_shutdown"
|
||||
action: "node-shutdown"
|
||||
options:
|
||||
node_name: client_2
|
||||
44:
|
||||
action: node_startup
|
||||
action: node-startup
|
||||
options:
|
||||
node_name: client_2
|
||||
45:
|
||||
action: node_reset
|
||||
action: node-reset
|
||||
options:
|
||||
node_name: client_2
|
||||
|
||||
46: # old action num: 22 # "ACL: ADDRULE - Block outgoing traffic from client 1"
|
||||
action: "router_acl_add_rule"
|
||||
46: # old action num: 22 # "acl: ADDRULE - Block outgoing traffic from client 1"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 1
|
||||
@@ -400,8 +400,8 @@ agents:
|
||||
protocol_name: ALL
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
47: # old action num: 23 # "ACL: ADDRULE - Block outgoing traffic from client 2"
|
||||
action: "router_acl_add_rule"
|
||||
47: # old action num: 23 # "acl: ADDRULE - Block outgoing traffic from client 2"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 2
|
||||
@@ -414,7 +414,7 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
48: # old action num: 24 # block tcp traffic from client 1 to web app
|
||||
action: "router_acl_add_rule"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 3
|
||||
@@ -427,7 +427,7 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
49: # old action num: 25 # block tcp traffic from client 2 to web app
|
||||
action: "router_acl_add_rule"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 4
|
||||
@@ -440,7 +440,7 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
50: # old action num: 26
|
||||
action: "router_acl_add_rule"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 5
|
||||
@@ -453,7 +453,7 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
51: # old action num: 27
|
||||
action: "router_acl_add_rule"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 6
|
||||
@@ -466,143 +466,143 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
52: # old action num: 28
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 0
|
||||
53: # old action num: 29
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 1
|
||||
54: # old action num: 30
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 2
|
||||
55: # old action num: 31
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 3
|
||||
56: # old action num: 32
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 4
|
||||
57: # old action num: 33
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 5
|
||||
58: # old action num: 34
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 6
|
||||
59: # old action num: 35
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 7
|
||||
60: # old action num: 36
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 8
|
||||
61: # old action num: 37
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 9
|
||||
62: # old action num: 38
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: domain_controller
|
||||
nic_num: 1
|
||||
63: # old action num: 39
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: domain_controller
|
||||
nic_num: 1
|
||||
64: # old action num: 40
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: web_server
|
||||
nic_num: 1
|
||||
65: # old action num: 41
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: web_server
|
||||
nic_num: 1
|
||||
66: # old action num: 42
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: database_server
|
||||
nic_num: 1
|
||||
67: # old action num: 43
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: database_server
|
||||
nic_num: 1
|
||||
68: # old action num: 44
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: backup_server
|
||||
nic_num: 1
|
||||
69: # old action num: 45
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: backup_server
|
||||
nic_num: 1
|
||||
70: # old action num: 46
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: security_suite
|
||||
nic_num: 1
|
||||
71: # old action num: 47
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: security_suite
|
||||
nic_num: 1
|
||||
72: # old action num: 48
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: security_suite
|
||||
nic_num: 2
|
||||
73: # old action num: 49
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: security_suite
|
||||
nic_num: 2
|
||||
74: # old action num: 50
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: client_1
|
||||
nic_num: 1
|
||||
75: # old action num: 51
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: client_1
|
||||
nic_num: 1
|
||||
76: # old action num: 52
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: client_2
|
||||
nic_num: 1
|
||||
77: # old action num: 53
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: client_2
|
||||
nic_num: 1
|
||||
|
||||
reward_function:
|
||||
reward_components:
|
||||
- type: SHARED_REWARD
|
||||
- type: shared-reward
|
||||
weight: 1.0
|
||||
options:
|
||||
agent_name: client_1_green_user
|
||||
- type: SHARED_REWARD
|
||||
- type: shared-reward
|
||||
weight: 1.0
|
||||
options:
|
||||
agent_name: client_2_green_user
|
||||
@@ -673,7 +673,7 @@ simulation:
|
||||
subnet_mask: 255.255.255.0
|
||||
default_gateway: 192.168.1.1
|
||||
services:
|
||||
- type: DNSServer
|
||||
- type: dns-server
|
||||
options:
|
||||
domain_mapping:
|
||||
arcd.com: 192.168.1.12 # web server
|
||||
@@ -685,9 +685,9 @@ simulation:
|
||||
default_gateway: 192.168.1.1
|
||||
dns_server: 192.168.1.10
|
||||
services:
|
||||
- type: WebServer
|
||||
- type: web-server
|
||||
applications:
|
||||
- type: DatabaseClient
|
||||
- type: database-client
|
||||
options:
|
||||
db_server_ip: 192.168.1.14
|
||||
|
||||
@@ -699,10 +699,10 @@ simulation:
|
||||
default_gateway: 192.168.1.1
|
||||
dns_server: 192.168.1.10
|
||||
services:
|
||||
- type: DatabaseService
|
||||
- type: database-service
|
||||
options:
|
||||
backup_server_ip: 192.168.1.16
|
||||
- type: FTPClient
|
||||
- type: ftp-client
|
||||
|
||||
- hostname: backup_server
|
||||
type: server
|
||||
@@ -711,7 +711,7 @@ simulation:
|
||||
default_gateway: 192.168.1.1
|
||||
dns_server: 192.168.1.10
|
||||
services:
|
||||
- type: FTPServer
|
||||
- type: ftp-server
|
||||
|
||||
- hostname: security_suite
|
||||
type: server
|
||||
@@ -731,20 +731,20 @@ simulation:
|
||||
default_gateway: 192.168.10.1
|
||||
dns_server: 192.168.1.10
|
||||
applications:
|
||||
- type: DataManipulationBot
|
||||
- type: data-manipulation-bot
|
||||
options:
|
||||
port_scan_p_of_success: 0.8
|
||||
data_manipulation_p_of_success: 0.8
|
||||
payload: "DELETE"
|
||||
server_ip: 192.168.1.14
|
||||
- type: WebBrowser
|
||||
- type: web-browser
|
||||
options:
|
||||
target_url: http://arcd.com/users/
|
||||
- type: DatabaseClient
|
||||
- type: database-client
|
||||
options:
|
||||
db_server_ip: 192.168.1.14
|
||||
services:
|
||||
- type: DNSClient
|
||||
- type: dns-client
|
||||
|
||||
- hostname: client_2
|
||||
type: computer
|
||||
@@ -753,20 +753,20 @@ simulation:
|
||||
default_gateway: 192.168.10.1
|
||||
dns_server: 192.168.1.10
|
||||
applications:
|
||||
- type: WebBrowser
|
||||
- type: web-browser
|
||||
options:
|
||||
target_url: http://arcd.com/users/
|
||||
- type: DataManipulationBot
|
||||
- type: data-manipulation-bot
|
||||
options:
|
||||
port_scan_p_of_success: 0.8
|
||||
data_manipulation_p_of_success: 0.8
|
||||
payload: "DELETE"
|
||||
server_ip: 192.168.1.14
|
||||
- type: DatabaseClient
|
||||
- type: database-client
|
||||
options:
|
||||
db_server_ip: 192.168.1.14
|
||||
services:
|
||||
- type: DNSClient
|
||||
- type: dns-client
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -26,18 +26,18 @@ game:
|
||||
agents:
|
||||
- ref: client_2_green_user
|
||||
team: GREEN
|
||||
type: ProbabilisticAgent
|
||||
type: probabilistic-agent
|
||||
|
||||
action_space:
|
||||
action_map:
|
||||
0:
|
||||
action: do_nothing
|
||||
action: do-nothing
|
||||
options: {}
|
||||
1:
|
||||
action: node_application_execute
|
||||
action: node-application-execute
|
||||
options:
|
||||
node_name: client_2
|
||||
application_name: WebBrowser
|
||||
application_name: web-browser
|
||||
agent_settings:
|
||||
action_probabilities:
|
||||
0: 0.4
|
||||
@@ -46,13 +46,13 @@ agents:
|
||||
|
||||
- ref: defender
|
||||
team: BLUE
|
||||
type: ProxyAgent
|
||||
type: proxy-agent
|
||||
|
||||
observation_space:
|
||||
type: CUSTOM
|
||||
type: custom
|
||||
options:
|
||||
components:
|
||||
- type: NODES
|
||||
- type: nodes
|
||||
label: NODES
|
||||
options:
|
||||
hosts:
|
||||
@@ -89,25 +89,25 @@ agents:
|
||||
- UDP
|
||||
num_rules: 10
|
||||
|
||||
- type: LINKS
|
||||
- type: links
|
||||
label: LINKS
|
||||
options:
|
||||
link_references:
|
||||
- switch_1:eth-1<->client_1:eth-1
|
||||
- switch_1:eth-2<->client_2:eth-1
|
||||
- type: "NONE"
|
||||
- type: "none"
|
||||
label: ICS
|
||||
options: {}
|
||||
|
||||
action_space:
|
||||
action_map:
|
||||
0:
|
||||
action: do_nothing
|
||||
action: do-nothing
|
||||
options: {}
|
||||
|
||||
reward_function:
|
||||
reward_components:
|
||||
- type: DATABASE_FILE_INTEGRITY
|
||||
- type: database-file-integrity
|
||||
weight: 0.5
|
||||
options:
|
||||
node_hostname: database_server
|
||||
@@ -115,7 +115,7 @@ agents:
|
||||
file_name: database.db
|
||||
|
||||
|
||||
- type: WEB_SERVER_404_PENALTY
|
||||
- type: web-server-404-penalty
|
||||
weight: 0.5
|
||||
options:
|
||||
node_hostname: web_server
|
||||
@@ -140,22 +140,22 @@ simulation:
|
||||
default_gateway: 192.168.10.1
|
||||
dns_server: 192.168.1.10
|
||||
applications:
|
||||
- type: NMAP
|
||||
- type: nmap
|
||||
options:
|
||||
fixing_duration: 1
|
||||
- type: RansomwareScript
|
||||
- type: ransomware-script
|
||||
options:
|
||||
fixing_duration: 1
|
||||
- type: WebBrowser
|
||||
- type: web-browser
|
||||
options:
|
||||
target_url: http://arcd.com/users/
|
||||
fixing_duration: 1
|
||||
- type: DatabaseClient
|
||||
- type: database-client
|
||||
options:
|
||||
db_server_ip: 192.168.1.10
|
||||
server_password: arcd
|
||||
fixing_duration: 1
|
||||
- type: DataManipulationBot
|
||||
- type: data-manipulation-bot
|
||||
options:
|
||||
port_scan_p_of_success: 0.8
|
||||
data_manipulation_p_of_success: 0.8
|
||||
@@ -163,41 +163,41 @@ simulation:
|
||||
server_ip: 192.168.1.21
|
||||
server_password: arcd
|
||||
fixing_duration: 1
|
||||
- type: DoSBot
|
||||
- type: dos-bot
|
||||
options:
|
||||
target_ip_address: 192.168.10.21
|
||||
payload: SPOOF DATA
|
||||
port_scan_p_of_success: 0.8
|
||||
fixing_duration: 1
|
||||
services:
|
||||
- type: DNSClient
|
||||
- type: dns-client
|
||||
options:
|
||||
dns_server: 192.168.1.10
|
||||
fixing_duration: 3
|
||||
- type: DNSServer
|
||||
- type: dns-server
|
||||
options:
|
||||
fixing_duration: 3
|
||||
domain_mapping:
|
||||
arcd.com: 192.168.1.10
|
||||
- type: DatabaseService
|
||||
- type: database-service
|
||||
options:
|
||||
backup_server_ip: 192.168.1.10
|
||||
fixing_duration: 3
|
||||
- type: WebServer
|
||||
- type: web-server
|
||||
options:
|
||||
fixing_duration: 3
|
||||
- type: FTPClient
|
||||
- type: ftp-client
|
||||
options:
|
||||
fixing_duration: 3
|
||||
- type: FTPServer
|
||||
- type: ftp-server
|
||||
options:
|
||||
server_password: arcd
|
||||
fixing_duration: 3
|
||||
- type: NTPClient
|
||||
- type: ntp-client
|
||||
options:
|
||||
ntp_server_ip: 192.168.1.10
|
||||
fixing_duration: 3
|
||||
- type: NTPServer
|
||||
- type: ntp-server
|
||||
options:
|
||||
fixing_duration: 3
|
||||
- hostname: client_2
|
||||
@@ -207,12 +207,12 @@ simulation:
|
||||
default_gateway: 192.168.10.1
|
||||
dns_server: 192.168.1.10
|
||||
applications:
|
||||
- type: DatabaseClient
|
||||
- type: database-client
|
||||
options:
|
||||
db_server_ip: 192.168.1.10
|
||||
server_password: arcd
|
||||
services:
|
||||
- type: DNSClient
|
||||
- type: dns-client
|
||||
|
||||
links:
|
||||
- endpoint_a_hostname: switch_1
|
||||
|
||||
@@ -23,7 +23,7 @@ game:
|
||||
agents:
|
||||
- ref: client_2_green_user
|
||||
team: GREEN
|
||||
type: ProbabilisticAgent
|
||||
type: probabilistic-agent
|
||||
agent_settings:
|
||||
action_probabilities:
|
||||
0: 0.3
|
||||
@@ -33,33 +33,33 @@ agents:
|
||||
action_space:
|
||||
action_map:
|
||||
0:
|
||||
action: do_nothing
|
||||
action: do-nothing
|
||||
options: {}
|
||||
1:
|
||||
action: node_application_execute
|
||||
action: node-application-execute
|
||||
options:
|
||||
node_name: client_2
|
||||
application_name: WebBrowser
|
||||
application_name: web-browser
|
||||
2:
|
||||
action: node_application_execute
|
||||
action: node-application-execute
|
||||
options:
|
||||
node_name: client_2
|
||||
application_name: DatabaseClient
|
||||
application_name: database-client
|
||||
|
||||
reward_function:
|
||||
reward_components:
|
||||
- type: WEBPAGE_UNAVAILABLE_PENALTY
|
||||
- type: webpage-unavailable-penalty
|
||||
weight: 0.25
|
||||
options:
|
||||
node_hostname: client_2
|
||||
- type: GREEN_ADMIN_DATABASE_UNREACHABLE_PENALTY
|
||||
- type: green-admin-database-unreachable-penalty
|
||||
weight: 0.05
|
||||
options:
|
||||
node_hostname: client_2
|
||||
|
||||
- ref: client_1_green_user
|
||||
team: GREEN
|
||||
type: ProbabilisticAgent
|
||||
type: probabilistic-agent
|
||||
agent_settings:
|
||||
action_probabilities:
|
||||
0: 0.3
|
||||
@@ -69,26 +69,26 @@ agents:
|
||||
action_space:
|
||||
action_map:
|
||||
0:
|
||||
action: do_nothing
|
||||
action: do-nothing
|
||||
options: {}
|
||||
1:
|
||||
action: node_application_execute
|
||||
action: node-application-execute
|
||||
options:
|
||||
node_name: client_1
|
||||
application_name: WebBrowser
|
||||
application_name: web-browser
|
||||
2:
|
||||
action: node_application_execute
|
||||
action: node-application-execute
|
||||
options:
|
||||
node_name: client_1
|
||||
application_name: WebBrowser
|
||||
application_name: web-browser
|
||||
|
||||
reward_function:
|
||||
reward_components:
|
||||
- type: WEBPAGE_UNAVAILABLE_PENALTY
|
||||
- type: webpage-unavailable-penalty
|
||||
weight: 0.25
|
||||
options:
|
||||
node_hostname: client_1
|
||||
- type: GREEN_ADMIN_DATABASE_UNREACHABLE_PENALTY
|
||||
- type: green-admin-database-unreachable-penalty
|
||||
weight: 0.05
|
||||
options:
|
||||
node_hostname: client_1
|
||||
@@ -99,31 +99,31 @@ agents:
|
||||
|
||||
- ref: data_manipulation_attacker
|
||||
team: RED
|
||||
type: RedDatabaseCorruptingAgent
|
||||
type: red-database-corrupting-agent
|
||||
|
||||
agent_settings: # options specific to this particular agent type, basically args of __init__(self)
|
||||
possible_start_nodes: [client_1, client_2]
|
||||
target_application: DataManipulationBot
|
||||
target_application: data-manipulation-bot
|
||||
start_step: 25
|
||||
frequency: 20
|
||||
variance: 5
|
||||
|
||||
- ref: defender
|
||||
team: BLUE
|
||||
type: ProxyAgent
|
||||
type: proxy-agent
|
||||
|
||||
observation_space:
|
||||
type: CUSTOM
|
||||
type: custom
|
||||
options:
|
||||
components:
|
||||
- type: NODES
|
||||
- type: nodes
|
||||
label: NODES
|
||||
options:
|
||||
hosts:
|
||||
- hostname: domain_controller
|
||||
- hostname: web_server
|
||||
services:
|
||||
- service_name: WebServer
|
||||
- service_name: web-server
|
||||
- hostname: database_server
|
||||
folders:
|
||||
- folder_name: database
|
||||
@@ -163,7 +163,7 @@ agents:
|
||||
- UDP
|
||||
num_rules: 10
|
||||
|
||||
- type: LINKS
|
||||
- type: links
|
||||
label: LINKS
|
||||
options:
|
||||
link_references:
|
||||
@@ -177,222 +177,222 @@ agents:
|
||||
- switch_2:eth-1<->client_1:eth-1
|
||||
- switch_2:eth-2<->client_2:eth-1
|
||||
- switch_2:eth-7<->security_suite:eth-2
|
||||
- type: "NONE"
|
||||
- type: "none"
|
||||
label: ICS
|
||||
options: {}
|
||||
|
||||
action_space:
|
||||
action_map:
|
||||
0:
|
||||
action: do_nothing
|
||||
action: do-nothing
|
||||
options: {}
|
||||
# scan webapp service
|
||||
1:
|
||||
action: node_service_scan
|
||||
action: node-service-scan
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
# stop webapp service
|
||||
2:
|
||||
action: node_service_stop
|
||||
action: node-service-stop
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
# start webapp service
|
||||
3:
|
||||
action: "node_service_start"
|
||||
action: "node-service-start"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
4:
|
||||
action: "node_service_pause"
|
||||
action: "node-service-pause"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
5:
|
||||
action: "node_service_resume"
|
||||
action: "node-service-resume"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
6:
|
||||
action: "node_service_restart"
|
||||
action: "node-service-restart"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
7:
|
||||
action: "node_service_disable"
|
||||
action: "node-service-disable"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
8:
|
||||
action: "node_service_enable"
|
||||
action: "node-service-enable"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
9: # check database.db file
|
||||
action: "node_file_scan"
|
||||
action: "node-file-scan"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
file_name: database.db
|
||||
10:
|
||||
action: "node_file_scan" # CHECKHASH replaced by SCAN - but the behaviour is the same in this context.
|
||||
action: "node-file-scan" # CHECKHASH replaced by SCAN - but the behaviour is the same in this context.
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
file_name: database.db
|
||||
11:
|
||||
action: "node_file_delete"
|
||||
action: "node-file-delete"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
file_name: database.db
|
||||
12:
|
||||
action: "node_file_repair"
|
||||
action: "node-file-repair"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
file_name: database.db
|
||||
13:
|
||||
action: "node_service_fix"
|
||||
action: "node-service-fix"
|
||||
options:
|
||||
node_name: database_server
|
||||
service_name: DatabaseService
|
||||
service_name: database-service
|
||||
14:
|
||||
action: "node_folder_scan"
|
||||
action: "node-folder-scan"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
15:
|
||||
action: "node_folder_scan" # CHECKHASH replaced by SCAN - but the behaviour is the same in this context.
|
||||
action: "node-folder-scan" # CHECKHASH replaced by SCAN - but the behaviour is the same in this context.
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
16:
|
||||
action: "node_folder_repair"
|
||||
action: "node-folder-repair"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
17:
|
||||
action: "node_folder_restore"
|
||||
action: "node-folder-restore"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
18:
|
||||
action: "node_os_scan"
|
||||
action: "node-os-scan"
|
||||
options:
|
||||
node_name: domain_controller
|
||||
19:
|
||||
action: "node_shutdown"
|
||||
action: "node-shutdown"
|
||||
options:
|
||||
node_name: domain_controller
|
||||
20:
|
||||
action: node_startup
|
||||
action: node-startup
|
||||
options:
|
||||
node_name: domain_controller
|
||||
21:
|
||||
action: node_reset
|
||||
action: node-reset
|
||||
options:
|
||||
node_name: domain_controller
|
||||
22:
|
||||
action: "node_os_scan"
|
||||
action: "node-os-scan"
|
||||
options:
|
||||
node_name: web_server
|
||||
23:
|
||||
action: "node_shutdown"
|
||||
action: "node-shutdown"
|
||||
options:
|
||||
node_name: web_server
|
||||
24:
|
||||
action: node_startup
|
||||
action: node-startup
|
||||
options:
|
||||
node_name: web_server
|
||||
25:
|
||||
action: node_reset
|
||||
action: node-reset
|
||||
options:
|
||||
node_name: web_server
|
||||
26: # old action num: 18
|
||||
action: "node_os_scan"
|
||||
action: "node-os-scan"
|
||||
options:
|
||||
node_name: database_server
|
||||
27:
|
||||
action: "node_shutdown"
|
||||
action: "node-shutdown"
|
||||
options:
|
||||
node_name: database_server
|
||||
28:
|
||||
action: node_startup
|
||||
action: node-startup
|
||||
options:
|
||||
node_name: database_server
|
||||
29:
|
||||
action: node_reset
|
||||
action: node-reset
|
||||
options:
|
||||
node_name: database_server
|
||||
30:
|
||||
action: "node_os_scan"
|
||||
action: "node-os-scan"
|
||||
options:
|
||||
node_name: backup_server
|
||||
31:
|
||||
action: "node_shutdown"
|
||||
action: "node-shutdown"
|
||||
options:
|
||||
node_name: backup_server
|
||||
32:
|
||||
action: node_startup
|
||||
action: node-startup
|
||||
options:
|
||||
node_name: backup_server
|
||||
33:
|
||||
action: node_reset
|
||||
action: node-reset
|
||||
options:
|
||||
node_name: backup_server
|
||||
34:
|
||||
action: "node_os_scan"
|
||||
action: "node-os-scan"
|
||||
options:
|
||||
node_name: security_suite
|
||||
35:
|
||||
action: "node_shutdown"
|
||||
action: "node-shutdown"
|
||||
options:
|
||||
node_name: security_suite
|
||||
36:
|
||||
action: node_startup
|
||||
action: node-startup
|
||||
options:
|
||||
node_name: security_suite
|
||||
37:
|
||||
action: node_reset
|
||||
action: node-reset
|
||||
options:
|
||||
node_name: security_suite
|
||||
38:
|
||||
action: "node_os_scan"
|
||||
action: "node-os-scan"
|
||||
options:
|
||||
node_name: client_1
|
||||
39: # old action num: 19 # shutdown client 1
|
||||
action: "node_shutdown"
|
||||
action: "node-shutdown"
|
||||
options:
|
||||
node_name: client_1
|
||||
40: # old action num: 20
|
||||
action: node_startup
|
||||
action: node-startup
|
||||
options:
|
||||
node_name: client_1
|
||||
41: # old action num: 21
|
||||
action: node_reset
|
||||
action: node-reset
|
||||
options:
|
||||
node_name: client_1
|
||||
42:
|
||||
action: "node_os_scan"
|
||||
action: "node-os-scan"
|
||||
options:
|
||||
node_name: client_2
|
||||
43:
|
||||
action: "node_shutdown"
|
||||
action: "node-shutdown"
|
||||
options:
|
||||
node_name: client_2
|
||||
44:
|
||||
action: node_startup
|
||||
action: node-startup
|
||||
options:
|
||||
node_name: client_2
|
||||
45:
|
||||
action: node_reset
|
||||
action: node-reset
|
||||
options:
|
||||
node_name: client_2
|
||||
|
||||
46: # old action num: 22 # "ACL: ADDRULE - Block outgoing traffic from client 1"
|
||||
action: "router_acl_add_rule"
|
||||
46: # old action num: 22 # "acl: ADDRULE - Block outgoing traffic from client 1"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 1
|
||||
@@ -404,8 +404,8 @@ agents:
|
||||
protocol_name: ALL
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
47: # old action num: 23 # "ACL: ADDRULE - Block outgoing traffic from client 2"
|
||||
action: "router_acl_add_rule"
|
||||
47: # old action num: 23 # "acl: ADDRULE - Block outgoing traffic from client 2"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 2
|
||||
@@ -418,7 +418,7 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
48: # old action num: 24 # block tcp traffic from client 1 to web app
|
||||
action: "router_acl_add_rule"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 3
|
||||
@@ -431,7 +431,7 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
49: # old action num: 25 # block tcp traffic from client 2 to web app
|
||||
action: "router_acl_add_rule"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 4
|
||||
@@ -444,7 +444,7 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
50: # old action num: 26
|
||||
action: "router_acl_add_rule"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 5
|
||||
@@ -457,7 +457,7 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
51: # old action num: 27
|
||||
action: "router_acl_add_rule"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 6
|
||||
@@ -470,157 +470,157 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
52: # old action num: 28
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 0
|
||||
53: # old action num: 29
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 1
|
||||
54: # old action num: 30
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 2
|
||||
55: # old action num: 31
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 3
|
||||
56: # old action num: 32
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 4
|
||||
57: # old action num: 33
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 5
|
||||
58: # old action num: 34
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 6
|
||||
59: # old action num: 35
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 7
|
||||
60: # old action num: 36
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 8
|
||||
61: # old action num: 37
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 9
|
||||
62: # old action num: 38
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: domain_controller
|
||||
nic_num: 1
|
||||
63: # old action num: 39
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: domain_controller
|
||||
nic_num: 1
|
||||
64: # old action num: 40
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: web_server
|
||||
nic_num: 1
|
||||
65: # old action num: 41
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: web_server
|
||||
nic_num: 1
|
||||
66: # old action num: 42
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: database_server
|
||||
nic_num: 1
|
||||
67: # old action num: 43
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: database_server
|
||||
nic_num: 1
|
||||
68: # old action num: 44
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: backup_server
|
||||
nic_num: 1
|
||||
69: # old action num: 45
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: backup_server
|
||||
nic_num: 1
|
||||
70: # old action num: 46
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: security_suite
|
||||
nic_num: 1
|
||||
71: # old action num: 47
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: security_suite
|
||||
nic_num: 1
|
||||
72: # old action num: 48
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: security_suite
|
||||
nic_num: 2
|
||||
73: # old action num: 49
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: security_suite
|
||||
nic_num: 2
|
||||
74: # old action num: 50
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: client_1
|
||||
nic_num: 1
|
||||
75: # old action num: 51
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: client_1
|
||||
nic_num: 1
|
||||
76: # old action num: 52
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: client_2
|
||||
nic_num: 1
|
||||
77: # old action num: 53
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: client_2
|
||||
nic_num: 1
|
||||
78:
|
||||
action: node_application_install
|
||||
action: node-application-install
|
||||
options:
|
||||
node_name: domain_controller
|
||||
application_name: DoSBot
|
||||
application_name: dos-bot
|
||||
79:
|
||||
action: node_application_remove
|
||||
action: node-application-remove
|
||||
options:
|
||||
node_name: domain_controller
|
||||
application_name: DoSBot
|
||||
application_name: dos-bot
|
||||
80:
|
||||
action: node_application_remove
|
||||
action: node-application-remove
|
||||
options:
|
||||
node_name: domain_controller
|
||||
application_name: WebBrowser
|
||||
application_name: web-browser
|
||||
81:
|
||||
action: node_application_execute
|
||||
action: node-application-execute
|
||||
options:
|
||||
node_name: domain_controller
|
||||
application_name: DoSBot
|
||||
application_name: dos-bot
|
||||
82:
|
||||
action: configure_dos_bot
|
||||
action: configure-dos-bot
|
||||
options:
|
||||
node_name: domain_controller
|
||||
target_ip_address: 192.168.1.14
|
||||
@@ -628,17 +628,17 @@ agents:
|
||||
|
||||
reward_function:
|
||||
reward_components:
|
||||
- type: DATABASE_FILE_INTEGRITY
|
||||
- type: database-file-integrity
|
||||
weight: 0.40
|
||||
options:
|
||||
node_hostname: database_server
|
||||
folder_name: database
|
||||
file_name: database.db
|
||||
- type: SHARED_REWARD
|
||||
- type: shared-reward
|
||||
weight: 1.0
|
||||
options:
|
||||
agent_name: client_1_green_user
|
||||
- type: SHARED_REWARD
|
||||
- type: shared-reward
|
||||
weight: 1.0
|
||||
options:
|
||||
agent_name: client_2_green_user
|
||||
@@ -709,7 +709,7 @@ simulation:
|
||||
subnet_mask: 255.255.255.0
|
||||
default_gateway: 192.168.1.1
|
||||
services:
|
||||
- type: DNSServer
|
||||
- type: dns-server
|
||||
options:
|
||||
domain_mapping:
|
||||
arcd.com: 192.168.1.12 # web server
|
||||
@@ -721,9 +721,9 @@ simulation:
|
||||
default_gateway: 192.168.1.1
|
||||
dns_server: 192.168.1.10
|
||||
services:
|
||||
- type: WebServer
|
||||
- type: web-server
|
||||
applications:
|
||||
- type: DatabaseClient
|
||||
- type: database-client
|
||||
options:
|
||||
db_server_ip: 192.168.1.14
|
||||
|
||||
@@ -735,10 +735,10 @@ simulation:
|
||||
default_gateway: 192.168.1.1
|
||||
dns_server: 192.168.1.10
|
||||
services:
|
||||
- type: DatabaseService
|
||||
- type: database-service
|
||||
options:
|
||||
backup_server_ip: 192.168.1.16
|
||||
- type: FTPClient
|
||||
- type: ftp-client
|
||||
|
||||
- hostname: backup_server
|
||||
type: server
|
||||
@@ -747,7 +747,7 @@ simulation:
|
||||
default_gateway: 192.168.1.1
|
||||
dns_server: 192.168.1.10
|
||||
services:
|
||||
- type: FTPServer
|
||||
- type: ftp-server
|
||||
|
||||
- hostname: security_suite
|
||||
type: server
|
||||
@@ -767,20 +767,20 @@ simulation:
|
||||
default_gateway: 192.168.10.1
|
||||
dns_server: 192.168.1.10
|
||||
applications:
|
||||
- type: DataManipulationBot
|
||||
- type: data-manipulation-bot
|
||||
options:
|
||||
port_scan_p_of_success: 0.8
|
||||
data_manipulation_p_of_success: 0.8
|
||||
payload: "DELETE"
|
||||
server_ip: 192.168.1.14
|
||||
- type: WebBrowser
|
||||
- type: web-browser
|
||||
options:
|
||||
target_url: http://arcd.com/users/
|
||||
- type: DatabaseClient
|
||||
- type: database-client
|
||||
options:
|
||||
db_server_ip: 192.168.1.14
|
||||
services:
|
||||
- type: DNSClient
|
||||
- type: dns-client
|
||||
|
||||
- hostname: client_2
|
||||
type: computer
|
||||
@@ -789,20 +789,20 @@ simulation:
|
||||
default_gateway: 192.168.10.1
|
||||
dns_server: 192.168.1.10
|
||||
applications:
|
||||
- type: WebBrowser
|
||||
- type: web-browser
|
||||
options:
|
||||
target_url: http://arcd.com/users/
|
||||
- type: DataManipulationBot
|
||||
- type: data-manipulation-bot
|
||||
options:
|
||||
port_scan_p_of_success: 0.8
|
||||
data_manipulation_p_of_success: 0.8
|
||||
payload: "DELETE"
|
||||
server_ip: 192.168.1.14
|
||||
- type: DatabaseClient
|
||||
- type: database-client
|
||||
options:
|
||||
db_server_ip: 192.168.1.14
|
||||
services:
|
||||
- type: DNSClient
|
||||
- type: dns-client
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -20,12 +20,12 @@ game:
|
||||
agents:
|
||||
- ref: client_2_green_user
|
||||
team: GREEN
|
||||
type: ProbabilisticAgent
|
||||
type: probabilistic-agent
|
||||
|
||||
action_space:
|
||||
action_map:
|
||||
0:
|
||||
action: do_nothing
|
||||
action: do-nothing
|
||||
options: {}
|
||||
|
||||
agent_settings: # options specific to this particular agent type, basically args of __init__(self)
|
||||
@@ -34,44 +34,44 @@ agents:
|
||||
|
||||
- ref: data_manipulation_attacker
|
||||
team: RED
|
||||
type: RedDatabaseCorruptingAgent
|
||||
type: red-database-corrupting-agent
|
||||
|
||||
|
||||
|
||||
action_space:
|
||||
action_map:
|
||||
0:
|
||||
action: do_nothing
|
||||
action: do-nothing
|
||||
options: {}
|
||||
1:
|
||||
action: node_application_execute
|
||||
action: node-application-execute
|
||||
options:
|
||||
node_name: client_1
|
||||
application_name: DataManipulationBot
|
||||
application_name: data-manipulation-bot
|
||||
|
||||
agent_settings: # options specific to this particular agent type, basically args of __init__(self)
|
||||
possible_start_nodes: [client_1,]
|
||||
target_application: DataManipulationBot
|
||||
target_application: data-manipulation-bot
|
||||
start_step: 25
|
||||
frequency: 20
|
||||
variance: 5
|
||||
|
||||
- ref: defender
|
||||
team: BLUE
|
||||
type: ProxyAgent
|
||||
type: proxy-agent
|
||||
|
||||
observation_space:
|
||||
type: CUSTOM
|
||||
type: custom
|
||||
options:
|
||||
components:
|
||||
- type: NODES
|
||||
- type: nodes
|
||||
label: NODES
|
||||
options:
|
||||
hosts:
|
||||
- hostname: domain_controller
|
||||
- hostname: web_server
|
||||
services:
|
||||
- service_name: WebServer
|
||||
- service_name: web-server
|
||||
- hostname: database_server
|
||||
folders:
|
||||
- folder_name: database
|
||||
@@ -111,7 +111,7 @@ agents:
|
||||
- UDP
|
||||
num_rules: 10
|
||||
|
||||
- type: LINKS
|
||||
- type: links
|
||||
label: LINKS
|
||||
options:
|
||||
link_references:
|
||||
@@ -125,125 +125,125 @@ agents:
|
||||
- switch_2:eth-1<->client_1:eth-1
|
||||
- switch_2:eth-2<->client_2:eth-1
|
||||
- switch_2:eth-7<->security_suite:eth-2
|
||||
- type: "NONE"
|
||||
- type: "none"
|
||||
label: ICS
|
||||
options: {}
|
||||
|
||||
action_space:
|
||||
action_map:
|
||||
0:
|
||||
action: do_nothing
|
||||
action: do-nothing
|
||||
options: {}
|
||||
# scan webapp service
|
||||
1:
|
||||
action: node_service_scan
|
||||
action: node-service-scan
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
# stop webapp service
|
||||
2:
|
||||
action: node_service_stop
|
||||
action: node-service-stop
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
# start webapp service
|
||||
3:
|
||||
action: "node_service_start"
|
||||
action: "node-service-start"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
4:
|
||||
action: "node_service_pause"
|
||||
action: "node-service-pause"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
5:
|
||||
action: "node_service_resume"
|
||||
action: "node-service-resume"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
6:
|
||||
action: "node_service_restart"
|
||||
action: "node-service-restart"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
7:
|
||||
action: "node_service_disable"
|
||||
action: "node-service-disable"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
8:
|
||||
action: "node_service_enable"
|
||||
action: "node-service-enable"
|
||||
options:
|
||||
node_name: web_server
|
||||
service_name: WebServer
|
||||
service_name: web-server
|
||||
9: # check database.db file
|
||||
action: "node_file_scan"
|
||||
action: "node-file-scan"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
file_name: database.db
|
||||
10:
|
||||
action: "node_file_checkhash"
|
||||
action: "node-file-checkhash"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
file_name: database.db
|
||||
11:
|
||||
action: "node_file_delete"
|
||||
action: "node-file-delete"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
file_name: database.db
|
||||
12:
|
||||
action: "node_file_repair"
|
||||
action: "node-file-repair"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
file_name: database.db
|
||||
13:
|
||||
action: "node_service_fix"
|
||||
action: "node-service-fix"
|
||||
options:
|
||||
node_name: database_server
|
||||
service_name: DatabaseService
|
||||
service_name: database-service
|
||||
14:
|
||||
action: "node_folder_scan"
|
||||
action: "node-folder-scan"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
15:
|
||||
action: "node_folder_checkhash"
|
||||
action: "node-folder-checkhash"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
16:
|
||||
action: "node_folder_repair"
|
||||
action: "node-folder-repair"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
17:
|
||||
action: "node_folder_restore"
|
||||
action: "node-folder-restore"
|
||||
options:
|
||||
node_name: database_server
|
||||
folder_name: database
|
||||
18:
|
||||
action: "node_os_scan"
|
||||
action: "node-os-scan"
|
||||
options:
|
||||
node_name: database_server
|
||||
19: # shutdown client 1
|
||||
action: "node_shutdown"
|
||||
action: "node-shutdown"
|
||||
options:
|
||||
node_name: client_1
|
||||
20:
|
||||
action: "node_startup"
|
||||
action: "node-startup"
|
||||
options:
|
||||
node_name: client_1
|
||||
21:
|
||||
action: "node_reset"
|
||||
action: "node-reset"
|
||||
options:
|
||||
node_name: client_1
|
||||
22: # "ACL: ADDRULE - Block outgoing traffic from client 1" (not supported in Primaite)
|
||||
action: "router_acl_add_rule"
|
||||
22: # "acl: ADDRULE - Block outgoing traffic from client 1" (not supported in Primaite)
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 1
|
||||
@@ -255,8 +255,8 @@ agents:
|
||||
protocol_name: ALL
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
23: # "ACL: ADDRULE - Block outgoing traffic from client 2" (not supported in Primaite)
|
||||
action: "router_acl_add_rule"
|
||||
23: # "acl: ADDRULE - Block outgoing traffic from client 2" (not supported in Primaite)
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 2
|
||||
@@ -269,7 +269,7 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
24: # block tcp traffic from client 1 to web app
|
||||
action: "router_acl_add_rule"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 3
|
||||
@@ -282,7 +282,7 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
25: # block tcp traffic from client 2 to web app
|
||||
action: "router_acl_add_rule"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 4
|
||||
@@ -295,7 +295,7 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
26:
|
||||
action: "router_acl_add_rule"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 5
|
||||
@@ -308,7 +308,7 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
27:
|
||||
action: "router_acl_add_rule"
|
||||
action: "router-acl-add-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 6
|
||||
@@ -321,139 +321,139 @@ agents:
|
||||
src_wildcard: NONE
|
||||
dst_wildcard: NONE
|
||||
28:
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 0
|
||||
29:
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 1
|
||||
30:
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 2
|
||||
31:
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 3
|
||||
32:
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 4
|
||||
33:
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 5
|
||||
34:
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 6
|
||||
35:
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 7
|
||||
36:
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 8
|
||||
37:
|
||||
action: "router_acl_remove_rule"
|
||||
action: "router-acl-remove-rule"
|
||||
options:
|
||||
target_router: router_1
|
||||
position: 9
|
||||
38:
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: domain_controller
|
||||
nic_num: 1
|
||||
39:
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: domain_controller
|
||||
nic_num: 1
|
||||
40:
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: web_server
|
||||
nic_num: 1
|
||||
41:
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: web_server
|
||||
nic_num: 1
|
||||
42:
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: database_server
|
||||
nic_num: 1
|
||||
43:
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: database_server
|
||||
nic_num: 1
|
||||
44:
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: backup_server
|
||||
nic_num: 1
|
||||
45:
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: backup_server
|
||||
nic_num: 1
|
||||
46:
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: security_suite
|
||||
nic_num: 1
|
||||
47:
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: security_suite
|
||||
nic_num: 1
|
||||
48:
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: security_suite
|
||||
nic_num: 2
|
||||
49:
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: security_suite
|
||||
nic_num: 2
|
||||
50:
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: client_1
|
||||
nic_num: 1
|
||||
51:
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: client_1
|
||||
nic_num: 1
|
||||
52:
|
||||
action: "host_nic_disable"
|
||||
action: "host-nic-disable"
|
||||
options:
|
||||
node_name: client_2
|
||||
nic_num: 1
|
||||
53:
|
||||
action: "host_nic_enable"
|
||||
action: "host-nic-enable"
|
||||
options:
|
||||
node_name: client_2
|
||||
nic_num: 1
|
||||
|
||||
reward_function:
|
||||
reward_components:
|
||||
- type: DATABASE_FILE_INTEGRITY
|
||||
- type: database-file-integrity
|
||||
weight: 0.5
|
||||
options:
|
||||
node_hostname: database_server
|
||||
@@ -461,7 +461,7 @@ agents:
|
||||
file_name: database.db
|
||||
|
||||
|
||||
- type: WEB_SERVER_404_PENALTY
|
||||
- type: web-server-404-penalty
|
||||
weight: 0.5
|
||||
options:
|
||||
node_hostname: web_server
|
||||
@@ -521,7 +521,7 @@ simulation:
|
||||
subnet_mask: 255.255.255.0
|
||||
default_gateway: 192.168.1.1
|
||||
services:
|
||||
- type: DNSServer
|
||||
- type: dns-server
|
||||
options:
|
||||
domain_mapping:
|
||||
arcd.com: 192.168.1.12 # web server
|
||||
@@ -533,9 +533,9 @@ simulation:
|
||||
default_gateway: 192.168.1.1
|
||||
dns_server: 192.168.1.10
|
||||
services:
|
||||
- type: WebServer
|
||||
- type: web-server
|
||||
applications:
|
||||
- type: DatabaseClient
|
||||
- type: database-client
|
||||
options:
|
||||
db_server_ip: 192.168.1.14
|
||||
|
||||
@@ -547,7 +547,7 @@ simulation:
|
||||
default_gateway: 192.168.1.1
|
||||
dns_server: 192.168.1.10
|
||||
services:
|
||||
- type: DatabaseService
|
||||
- type: database-service
|
||||
options:
|
||||
backup_server_ip: 192.168.1.16
|
||||
|
||||
@@ -558,7 +558,7 @@ simulation:
|
||||
default_gateway: 192.168.1.1
|
||||
dns_server: 192.168.1.10
|
||||
services:
|
||||
- type: FTPServer
|
||||
- type: ftp-server
|
||||
|
||||
- type: server
|
||||
hostname: security_suite
|
||||
@@ -578,14 +578,14 @@ simulation:
|
||||
default_gateway: 192.168.10.1
|
||||
dns_server: 192.168.1.10
|
||||
applications:
|
||||
- type: DataManipulationBot
|
||||
- type: data-manipulation-bot
|
||||
options:
|
||||
port_scan_p_of_success: 0.1
|
||||
data_manipulation_p_of_success: 0.1
|
||||
payload: "DELETE"
|
||||
server_ip: 192.168.1.14
|
||||
services:
|
||||
- type: DNSClient
|
||||
- type: dns-client
|
||||
|
||||
- type: computer
|
||||
hostname: client_2
|
||||
@@ -594,16 +594,16 @@ simulation:
|
||||
default_gateway: 192.168.10.1
|
||||
dns_server: 192.168.1.10
|
||||
applications:
|
||||
- type: WebBrowser
|
||||
- type: web-browser
|
||||
services:
|
||||
- type: DNSClient
|
||||
- type: dns-client
|
||||
|
||||
- type: printer
|
||||
hostname: HP_LaserJet_Pro_4102fdn_printer
|
||||
ip_address: 192.168.10.99
|
||||
subnet_mask: 255.255.255.0
|
||||
|
||||
- type: wireless_router
|
||||
- type: wireless-router
|
||||
hostname: router_2
|
||||
router_interface:
|
||||
ip_address: 192.169.1.1
|
||||
|
||||
@@ -24,7 +24,7 @@ simulation:
|
||||
default_gateway: 192.168.2.1
|
||||
start_up_duration: 0
|
||||
|
||||
- type: wireless_router
|
||||
- type: wireless-router
|
||||
hostname: router_1
|
||||
start_up_duration: 0
|
||||
|
||||
@@ -45,7 +45,7 @@ simulation:
|
||||
next_hop_ip_address: 192.168.1.2
|
||||
metric: 0
|
||||
|
||||
- type: wireless_router
|
||||
- type: wireless-router
|
||||
hostname: router_2
|
||||
start_up_duration: 0
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ simulation:
|
||||
default_gateway: 192.168.2.1
|
||||
start_up_duration: 0
|
||||
|
||||
- type: wireless_router
|
||||
- type: wireless-router
|
||||
hostname: router_1
|
||||
start_up_duration: 0
|
||||
|
||||
@@ -49,7 +49,7 @@ simulation:
|
||||
next_hop_ip_address: 192.168.1.2
|
||||
metric: 0
|
||||
|
||||
- type: wireless_router
|
||||
- type: wireless-router
|
||||
hostname: router_2
|
||||
start_up_duration: 0
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ simulation:
|
||||
default_gateway: 192.168.2.1
|
||||
start_up_duration: 0
|
||||
|
||||
- type: wireless_router
|
||||
- type: wireless-router
|
||||
hostname: router_1
|
||||
start_up_duration: 0
|
||||
|
||||
@@ -49,7 +49,7 @@ simulation:
|
||||
next_hop_ip_address: 192.168.1.2
|
||||
metric: 0
|
||||
|
||||
- type: wireless_router
|
||||
- type: wireless-router
|
||||
hostname: router_2
|
||||
start_up_duration: 0
|
||||
|
||||
|
||||
Reference in New Issue
Block a user