ASTORIA is a framework developed to allow the simulation of attacks and the evaluation of their impact on Smart Grid infrastructures, using closely-related real devices and real topologies comprising both power grid elements as well as ICT and networking equipment. ASTORIA can be used by Smart Grid operators not only to analyze the impact of malicious attacks and other security threats in different components, but also to permit the development and evaluation of anomaly detection techniques in a simulation environment.
$ git clone https://github.com/ComputerNetworks-UFRGS/ASTORIA.git
$ sudo apt-get update
$ sudo apt-get install g++ python-libvirt python-dev python-pip
-
Download NS-3 simulator source code to your computer and extract the folder
ns-allinone-<version>/ns-<version> (e.g version=3.27)
. -
Copy
scada-application
folder from this repository tons-allinone-<version>/ns-<version>/src
. -
Copy the content of
include
folder from this repository tons-allinone-<version>/ns-<version>/include
. -
Copy
scada-application
folder from this repository tons-allinone-<version>/ns-<version>/src
. -
Copy the content of
scratch
folder from this repository tons-allinone-<version>/ns-<version>/scratch
. -
Install Mosaik 2.4.0 simulator.
-
Download Boost 1.66.0 and extract to NS3 root folder.
-
Run the following command lines within Boost folder and wait for a couple of minutes.
$ ./bootstrap.sh
$ ./b2 install
- Access
ns-allinone-<version>/ns-<version>/
and run the following commands:
$ CXXFLAGS="-std=c++0x" ./waf configure --enable-examples --enable-tests
$ ./waf configure --enable-examples
$ ./waf
- Open a terminal to run NS3 simulator:
$ ./waf --run scratch mosaik-ns3-integration
- In a new terminal access Mosaik folder you cloned from this repository and execute:
$ sudo pip install -U virtualenv
$ virtualenv -p /usr/bin/python3 ~/.virtualenvs/mosaik
$ source ~/.virtualenvs/mosaik/bin/activate
$ (mosaik)$ pip install mosaik
$ (mosaik)$ pip install -r requirements.txt
$ (mosaik)$ python mosaik-ns3.py
For academic work referencing and citation please read our paper "ASTORIA: A Framework for Attack Simulation and Evaluation in Smart Grids" published at 15th IEEE/IFIP Network Operations and Management Symposium (NOMS 2016), 25-29 April 2016, Istanbul, Turkey, pp. 273-280.
This work is supported by ProSeG - Information Security, Protection and Resilience in Smart Grids, a research project funded by MCTI/CNPq/CT-ENERG # 33/2013.