UTVIKLING

Disse programmerings­språkene har resultert i flest kjente sårbarheter

Fersk rapport.

Illustrasjon.
Illustrasjon. Illustrasjon: Colourbox/Sergey Mironov/Sergeymironov.co
21. mars 2019 - 12:01

Det amerikanske selskapet Whitesource har nettopp kommet med en rapport som viser hvilke programmeringsspråk som er de mest og minst sikre – målt i antallet kjente open source-sårbarheter per språk. 

Rapporten er basert på Whitesource' database hvor selskapet samler informasjon om sårbarheter fra flere ulike kilder, blant annet  U.S. National Vulnerability Database (NVD), sikkerhetsveiledninger, samt «issue-trackere» på Github og hos ulike åpen kildekode-prosjekter.

Databasen inneholder informasjon om mer enn 200 programmeringsspråk, men Whitesource har fokusert på sju av de mest populære språkene. Dette er de språkene med flest kjente sårbarheter i open source-programvare laget i språket, og hvor stor andel av det totale antallet sårbarheter språket står for:

1. C (47 %)
2. PHP (17 %) 
3. Java (11 %)
4. Javascript (10 %)
5. Python (5 %)
6. C++ (5 %)
7. Ruby (4 %)

Statistikken må imidlertid tas med en klype salt, siden språket C har vært i bruk mye lenger enn mange andre språk. Det har blitt skrevet mye mer programkode i C over en lang tidsperiode, og C-kode er i bruk i mange av de produktene og plattformene vi bruker hver dag, dermed er det naturlig at det har blitt oppdaget flere sårbarheter.

Det at det oppdages mange sårbarheter i løsninger laget i de ulike språkene, betyr naturligvis heller ikke at språket i seg selv er usikkert. 

Hopp i antallet sårbarheter fra 2017

Rapporten viser at antallet sårbarheter har vokst jevnt og trutt de siste ti årene, men i 2017 steg antallet sårbarheter plutselig for alle programmeringsspråk. 

Whitesource forklarer dette med at åpen kildekode-basert programvare ble mer populært, samtidig som man også begynte å fokusere mer på sikkerhet og sårbarheter i åpen kildekodebaserte komponenter. Automatiserte testverktøy og såkalte «bug bounty»-programmer hvor man betaler de som finner sårbarheter, har også bidratt til den kraftige økningen i antallet oppdagede sårbarheter fra 2017.

Antall sårbarheter per år, fra 2009 til 2018.
Antall sårbarheter per år, fra 2009 til 2018. Illustrasjon: Whitesource

Det positive er at antallet kritiske sårbarheter har begynt å falle i de fleste programmeringsspråkene som er undersøkt, dessverre med unntak av Javascript og PHP. Fallet forklares også med økt bruk av automatiserte verktøy for å finne sårbarheter. Disse verktøyene er imidlertid ikke alltid i stand til å finne de mest komplekse feilene. 

Javascript-sårbarheter øker fortsatt

Den mest utbredte sårbarheten, uavhengig av programmeringsspråk, er såkalte cross-site-scripting-sårbarheter (XSS). 

Javascript er det mest populære programmeringsspråket, og ifølge rapporten er Javascript det eneste språket hvor man har sett en fortsatt økning i antallet sårbarheter de siste ti årene. I 2017 var antallet rapporterte sårbarheter 16 ganger høyere enn i 2016, og det fortsatte å øke i 2018.

De mest utbredte sårbarhetene i Javascript.
De mest utbredte sårbarhetene i Javascript. Illustrasjon: Whitesource

Årsaken til økningen kan være økt popularitet, men også at Javascript har blitt populært å bruke på backend (gjennom løsninger som Node.js).

For Javascript er det ikke XSS-sårbarheter, men sårbarheter i forbindelse med kryptering som er mest utbredt, med såkalte «path traversal»-sårbarheter på andreplass. Sistnevnte innebærer at uvedkommende kan få tilgang til filer og kataloger man ikke skulle hatt tilgang til.

Du finner hele rapporten her.

Share icon
Del

Kommentarsystemet er deaktivert

Kommentarsystemet leveres av en ekstern leverandør, og kan ikke lastes inn uten at informasjonskapslene er aktivert. Endre dine Personvern/cookies innstillinger for å aktivere kommentering.