Dela via


Rekommendationer för hotanalys

Gäller för den här checklistan för Azure Well-Architected Framework Security:

SE:02 Upprätthålla en säker utvecklingslivscykel med hjälp av en härdad, mestadels automatiserad och granskningsbar programvaruförsörjningskedja. Införliva en säker design med hjälp av hotmodellering för att skydda mot säkerhetsnedsättande implementeringar.

Relaterad guide: Rekommendationer för att skydda en utvecklingslivscykel

En omfattande analys för att identifiera hot, attacker, sårbarheter och motåtgärder är avgörande under designfasen för en arbetsbelastning. Hotmodellering är en teknisk övning som omfattar att definiera säkerhetskrav, identifiera och minimera hot och verifiera dessa åtgärder. Du kan använda den här tekniken i valfritt skede av programutveckling eller produktion, men den är mest effektiv under designfaserna för nya funktioner.

Den här guiden beskriver rekommendationerna för att utföra hotmodellering så att du snabbt kan identifiera säkerhetsluckor och utforma ditt säkerhetsskydd.

Definitioner 

Term Definition
Livscykel för programvaruutveckling (SDLC) En systematisk process för utveckling av programvarusystem.
STEG En Microsoft-definierad taxonomi för kategorisering av typer av hot.
Hotmodellering En process för att identifiera potentiella säkerhetsrisker i programmet och systemet, minimera risker och verifiera säkerhetskontroller.

Viktiga designstrategier

Hotmodellering är en viktig process som en organisation bör integrera i sitt SDLC. Hotmodellering är inte bara en utvecklares uppgift. Det är ett delat ansvar mellan:

  • Arbetsbelastningsteamet, som ansvarar för de tekniska aspekterna av systemet.
  • Affärsintressenter, som förstår affärsresultaten och har ett egenintresse av säkerhet.

Det finns ofta en koppling mellan organisationsledning och tekniska team när det gäller affärskrav för kritiska arbetsbelastningar. Denna frånkoppling kan leda till oönskade resultat, särskilt för säkerhetsinvesteringar.

När arbetsbelastningsteamet utför en hotmodelleringsövning bör den ta hänsyn till både affärs- och tekniska krav. Arbetsbelastningsteamet och affärsintressenterna måste komma överens om arbetsbelastningens säkerhetsspecifika behov så att de kan göra tillräckliga investeringar i motåtgärderna.

Säkerhetskrav fungerar som vägledning för hela processen med hotmodellering. För att göra det till en effektiv övning bör arbetsbelastningsteamet ha ett säkerhetstänk och tränas i verktyg för hotmodellering.

Förstå omfånget för övningen

En tydlig förståelse för omfånget är avgörande för effektiv hotmodellering. Det hjälper dig att fokusera insatser och resurser på de mest kritiska områdena. Den här strategin omfattar att definiera systemets gränser, inventera de tillgångar som behöver skyddas och förstå den investeringsnivå som krävs i säkerhetskontroller.

Samla in information om varje komponent

Ett arbetsbelastningsarkitekturdiagram är en startpunkt för insamling av information eftersom det ger en visuell representation av systemet. Diagrammet visar systemets tekniska dimensioner. Den visar till exempel användarflöden, hur data flyttas genom nätverket, datakänslighetsnivåer och informationstyper samt sökvägar för identitetsåtkomst.

Den här detaljerade analysen kan ofta ge insikter om potentiella sårbarheter i designen. Det är viktigt att förstå funktionerna i varje komponent och dess beroenden.

Utvärdera potentiella hot

Analysera varje komponent utifrån ett perspektiv. Hur enkelt kan till exempel en angripare få åtkomst till känsliga data? Kan angripare få åtkomst till miljön i sidled och eventuellt komma åt eller till och med manipulera andra resurser? De här frågorna hjälper dig att förstå hur en angripare kan utnyttja arbetsbelastningstillgångar.

Klassificera hoten med hjälp av en branschmetodik

En metod för att klassificera hot är STRIDE, som Microsoft Security Development Lifecycle använder. Genom att klassificera hot kan du förstå arten av varje hot och använda lämpliga säkerhetskontroller.

Minimera hoten

Dokumentera alla identifierade hot. För varje hot definierar du säkerhetskontroller och svaret på en attack om dessa kontroller misslyckas. Definiera en process och tidslinje som minimerar exponeringen för identifierade sårbarheter i arbetsbelastningen, så att dessa sårbarheter inte kan lämnas oadresserade.

Använd metoden anta intrång. Det kan hjälpa dig att identifiera kontroller som behövs i designen för att minska risken om en primär säkerhetskontroll misslyckas. Utvärdera hur troligt det är att den primära kontrollen misslyckas. Vad är omfattningen av den potentiella organisationsrisken om den misslyckas? Hur effektiv är också den kompenserande kontrollen? Baserat på utvärderingen tillämpar du djupgående skyddsåtgärder för att åtgärda potentiella fel i säkerhetskontroller.

