🎯 Introduksjon til Maskinvare og IoT-sikkerhet
Oversikt over kursinnholdet og læringsmål
Om kurset
Dette kurset dekker sikkerhet i innebygde systemer og IoT-enheter. Vi starter med grunnleggende hardware-konsepter og jobber oss opp gjennom protokoller, kryptering, og praktiske sikkerhetstrusler.
📚 Læringsmål
- Programmere ARM mikrokontrollere (nRF52840)
- Forstå og implementere SWD debug-protokoll
- Implementere Bluetooth Low Energy (BLE) kommunikasjon
- Utvikle IoT-applikasjoner med MicroPython og MQTT
- Analysere og forstå side-channel angrep (DPA, power analysis)
- Identifisere sårbarheter ved glitching og fault injection
- Bygge og sikre IoT-nettverk
Kursplan - Kapitler og Temaer
Kurset er strukturert i 7 seksjoner som bygger på hverandre:
1. 🎯 Introduksjon (Du er her)
Oversikt over sikkerhetskonsepter som Chain of Trust og Threat Models.
2. 🔧 Hardware Basics
ARM Cortex-M arkitektur, nRF52840 spesifikasjoner, SWD protokoll, bootloader og firmware-programmering.
3. 📡 Wireless Security (BLE)
Bluetooth Low Energy protokoll, GAP/GATT, CircuitPython, BlueZ stack, device discovery og sikkerhetsmåling.
4. 💻 Embedded Software (MicroPython/MQTT)
SoC arkitektur, ESP8266 microcontroller, MicroPython implementasjon, MQTT protokoll, QoS nivåer, OTA-oppdateringer og nettverksstacks.
5. ⚡ Power Analysis
Simple Power Analysis (SPA), Differential Power Analysis (DPA), ChipWhisperer platform, ARM pipeline-leakage, strømmålingsteknikker og mottiltak.
6. 🎯 Attack Vectors (Fault Injection)
Voltage glitching, clock glitching, EMFI, CMOS transistor oppførsel, timing violations og mottiltak mot fault injection.
7. 🌐 IoT Hackers Handbook
Realverdens-casestudier, common IoT-sårbarheter, best practices for device og nettverk-sikkerhet.
Sikkerhetskonsepter
Chain of Trust
En sikkerhetskjede som starter fra bootloader og sikrer at bare legitim firmware kjører:
- Secure Boot: Bootloaderen verifikerer firmware-signatur
- Cryptographic verification: SHA-256 og digitale signaturer
- Attestasjon: Enheten kan bevise at den kjører legitim firmware
Threat Model
Identifisere potensielle angripere og deres kapabilitetsnivå:
- Casual attacker: Bruker kjente default-passord eller åpne porter
- Skilled attacker: Analyserer firmware, finner sårbarheter
- Well-resourced attacker: Har laboratory-utstyr for power analysis og glitching
🎯 Introduksjons-tips
- Start med Hardware Basics for å forstå grunnleggende konsepter
- BLE og MQTT er praktiske sider - prøv eksemplene
- Power Analysis og Glitching krever laboratorieopsett, men er fascinerende
- IoT Hackers casestudier viser reelle angrep fra forskningsmiljø
💡 Secure Boot
Implementer Secure Boot for å sikre at bare signert firmware kan kjøre. Dette forhindrer at en angriper installer malware.