Skip to content

Errors and Warnings of Given Examples  #55

@jhin-coder

Description

@jhin-coder

Dear DHALSIM Team,

I am a Security Researcher Engineer at the KIOS Research and Innovation Center of Excellence and we want to run DHALSIM for our own topology similar to Mini Town for research purposes . While using DHALSIM for testing and research, I encountered the following errors and warnings and i would like some insights.

General

Across different topologies while trying to simulate the results of the Two papers mentioned we get different warrnings as you can see below

@ALL warning
@minitown : Possible yaml file error
@wadi: Topology does not converge even, when i open the .inp file in EPANET tool and run it standalone does not work

MiniTown:

Desktop/DHALSIM/examples/minitown_topology$ sudo dhalsim minitown_config.yaml

Key 'attacks' error:
Key 'network_attacks' error:
Or(Schema(Or({'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'naive_mitm'), 'name': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$'), Schema(<function SchemaParser. at 0x7f0ec3d954c0>)), 'trigger': Schema(Or({'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'time'), 'start': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d953a0>)), 'end': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d95430>))}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), Or('below', 'above')), 'sensor': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), 'value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>))))}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'between'), 'sensor': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), 'lower_value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>)))), 'upper_value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>))))})), Or('value', 'offset'): Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>))), 'target': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), Optional('direction'): And(<class 'str'>, Use(<method 'lower' of 'str' objects>), Or('source', 'destination'))}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'mitm'), 'name': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$'), Schema(<function SchemaParser. at 0x7f0ec3d95550>)), 'trigger': Schema(Or({'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'time'), 'start': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d953a0>)), 'end': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d95430>))}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), Or('below', 'above')), 'sensor': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), 'value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>))))}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'between'), 'sensor': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), 'lower_value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>)))), 'upper_value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>))))})), 'target': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), 'tag': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), Or('value', 'offset'): Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>)))}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'server_mitm'), 'name': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$'), Schema(<function SchemaParser. at 0x7f0ec3d955e0>)), 'trigger': Schema(Or({'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'time'), 'start': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d953a0>)), 'end': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d95430>))}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), Or('below', 'above')), 'sensor': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), 'value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>))))}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'between'), 'sensor': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), 'lower_value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>)))), 'upper_value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>))))})), 'target': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), 'tags': [{'tag': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), Or('value', 'offset'): Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>)))}]}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'concealment_mitm'), 'name': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$'), Schema(<function SchemaParser. at 0x7f0ec3d95670>)), 'trigger': Schema(Or({'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'time'), 'start': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d953a0>)), 'end': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d95430>))}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), Or('below', 'above')), 'sensor': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), 'value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>))))}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'between'), 'sensor': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), 'lower_value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>)))), 'upper_value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>))))})), 'target': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), 'tags': [{'tag': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), Or('value', 'offset'): Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>)))}], 'concealment_data': Schema(Or({'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'path'), 'path': Schema(<class 'str'>)}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'value'), 'concealment_value': [{'tag': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), Or('value', 'offset'): Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>)))}]}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'payload_replay'), 'capture_start': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d95040>)), 'capture_end': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d950d0>)), 'replay_start': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d95160>))}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'network_replay'), 'capture_start': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d951f0>)), 'capture_end': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d95280>)), 'replay_start': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d95310>))}))}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'unconstrained_blackbox_concealment_mitm'), 'name': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$'), Schema(<function SchemaParser. at 0x7f0ec3d95700>)), Optional('persistent'): And(<class 'str'>, Use(<method 'lower' of 'str' objects>), Or(True, False)), 'trigger': Schema(Or({'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'time'), 'start': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d953a0>)), 'end': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d95430>))}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), Or('below', 'above')), 'sensor': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), 'value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>))))}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'between'), 'sensor': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), 'lower_value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>)))), 'upper_value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>))))}))}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'replay_mitm'), 'name': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$'), Schema(<function SchemaParser. at 0x7f0ec3d95790>)), 'trigger': Schema(Or({'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'time'), 'start': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d953a0>)), 'end': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d95430>))}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), Or('below', 'above')), 'sensor': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), 'value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>))))}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'between'), 'sensor': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), 'lower_value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>)))), 'upper_value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>))))})), 'target': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), 'capture_start': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d95820>)), 'capture_end': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d958b0>)), 'replay_start': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d95940>))}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'simple_dos'), 'name': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$'), Schema(<function SchemaParser. at 0x7f0ec3d959d0>)), 'trigger': Schema(Or({'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'time'), 'start': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d953a0>)), 'end': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d95430>))}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), Or('below', 'above')), 'sensor': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), 'value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>))))}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'between'), 'sensor': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), 'lower_value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>)))), 'upper_value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>))))})), 'target': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), Optional('direction'): And(<class 'str'>, Use(<method 'lower' of 'str' objects>), Or('source', 'destination'))}))) did not validate {'name': 'plc1attack', 'type': 'mitm', 'trigger': {'type': 'Time', 'start': 250, 'end': 750}, 'tags': [{'tag': 'TANK', 'offset': -3}], 'target': 'PLC1'}
Or({'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'naive_mitm'), 'name': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$'), Schema(<function SchemaParser. at 0x7f0ec3d954c0>)), 'trigger': Schema(Or({'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'time'), 'start': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d953a0>)), 'end': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d95430>))}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), Or('below', 'above')), 'sensor': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), 'value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>))))}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'between'), 'sensor': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), 'lower_value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>)))), 'upper_value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>))))})), Or('value', 'offset'): Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>))), 'target': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), Optional('direction'): And(<class 'str'>, Use(<method 'lower' of 'str' objects>), Or('source', 'destination'))}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'mitm'), 'name': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$'), Schema(<function SchemaParser. at 0x7f0ec3d95550>)), 'trigger': Schema(Or({'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'time'), 'start': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d953a0>)), 'end': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d95430>))}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), Or('below', 'above')), 'sensor': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), 'value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>))))}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'between'), 'sensor': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), 'lower_value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>)))), 'upper_value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>))))})), 'target': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), 'tag': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), Or('value', 'offset'): Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>)))}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'server_mitm'), 'name': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$'), Schema(<function SchemaParser. at 0x7f0ec3d955e0>)), 'trigger': Schema(Or({'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'time'), 'start': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d953a0>)), 'end': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d95430>))}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), Or('below', 'above')), 'sensor': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), 'value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>))))}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'between'), 'sensor': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), 'lower_value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>)))), 'upper_value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>))))})), 'target': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), 'tags': [{'tag': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), Or('value', 'offset'): Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>)))}]}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'concealment_mitm'), 'name': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$'), Schema(<function SchemaParser. at 0x7f0ec3d95670>)), 'trigger': Schema(Or({'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'time'), 'start': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d953a0>)), 'end': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d95430>))}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), Or('below', 'above')), 'sensor': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), 'value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>))))}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'between'), 'sensor': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), 'lower_value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>)))), 'upper_value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>))))})), 'target': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), 'tags': [{'tag': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), Or('value', 'offset'): Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>)))}], 'concealment_data': Schema(Or({'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'path'), 'path': Schema(<class 'str'>)}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'value'), 'concealment_value': [{'tag': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), Or('value', 'offset'): Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>)))}]}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'payload_replay'), 'capture_start': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d95040>)), 'capture_end': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d950d0>)), 'replay_start': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d95160>))}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'network_replay'), 'capture_start': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d951f0>)), 'capture_end': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d95280>)), 'replay_start': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d95310>))}))}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'unconstrained_blackbox_concealment_mitm'), 'name': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$'), Schema(<function SchemaParser. at 0x7f0ec3d95700>)), Optional('persistent'): And(<class 'str'>, Use(<method 'lower' of 'str' objects>), Or(True, False)), 'trigger': Schema(Or({'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'time'), 'start': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d953a0>)), 'end': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d95430>))}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), Or('below', 'above')), 'sensor': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), 'value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>))))}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'between'), 'sensor': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), 'lower_value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>)))), 'upper_value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>))))}))}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'replay_mitm'), 'name': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$'), Schema(<function SchemaParser. at 0x7f0ec3d95790>)), 'trigger': Schema(Or({'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'time'), 'start': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d953a0>)), 'end': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d95430>))}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), Or('below', 'above')), 'sensor': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), 'value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>))))}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'between'), 'sensor': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), 'lower_value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>)))), 'upper_value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>))))})), 'target': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), 'capture_start': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d95820>)), 'capture_end': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d958b0>)), 'replay_start': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d95940>))}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'simple_dos'), 'name': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$'), Schema(<function SchemaParser. at 0x7f0ec3d959d0>)), 'trigger': Schema(Or({'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'time'), 'start': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d953a0>)), 'end': And(<class 'int'>, Schema(<function SchemaParser. at 0x7f0ec3d95430>))}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), Or('below', 'above')), 'sensor': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), 'value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>))))}, {'type': And(<class 'str'>, Use(<method 'lower' of 'str' objects>), 'between'), 'sensor': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), 'lower_value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>)))), 'upper_value': And(Or(<class 'float'>, And(<class 'int'>, Use(<class 'float'>))))})), 'target': And(<class 'str'>, Regex('^[a-zA-Z0-9_]+$')), Optional('direction'): And(<class 'str'>, Use(<method 'lower' of 'str' objects>), Or('source', 'destination'))}) did not validate {'name': 'plc1attack', 'type': 'mitm', 'trigger': {'type': 'Time', 'start': 250, 'end': 750}, 'tags': [{'tag': 'TANK', 'offset': -3}], 'target': 'PLC1'}
Key 'type' error:
'naive_mitm' does not match 'mitm'
Missing keys: 'tag', Or('value', 'offset')
'server_mitm' does not match 'mitm'
'concealment_mitm' does not match 'mitm'
'unconstrained_blackbox_concealment_mitm' does not match 'mitm'
'replay_mitm' does not match 'mitm'
'simple_dos' does not match 'mitm'

