OWASP står for Open Web Application Security Project. OWASPs liste over de 10 vanligste sikkerhetsrisikoene for applikasjoner dokumenterer de vanligste kodefeilene utviklere gjør som kan føre til sikkerhetsrisikoer i applikasjonene deres. Den er basert på bred enighet om de mest kritiske sikkerhetsrisikoene i koding. Bedrifter bør være klar over denne ressursen og sørge for at webapplikasjonene deres adresserer disse potensielle risikoene.
Å bruke OWASP Topp 10 er kanskje det mest effektive første skrittet mot å endre programvareutviklingskulturen i organisasjonen din mot en som produserer sikrere kode fra starten av.
Hva er de 10 største sikkerhetsrisikoene for webapplikasjoner?
InjeksjonInjeksjonsfeil, som SQL-, NoSQL-, OS- og LDAP-injeksjon, oppstår når uklarerte data sendes til en tolk som en del av en kommando eller spørring. Angriperens fiendtlige data kan lure tolken til å utføre utilsiktede kommandoer eller få tilgang til data uten riktig autorisasjon.
Ødelagt autentiseringApplikasjonsfunksjoner relatert til autentisering og øktadministrasjon implementeres ofte feil, noe som gjør at angripere kan kompromittere passord, nøkler eller økttokener, eller utnytte andre implementeringsfeil for å midlertidig eller permanent anta andre brukeres identiteter.
Sensitive dataeksponeringMange nettapplikasjoner og API-er beskytter ikke sensitive data, for eksempel økonomiske data, helsedata og personlig identifiserende informasjon, på en god måte. Angripere kan stjele eller endre slike svakt beskyttede data for å utføre kredittkortsvindel, identitetstyveri eller andre forbrytelser. Sensitive data kan bli kompromittert uten ekstra beskyttelse, for eksempel kryptering i ro eller under overføring, og krever spesielle forholdsregler når de utveksles med nettleseren.
XML External Entities (XXE)Mange eldre eller dårlig konfigurerte XML-prosessorer evaluerer eksterne enhetsreferanser i XML-dokumenter. Eksterne enheter kan brukes til å avsløre interne filer ved hjelp av fil-URI-behandleren, interne fildelinger, intern portskanning, ekstern kodekjøring og tjenestenektangrep.
Brutt tilgangskontrollRestriksjoner på hva autentiserte brukere har lov til å gjøre håndheves ofte ikke ordentlig. Angripere kan utnytte disse feilene til å få tilgang til uautorisert funksjonalitet og/eller data, for eksempel tilgang til andre brukeres kontoer, se sensitive filer, endre andre brukeres data, endre tilgangsrettigheter osv.
Feilkonfigurasjon av sikkerhetFeilkonfigurasjon av sikkerhet er det vanligste problemet. Dette er ofte et resultat av usikre standardkonfigurasjoner, ufullstendige eller ad hoc-konfigurasjoner, åpen skylagring, feilkonfigurerte HTTP-overskrifter og detaljerte feilmeldinger som inneholder sensitiv informasjon. Ikke bare må alle operativsystemer, rammeverk, biblioteker og applikasjoner konfigureres sikkert, men de må også oppdateres/oppgraderes i tide.
Cross-site scripting XSSXSS-feil oppstår når et program inkluderer upålitelige data på en ny nettside uten skikkelig validering eller escape, eller oppdaterer en eksisterende nettside med brukerleverte data ved hjelp av et nettleser-API som kan opprette HTML eller JavaScript. XSS lar angripere kjøre skript i offerets nettleser som kan kapre brukerøkter, ødelegge nettsteder eller omdirigere brukeren til ondsinnede nettsteder.
Usikker deserialiseringUsikker deserialisering fører ofte til ekstern kodekjøring. Selv om deserialiseringsfeil ikke resulterer i ekstern kodekjøring, kan de brukes til å utføre angrep, inkludert replay-angrep, injeksjonsangrep og privilegieeskaleringsangrep.
Bruk av komponenter med kjente sårbarheterKomponenter, som biblioteker, rammeverk og andre programvaremoduler, kjører med de samme rettighetene som applikasjonen. Hvis en sårbar komponent utnyttes, kan et slikt angrep legge til rette for alvorlig datatap eller serverovertakelse. Applikasjoner og API-er som bruker komponenter med kjente sårbarheter kan undergrave applikasjonsforsvar og muliggjøre ulike angrep og påvirkninger.
Utilstrekkelig logging og overvåkingUtilstrekkelig logging og overvåking, kombinert med manglende eller ineffektiv integrasjon med hendelsesrespons, gjør at angripere kan angripe systemer ytterligere, opprettholde persistens, bytte til flere systemer og manipulere, trekke ut eller ødelegge data. De fleste studier av brudd viser at tiden det tar å oppdage et brudd er over 200 dager, vanligvis oppdaget av eksterne parter snarere enn interne prosesser eller overvåking.
SMB-eiere som utvikler kode bør trene på OWASPs topp 10-risikoer innen koding med alle utviklerne sine. Dette vil unngå mange problemer som blir dyre å fikse senere. CyberHoot har et 12-delt OWASP-kodingsopplæringsprogram klart for alle utviklingsselskaper der ute.