OWASP i grund och botten står för Open Web Application Security Project, det är en icke-vinstdrivande global online community som består av tiotusentals medlemmar och hundratals avdelningar som producerar artiklar, dokumentation, verktyg och teknik inom web application security.
var tredje till fyra år reviderar OWASP och publicerar sin lista över de 10 bästa webbapplikationssårbarheterna., Denna lista innehåller inte bara de vanligaste topp 10 sårbarheterna utan innehåller också den potentiella effekten av varje sårbarhet och hur man undviker dem. OWASP Top 10 säkerhetsrisker för webbapplikationer uppdaterades senast 2017 och det ger i princip vägledning till utvecklare och säkerhetspersonal om de mest kritiska sårbarheter som oftast finns i webbapplikationer och är också lätta att utnyttja. OWASPS topp 10 anses vara en viktig guide till web application security best practices.,
de 10 främsta sårbarheterna i OWASP 2020 är:
- injektion
- bruten autentisering
- känslig Dataexponering
- XML externa enheter (XXE)
- bruten åtkomstkontroll
- säkerhetsfelfigurationer
- Cross-Site Scripting (XSS)
- osäker deserialisering
- använda komponenter med kända egenskaper
- sårbarheter
- otillräcklig loggning och övervakning.,
injektion
injektionssårbarheter uppstår när en angripare använder en fråga eller ett kommando för att infoga otillförlitliga data i tolken via SQL, OS, NoSQL eller LDAP-injektion. De data som injiceras genom denna attackvektor gör att programmet gör något som det inte är utformat för. Inte alla program är sårbara för denna attack, bara de program som accepterar parametrar som input är sårbara för injektion attacker.,
Injiceringsattacker kan förhindras av
- använda säkrare API som undviker användningen av tolken
- använda parametriserade frågor vid kodning
- segregera kommandon från data för att undvika exponering för attacker
bruten autentisering
bruten autentisering är en sårbarhet som gör det möjligt för en angripare att använda manuella eller automatiska metoder för att försöka få kontroll över alla konton de vill ha i ett system. Under sämre förhållanden kan de också få fullständig kontroll över systemet., Denna sårbarhet är också farligare eftersom webbplatser med trasiga autentiseringssårbarheter är mycket vanliga på webben. Bruten autentisering sker normalt när program felaktigt utför funktioner relaterade till sessionshantering som tillåter inkräktare att kompromissa lösenord, säkerhetsnycklar eller sessionstoken.,Brutna autentiseringsattacker kan förhindras av
- implementera multifaktorsautentisering
- skydda användaruppgifter
- skicka lösenord över krypterade anslutningar
känslig Dataexponering
denna sårbarhet är en av de mest utbredda sårbarheterna i OWASP-listan och det uppstår när applikationer och API: er inte skyddar känsliga data på rätt sätt, t.ex. finansiella data, personnummer, användarnamn och lösenord eller hälsoinformation, och detta gör det möjligt för angripare att få tillgång till sådana autentiseringsattacker. information och begå bedrägeri eller stjäla identiteter.,
känsliga dataexponeringsattacker kan förhindras genom att
- använda den säkra URL: en
- använda starka och unika lösenord
- kryptera all känslig information som behöver lagras
XML External Entities (XXE)
denna sårbarhet uppstår för webbapplikationer som tolkar XML-ingång. Det händer när dåligt konfigurerade XML-processorer utvärderar externa entitetsreferenser inom XML-dokumenten och skickar känsliga data till en obehörig extern enhet, dvs en lagringsenhet som en hårddisk., Som standard är de flesta XML-parsers sårbara för XXE-attacker.
XXE attacker kan förhindras av
- med mindre komplexa dataformat som JSON
- att hålla XML-processorer och bibliotek uppgraderade
- använda SAST-verktyg
brutna Åtkomstkontroller
denna sårbarhet uppstår när det finns bruten tillgång till resurser, det innebär att det finns vissa felaktigt konfigurerade saknade begränsningar för autentiserade användare som tillåter dem att komma åt obehörig funktionalitet eller data som tillgång till andra konton, konfidentiella dokument etc., För denna attack tar angripare hjälp av sessionshantering och försöker komma åt data från de outforskade sessionstoken, vilket ger dem tillgång till många giltiga ID och lösenord.,
brutna åtkomstkontrollattacker kan förebyggas av
- radera konton som inte längre behövs eller inte är aktiva
- stänga av onödiga tjänster för att minska belastningen på servrar
- använda penetrationstest
Säkerhetsfelkonfiguration
det uppskattas att upp till 95% av molnbrott är resultatet av mänskliga fel och detta faktum leder oss till nästa sårbarhet kallas säkerhetsfelkonfiguration. Denna sårbarhet avser felaktig implementering av säkerhet avsedd att hålla applikationsdata säkra., Som vi vet att utvecklarens arbete är i grunden att arbeta på funktionaliteten hos webbplatser och inte på säkerhet och denna brist gör det möjligt för hackare att hålla reda på konfigurationen av säkerheten och hitta nya möjliga sätt att komma in på webbplatser. Den vanligaste orsaken till denna sårbarhet är inte att lappa eller Uppgradera system, ramar och komponenter.,
säkerhetsfelkonfigurationsattacker kan förhindras av
- med hjälp av Dynamic application security testing (DAST)
- inaktivera användningen av standardlösenord
- hålla ett öga på molnresurser, applikationer och servrar
Cross-Site Scripting (XSS)
detta är också en utbredd sårbarhet som nästan påverkar 53% av alla webbapplikationer. XSS sårbarhet tillåter en hacker att injicera skadliga klientsidan skript i en webbplats och sedan använda webbapplikation som en attack vektor för att kapa användarsessioner, eller omdirigera offret till skadliga webbplatser.,
serveröverskridande skriptattacker kan förhindras av
- med hjälp av lämpliga svarshuvuden
- filtrering av inmatningen och kodning av utmatningen
- med hjälp av säkerhetspolicyn för innehåll
- tillämpa en noll trust-inställning till användarinmatning
osäker deserialisering
osäker deserialisering sårbarhet gör det möjligt för en angripare att fjärr köra kod i programmet, manipulera eller ta bort serialiserad (skrivet till disk) objekt, genomföra injiceringsattacker, Replay attacker och höja privilegier. Denna attack är också känd som opålitlig deserialisering., Det är en allvarlig ansökan säkerhetsproblem som påverkar de flesta av de moderna systemen.,aliseringsattacker kan förebyggas genom att
- implementera digitala signaturer
- använda penetrationstestning
- isolera koden som deserialiserar och kör den i låga privilegiummiljöer för att förhindra obehöriga åtgärder
använda komponenter med kända sårbarheter
numera finns det många öppna källkods-och fritt tillgängliga programvarukomponenter (bibliotek, ramar) som är tillgängliga för utvecklare och om det uppstår någon komponent som har fått en känd sårbarhet i det blir det en svag länk som kan påverka säkerheten för hela programmet., Det uppstår också eftersom utvecklare ofta inte vet vilka open source-och tredjepartskomponenter som finns i sina applikationer och det gör det svårt för utvecklare att uppdatera komponenter när nya sårbarheter upptäcks i sina nuvarande versioner.,
denna attack kan förhindras genom att
- ta bort alla onödiga beroenden
- använda virtuell lapp
- använda komponenter endast från officiella och verifierade källor
otillräcklig loggning och övervakning
det uppskattas att tiden från attack till upptäckt kan ta upp till 200 dagar, och ofta längre. Under tiden kan angripare manipulera med servrar, korrupta databaser och stjäla konfidentiell information. Otillräcklig loggning och ineffektiv integration av säkerhetssystemen gör det möjligt för angripare att svänga till andra system och upprätthålla ihållande hot.,
otillräcklig loggning och övervakning attacker kan förebyggas av
- implementera loggning och revision programvara
- upprätta ett effektivt övervakningssystem
- tänka som en angripare och använda en penna testmetod