RMTD: Robust Moving Target Defence Against False Data Injection Attacks in Power Grids

Overview

RMTD: Robust Moving Target Defence Against False Data Injection Attacks in Power Grids

Real tiem detection

Real-time detection performance.

This repo contains the code and extra simulation results supporting the paper 'Robust Moving Target Defence Against False Data Injection Attacks in Power Grids' by Wangkun Xu, Imad M. Jaimoukha, and Fei Teng. The authors are with the Control and Power Group, Dept. of EEE, Imperial College London.

Note: The current version is incomplete, detailed algorithms are coming soon.

Installation

This project requires Python packages to run. The testing OS is Windows.

  1. Install the latest version Anaconda to your OS.
  2. Create a new env in Anaconda Prompt by conda create -n robust-mtd python=3.8.12.
  3. Direct to the env by conda activate robust-mtd.
  4. Install all requirements by conda install --file requirements.txt.
  5. Download everything to your PC in your_path and redirect to your path by cd your_path.

Packages

PYPOWER

POPOWER is a power flow and optimal power flow solver. It is part of MATPOWER to the Python programming language. We will use PYPOWER as the environment to build the system matrices, implement attacks and implement the MTD.

SciPy

SciPy provides algorithms for optimization, integration, interpolation, eigenvalue problems, algebraic equations, differential equations, statistics and many other classes of problems. In specific, we use the open source optimization solve 'Sequential Least Squares Programming (SLSQP)' to solve the nonlinear programming problem.

Running and Testing

  1. Change the test system, algorithm, and constraints, e.g. change everything in input_setting.py under the line:

    """
    EDIT HERE : CHANGE YOUR SETTINGS HERE!
    """ 
    

    Do not change elsewhere!

    The current support tests include:

    • case: IEEE case-6ww, case-14, and case-57;
    • MTD perturbation ratio: $\tau=0.2,0.3,0.4,0.5$;
    • Placement of D-FACTS devices: All, outcome of the 'D-FACTS Devices Placement Algorithm' (using the minimum number of D-FACTS devices to have minimum k while covering all necessary buses), and the outcome of the 'D-FACTS Devices Placement Algorithm' (using the minimum number of D-FACTS devices to have minimum k);
    • hidden_MTD: True or False. Normally, the robust algorithm with complete MTD configuration is not tested with the hiddenness;
    • column_constraint: True or False. If True, the constraint in principle 2 is added.

    You can also change:

    • The measurement noise covariance matrix;
    • The FPR of BDD;
    • The attack strength under test;

    The code is flexible. You can also add your own system as long as it uses PYPOWER or MATPOWER to formulate.

Extra Simulation Result

Owner
Ph.D. student at Control and Power Group, Imperial College London.
A PyTorch-based library for semi-supervised learning

News If you want to join TorchSSL team, please e-mail Yidong Wang ([email protected]<

1k Jan 06, 2023
SubOmiEmbed: Self-supervised Representation Learning of Multi-omics Data for Cancer Type Classification

SubOmiEmbed: Self-supervised Representation Learning of Multi-omics Data for Cancer Type Classification

Sayed Hashim 3 Nov 15, 2022
Fully convolutional deep neural network to remove transparent overlays from images

Fully convolutional deep neural network to remove transparent overlays from images

Marc Belmont 1.1k Jan 06, 2023
The toolkit to generate auto labeled datasets

Ozeu Ozeu is the toolkit to autolabal dataset for instance segmentation. You can generate datasets labaled with segmentation mask and bounding box fro

Xiong Jie 28 Mar 28, 2022
Continuous Conditional Random Field Convolution for Point Cloud Segmentation

CRFConv This repository is the implementation of "Continuous Conditional Random Field Convolution for Point Cloud Segmentation" 1. Setup 1) Building c

Fei Yang 8 Dec 08, 2022
Single Image Random Dot Stereogram for Tensorflow

TensorFlow-SIRDS Single Image Random Dot Stereogram for Tensorflow SIRDS is a means to present 3D data in a 2D image. It allows for scientific data di

Greg Peatfield 5 Aug 10, 2022
RealTime Emotion Recognizer for Machine Learning Study Jam's demo

Emotion recognizer Table of contents Clone project Dataset Install dependencies Main program Demo 1. Clone project git clone https://github.com/GDSC20

Google Developer Student Club - UIT 1 Oct 05, 2021
Sound and Cost-effective Fuzzing of Stripped Binaries by Incremental and Stochastic Rewriting

StochFuzz: A New Solution for Binary-only Fuzzing StochFuzz is a (probabilistically) sound and cost-effective fuzzing technique for stripped binaries.

Zhuo Zhang 164 Dec 05, 2022
U-Net Brain Tumor Segmentation

U-Net Brain Tumor Segmentation 🚀 :Feb 2019 the data processing implementation in this repo is not the fastest way (code need update, contribution is

Hao 448 Jan 02, 2023
RLMeta is a light-weight flexible framework for Distributed Reinforcement Learning Research.

RLMeta rlmeta - a flexible lightweight research framework for Distributed Reinforcement Learning based on PyTorch and moolib Installation To build fro

Meta Research 281 Dec 22, 2022
Code for models used in Bashiri et al., "A Flow-based latent state generative model of neural population responses to natural images".

A Flow-based latent state generative model of neural population responses to natural images Code for "A Flow-based latent state generative model of ne

Sinz Lab 5 Aug 26, 2022
Awesome Transformers in Medical Imaging

This repo supplements our Survey on Transformers in Medical Imaging Fahad Shamshad, Salman Khan, Syed Waqas Zamir, Muhammad Haris Khan, Munawar Hayat,

Fahad Shamshad 666 Jan 06, 2023
Multi-objective constrained optimization for energy applications via tree ensembles

Multi-objective constrained optimization for energy applications via tree ensembles

C⚙G - Imperial College London 1 Nov 19, 2021
SelfAugment extends MoCo to include automatic unsupervised augmentation selection.

SelfAugment extends MoCo to include automatic unsupervised augmentation selection. In addition, we've included the ability to pretrain on several new datasets and included a wandb integration.

Colorado Reed 24 Oct 26, 2022
Gesture recognition on Event Data

Event based Gesture Recognition Gesture recognition on Event Data usually involv

2 Feb 14, 2022
System-oriented IR evaluations are limited to rather abstract understandings of real user behavior

Validating Simulations of User Query Variants This repository contains the scripts of the experiments and evaluations, simulated queries, as well as t

IR Group at Technische Hochschule Köln 2 Nov 23, 2022
Code of TVT: Transferable Vision Transformer for Unsupervised Domain Adaptation

TVT Code of TVT: Transferable Vision Transformer for Unsupervised Domain Adaptation Datasets: Digit: MNIST, SVHN, USPS Object: Office, Office-Home, Vi

37 Dec 15, 2022
LoFTR:Detector-Free Local Feature Matching with Transformers CVPR 2021

LoFTR-with-train-script LoFTR:Detector-Free Local Feature Matching with Transformers CVPR 2021 (with train script --- unofficial ---). About Megadepth

Nan Xiaohu 15 Nov 04, 2022
Weakly- and Semi-Supervised Panoptic Segmentation (ECCV18)

Weakly- and Semi-Supervised Panoptic Segmentation by Qizhu Li*, Anurag Arnab*, Philip H.S. Torr This repository demonstrates the weakly supervised gro

Qizhu Li 159 Dec 20, 2022
Metric learning algorithms in Python

metric-learn: Metric Learning in Python metric-learn contains efficient Python implementations of several popular supervised and weakly-supervised met

1.3k Jan 02, 2023