https://github.com/alan-turing-institute/causal-cyber-defence
This repository contains glue-code necessary to run dynamic Causal Bayesian optimisation within the Yawning Titan cyber-simulation environment.
https://github.com/alan-turing-institute/causal-cyber-defence
Science Score: 20.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.zenodo.json file
-
○DOI references
-
✓Academic publication links
Links to: researchgate.net -
✓Committers with academic emails
1 of 3 committers (33.3%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.4%) to scientific vocabulary
Keywords
Repository
This repository contains glue-code necessary to run dynamic Causal Bayesian optimisation within the Yawning Titan cyber-simulation environment.
Basic Info
Statistics
- Stars: 9
- Watchers: 3
- Forks: 3
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
Developing Optimal Causal Cyber-Defence Agents via Cyber Security Simulation
This repository holds code for reproducing the results from the experimental section of the paper Developing Optimal Causal Cyber-Defence Agents via Cyber-Security Simulation.
Abstract
In this paper we explore cyber security defence, through the unification of a novel cyber security simulator with models for (causal) decision-making through optimisation. Particular attention is paid to a recently published approach: dynamic causal Bayesian optimisation (DCBO). We propose that DCBO can act as a blue agent when provided with a view of a simulated network and a causal model of how a red agent spreads within that network. To investigate how DCBO can perform optimal interventions on host nodes, in order to reduce the cost of intrusions caused by the red agent. Through this we demonstrate a complete cyber-simulation system, which we use to generate observational data for DCBO and provide numerical quantitative results which lay the foundations for future work in this space.
Installation
Use conda to create the environment from the environment.yml file:
bash
conda env create -f environment.yml
Clone DCBO and YAWNING TITAN to the working directory:
bash
cd ..
git clone https://github.com/neildhir/DCBO.git
git clone https://github.com/dstl/YAWNING-TITAN.git
cd causal-cyber-defence
Run through the Example.ipynb notebook!
Citation
Please cite the ML4Cyber Workshop paper if you reference this work:
@inproceedings{inproceedings,
author = {Andrew, Alex and Spillard, Sam and Collyer, Joshua and Dhir, Neil},
year = {2022},
month = {07},
title = {Developing Optimal Causal Cyber-Defence Agents via Cyber Security Simulation},
maintitle = {International Confernece on Machine Learning (ICML)},
booktitle = {Workshop on Machine Learning for Cybersecurity (ML4Cyber)}
}
Owner
- Name: The Alan Turing Institute
- Login: alan-turing-institute
- Kind: organization
- Email: info@turing.ac.uk
- Website: https://turing.ac.uk
- Repositories: 477
- Profile: https://github.com/alan-turing-institute
The UK's national institute for data science and artificial intelligence.
GitHub Events
Total
- Issues event: 1
- Watch event: 1
Last Year
- Issues event: 1
- Watch event: 1
Committers
Last synced: about 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| Sam S3 | s****3@n****k | 8 |
| Neil Dhir | n****r@t****k | 1 |
| Neil Dhir | n****r@g****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 5 months ago
All Time
- Total issues: 1
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 1
- Total pull request authors: 0
- Average comments per issue: 0.0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 1
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 1
- Pull request authors: 0
- Average comments per issue: 0.0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- mhauru (1)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- absl-py ==1.0.0
- astunparse ==1.6.3
- async-timeout ==4.0.2
- attrs ==21.4.0
- black ==22.3.0
- cachetools ==5.0.0
- charset-normalizer ==2.0.12
- click ==8.1.3
- cloudpickle ==1.6.0
- cycler ==0.11.0
- cython ==0.29.28
- decorator ==4.4.2
- deprecated ==1.2.13
- dill ==0.3.4
- dowhy ==0.7.1
- emcee ==3.1.1
- emukit ==0.4.9
- filelock ==3.6.0
- flatbuffers ==2.0
- gast ==0.4.0
- gensim ==4.2.0
- google-auth ==2.6.6
- google-auth-oauthlib ==0.4.6
- google-pasta ==0.2.0
- gpy ==1.10.0
- grpcio ==1.46.0
- gym ==0.19.0
- h5py ==3.6.0
- idna ==3.3
- imageio ==2.9.0
- importlib-metadata ==4.11.3
- iniconfig ==1.1.1
- joblib ==1.1.0
- karateclub ==1.2.2
- keras ==2.7.0
- keras-preprocessing ==1.1.2
- kiwisolver ==1.4.2
- libclang ==14.0.1
- markdown ==3.3.7
- matplotlib ==3.4.2
- mpmath ==1.2.1
- msgpack ==1.0.3
- mypy-extensions ==0.4.3
- networkx ==2.6.3
- numpy ==1.22.3
- oauthlib ==3.2.0
- opt-einsum ==3.3.0
- pandas ==1.3.4
- paramz ==0.9.5
- pathspec ==0.9.0
- patsy ==0.5.2
- pillow ==9.1.0
- platformdirs ==2.5.2
- plotly ==5.7.0
- pluggy ==1.0.0
- protobuf ==3.20.1
- py ==1.11.0
- pyasn1 ==0.4.8
- pyasn1-modules ==0.2.8
- pydot ==1.4.2
- pygraphviz ==1.7
- pygsp ==0.5.1
- pyparsing ==3.0.8
- pytest ==6.2.5
- python-graphviz ==0.18.2
- python-levenshtein ==0.12.2
- python-louvain ==0.16
- pytz ==2022.1
- pyyaml ==5.4.1
- ray ==1.6.0
- redis ==4.3.1
- requests ==2.27.1
- requests-oauthlib ==1.3.1
- rsa ==4.8
- scikit-learn ==1.0.1
- scipy ==1.7.3
- seaborn ==0.11.2
- smart-open ==6.0.0
- stable-baselines3 ==1.2.0
- statsmodels ==0.13.2
- sympy ==1.10.1
- tabulate ==0.8.9
- tenacity ==8.0.1
- tensorboard ==2.9.0
- tensorboard-data-server ==0.6.1
- tensorboard-plugin-wit ==1.8.1
- tensorflow ==2.7.0
- tensorflow-estimator ==2.7.0
- tensorflow-io-gcs-filesystem ==0.25.0
- termcolor ==1.1.0
- threadpoolctl ==3.1.0
- toml ==0.10.2
- tomli ==2.0.1
- torch ==1.11.0
- tqdm ==4.62.3
- typing-extensions ==4.2.0
- urllib3 ==1.26.9
- werkzeug ==2.1.2
- wrapt ==1.14.1
- zipp ==3.8.0