ML-powered threat detection & auto-quarantine for IoT — course project
A smart bulb can’t run an antivirus — so the gateway watches its traffic, lets three ML models judge it, and quarantines it the moment it turns.
- MODELS, HEAD TO HEAD
- 3
- ALERT → THROTTLE → QUARANTINE
- 3-step
- WHERE IT RUNS
- Edge
READ MORE ↓SHOW LESS ↑
A smart bulb can’t run an antivirus. Neither can a camera or a sensor — too little compute, almost never patched. Get one recruited into a botnet and it carries on glowing as if nothing happened. The only place it gives itself away is on the wire.
So the defence lives on the gateway. Zeek turns every device’s traffic into flows, and three models compete to call each one normal or malicious: a Random Forest trained on labelled attacks, an Isolation Forest that needs no labels at all, and an Autoencoder that only ever sees normal traffic and flags whatever it can’t reconstruct. When a device is judged compromised, nftables responds in steps — alert, throttle, quarantine — so a false positive costs a warning, not a dead camera.
Trained on IoT-23, real malware captures labelled by the same Zeek that runs on the gateway, so the models meet in production exactly the features they learned on. It picks up where Noetzold, Leithardt et al. (2026) stopped: automatic response and running at the edge were their future work. Tested in Docker with an attacker replaying IoT-23 captures — no live malware — and judged on precision, recall, F1, false positives and the number that matters most: how long from the first malicious packet to the device being cut off.