This is a master thesis project that aims to improve the visualization of attack graphs. An attack graph is a graph that shows all the possible exploits a hacker could use to reach an important machine in a network.
- assets: CSS files for the user interface,
- clustering: methods that aim to cluster attack graphs,
- embedding: methods that aim to create an embedding of an attack graph,
- examples: some examples of how the methods affect attack graphs,
- graphs_input: xml files that describe attack graphs,
- installation: environment files to install the necessary packages,
- metrics: methods that seek to evaluate the security of the network or the probability to reach one node,
- ranking: methods that aim to rank nodes in an attack graph,
- report: code to generate the figures of the report,
- ui: code for the user interface.
conda env create --file installation/environment.yml
conda activate ag
Then, follow the instructions on this page to install Pytorch Geometric.
python main.py