Anytown:

02:40:37 - INFO @ physical_process.py: DB Sleep time: 0.06036518378886903
02:40:37 - INFO @ physical_process.py: Temporary file location: /tmp/dhalsim_p82fxitt
02:40:37 - INFO @ physical_process.py: Simulation will run for 2880 iterations with hydraulic timestep 300.
02:40:37 - INFO @ physical_process.py: Starting epynet simulation
02:40:37 - DEBUG @ physical_process.py: Registering initial results of pumps: ['P78', 'P79']
02:40:37 - DEBUG @ generic_scada.py: SCADA starting update cache thread
02:40:40 - DEBUG @ physical_process.py: Iteration 1 out of 2880. Internal timestep 300
/usr/local/lib/python3.8/dist-packages/epynet/baseobject.py:63: UserWarning: requesting dynamic properties from an unsolved network
warnings.warn("requesting dynamic properties from an unsolved network")
02:40:42 - DEBUG @ physical_process.py: Iteration 2 out of 2880. Internal timestep 300
/usr/local/lib/python3.8/dist-packages/epynet/baseobject.py:63: UserWarning: requesting dynamic properties from an unsolved network
warnings.warn("requesting dynamic properties from an unsolved network")
02:40:45 - DEBUG @ physical_process.py: Iteration 3 out of 2880. Internal timestep 300
/usr/local/lib/python3.8/dist-packages/epynet/baseobject.py:63: UserWarning: requesting dynamic properties from an unsolved network
warnings.warn("requesting dynamic properties from an unsolved network")
02:40:48 - DEBUG @ physical_process.py: Iteration 4 out of 2880. Internal timestep 300
/usr/local/lib/python3.8/dist-packages/epynet/baseobject.py:63: UserWarning: requesting dynamic properties from an unsolved network
warnings.warn("requesting dynamic properties from an unsolved network")

