Tilbake
7.1
IT-sikkerhet og trusselmodellering

7.1 IT-sikkerhet og trusselmodellering

Trussellandskap, risikoanalyse og STRIDE.

60 min
6 oppgaver
IT-sikkerhetTruslerRisikoanalyseSTRIDE
Du leser den tradisjonelle versjonen
Din fremgang i kapitlet
0 / 6 oppgaver

IT-sikkerhet handler om å beskytte data, systemer og tjenester mot uønskede hendelser. I en verden der vi utvikler stadig mer komplekse applikasjoner som håndterer sensitiv informasjon, er det avgjørende å forstå hvilke trusler som finnes og hvordan vi kan beskytte oss mot dem.

Trusselmodellering er prosessen med å identifisere potensielle sikkerhetsrisikoer i et system, vurdere deres alvorlighetsgrad, og planlegge mottiltak. Som utvikler er det din oppgave å tenke sikkerhet inn i alle faser av utviklingsarbeidet.

Trusselaktører er de som forsøker å kompromittere sikkerheten i et system. Vi skiller mellom:

- Script kiddies: Uerfarne angripere som bruker eksisterende verktøy uten dyp forståelse
- Hacktivist: Motivert av politiske eller ideologiske formål
- Organisert kriminalitet: Profesjonelle grupper som søker økonomisk gevinst
- Statlige aktører: Nasjonalstater med store ressurser og avanserte metoder
- Innsidere: Ansatte eller tidligere ansatte med legitim tilgang

Vanlige angrepstyper:

1. Phishing og social engineering
Lure brukere til å gi fra seg sensitiv informasjon ved å utgi seg for å være noen de stoler på.

2. Malware
Skadelig programvare som virus, ormer, ransomware og trojanske hester.

3. DDoS (Distributed Denial of Service)
Overbelaste et system med trafikk slik at legitime brukere ikke får tilgang.

4. Man-in-the-middle
Avlytte eller manipulere kommunikasjon mellom to parter.

5. Zero-day exploits
Utnytte sårbarheter som ikke er kjent for produsentene ennå.

6. Brute force
Systematisk prøve alle mulige kombinasjoner av passord eller nøkler.

OWASP (Open Web Application Security Project) er en organisasjon som arbeider for bedre sikkerhet i webapplikasjoner. De publiserer en liste over de ti mest kritiske sikkerhetstrusler, oppdatert hvert fjerde år.

OWASP Top 10 (2021-versjon):

A01: Broken Access Control
Feil i tilgangskontroll som lar brukere få tilgang til ressurser de ikke skal ha tilgang til.
Eksempel: Endre bruker-ID i URL for å se andre brukeres data

A02: Cryptographic Failures
Manglende eller svak kryptering av sensitiv data.
Eksempel: Lagre passord i klartekst

A03: Injection
Innsetting av ondsinnet kode gjennom brukerinput.
Eksempel: SQL injection, command injection

A04: Insecure Design
Grunnleggende designfeil i sikkerhet.
Eksempel: Mangel på trusselmodellering

A05: Security Misconfiguration
Feilkonfigurering av sikkerhet i system eller tjenester.
Eksempel: Standard passord, unødvendige funksjoner aktivert

A06: Vulnerable and Outdated Components
Bruk av komponenter med kjente sårbarheter.
Eksempel: Gamle biblioteker med sikkerhetshull

A07: Identification and Authentication Failures
Svakheter i autentisering og sesjonshåndtering.
Eksempel: Svake passordkrav, manglende rate limiting

A08: Software and Data Integrity Failures
Manglende verifisering av integritet i programvare og data.
Eksempel: Usikre CI/CD-pipelines

A09: Security Logging and Monitoring Failures
Mangelfull logging og overvåkning.
Eksempel: Ikke oppdage eller varsle om sikkerhetsbrudd

A10: Server-Side Request Forgery (SSRF)
Tvinge server til å gjøre forespørsler til uventede destinasjoner.
Eksempel: Få server til å aksessere interne systemer

Risikovurdering handler om å vurdere sannsynlighet og konsekvens av en sikkerhetsrisiko:

Risiko = Sannsynlighet × Konsekvens

Sannsynlighet:
- Lav: Sjelden eller lite sannsynlig
- Middels: Kan skje av og til
- Høy: Forventes å skje

Konsekvens:
- Lav: Minimal påvirkning
- Middels: Merkbar påvirkning
- Høy: Alvorlig påvirkning (økonomisk tap, omdømmetap, personskade)

STRIDE-modellen er en metode for trusselmodellering:

- Spoofing (forfalskning av identitet)
- Tampering (manipulering av data)
- Repudiation (benektelse av handlinger)
- Information disclosure (avsløring av informasjon)
- Denial of service (tjenestenektangrep)
- Elevation of privilege (uautorisert tilgang)

Prosess for trusselmodellering:

1. Identifiser verdifulle ressurser: Hva skal beskyttes?
2. Lag dataflytdiagram: Hvordan beveger data seg i systemet?
3. Identifiser trusler: Bruk STRIDE eller andre rammeverk
4. Vurder risiko: Prioriter trusler basert på risiko
5. Planlegg mottiltak: Hvordan redusere eller eliminere risiko?
6. Verifiser: Test at mottiltakene fungerer

✏️Eksempel: Trusselmodellering av innloggingssystem

La oss gjøre en enkel trusselmodellering av et innloggingssystem:

1. Verdifulle ressurser:
- Brukerkontoer
- Brukerdata (personnummer, adresse, betalingsinfo)
- Sesjonstokens

2. Dataflyt:
Bruker → Nettleser → Webserver → Database

3. Identifiserte trusler (STRIDE):

TrusselTypeSannsynlighetKonsekvensRisiko
PhishingSpoofingMiddelsHøyHøy
SQL injectionTamperingHøyHøyKritisk
Svakt passordElevationHøyHøyKritisk
SesjonshijackingInformation disclosureMiddelsHøyHøy
Brute forceSpoofingHøyMiddelsHøy

4. Mottiltak:
- SQL injection: Bruk parameteriserte spørringer
- Svakt passord: Krav til passordstyrke, 2-faktor autentisering
- Brute force: Rate limiting, CAPTCHA etter flere feil forsøk
- Sesjonshijacking: HTTPS, secure cookies, kort sesjonlevetid
- Phishing: Brukeropplæring, autentiseringsmerke i e-post

Oppsummering

I dette kapittelet har du lært:

- IT-sikkerhet: beskytte systemer og data.
- Trusselmodellering: kartlegge mulige angrep systematisk.
- Angrepsflater: identifisere svake punkter.
- Eksempel: trusselmodellering av et innloggingssystem.

Noekkelbegreper


BegrepForklaring
TrusselmodelleringSystematisk kartlegging av mulige angrep
AngrepsflatePunkter der et system kan angripes

Dette kapitlet er skrevet av Anthropics toppmodeller (Claude Opus og Claude Fable) og er foreløpig ikke manuelt gjennomgått — kvalitetskontrollen gjøres av uavhengige KI-agenter, og innmeldte feil rettes fortløpende. Funnet en feil? Meld fra, så retter vi den. Les mer om hvordan innholdet lages.