Home IoT deception and defence simulator
An offline Python simulator for comparing baseline monitoring, segmentation, static deception, and adaptive deception in a fictional home IoT network.

Project definition
Problem statement
Home IoT networks combine devices with different purposes, trust levels, and monitoring capabilities. A single security control does not show how visibility, containment, and deception interact across the whole network.
The engineering problem is to compare layered defensive strategies in a controlled model without connecting to real devices, generating network traffic, or providing offensive instructions.
Project objectives
- Represent a fictional home IoT topology using typed devices, zones, and trust relationships.
- Implement reproducible discrete-event simulation with declared assumptions and fixed random seeds.
- Compare baseline, segmentation, static-deception, and adaptive-deception strategies.
- Measure detection, containment, crown-jewel exposure, decoy engagement, delay, and defensive work.
- Document the model boundaries and distinguish simulated evidence from field validation.
Project structure
Project components
Data models
Defines devices, zones, defensive strategies, trial events, and result records.
Topology model
Builds a fictional smart-home network with nine ordinary devices and strategy-specific decoys.
Simulation engine
Runs seeded, step-based trials without sockets, packet capture, services, credentials, or real targets.
Analysis pipeline
Aggregates trial outcomes, produces comparison tables, and generates nine figures.
Quality and reproducibility
Provides automated tests, exact dependencies, repository validation, Docker checks, and continuous integration.
Methodology
Project workflow
- 01Configure experiment
Choose the number of trials, random seed, maximum steps, and defensive strategies.
- 02Build topology
Create the fictional devices, zones, access relationships, and strategy-specific decoys.
- 03Run trials
Execute independent discrete-event trials for each strategy and retain every result row.
- 04Summarise evidence
Calculate the comparison metrics and generate machine-readable results and figures.
- 05Interpret results
Compare the strategies while keeping the conclusions within the declared simulation assumptions.
Demonstration scenario
A short command runs 100 trials per strategy and prints a comparison table. The retained experiment then runs 1,000 trials for each of the four strategies, producing 4,000 result rows and nine figures. The student compares how segmentation and deception change detection, containment, exposure, delay, and attacker work.
Engineering
Tools and method
- Core package
- A typed Python package contains the models, topology, simulation engine, and command-line interface.
- Numerical analysis
- NumPy and pandas support deterministic aggregation and tabular result handling.
- Result communication
- Matplotlib creates labelled figures in both PNG and SVG formats.
- Verification
- Fifty-two automated tests, linting, dependency auditing, delivery checks, and Docker execution verify the package.
- Safety controls
- The implementation contains no networking, packet generation, services, credentials, exploits, or instructions for targeting real systems.
Testing
Evaluation
Evaluation measures
- Detection rate and mean detection step
- Containment rate and crown-jewel exposure rate
- Decoy-engagement rate and defensive delay
- Mean attacker work and real-device compromise count
- False-alert rate under the declared stochastic assumptions
- Repeatability across fixed seeds and exact dependencies
Project boundaries
- This is a discrete-event simulation, not a live network laboratory.
- It creates no packets, sockets, services, credentials, exploits, or connections to real devices.
- The results depend on declared probabilities and are not field validation of a commercial security control.
- The material contains defensive analysis only and no attack instructions.
- No information collected.
Included
- 01Complete Python source code and command-line tools
- 02Baseline, segmentation, static-deception, and adaptive-deception strategies
- 034,000 retained trials and machine-readable experiment results
- 04Nine generated result figures in PNG and SVG formats
- 0552 automated tests with 98 percent combined coverage
- 06Complete source code in a private GitHub repository
- 0770-page project report in PDF and editable Word formats
- 0817-page setup and usage guide in PDF and editable Word formats
- 0955 annotated academic and standards references
Project record
No information is collected on this page.
- Permanent project ID
- GP-CY-03LIWR8
- Catalogued
- 21 Aug 2026
- Completed
- 27 Aug 2026
- Verified
- 29 Aug 2026
- Demonstration
- Included in repository
Handover
After purchase
- 01Payment is confirmed
The project is marked unavailable and cannot be purchased again.
- 02Repository access is granted
The buyer's submitted GitHub account receives access to the private repository.
- 03The purchase record is delivered
The certification sheet is prepared from the reviewed buyer details and sent privately by email.