Færre sikkerhets­hull i JavaScript-kode enn i Java og .NET

State of Software Security 2023 viser også at JavaScript-feilene blir fikset raskere.

Skanning av programkode avslører at det er flere sårbarheter i .Net- og Java-kode enn i JavaScript-kode. 📸: <a href="https://unsplash.com/@sigmund?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Sigmund</a> / <a href="https://unsplash.com/photos/Im_cQ6hQo10?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a>
Skanning av programkode avslører at det er flere sårbarheter i .Net- og Java-kode enn i JavaScript-kode. 📸: Sigmund / Unsplash Vis mer

Ifølge rapporten State of Software Security er det 27 prosent risiko innenfor en gitt måned at det vil introduseres en ny sårbarhet i en applikasjon, skriver InfoQ.

Rapporten lages hvert år av Veracode, et selskap som lager verktøy for å skanne programvare for sikkerhetshull. Ved å gå gjennom alle applikasjoner som er skannet på selskapets plattform, har de kunnet avsløre blant annet hvilke programmeringsspråk som brukes i applikasjoner med flest sårbarheter.

Rapporten viser at valg av programmeringsspråk ikke bare har en effekt på hvilke og hvor mange feil som oppstår, men også hvor raskt feilene fikses.

Sårbarheter i nesten alt

Nesten 32 prosent av applikasjoner inneholder sårbarheter ved første skanning. Etter fem år er det funnet minst én feil i nesten 70 prosent av applikasjonene.

I gjennomsnitt har fire av fem Java- og .NET-applikasjoner minst én feil, mens det for JavaScript-applikasjoner er rett over halvparten som har feil.

Type sårbarheter i ulike programmeringsspråk. 📸: Veracode
Type sårbarheter i ulike programmeringsspråk. 📸: Veracode Vis mer

Feilene i Java- og .NET-applikasjoner er gjerne mer alvorlige enn for JavaScript. Antallet alvorlige sikkerhetsfeil er nesten dobbelt så høyt for Java- og .NET-applikasjoner sammenlignet med JavaScript.

Viktig å fikse feil fort

Ifølge rapporten er det også store forskjeller mellom språkene når det gjelder hvor raskt sikkerhetsfeil blir fikset.

  • For Java er det 65,3 prosent sannsynlighet for at et sikkerhetshull fortsatt eksisterer etter tre måneder.
  • For .NET er tallet 59,2 prosent.
  • Mens JavaScript ligger på 54,1 prosent.
Tiden det tar å fikse sårbarheter i applikasjoner skrevet i ulike programmeringsspråk. 📸: Veracode
Tiden det tar å fikse sårbarheter i applikasjoner skrevet i ulike programmeringsspråk. 📸: Veracode Vis mer

Det forventes å ta 243 dager å fikse halvparten av feilene i Java-applikasjoner, mens det tar bare 116 dager for JavaScript og 158 for .Net.

Forfatterne av rapporten anbefaler å prioritere å fikse sårbarheter så fort som mulig, ettersom feil har en tendens til å bygge seg opp over tid. Automatisering, testing og opplæring av utviklerne er noen av tiltakene som foreslås.