CTown:

02:09:25 - DEBUG @ generic_scada.py: SCADA starting update cache thread
/usr/local/lib/python3.8/dist-packages/epynet/baseobject.py:63: UserWarning: requesting dynamic properties from an unsolved network
warnings.warn("requesting dynamic properties from an unsolved network")
02:09:43 - DEBUG @ physical_process.py: Iteration 1 out of 2880. Internal timestep 300
/usr/local/lib/python3.8/dist-packages/epynet/baseobject.py:63: UserWarning: requesting dynamic properties from an unsolved network
warnings.warn("requesting dynamic properties from an unsolved network")

WADI

02:15:02 - INFO: Initializing database.
02:15:14 - INFO: Preparing wntr simulation
/usr/local/lib/python3.8/dist-packages/wntr/epanet/io.py:2075: UserWarning: Not all curves were used in Desktop/DHALSIM/examples/wadi_topology/wadi_map.inp"; added with type None, units conversion left to user
warnings.warn('Not all curves were used in "{}"; added with type None, units conversion left to user'.format(self.wn.name))
02:15:14 - INFO: Starting simulation for wadi_map topology.Simulator is: wntr
02:15:14 - INFO: DB Sleep time: 0.03677291649626526
02:15:14 - INFO: Temporary file location: /tmp/dhalsim_thjwwwao
02:15:14 - INFO: Simulation will run for 500 iterations with hydraulic timestep 60.
[Elapsed Time: 0:00:00 - 0 of 500] | | [ETA: --:--:--] 02:15:14 - INFO: Starting WNTR simulation
02:15:24 - ERROR: Error in WNTR simulation: Simulation did not converge at time 00:00:00. Reached maximum number of iterations: 2999
[Elapsed Time: 0:00:11 - 0 of 500] | | [ETA: --:--:--] 02:15:35 - ERROR: Error in WNTR simulation: Simulation did not converge at time 00:00:00. Reached maximum number of iterations: 2999
[Elapsed Time: 0:00:21 - 1 of 500] | | [ETA: 2:58:06] 02:15:45 - ERROR: Error in WNTR simulation: Simulation did not converge at time 00:00:00. Reached maximum number of iterations: 2999
[Elapsed Time: 0:00:31 - 2 of 500] | | [ETA: 2:10:29]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions