🎯 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ø
  • Signatur: Digitale signaturer for å verifisere opprinnelse
  • Versjonskontroll: Tillat bare oppdatering til nyere versjoner
  • Rollback-proteksjon: Forhindre downgrade til gamle, sårbare versjoner
  • 💡 Secure Boot

    Implementer Secure Boot for å sikre at bare signert firmware kan kjøre. Dette forhindrer at en angriper installer malware.