MAGPIE (Monitoring AGainst cyber PhysIcal thrEats) is a self-configurable intrusion detection system for detecting cyber-physical attacks in smart home and IoT environments. MAGPIE employs a non-stationary UCB Reinforcement Learning algorithm and the Isolation Forest machine learning algorithm from the SCIKIT learn library, to automatically discover unknown attacks. MAGPIE enables users' to define their own threshold to optimise attack detection for lowering False Positive or False Negative detections, based on the users' detection tolerance and requirements. MAGPIE takes in consideration by cyber and physical sources of data, as well as performing presence inference to dynamically select an appropriate presence-optimised attack detection model at runtime.
- Full Python source-code with dpkg requirements on Raspberry PI
- The MAGPIE Parser (written in C)
- Full list of Python and external library requirements
- User & Developer user-guide - To be completed
- All normal and attack datasets used in smart home experiments for reproducing experiments
- Online and offline training of MAGPIE system
- Offline detection testing and verification of MAGPIE system
- Online monitoring of cyber+physical datastream collection interfaces
- Configurable Reinforcement Learning settings for Isolation Forest model training
- Configurable online monitoring time window (e.g., datastream buffering and aggregation)
- Modular datastream parsing engine to add/remove feeds (requires regex extraction for input)
- User-defined attack detection threshold parameters
- Configurable user presence detection for dynamic presence model selection during online monitoring
- Interactive monitoring console output
The intrusion detection system architecture of MAGPIE is presented below, detailing each of the software and functional components.
The schematic below provides an overview of the RaspberryPI 3 prototype system and hardware extensions to implement the MAGPIE architecture and intrusion detection software platform.
Below is a the configuration overview of the smart home testbed used to evaluate the MAGPIE prototype system, including smart home IoT devices which were used in experiments and present in the datasets.