好色先生TV

Tekniska ?mnen

Vad ?r OWASP Top 10?

Illustration av IT-objekt med fokus p? ett fr?getecken

?versikt

Open Web Application Security Project (OWASP) ?r ett community f?r applikationss?kerhet med ?ppen k?llkod som har som m?l att f?rb?ttra s?kerheten f?r programvara. OWASP Top 10 ?r en branschstandardriktlinje som listar de mest kritiska s?kerhetsriskerna f?r applikationer f?r att hj?lpa utvecklare att b?ttre s?kra de applikationer de designar och distribuerar.

Eftersom s?kerhetsrisker st?ndigt utvecklas revideras OWASP Top 10-listan med j?mna mellanrum f?r att ?terspegla dessa f?r?ndringar. I den senaste versionen av OWASP Top 10 som sl?pptes 2021 ersattes vissa typer av s?rbarheter som inte l?ngre utg?r ett allvarligt hot med s?dana som mest sannolikt kommer att utg?ra en betydande risk.

Medan OWASP Top 10 ?r ett bra st?lle att b?rja s?kra applikationer, b?r det verkligen inte betraktas som ett slutm?l, eftersom n?gra av de mest citerade s?rbarheterna inte kom in i OWASP Top 10 2021. F?r att skydda sig mot svagheter i programvaran m?ste f?rsvarare se bredare ?ver hela sin informationstekniska stack. Detta inneb?r att IT-s?kerhetspersonal m?ste fokusera p? hela programvarans ekosystem och se bortom de "traditionella" k?llorna till s?rbarheter.

OWASP Topp 10

Vilka ?r OWASP Top 10 (2021) -kategorierna?

A1: Injektion

Injektionsfel kan introduceras n?r en icke betrodd datak?lla skickas till en tolk. Exempel finns ofta i SQL-, LDAP-, XPath- eller NoSQL-dynamiska databasfr?gor med anv?ndarinmatning. Angripare injicerar kod i anv?ndarinmatningen och lurar fr?getolken att utf?ra skadliga kommandon.

Vad g?r en applikation s?rbar f?r injektionsfel?

  • Anv?ndartillhandah?llna data valideras inte i tillr?cklig utstr?ckning.
  • Dynamiska fr?gor k?rs utan tillr?cklig rensning av indata.
  • Fientliga data som anv?nds inom system f?r skadligt beteende.

Vad ?r effekten av injektionsfel?

  • Kompromiss av applikationen eller den underliggande v?rden.
  • Exponering av k?nsliga uppgifter.
  • F?rlust av produktivitet, anseende eller int?kter.

Hur kan Fortify hj?lpa till med injektionsfel?

  • Om du ?r utvecklare: Fortify uppt?cker injektionsfel och ger typspecifika r?d om hur du kan ?tg?rda dem.
  • Om du arbetar inom QA eller Operations: Fortify validerar koden vid k?rning f?r att hitta riskreducerande kontroller.
  • Om du arbetar i Operations: Fortify tillhandah?ller loggning under k?rning och skydd f?r injektionsf?rs?k i Java och .NET.

A2: Bruten autentisering

Bruten autentisering kan uppst? vid hantering av identitets- eller sessionsdata i stateful-applikationer. Exempel finns ofta n?r registrering, ?terst?llning av referenser och API-v?gar ?r s?rbara f?r oanv?nda sessionstoken, brute forcing eller uppr?kning av konton. Angripare antar legitima anv?ndares identitet, tar kontroll ?ver konton och ?ventyrar data, processer eller system.

Vad g?r en applikation s?rbar f?r bruten autentisering?

  • Exponerar, ogiltigf?rklarar inte korrekt eller misslyckas med att rotera sessions-ID:n.
  • Anpassar inte l?senordspolicyn till standarder som NIST 800-63B.
  • Saknar tv?faktorsautentisering (2FA) eller till?ter automatiserade attacker.

Vad ?r effekten av bruten autentisering?

  • St?ld av anv?ndares identitet.
  • F?rlust av anv?ndarnas f?rtroende.
  • Kompromittering av k?nsliga uppgifter.

Hur kan Fortify hj?lpa till?

  • Om du ?r utvecklare: Fortify uppt?cker och rekommenderar ?tg?rder f?r problem med bruten autentisering.
  • Om du arbetar med QA eller Operations: Fortify validerar autentisering och s?kerhet f?r sessionshantering dynamiskt.
  • Om du ?r i Operations: Fortify instrument runtime-?vervakning f?r Java- och .NET-applikationsh?ndelser.

A3: Exponering av k?nsliga uppgifter