Här är ett exempel:

Ställ den här frågan För att fastställa kontroller som...
Autentiseras anslutningar via Microsoft Entra-ID, Transport Layer Security (TLS) med ömsesidig autentisering eller något annat modernt säkerhetsprotokoll som säkerhetsteamet godkände:

– Mellan användare och programmet?

– Mellan programkomponenter och tjänster?
Förhindra obehörig åtkomst till programkomponenter och data.
Begränsar du åtkomsten till endast konton som behöver skriva eller ändra data i programmet? Förhindra obehörig datamanipulering eller ändring.
Loggas programaktiviteten och matas in i ett SIEM-system (säkerhetsinformation och händelsehantering) via Azure Monitor eller en liknande lösning? Identifiera och undersöka attacker snabbt.
Skyddas kritiska data med kryptering som säkerhetsteamet har godkänt? Förhindra obehörig kopiering av vilande data.
Krypteras inkommande och utgående nätverkstrafik via TLS? Förhindra obehörig kopiering av data under överföring.
Är programmet skyddat mot DDoS-attacker (Distributed Denial of Service) via tjänster som Azure DDoS Protection? Identifiera attacker som är utformade för att överbelasta programmet så att det inte kan användas.
Lagrar programmet inloggningsuppgifter eller nycklar för att få åtkomst till andra program, databaser eller tjänster? Identifiera om ett angrepp kan använda ditt program för att attackera andra system.
Gör programkontrollerna att du kan uppfylla regelkrav? Skydda användarnas privata data och undvik efterlevnadsböter.

Spåra resultat av hotmodellering

Vi rekommenderar starkt att du använder ett verktyg för hotmodellering. Verktyg kan automatisera processen för att identifiera hot och skapa en omfattande rapport över alla identifierade hot. Se till att förmedla resultaten till alla intresserade team.

Spåra resultaten som en del av arbetsbelastningsteamets kvarvarande uppgifter för att möjliggöra ansvarsskyldighet i tid. Tilldela uppgifter till personer som ansvarar för att minimera en viss risk som hotmodellering har identifierat.

När du lägger till nya funktioner i lösningen uppdaterar du hotmodellen och integrerar den i kodhanteringsprocessen. Om du hittar ett säkerhetsproblem kontrollerar du att det finns en process för att sortera problemet baserat på allvarlighetsgrad. Processen bör hjälpa dig att avgöra när och hur du åtgärdar problemet (till exempel i nästa versionscykel eller i en snabbare version).

Granska krav på affärskritisk arbetsbelastning regelbundet

Träffa regelbundet exekutiva sponsorer för att definiera krav. Dessa granskningar ger en möjlighet att anpassa förväntningarna och säkerställa driftresursallokering till initiativet.

Azure-underlättande

Microsoft Security Development Lifecycle tillhandahåller ett verktyg för hotmodellering för att hjälpa till med hotmodelleringsprocessen. Det här verktyget är tillgängligt utan extra kostnad. Mer information finns på sidan Hotmodellering.

Exempel

Det här exemplet bygger på den IT-miljö (Information Technology) som upprättats i säkerhetsbaslinjen (SE:01). Den här metoden ger en bred förståelse för hotlandskapet i olika IT-scenarier.

Diagram som visar ett exempel på en organisations säkerhetsbaslinje med hotlandskap.

  1. Utvecklingslivscykelpersoner. Det finns många personer som deltar i en utvecklingslivscykel, inklusive utvecklare, testare, slutanvändare och administratörer. Alla kan komprometteras och utsätta din miljö för risker genom sårbarheter eller hot som skapats avsiktligt.

  2. Potentiella angripare. Angripare anser att det är enkelt att använda en mängd olika verktyg när som helst för att utforska dina sårbarheter och starta en attack.

  3. Säkerhetskontroller. Som en del av hotanalysen identifierar du Azure-säkerhetstjänster som ska användas för att skydda din lösning och hur effektiva dessa lösningar är.

  4. Loggsamling. Loggar från Azure-resurser och vissa lokala komponenter kan skickas till Azure Log Analytics så att du kan förstå beteendet för din lösning som utvecklats och försöka fånga in initiala säkerhetsrisker.

  5. SiEM-lösning (Security Information Event Management). Microsoft Sentinel kan läggas till även i ett tidigt skede av lösningen så att du kan skapa vissa analysfrågor för att minimera hot och sårbarheter och förutse din säkerhetsmiljö när du är i produktion.

  6. Microsoft Defender för molnet kan ge vissa säkerhetsrekommendationer för att förbättra säkerhetsstatusen.

Open Web Application Security Project (OWASP) har dokumenterat en hotmodelleringsmetod för program.

Säkerhetskontrollista

Se den fullständiga uppsättningen rekommendationer.