Den amerikanske organisasjonen MITRE, har nylig sluppet sin liste over de 25 farligste sårbarhetene i 2023.
Ifølge organisasjonen ble lista laget gjennom å analysere offentlige sårbarhetsdata fra National Vulnerability Database (NVD). Årets liste er basert på 43.996 innmeldte sårbarheter i 2021 og 2022.
Vi har fått Martin Ingesen, grunnlegger og daglig leder i pentester-selskapet Kovert, til å forklare de tre farligste sårbarhetene på lista - og hvordan du beskytter deg mot dem.
«Den mest moderne løsningen vil være å benytte et minnesikkert språk.»
#1: "Out-of-Bounds Write"
Førstemann ut på lista er en såkalt "Out-of-Bounds Write"-feil - dette skal ifølge lista være den aller farligste.
- Bakgrunnen for at det ikke er feilen vi kanskje hører mest om, er jo fordi denne ikke er en klassisk web-sårbarhet, men mer aktuell for de som utvikler programvare for Windows, Linux og embedded-systemer, sier Ingesen til kode24.
Ifølge ham oppstår når feilen nå data skrives utenfor det tiltenkte minneområdet.
- Dette kan skje når en programmerer ikke tar hensyn til grensene for bufferen, et midlertidig lagringsområde i minnet, noe som fører til at dataene kan overskrive andre viktige data eller kode i minnet.
Hackere stjeler ChatGPT-en din
Bruk minnesikre språk
Ingesen forteller at dette er farlig ettersom det kan føre til endring av data, ustabil oppførsel, eller i verste fall kjøring av vilkårlig "angreperbestemt kode".
- På denne måten kan man kjøre vilkårlig kode i kontekst av programvaren på det underliggende operativsystemet.
Han sier at det finnes flere ulike måter å forhindre at denne typen feil oppstår.
- Den mest moderne løsningen vil være å benytte et minnesikkert språk, som for eksempel Rust, når man utvikler programvare.
Dersom du skriver koden i C eller C++ må du gjøre andre grep:
- Da vil det være viktig å bruke trygge funksjoner for å forhindre at brukerinnsendt data kan overskrive det allokerte minneområdet, sier Ingesen.
NSA mener du bør droppe C/C++ til fordel for språk som C#, Java, Go og Rust
#2: "Cross-site Scripting"
Nestemann på lista er såkalt "Cross-site Scripting" (XSS). Ifølge Ingesen er dette en type sårbarhet hvor en angriper kan injisere egen JavaScript-kode inn i nettsider som blir besøkt av andre brukere.
- Dette kan skje når en nettside tillater ukontrollert inndata fra en bruker, som deretter kan vises til andre brukere. Dette er farlig fordi det kan tillate en angriper å stjele sensitiv informasjon som autentiserings-cookies, passord og andre opplysninger, eller til og med utføre handlinger på vegne av den utsatte brukeren.
Ett viktig forsvarsverk mot XSS er å sikre at all brukerinndata nøytraliseres, eller "saniteres", før den vises i en nettside.
- Dette kan oppnås ved å bruke sikre programmeringsmetoder som automatisk ufarliggjør potensielt skadelige karakterer i brukerinput, eller ved å bruke innholdssikkerhetspolicyer (CSP) som begrenser hvilke skript som kan kjøre på nettsiden, sier Ingesen.
Vil påby security.txt
#3: "SQL injection"
Tredjemann på lista er "SQL injection", som er en type sårbarhet som oppstår når en angriper kan injisere skadelige SQL-kommandoer gjennom nettstedets inndata.
- Dette er farlig fordi det kan tillate en angriper å manipulere eller få tilgang til dataene i databasen på måter som ikke er tiltenkt av systemets utviklere, inkludert å utlevere, endre eller slette data, forteller Ingesen.
Ifølge ham er den beste måten å forhindre SQL-injeksjon på å aldri tillate direkte brukerinndata i en SQL-spørring.
- Alle moderne programmeringsspråk har i dag støtte for "prepared statements" eller ORM, noe som forhindrer at man lett kan introdusere brukerinndata direkte i SQL-spørringer.