Problem med exponering av k?nsliga data kan uppst? n?r applikationer f?r ?tkomst till okrypterad data, i synnerhet personligt identifierbar information (PII) och andra reglerade datatyper. Exempel p? detta ?r ofta n?r svaga kryptografiska chiffer anv?nds i ?ldre applikationer, s?kra transportprotokoll implementeras p? ett felaktigt s?tt eller datacentrerad s?kerhet inte anv?nds. Angripare f?r tillg?ng till k?nslig anv?ndardata som ger dem kontroll i verkliga livet.

Vad g?r en applikation s?rbar f?r exponering av k?nsliga data?

  • ?verf?ring av data i klartext via protokoll som HTTP, SMTP och FTP.
  • K?nsliga uppgifter lagras, ?verf?rs eller anv?nds i on?dan i klartext.
  • Anv?ndning av gamla, svaga eller icke-standardbaserade kryptografiska algoritmer.

Vilka ?r konsekvenserna av att k?nsliga uppgifter exponeras?

  • Kompromittering av reglerad data (t.ex. HIPAA eller GDPR) som leder till b?ter.
  • Identitetskapning som leder till kostnader f?r att rensa eller ?vervaka data.
  • Status f?r bristande efterlevnad av lagar och f?rordningar om integritet.

Hur kan Fortify hj?lpa till med exponering av k?nsliga uppgifter?

  • Om du ?r utvecklare: Fortify identifierar exponering av k?nsliga data och automatiserar granskningen av problem.
  • Om du arbetar med kvalitetss?kring eller drift: Fortify tar bort resultat som mildras utanf?r applikationskontexten med templating.
  • Om du ?r i Operations: Fortify instrument loggning och skydd f?r applikationer i Java och .NET.

A4: XML externa enheter

XML External Entity-problem kan uppst? n?r XML-data som inneh?ller en referens till en extern entitet behandlas av en svagt konfigurerad parser. Exempel p? detta finns ofta i applikationer som analyserar XML-data fr?n icke betrodda k?llor, n?r DTD:er (Document Type Definitions) ?r aktiverade eller som anv?nder opatchade ramverk som SOAP 1.0. XML finns ?verallt - fr?n SVG- och bildfiler till n?tverksprotokoll och dokumentformat som PDF och RSS. Angripare refererar till externa enheter i XML-inmatning som resulterar i processorer som utnyttjas f?r att extrahera data, exekvera kod p? distans eller p?verka n?tverkstj?nster.

Vad g?r en applikation s?rbar f?r externa XML-enheter?

  • Programmet analyserar XML-dokument och processorerna har DTD:er aktiverade.
  • Anv?nda SAML f?r SSO, SOAP f?re v1.2 eller .NET Framework f?re v2.0.
  • Parsern accepterar otillf?rlitliga k?llor eller infogar otillf?rlitliga XML-data.

Vad ?r effekten av XML externa enheter?

  • St?ld av k?nsliga uppgifter.
  • Laddning av angriparstyrd URL.
  • ?verbelastningsattacker (Denial of Service, DoS).

Hur kan Fortify hj?lpa till med externa XML-enheter?

  • Om du ?r utvecklare: Fortify uppt?cker s?rbara XML-parsers och rekommenderar ?tg?rder f?r att minska riskerna.
  • Om du arbetar inom QA eller Operations: Fortify s?ker automatiskt efter s?rbara XML-parsers och validerar exploateringsnyttolaster.
  • Om du arbetar i Operations: Fortify tillhandah?ller loggning under k?rning och skydd f?r problem i Java- och .NET-applikationer.

A5: Bristande ?tkomstkontroll

Problem med ?tkomstkontroll kan uppst? n?r kod- och milj?restriktioner ?verlappar varandra p? ett ofullst?ndigt s?tt eller definieras p? flera st?llen f?r liknande funktioner. Exempel p? detta ?r ofta n?r "security-by-obscurity" bryts genom tvingande surfning till begr?nsade sidor, eller n?r applikationen definierar komplexa metoder f?r ?tkomstkontroll p? flera s?tt och platser. Angripare kan kompromissa med ?tkomstgr?nser f?r att stj?la k?nsliga data eller st?ra verksamheten.

Vad g?r en applikation s?rbar f?r bristande ?tkomstkontroll?

  • M?jlighet att agera som anv?ndare utan inloggning eller som administrat?r n?r du ?r inloggad som anv?ndare.
  • Manipulation av metadata eller tokens f?r obeh?riga eller ut?kade beh?righeter.
  • Byzantinsk, icke genomdriven eller spridd logik f?r ?tkomstkontroll.

Hur p?verkas vi av att tilltr?deskontrollen inte fungerar?

  • Obeh?rigt r?jande av information eller ?ventyrande av k?nsliga uppgifter.
  • ?ndring eller f?rst?ring av uppgifter.
  • ?vertagande av webbplatsadministration eller anv?ndare.

Hur kan Fortify hj?lpa till med trasig passerkontroll?

  • Om du ?r utvecklare: Fortify automatiserar granskningen och g?r det m?jligt att anv?nda templating f?r att ta bort problem som har ?tg?rdats p? annat h?ll.
  • Om du arbetar med kvalitetss?kring och drift: Fortify agenter uppt?cker dolda attackytor och trasiga system f?r ?tkomstkontroll.
  • Om du ?r i Operations: Fortify instruments runtime access control logging for Java and .NET applications.

A6: Felaktig s?kerhetskonfiguration

S?kerhetsbrister i form av felkonfigurationer kan uppst? under konfigurationen av applikationen eller dess underliggande milj?. Felkonfigurationer kan intr?ffa p? alla niv?er i en applikationsstack - fr?n n?tverkstj?nster och applikationsservrar till containrar och lagring. Exempel finns ofta i standardkonton och konfigurationer, "l?ckande" felmeddelanden eller opatchade ramverk och tj?nster. Angripare kan f? information om drifts?ttning och tillg?ng till privilegierad data f?r att st?ra verksamheten.

Vad g?r en applikation s?rbar f?r felaktig s?kerhetskonfiguration?

  • On?digt aktiverade standardportar och konton eller of?r?ndrade l?senord.
  • Visning av stacksp?rning eller andra meddelanden vid fel och undantag.
  • Att inte p? l?mpligt s?tt st?rka s?kerheten f?r den risk som n?gon del av stacken utg?r.

Vilka ?r konsekvenserna av felaktig s?kerhetskonfiguration?

Konsekvenserna kan variera fr?n att information r?js till att hela systemet ?ventyras.

Hur kan Fortify hj?lpa till med felaktig s?kerhetskonfiguration?

  • Om du ?r utvecklare: Fortify identifierar programberoenden och konfigurationsfiler under genoms?kningar.
  • Om du arbetar med QA och Operations: Fortify utv?rderar dynamiskt program- och serverkonfigurationer f?r att hitta problem.
  • Om du ?r verksam inom Operations: Fortify tillhandah?ller analys med ?ppen k?llkod f?r rapportering av milj?risker.

A7: Skript ?ver flera webbplatser

XSS-brister (Cross-Site Scripting) kan uppst? n?r otillf?rlitlig, okontrollerad anv?ndarinmatning exekveras som en del av HTML-koden, eller n?r anv?ndare kan p?verkas att interagera med skadliga l?nkar. Exempel finns ofta n?r v?lk?nda kodkonstruktioner fr?n spr?k som JavaScript eller Flash accepteras fr?n icke betrodda k?llor eller lagras f?r senare visning av en annan anv?ndaragent. Angripare kan k?ra fj?rrkod p? anv?ndarens dator, stj?la inloggningsuppgifter eller leverera skadlig kod fr?n omdirigeringssidor.

Vad g?r en applikation s?rbar f?r cross-site scripting (XSS)?

Det finns tre olika former av XSS, som vanligtvis riktar sig mot anv?ndaragenter som webbl?sare:

  • Reflekterad XSS: Programmet eller API:et inneh?ller otillf?rlitlig indata i HTML-utdata.
  • Lagrad XSS: Icke-sanerad kod som sparas p? disk utl?ses senare av en anv?ndar?tg?rd.
  • DOM XSS: Applikationer, ramverk och API:er som anv?nder otillf?rlitlig indata.

Vad ?r effekten av cross-site scripting (XSS)?

  • ?vertagande av offrets konto i applikationen.
  • H?mtning av data fr?n m?lwebbapplikationen.
  • Modifiering av inneh?ll p? sidan.

Hur kan Fortify hj?lpa till med cross-site scripting (XSS)?

  • Om du ?r utvecklare: Fortify uppt?cker XSS-s?rbarheter i kod och f?rutsp?r sannolikheten f?r exploatering.
  • Om du arbetar inom QA och Operations: Fortify validerar koden dynamiskt f?r osanerade inmatningar som ?r s?rbara f?r XSS.
  • Om du arbetar i Operations: Fortify tillhandah?ller loggning f?r Java- och .NET-h?ndelser, inklusive obeh?rig omdirigering.

A8: Os?ker deserialisering

Os?kra deserialiseringsbrister kan uppst? n?r spr?k och ramverk till?ter att icke betrodda serialiserade data expanderas till ett objekt, ofta n?r webbapplikationer kommunicerar med anv?ndare eller sparar applikationsstatus. Exempel finns ofta n?r utvecklare inte l?gger n?gra restriktioner p? metoder som kan utf?ra sig sj?lva under deserialiseringsprocessen. Angripare utnyttjar dessa "gadgetkedjor" som kallas utanf?r applikationslogiken f?r att fj?rrk?ra kod, neka service eller f? obeh?rig ?tkomst.

Vad g?r en applikation s?rbar f?r os?ker deserialisering?

  • Programmet deserialiserar data fr?n icke betrodda k?llor.
  • Programmet verifierar inte k?llan eller inneh?llet f?re deserialisering.
  • Godtagbara klasser ?r inte vitlistade f?r att undvika on?dig exponering av prylar.

Vad ?r effekten av os?ker deserialisering?

  • Dessa brister kan leda till att fj?rrkod kan exekveras, vilket ?r en av de allvarligaste attackerna som finns.

Hur kan Fortify hj?lpa till med os?ker deserialisering?

  • Om du ?r utvecklare: Fortify uppt?cker s?rbarheter i k?llkoden och tillhandah?ller komponentanalys.
  • Om du arbetar med QA och Operations: Fortify instrument som dynamiskt k?r applikationer f?r att validera attackvektorer.
  • Om du ?r i Operations: Fortify instrument loggning f?r Java och .NET h?ndelser inklusive deserialisering.

A9: Anv?nda komponenter med k?nda s?rbarheter

Dessa brister kan uppst? n?r ramverk och bibliotek med ?ppen k?llkod eller fr?n tredje part introduceras i en applikation och k?rs med samma privilegier. Det finns ofta exempel p? komponentbaserad utveckling som leder till bristande f?rst?else f?r riskerna med beroenden och komponenter eller system som ?r sv?ra eller om?jliga att patcha. Angripare har utnyttjat s?rbara komponenter f?r n?gra av de st?rsta intr?ngen i historien, ?ven om s?rbarheterna kan str?cka sig fr?n applikationskompromittering till exekvering av fj?rrkod.

Vad g?r en applikation s?rbar f?r ramverk och bibliotek med ?ppen k?llkod eller fr?n tredje part?

  • Dessa kan vara oavsiktliga (t.ex. kodningsfel) eller avsiktliga (t.ex. komponent med bakd?rr).
  • Applikationen eller milj?n anv?nder opatchade eller f?r?ldrade komponenter (en av anledningarna till att ?r n?dv?ndig).
  • Avsaknad av skanning efter s?rbarheter i tredjepartskod eller kapslade beroenden.
  • Otillg?ngliga komponentf?rteckningar eller ignorerade s?kerhetsbulletiner.

Vilka konsekvenser f?r det om man anv?nder komponenter med k?nda s?rbarheter?

Vissa k?nda s?rbarheter leder endast till mindre konsekvenser, men n?gra av de st?rsta k?nda intr?ngen, som Heartbleed och Shellshock, har byggt p? utnyttjande av k?nda s?rbarheter i delade komponenter. Att anv?nda komponenter med k?nda s?rbarheter i koden kan resultera i fj?rrstyrd exekvering av kod p? den drabbade servern, vilket ger angriparen total kontroll ?ver maskinen.

Hur kan Fortify hj?lpa till med s?kerhet f?r ?ppen k?llkod?

  • Om du ?r utvecklare: Fortify tillhandah?ller analys av programvarukomponenter via Sonatype-integreringar.
  • Om du arbetar med kvalitetss?kring och drift: Fortify automatiserar dynamisk validering av k?nda s?rbarheter under k?rning.
  • Om du befinner dig i Operations: Fortify instrument loggning och skydd f?r Java- och .NET-applikationskomponenter.

A10: Otillr?cklig loggning och ?vervakning

Otillr?cklig loggning och ?vervakning kan uppst? n?r man inte f?rst?r attackvektorer eller applikationers felaktiga beteende eller n?r man inte f?ljer b?sta praxis f?r ?vervakning av indikatorer p? kompromettering. Exempel p? detta finns ofta i ?ldre system utan loggningsfunktioner, n?r loggar fr?n penetrationstester av applikationer inte granskas eller n?r loggar inte ger tillr?ckligt med detaljer f?r att f?rst? vad angriparna gjorde. Angripare f?rlitar sig i genomsnitt p? cirka 200 dagar f?r uppt?ckt som vanligtvis uppt?cks externt f?r att etablera uth?llighet och sv?nga till ytterligare s?rbara system.

