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. <i>Illustrasjon: Whitesource</i>](https://images.gfx.no/580x/2409/2409836/Uten%2520navn-2.jpg)
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.
![HP Norge](https://images.gfx.no/80x/2757/2757793/hp%2520logo.png)
![](https://images.gfx.no/cx0,cy1137,cw8192,ch2731,2000x/2848/2848258/hp_day4_roz_ambiente_maja_0384_shot_086%2520(1).jpg)
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. <i>Illustrasjon: Whitesource</i>](https://images.gfx.no/580x/2409/2409835/Uten%2520navn-1.jpg)
Å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.