Säkerhet (OWASP Top 10)
1. Bristande åtkomstkontroll
Definition: Användare kan komma åt data eller utföra åtgärder som de inte är behöriga till.
Example: En vanlig användare ändrar /user/101 till /admin i URL:en och ser sidor avsedda endast för administratörer.
Impact: Angripare eskalerar behörigheter, stjäl data eller manipulerar kritiska inställningar.
Mitigation: Inför rollbaserad åtkomstkontroll (RBAC), verifiera åtkomst på varje nivå och använd serversidekontroller för autentisering.
2. Kryptografiska brister
Definition: Känsliga data exponeras på grund av svag eller saknad kryptering.
Example: Lagra lösenord i klartext i stället för att hasha dem.
Impact: Leder till dataintrång, stöld av autentiseringsuppgifter och myndighetsböter (GDPR, HIPAA).
Mitigation: Använd alltid TLS (HTTPS), hasha lösenord med bcrypt/Argon2/sha512 och kryptera känsliga data både i vila och under överföring.
3. Injektion
Definition: Otillförlitlig indata behandlas som kod eller ett kommando.
Example: OR '1'='1 i ett inloggningsformulär kringgår autentiseringen (SQL-injektion).
Impact: Fullständig kompromettering av databasen, dataläckage och fjärrkörning av kod.
Mitigation: Använd förberedda satser / parametriserade frågor, validera indata och undvik strängkonkatenering i frågor.
4. Osäker design
Definition: Säkerhetsbrister finns på arkitekturnivå.
Example: En bankapp tillåter obegränsade inloggningsförsök utan kontolåsning → råstyrkeattack möjlig.
Impact: Ökar attackytan och leder till förutsägbara svagheter.
Mitigation: Tillämpa principer för säker design, lägg till hastighetsbegränsning och kontolåsning, och inför hotmodellering tidigt i utvecklingen.
5. Felaktig säkerhetskonfiguration
Definition: Felaktiga eller standardmässiga säkerhetsinställningar gör systemen osäkra.
Example: Adminpanel på /admin med användarnamn: ”admin” / lösenord: ”admin123”.
Impact: Enkelt att utnyttja, obehörig åtkomst och installation av skadlig kod.
Mitigation: Ändra standardkonfigurationer, inaktivera oanvända funktioner och utför regelbundna konfigurationsgranskningar.
6. Sårbara och föråldrade komponenter
Definition: Användning av gammal/opatchad programvara, bibliotek eller plugin-program.
Example: En webbplats som kör en föråldrad WordPress med en känd sårbarhet för filuppladdning.
Impact: Angripare utnyttjar kända CVE:er för att få åtkomst eller injicera skadlig kod.
Mitigation: Håll ramverk, bibliotek och operativsystem uppdaterade, ta bort onödiga beroenden och bevaka CVE/NVD-databaser.
7. Brister i identifiering och autentisering
Definition: Svag autentisering, inloggningsbrister eller bristfällig sessionshantering.
Example: Obegränsade inloggningsförsök tillåts utan att råstyrkeattacker blockeras.
Impact: Kontokapning, identitetsstöld och behörighetseskalering.
Mitigation: Använd multifaktorautentisering (MFA), kräv starka lösenord, begränsa misslyckade försök och skydda sessionstokens.
8. Brister i programvarans och datas integritet
Definition: Otillförlitlig eller overifierad kod, uppdateringar eller problem i leveranskedjan.
Example: En app uppdaterar sig själv från en overifierad server → angripare injicerar skadlig kod.
Impact: Kompromettering av leveranskedjan (t.ex. SolarWinds-intrånget).
Mitigation: Verifiera digitala signaturer, använd betrodda repositorier och inför integritetskontroller.
9. Brister i säkerhetsloggning och övervakning
Definition: Attacker upptäcks inte på grund av bristfällig eller saknad loggning.
Example: Tusentals råstyrkeförsök sker, men systemet loggar ingenting och varnar ingen.
Impact: Försenad eller utebliven respons på intrång samt regelöverträdelser.
Mitigation: Aktivera detaljerad loggning, konfigurera larm/övervakning och använd SIEM-lösningar för upptäckt i realtid.
10. Server-Side Request Forgery (SSRF)
Definition: Angriparen lurar servern att göra förfrågningar till andra system.
Example: En användare skickar en URL → servern hämtar http://localhost/admin och exponerar interna tjänster.
Impact: Exponering av det interna nätverket, fjärrkörning av kod och läckage av känsliga data.
Mitigation: Validera och sanera indata, blockera interna förfrågningar och använd tillåtlistor för domäner.