Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement is_observable rules in scenario #64

Merged
merged 7 commits into from
Sep 26, 2024
Merged

Conversation

mrkickling
Copy link
Collaborator

Gives the option to add observability rules into scenario configs.

  • User can now specify observability rules for certain attack steps either by
    • asset name + attack step name
    • asset type + attack step name

Scenario loading:

  • The observability rules are applied when loading a scenario, this updates each node.extras['observable'] to either 1 or 0
    • 1 if the node follows one of the rules given, otherwise 0
  • If no rules are given in the scenario config file, all steps/nodes are marked as observable = 1.

Observability rules are validated to make sure they contain valid asset types/names and and attack steps.

MalSimulator:

  • The 'is_observable' in the observation given from the simulator will contain 1 or 0 depending on if rule was created in scenario config file. (previously it was always 1)

- Add option to scenario file
- Add function that applies the observability to attackgraph (using extras field of nodes)
- Add example file and tests
- Now you specify observable_attack_steps by either asset_type or asset_name
- The rules are validated when loading the scenario
- Tests for the validator and for correctly inputted data
- Use values from node.extras['observable'] when creating blank observation
	- default to observable = 1 if no value is given
- Create test to make sure values are propagated to simulator observation
@mrkickling mrkickling force-pushed the is_observable-in-scenario branch from 103a4a2 to 53d3832 Compare September 25, 2024 13:40
@mrkickling mrkickling marked this pull request as ready for review September 25, 2024 13:43
@mrkickling mrkickling force-pushed the is_observable-in-scenario branch from 53d3832 to b22cb88 Compare September 26, 2024 09:00
@andrewbwm andrewbwm merged commit 369a38c into main Sep 26, 2024
6 checks passed
@andrewbwm andrewbwm deleted the is_observable-in-scenario branch September 26, 2024 13:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants