← Tilbake til Maskinvare og sikkerhet

🔧 Interaktive Øvinger

Maskinvare- og IoT-sikkerhet gjennom praksis

📚 Om de interaktive øvingene

0 / 0 fullført

Bootloader og Debug-grensesnitt Lett Eksamen

Oppgave: Hva er hovedformålet med en bootloader? Velg det mest korrekte svaret.

📖 Steg-for-steg forklaring

Bootloader definisjon: En bootloader er et lite program som kjører når mikrokontrolleren startes. Det initaliserer hardware og laster hovedprogrammet inn i minne.
Hovedroller:
  • Initialisere kritiske hardware-komponenter (klokker, minne)
  • Sjekke og validere hovedprogrammet
  • Hoppe til hovedprogrammet eller operativsystemet
  • Eventuelt tilby firmware-oppdateringsfunksjonalitet
Svar: A er korrekt. Bootloaderen starter operativsystemet eller applikasjonsprogrammet ved oppstart.

Serielle Debug-protokoller Medium

Oppgave: Hvilke fordeler har SWD (Serial Wire Debug) sammenlignet med JTAG?

Velg alle riktige påstander:

📖 SWD vs JTAG sammenligning

Pinner: SWD trenger kun 2 pinner (CLK + DIO) mens JTAG trenger 4+ pinner (TCO, TCI, TMS, TCK)
Hastighet: SWD støtter høyere datahastigheter (opptil 25+ MHz)
Implementering: SWD er enklere å lage på PCB på grunn av færre pinner
Kompatibilitet: SWD er spesifikk for ARM Cortex-M prosessorer, ikke universell
Korrekte svar: A, B, D

BLE Pairing Modes Medium Eksamen

Oppgave: I Bluetooth Low Energy (BLE), hvilken pairing-modus gir den sterkeste sikkerheten?

📖 BLE Pairing-modi rangert etter sikkerhet

1. Out of Band (OOB) - STERKESTE: Bruker ekstern kanal (NFC, QR-kode) for verifisering
2. Passkey Entry: Brukeren må taste inn PIN-kode på ene enheten
3. Numeric Comparison: Begge enheter viser samme tall for bekreftelse
4. Just Works: Ingen verifisering, sårbar for MITM-angrep
Svar: D er korrekt. Out of Band tilbyr sterkest sikkerhet fordi den bruker en uavhengig kanal.

Kryptering vs Autentisering Lett

Oppgave: Forklar med dine egne ord forskjellen mellom kryptering og autentisering i BLE.

📖 Kryptering vs Autentisering

Kryptering: Gjør data leselig bare for tillatte parter ved å konvertere til uleselig format
  • Sikrer konfidensialitet (at data ikke blir lest av andre)
  • Bruker symmetriske eller asymmetriske nøkler
  • I BLE: AES-128 kryptering
Autentisering: Verifiserer at kommunikasjonsparten er den den utgir seg for å være
  • Sikrer integritet og opphav (beviser hvem som sendte meldingen)
  • Bruker digitale signaturer eller MAC (Message Authentication Code)
  • I BLE: HMAC eller AES-CCM for autentisering
Sammenheng: Du kan ha kryptering uten autentisering (data skjult men ikke verifisert), eller autentisering uten kryptering (innhold synlig men verified).

MicroPython MQTT Sikkerhet Medium

Oppgave: Identifiser sikkerhetsproblemene i denne MicroPython MQTT-koden:

import umqtt.simple as mqtt client = mqtt.MQTTClient("device_1", "mqtt.broker.com") client.connect() client.publish(b"sensor/temp", b"25.3")

Velg alle sikkerhetsproblemer:

📖 Sikkerhetsproblemer i MQTT

Problem 1 - Ingen TLS/SSL: Data sendes i klartekst og kan avleses
Problem 2 - Hardkodet broker: Hvis kode lekker, ligger broker-adresse synlig
Problem 3 - Ingen autentisering: Hvem som helst kan koble til og publisere data
Sikker implementering:
import umqtt.simple as mqtt import ssl # Bruk variabler i stedet for hardkodet BROKER = os.getenv('MQTT_BROKER') USERNAME = os.getenv('MQTT_USER') PASSWORD = os.getenv('MQTT_PASS') # TLS/SSL sokkel ssl_params = { 'ca_certs': 'ca.crt', 'certfile': 'client.crt', 'keyfile': 'client.key' } client = mqtt.MQTTClient( "device_1", BROKER, user=USERNAME, password=PASSWORD, ssl=True, ssl_params=ssl_params )
Korrekte svar: A, B, D

