Hvad er o ?asp?
Open Web Application Security Project, eller OWASP, er en international non-profit organisation, dedikeret til web application security. Et af O .asps kerneprincipper er, at alle deres materialer er frit tilgængelige og let tilgængelige på deres hjemmeside, hvilket gør det muligt for alle at forbedre deres egen applicationebapplikationssikkerhed. De materialer, de tilbyder, omfatter dokumentation, værktøjer, videoer og fora. Måske er deres mest kendte projekt O .asp Top 10.
Hvad er O ?asp Top 10?,
O .asp Top 10 er en regelmæssigt opdateret rapport, der beskriver sikkerhedsmæssige bekymringer for securityebapplikationssikkerhed, med fokus på de 10 mest kritiske risici. Rapporten er sammensat af et team af sikkerhedseksperter fra hele verden. O .asp henviser til Top 10 som et ‘bevidsthedsdokument’, og de anbefaler, at alle virksomheder inkorporerer rapporten i deres processer for at minimere og/eller mindske sikkerhedsrisici.
nedenfor er de sikkerhedsrisici, der er rapporteret i O .asp Top 10 2017-rapporten:
1., Injektion
Injektionsangreb sker, når data, der ikke er tillid til, sendes til en kodetolk via en formularindgang eller anden dataindgivelse til en .ebapplikation. For eksempel kunne en angriber indtaste s .l-databasekode i en form, der forventer et almindeligt brugernavn. Hvis denne formularindgang ikke er korrekt sikret, vil dette resultere i, at s .l-koden udføres. Dette er kendt som en s .l injektion angreb.
Injektionsangreb kan forhindres ved at validere og / eller desinficere brugerindgivne data., (Validering betyder at afvise mistænkelige data, mens sanitering refererer til oprydning af de mistænkelige dele af dataene.) Derudover kan en databaseadministrator indstille kontroller for at minimere mængden af information, som et injektionsangreb kan udsætte.
2. Broken Authentication
sårbarheder i authentication (login) systemer kan give angribere adgang til brugerkonti og endda evnen til at kompromittere et helt system ved hjælp af en admin-konto., For eksempel, kan en hacker kan tage en liste, der indeholder tusindvis af kendte brugernavn/password kombinationer opnået i løbet af en data, brud og bruge et script til at prøve alle disse kombinationer på en login-system for at se, om der er nogen, der arbejder.
nogle strategier til at afbøde godkendelsessårbarheder kræver tofaktorautentisering (2FA) samt begrænsning eller forsinkelse af gentagne loginforsøg ved hjælp af hastighedsbegrænsning.
3., Eksponering for følsomme data
Hvis webebapplikationer ikke beskytter følsomme data såsom økonomiske oplysninger og adgangskoder, kan angribere få adgang til disse data, og sælgere bruger dem til uærlige formål. En populær metode til at stjæle følsomme oplysninger bruger en on-path angreb.dataeksponeringsrisiko kan minimeres ved at kryptere alle følsomme data samt deaktivere caching* af følsomme oplysninger. Derudover bør developersebapplikationsudviklere sørge for at sikre, at de ikke unødigt lagrer følsomme data.,*Caching er praksis med midlertidigt at lagre data til genbrug. For eksempel vil browebbro .sere ofte cache weebsider, så hvis en bruger besøger disse sider inden for et fast tidsrum, behøver bro .seren ikke at hente siderne fra internettet.
4. Externalml eksterne enheder (Externalee)
Dette er et angreb mod en applicationebapplikation, der analyserer inputml* input. Dette input kan henvise til en ekstern enhed, forsøger at udnytte en sårbarhed i parseren. En ‘ekstern enhed’ i denne sammenhæng henviser til en lagerenhed, såsom en harddisk., En parml-parser kan dyppes til at sende data til en uautoriseret ekstern enhed, som kan videregive følsomme data direkte til en angriber.
De bedste måder at forebygge XEE-angreb er at have web-applikationer acceptere en mindre kompleks type af data, som JSON**, eller i det mindste at lappe XML-parsere og deaktivere brugen af eksterne enheder i en XML-applikation.
*Markml eller e .tensible Markup Language er et markupsprog beregnet til at være både læsbar og maskinlæsbar. På grund af dets kompleksitet og sikkerhedssårbarheder udfases det nu ud af brug i mange .ebapplikationer.,JavaScript Object Notation (JSON) er en type enkel, menneskelig læsbar notation, der ofte bruges til at overføre data over Internettet. Selvom det oprindeligt blev oprettet til JavaScript, JSON er sprog-agnostiker og kan fortolkes af mange forskellige programmeringssprog.
5. Broken Access Control
Access control henviser til et system, der styrer adgang til information eller funktionalitet. Brudte adgangskontrol gør det muligt for angribere at omgå autorisation og udføre opgaver, som om de var privilegerede brugere som administratorer., For eksempel kan en webebapplikation give en bruger mulighed for at ændre, hvilken konto de er logget ind som blot ved at ændre en del af en url uden nogen anden verifikation.
adgangskontroller kan sikres ved at sikre, at en applicationebapplikation bruger autorisationstokens* og sætter stramme kontroller på dem.*mange tjenester udsteder autorisationstokens, når brugerne logger ind. Enhver privilegeret anmodning, som en bruger fremsætter, kræver, at autorisationstokenet er til stede. Dette er en sikker måde at sikre, at brugeren er den, de siger, de er, uden konstant at skulle indtaste deres loginoplysninger.
6., Sikkerhed fejlkonfiguration
sikkerhed fejlkonfiguration er den mest almindelige sårbarhed på listen, og er ofte resultatet af at bruge standardkonfigurationer eller vise overdrevent verbose fejl. For eksempel kan en applikation vise en bruger alt for beskrivende fejl, der kan afsløre sårbarheder i applikationen. Dette kan mindskes ved at fjerne eventuelle ubrugte funktioner i koden og sikre, at fejlmeddelelser er mere generelle.
7., Cross-Site Scripting
Cross-site scripting sårbarheder opstår, når webebapplikationer giver brugerne mulighed for at tilføje brugerdefineret kode til en url-sti eller på et websiteebsted, der vil blive set af andre brugere. Denne sårbarhed kan udnyttes til at køre ondsindet JavaScript-kode på et offers bro .ser. For eksempel, en hacker kunne sende en e-mail til et offer, der ser ud til at være fra en betroet bank, med et link til denne banks websiteebsted. Dette link kunne have nogle ondsindede JavaScript-kode tagget på slutningen af url ‘ en., Hvis bankens siteebsted ikke er ordentligt beskyttet mod scripting på tværs af siteebsteder, køres den ondsindede kode i offerets browebbro .ser, når de klikker på linket.Afbødningsstrategier for scripting på tværs af siteebsteder inkluderer undgåelse af ikke-betroede HTTP-anmodninger samt validering og / eller desinficering af brugergenereret indhold. Brug af moderne frameworksebudvikling rammer som ReactJS og Ruby on Rails giver også nogle indbyggede cross-site scripting beskyttelse.
8. Usikker deserialisering
denne trussel er rettet mod de mange applicationsebapplikationer, der ofte serialiserer og deserialiserer data., Serialisering betyder at tage objekter fra applikationskoden og konvertere dem til et format, der kan bruges til et andet formål, såsom at gemme dataene til disk eller streame dem. Deseriali .ation er lige det modsatte: konvertering føljeton data tilbage til objekter programmet kan bruge. Serialisering er lidt som at pakke møbler væk i kasser før et træk, og deserialisering er som at pakke kasserne ud og samle møblerne efter flytningen. En usikker deseriali .ation angreb er som at have movers manipulere med indholdet af kasserne, før de pakkes ud.,
En usikker deserialization exploit er resultatet af deserializing data fra upålidelige kilder, og kan resultere i alvorlige konsekvenser, som DDoS-angreb, og fjernkørsel af programkode angreb. Samtidig kan der tages skridt til at forsøge at fange angriberne, såsom overvågning deserialization og gennemførelse af type kontrol, er den eneste sikre måde at beskytte mod usikre deserialization angreb er at forbyde deserialisering af data fra upålidelige kilder.
9., Brug af komponenter med kendte sårbarheder
mange moderne developersebudviklere bruger komponenter som biblioteker og rammer i deres webebapplikationer. Disse komponenter er stykker soft .are, der hjælper udviklere med at undgå overflødigt arbejde og give den nødvendige funktionalitet; fælles eksempel omfatter front-end rammer som React og mindre biblioteker, der bruges til at tilføje aktie ikoner eller A/B-test. Nogle angribere ser efter sårbarheder i disse komponenter, som de derefter kan bruge til at orkestrere angreb., Nogle af de mere populære komponenter bruges på hundretusinder af websebsteder; en angriber, der finder et sikkerhedshul i en af disse komponenter, kan efterlade hundretusinder af sitesebsteder sårbare at udnytte.Komponentudviklere tilbyder ofte sikkerhedsrettelser og opdateringer for at tilslutte kendte sårbarheder, men developersebapplikationsudviklere har ikke altid de lappede eller nyeste versioner af komponenter, der kører på deres applikationer., For at minimere risikoen for at køre komponenter med kendte sårbarheder, udviklere bør fjerne ubenyttede komponenter fra deres projekter, samt at sikre, at de modtager komponenter fra en pålidelig kilde, og sikre, at de er op til dato.
10. Utilstrækkelig logning og overvågning
mange applicationsebapplikationer tager ikke nok skridt til at registrere dataovertrædelser. Den gennemsnitlige opdagelsestid for et brud er omkring 200 dage efter, at det er sket. Dette giver angribere meget tid til at forårsage skade, før der er noget svar., O .asp anbefaler, at developersebudviklere skal implementere logning og overvågning samt hændelsesresponsplaner for at sikre, at de bliver gjort opmærksomme på angreb på deres applikationer.
For et mere teknisk og dybtgående kig på O .asp Top 10, se den officielle rapport .