Säker kodning och OWASP Top 10 för backend · Lektion

Praktisk hotmodellering

Tillämpa strukturerade metoder som STRIDE eller DREAD för att tidigt identifiera potentiella hot och sårbarheter i utvecklingens livscykel.

Lektion 2 av 412 steg

Praktisk hotmodellering är en gratis lektion i Säker kodning och OWASP Top 10 för backend på CoddyKit. Detta är lektion 2 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Säker kodning och OWASP Top 10 för backend, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Säker kodning och OWASP Top 10 för backend innehåller totalt 4 lektioner.

Vad är hotmodellering?

Välkommen till Practical Threat Modeling! I den här lektionen går vi igenom proaktiv säkerhet genom att identifiera potentiella hot och sårbarheter *innan* de blir kostsamma problem.

Hotmodellering är ett strukturerat arbetssätt för att:

  • Förstå systemets design.
  • Identifiera potentiella hot mot designen.
  • Utvärdera och prioritera dessa hot.
  • Ta fram strategier för riskreducering.

Det hjälper er att ”flytta säkerheten åt vänster” genom att integrera den tidigt i utvecklingslivscykeln.

Varför hotmodellera tidigt?

Att hitta säkerhetsbrister under designfasen är betydligt effektivare och billigare än att åtgärda dem i produktion.

Hotmodellering hjälper er att:

  • Minska kostnaderna: Det är billigare att åtgärda designbrister än att korrigera driftsatt kod.
  • Förbättra designen: Bygg in säkerhet från grunden i stället för att lägga till den i efterhand.
  • Prioritera resurser: Fokusera först på de mest kritiska riskerna.
  • Uppfylla efterlevnadskrav: Visa att ni tar säkerhet på allvar.

Hotmodelleringens grundläggande steg

Metoderna varierar, men de flesta processer för hotmodellering följer dessa viktiga steg:

  1. Definiera omfattningen: Vilket system eller vilken funktion analyserar vi?
  2. Bryt ned applikationen: Förstå hur systemet fungerar (komponenter, dataflöden och förtroendegränser).
  3. Identifiera hot: Brainstorma möjliga attacker mot systemet.
  4. Identifiera sårbarheter: Lokalisera svagheter som kan göra att hot lyckas.
  5. Åtgärda: Utforma och implementera kontroller för att minska risken.
  6. Verifiera: Säkerställ att åtgärderna är effektiva.

Introduktion till STRIDE-metoden

STRIDE är en välanvänd minnesregel som utvecklats av Microsoft. Den hjälper till att kategorisera hot mot ett system utifrån olika typer av säkerhetsegenskaper.

Varje bokstav i STRIDE representerar en specifik hotkategori:

  • Spoofing
  • Tampering
  • Repudiation
  • Information Disclosure
  • Denial of Service
  • Elevation of Privilege

Nu går vi igenom var och en.

STRIDE: Spoofing och Tampering

  • Spoofing (S): Detta hot innebär att en angripare utger sig för att vara någon annan eller något annat. Tänk på identitetsstöld eller förfalskning av en käll-IP-adress. Det angriper autentisering.
  • Tampering (T): Detta innebär obehörig ändring av data. En angripare ändrar data under överföring eller i vila för att uppnå ett skadligt mål. Det angriper integritet.

Dessa två hänger ofta ihop, eftersom förfalskning av en identitet kan leda till att data manipuleras.

STRIDE: Repudiation och informationsläckage

  • Repudiation (R): Detta inträffar när en användare förnekar att ha utfört en åtgärd och det saknas möjlighet att bevisa motsatsen. Exempelvis att förneka en transaktion. Det angriper oavvislighet och kräver robust loggning.
  • Information Disclosure (I): Detta är obehörig exponering av känsliga data. Det kan vara allt från användarlösenord till konfidentiell affärslogik. Det angriper konfidentialitet.

Korrekt loggning och åtkomstkontroll är centrala för att hantera dessa hot.

STRIDE: DoS och behörighetseskalering

  • Denial of Service (D): En angripare gör ett system eller en tjänst otillgänglig för legitima användare. Det kan ske genom att överbelasta en server med förfrågningar eller krascha en applikation. Det angriper tillgänglighet.
  • Elevation of Privilege (E): En angripare får högre åtkomsträttigheter än den borde ha, till exempel genom att en vanlig användare blir administratör. Det angriper auktorisering.

Dessa hot får ofta betydande affärsmässiga konsekvenser, från förlorade intäkter till fullständig kompromettering av systemet.

