Den eviga debatten om för- och nackdelar med olika programmeringsspråk lär nog aldrig ta slut, och blandar man in säkerhet i brygden är de digitala smockorna inte långt borta. Men säkerhet är en viktig fråga när det gäller programmeringsspråk och visst talas det om att vissa språk inte alltid håller måttet.
Det öppen källkods-fokuserade säkerhetsföretaget WhiteSource har gjort ett försök att ta reda på vilka öppen källkodsspråk som är de värsta och bästa språken ur säkerhetssynvinkel. För att göra detta har de lagt ihop information från sin egen databas som i sin tur bygger på information från öppna källor som amerikanska National Vulnerability Database (NVD), olika säkerhetsbulletiner, så kallade issue trackers på Github och andra populära issue trackers inom öppen källkods-världen. WhiteSource fokuserar på rapporterade sårbarheter för de sju mest använda öppen källkodsspråken de senaste tio åren, skriver TechRepublic.
Enligt rapporten har WhiteSource kommit fram till följande topplista för de språk med flest sårbarheter, och som på sätt och vis kan anses vara de farligaste att använda (procent av totalt antal sårbarheter):
- C (47%)
- PHP (17%)
- Java (11%)
- JavaScript (10%)
- Python (5%)
- C++ (5%)
- Ruby (4%)
Är C verkligen det farligaste programmeringsspråket med nästan hälften av alla rapporterade sårbarheter de tio senaste åren? Det beror ju på hur man ser på saken. WhiteSource rapport poängterar att C är det språk, bland dem på listan, som funnits i särklass längst tid och C är det mest använda språket på listan, kanske det mest använda språket genom tiderna, men det betyder inte att språket i sig är farligt för utvecklare att använda.
Dock är det en gammal sanning att C, och för all del C++, är typiska språk där det gäller att utvecklaren vet vad hen håller på med; de saknar de förlåtande egenskaper och inbyggda säkerhetsmekanismer som finns i mer moderna språk. Det sägs ofta att C är ett språk som "man kan göra vad som helst med” vilket förstås öppnar för misstag, och det är ofta i minneshanteringen utvecklare tabbar sig.
Rapporten från WhiteSource kommer även fram till andra intressanta slutsatser, till exempel att antalet rapporterade sårbarheter i öppen källkodsspråken ökade signifikant under de tio år undersökningen sträcker sig, med en tydlig topp under 2017. WhiteSource anser att detta beror på den ökade populariteten bland öppen källkodsspråk och en ökad medvetenhet om sårbarheter i dessa språk. Automatiserade säkerhetsverktyg och ökade inversteringar i bugjakter anses vara andra orsaker.
De vanligaste sårbarheterna generellt bland språken på listan är cross-site scripting (XSS), inputvalidering, rättigheter, användarrättigheter, accesskontroll och informationsläckor.
Vilket är då det bästa öppen källkodsspråket ur säkerhetssynpunkt? Där duckar rapporten och menar att det beror på programmeraren och inte på språket. Det bör påpekas att WhiteSource säljer mjukvara som övervakar öppen källkodskomponenter och varnar för säkerhetsproblem.
Läs också:
Så har Google plågat fram 9000 buggar i öppen källkod
Osäkert PHP 5 ännu osäkrare efter årsskiftet