IoT Device Firmware Oppdateringer Vanskelig Eksamen

Oppgave: En IoT-enhet mottar en firmware-oppdatering over nettverk. Hva bør implementeres for å sikre at oppdateringen er legitim?

📖 Sikker Firmware-oppdatering (OTA - Over The Air)

Tre hovedpilarer:
1. Autentisering:
  • Verifiser at serveren er legitim (TLS sertifikat)
  • Verifiser at firmware er signert av produsenten (digitale signaturer)
2. Integritet:
  • Beregn hash (SHA-256) og sammenlign
  • Sikrer at firmware ikke er korrumpert eller manipulert
3. Versjonskontroll:
  • Tillat bare oppdatering til nyere versjoner
  • Forhindrer downgrade-angrep
Korrekte svar: A, B, D, E (C er ikke kritisk for sikkerhet, bare for driftsstabilitet)

Strømanalyse (DPA) Angrep Medium

Oppgave: Hva er hovedideen bak Differential Power Analysis (DPA)?

📖 Differential Power Analysis (DPA)

Grunnkonsept: Strømforbruk varierer avhengig av hvilke data som behandles
Hvordan DPA fungerer:
  1. Mål strømforbruket mens enheten krypterer flere meldinger
  2. Del målingene inn i grupper basert på predikert nøkkelbit
  3. Sammenlign strømmønstre mellom gruppene
  4. Hvis forskjellen er stor = riktig nøkkelbit antatt
Eksempel: AES-kryptering bruker ulike mengder strøm for AND/OR-operasjoner basert på nøkkelverdier
Svar: A er korrekt. DPA er en side-channel attack som bruker strømmålinger til å avdekke kryptografiske nøkler.

Beskyttelse mot side-channel angrep Vanskelig Eksamen

Oppgave: Velg alle teknikker som beskytter mot DPA-angrep:

📖 Beskyttelsesteknikker mot side-channel angrep

1. Masking: Blande kryptografiske variabler med tilfeldig data
  • Gjør statistisk analyse vanskelig
  • Krever flere målinger for å knekke
2. Dummy-operasjoner: Legge til falske beregninger
  • Flat strømforbruk uavhengig av data
  • Angriper kan ikke skille ekte fra falsk
3. Constant-time implementering: All kode tar samme tid
  • Ingen tidinger om hva som skjer
  • Kritisk viktig for kryptografi
Korrekte svar: A, B, D (Økt fart hjelper ikke hvis algoritmen fortsatt har tidings-variasjoner)

Glitching Angrep Medium

Oppgave: Hva er et "glitch" i konteksten av hardwaresikkerhet?

📖 Glitching som sikkerhetsangrep

Glitch definisjon: En kort, ønsket avvik fra normal operasjon
I hardwaresikkerhet: En kontrollert strømspenning- eller klokke-forstyrrelse
Effekt: Forårsaker at prosessoren hopper over instruksjoner eller utfører dem feil
Eksempel: Kort strømspenningsblikk gjør at autentiseringskode blir hoppet over
Svar: A er korrekt. Et glitch er en kort strømspenningsstøt som forstyrrer prosessoren.

IoT-sikkerhet og nettverk Vanskelig Eksamen

Oppgave: I et IoT-nettverk med tusenvis av billige sensorer, hva er de største sikkerhetskhallengesene?

Velg alle relevante svarer:

📖 IoT Sikkerhetskhallenges

1. Ressursbegrensninger:
  • Lite minne og prosessorkraft
  • Krever lettvekt kryptografi (ECDH, ChaCha20)
  • Kan ikke alltid kjøre kompleks sikkerhetsprogramvare
2. Administrering og oppdateringer:
  • Vanskelig å oppdatere tusenvis av enheter
  • Mange enheter blir stående med gamle, sårbare versjoner
  • Batch-oppdateringer kan mislykkes for noen enheter
3. Fysisk sikkerhet:
  • Enheter er ofte tilgjengelige fysisk
  • Kan stjeles, åpnes, eller modifiseres
  • Side-channel angrep som DPA og glitching
4. Lukket kode (Closed-source):
  • Ingen kan auditte koden for sårbarheter
  • Leverandøren kan inneholde bakdører
Korrekte svar: A, B, C, E