Visualisera system med DFD:er

För att tillämpa STRIDE effektivt måste ni först förstå systemet. Data Flow Diagrams (DFD) är utmärkta för detta.

DFD:er hjälper er att visualisera:

  • Processer: Där data omvandlas.
  • Datalager: Där data lagras (databaser och filer).
  • Externa entiteter: Användare och andra system som interagerar med ert.
  • Dataflöden: Hur data rör sig mellan komponenter.

Genom att kartlägga dessa kan ni identifiera ”förtroendegränser” och attackytor.

Introduktion till DREAD-metoden

När hot har identifierats (till exempel med hjälp av STRIDE) behöver de prioriteras. Metoden DREAD hjälper till att bedöma hur allvarligt ett hot är genom att ta hänsyn till fem faktorer:

  • Damage (skada): Hur allvarlig skulle en attack vara?
  • Reproducibility (reproducerbarhet): Hur enkelt är det att upprepa attacken?
  • Exploitability (utnyttjbarhet): Hur enkelt är det att genomföra attacken?
  • Affected Users (berörda användare): Hur många användare skulle påverkas?
  • Discoverability (upptäckbarhet): Hur enkelt är det att hitta sårbarheten?

Varje faktor bedöms vanligtvis på en skala (till exempel 1–10 eller låg/medel/hög), och poängen kombineras för att ge en övergripande riskbedömning.

Tillämpa DREAD för riskbedömning

Föreställ er följande potentiella hot: En användare utan autentisering kan komma åt en annan användares profildata.

Med hjälp av DREAD kan vi bedöma det så här:

  • Damage: Hög (känsliga uppgifter exponeras).
  • Reproducibility: Hög (enkelt att upprepa).
  • Exploitability: Medel (kräver viss kunskap, men är vanligt förekommande).
  • Affected Users: Hög (alla användares data är i riskzonen).
  • Discoverability: Medel (kan upptäckas genom testning eller av en slump).

Ett högt övergripande DREAD-värde visar att det rör sig om ett kritiskt hot som kräver omedelbar åtgärd.

Kontroll av hotmodellering

Ni utför hotmodellering för en ny e-handelsapplikation. Ni har identifierat ett scenario där en angripare kan fånga upp och ändra priset på en vara under betalningsprocessen, innan den slutliga betalningen har behandlats.

Vilken STRIDE-hotkategori beskriver bäst den här specifika sårbarheten?

Sammanfattning: Praktisk hotmodellering

Vi har utforskat området hotmodellering, en viktig proaktiv säkerhetsmetod.

  • Den hjälper till att identifiera och åtgärda sårbarheter tidigt i utvecklingsprocessen.
  • Metoden STRIDE (Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, Elevation of Privilege) tillhandahåller ett ramverk för att kategorisera hot.
  • Data Flow Diagrams (DFDs) är värdefulla verktyg för att visualisera systemkomponenter och dataflöden.
  • Metoden DREAD (Damage, Reproducibility, Exploitability, Affected Users, Discoverability) hjälper till att prioritera identifierade hot utifrån deras potentiella påverkan och sannolikhet.

Genom att tillämpa dessa metoder kan ni bygga säkrare system från grunden!

Gratis att börja

Lär dig Säker kodning och OWASP Top 10 för backend med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
12
Lektioner
48

Vanliga frågor

Är lektionen ”Praktisk hotmodellering” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Säker kodning och OWASP Top 10 för backend, inklusive ”Praktisk hotmodellering”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Säker kodning och OWASP Top 10 för backend innehåller totalt 4 lektioner.

Vad lär jag mig i ”Praktisk hotmodellering”?

Tillämpa strukturerade metoder som STRIDE eller DREAD för att tidigt identifiera potentiella hot och sårbarheter i utvecklingens livscykel. Ni övar på Säker kodning och OWASP Top 10 för backend med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Säker kodning och OWASP Top 10 för backend?

Du behöver inga förkunskaper. Utbildningen i Säker kodning och OWASP Top 10 för backend på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.

Hur lång tid tar lektionen ”Praktisk hotmodellering”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Säker kodning och OWASP Top 10 för backend-lektionen?

Ja. Varje Säker kodning och OWASP Top 10 för backend-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Principer för säker design
  2. Praktisk hotmodellering
  3. Mönster för säker arkitektur
  4. Trust boundaries och minskad attackyta
← Tillbaka till Säker kodning och OWASP Top 10 för backend