Vad ?r det som g?r en applikation s?rbar f?r otillr?cklig loggning och ?vervakning?

  • Varningar och fel genererar inga, otillr?ckliga eller otydliga loggmeddelanden.
  • Loggar lagras lokalt utan manipuleringskontroll och/eller ?r o?vervakade.
  • Tr?skelv?rden f?r larm och svarsprocesser ?r otillr?ckliga eller leder inte till n?gon ?tg?rd.

Vad ?r effekten av otillr?cklig loggning och ?vervakning?

De flesta framg?ngsrika attacker b?rjar med att s?rbarheter unders?ks. Om man till?ter att s?dan sondering forts?tter kan det ?ka sannolikheten f?r framg?ngsrika exploateringar. Angripare kan bli l?ngvariga, ta sig in i applikationer och operativsystem, stj?la data eller p? annat s?tt f? obem?rkt och obeh?rig kontroll ?ver system. Om s?kerhetskritisk information inte registreras eller lagras p? l?mpligt s?tt finns det inget sp?r f?r kriminalteknisk analys f?r att uppt?cka k?llan till attacken. Att f?rst? att det ?verhuvudtaget finns ett problem kan bli sv?rare, eller om?jligt, om angriparen har kontroll ?ver loggningsfunktionerna.

Hur kan Fortify hj?lpa till med otillr?cklig loggning och ?vervakning?

  • Om du ?r utvecklare: Fortify s?ker efter s?rbarheter i loggningsfunktioner i applikationer och API:er.
  • Om du arbetar med kvalitetss?kring och drift: Fortify dynamiska skanningar producerar applikationsloggar f?r granskning av tillr?cklighet, som penntestning.
  • Om du ?r i Operations: Fortify instrument loggning och skydd f?r Java- och .NET-applikationer.

Vad ?r nytt f?r OWASP (2021)?

?ven om det bara har g?tt fyra ?r sedan den senaste topp 10 publicerades 2017, har det skett m?nga f?r?ndringar i cybers?kerhetsbranschen som har f?tt oss att t?nka tv? g?nger om n?r det g?ller de mest prioriterade fr?gorna eller vilka nya fr?gor som ska l?ggas till.

Tre nya kategorier inf?rdes:

A04:2021

Os?ker design: Denna kategori fokuserar p? designfel. Detta beh?vs eftersom r?relsen f?r att skifta v?nster i utvecklingen kr?ver ett skifte till v?nster ?ven f?r hotmodellering.

A08:2021

Fel i programvaru- och dataintegritet: Fokuserar p? antaganden kring programuppdateringar, kritiska data och CI/CD-pipelinen utan att verifiera den integritet som de kan p?verka. Detta omfattar ?ven A08:2017 - Os?ker deserialisering.

A10:2021

F?rfalskning av beg?ran p? serversidan (SSRF): Denna kategori ?r mestadels i topp 10 fr?n samh?llsunders?kningen. De betonade verkligen denna s?rbarhet p? grund av exploaterbarheten och p?verkan ?ver genomsnittet.

?vriga f?r?ndringar

De ?vriga kategorierna har antingen bytt namn, flyttat rangordning eller slagits samman till andra kategorier:

  • A01:2017 - Injektion flyttad ner till A:03.
  • A02:2017 - Broken Authentication d?ptes om till Identification and Authentication Failures och flyttades ner till A07.
  • A03:2017 - K?nslig dataexponering flyttades upp till A02 och d?ptes om till kryptografiska fel f?r att i h?gre grad ta itu med grundorsaken, inte bara symptomen.
  • A05:2017 - Broken Access Control flyttades till A01 eftersom 94% av de testade applikationerna visade exponering f?r n?gon form av Broken Access Control.
  • A06:2017 - Felaktig s?kerhetskonfiguration flyttades upp en placering till A05.
  • A07:2017 - Cross-Site Scripting (XSS) konsoliderades till A03 Injection.
  • A09:2017 - Using Components with Known Vulnerabilities flyttades upp till A06 och d?ptes om till Vulnerable and Outdated Components. Denna f?r?ndring berodde till stor del p? att communityn rankade den som #2 p? sin lista.
  • A10:2017 - Otillr?cklig loggning och ?vervakning flyttades upp fr?n A09 och heter nu Security Logging and Monitoring Failures.

Vill du se hur Fortify kan hj?lpa din organisation? Starta din

Hur kan vi hj?lpa till?

Fotnoter