Overvloed aan ICT: de echte oorzaak van de puinhoop

Adrianus Warmenhoven

De titel van dit stuk lijkt misschien een beetje stevig aangezet, maar toch is ‘puinhoop’ de beste beschrijving van de huidige stand van zaken op het gebied van IT-security.

Hoe is dat zo gekomen? Het is verleidelijk om de schuld te leggen bij programmeurs, systeembeheerders of ICT-managers. De werkelijke oorzaak is echter wat ik ‘overvloed’ zou willen noemen.

Hoe heeft deze overvloed nu precies bijgedragen tot de puinhoop?

Dat komt zo. Van alle programmeurs op aarde is slechts een klein aantal beveiligingsbewust, in staat om veilige code te schrijven en kwetsbaarheden in programmatuur op te sporen en te verhelpen. En elk van deze programmeurs kan maar een beperkt aantal projecten aan.

Aan de andere kant van het spectrum is er een schier oneindig aantal programmeurs die onvoldoende bekend zijn met de subtiliteit en fijne kneepjes van veilig programmeren. Dit kunnen mobiele ontwikkelaars zijn die gebruikmaken van tools voor het genereren van apps (die op hun beurt zijn ontwikkeld door programmeurs die niet precies weten wat de code die zij hebben geschreven precies doet of zou kunnen doen). Soms gaat het om beginnende programmeurs die een naam voor zichzelf willen maken door deel te nemen aan een open source-project. En dan zijn er nog ongeduldige programmeurs die al blij zijn als alles werkt, en programmeurs wie het allemaal niet zoveel uitmaakt, zolang de schoorsteen maar rookt.

Laten we ervan uitgaan dat al deze programmeurs grofweg 2 miljard regels code per dag schrijven (uitgaande van 15 miljoen programmeurs die zo’n 133 regels code per dag schrijven; ik laat alle tools die automatisch code genereren voor het gemak even buiten beschouwing). Als we uitgaan van een gemiddelde van 0,05 kwetsbaarheden per 1000 regels code, komen we uit op het overweldigende aantal van 100.000 kwetsbaarheden per dag.

Toegegeven, dit is het type berekening dat op bierviltjes wordt geschreven. Er zijn tal van verzachtende factoren die dit aantal reduceren (veel code wordt geschreven om bugs op te lossen, veel code zal nooit toegankelijk zijn voor aanvallers die naar kwetsbaarheden zoeken, en vanzelfsprekend worden veel programmeerprojecten nooit voltooid).

Maar zelfs als we op safe spelen en dit aantal met een factor 1.000 verkleinen, blijven er nog altijd 100 kwetsbaarheden per dag over (en u voelt wel aan dat het werkelijke aantal een stuk hoger moet liggen). Dat zijn ruim 35.000 nieuwe kwetsbaarheden per jaar die cybercriminelen vrij spel geven. En dan hebben we het alleen nog maar over de productiekant van het verhaal.

Als iedereen op aarde zijn of haar software direct zou bijwerken zodra er een update of fix beschikbaar komt, zou het mogelijk zijn om een wereldwijd instituut op te richten dat kwetsbaarheden in code blootlegt en oplost.

Maar helaas: zoals u misschien weet (omdat u zich hier zelf aan bezondigt of u juist degene bent die iedereen voortdurend aanspoort om te updaten), ligt het tempo waarmee updates en fixes worden toegepast uiterst laag. Een dergelijk initiatief zou daarom op niets uitlopen (hoewel bedrijven er goed aan zouden doen om hun krachten te bundelen en een vergelijkbare organisatie op te richten die zich op zakelijke software richt).

Naast de 'het zal mijn tijd wel duren'-factor is er sprake van een belachelijk korte levenscyclus van ICT-producten (smartphones, tablets, laptops, pc’s) in combinatie met relatief lage prijzen. Dit stimuleert eigenaars om een nieuw product te kopen in plaats van inzicht te verwerven in hun huidige apparaat en omgeving, en deze piekfijn te onderhouden.

Het helpt al evenmin dat de oude apparaten zonder updates en bug fixes worden overgedragen aan jonge kinderen en tieners die niet over de knowhow beschikken om ze bij te werken. Hierdoor is de laatstgenoemde doelgroep ook vatbaarder voor aanvallers die gebruikmaken van psychologische trucs. Bijvoorbeeld: ‘Als je deze coole game van piratenwebsite X wilt installeren, moet je je antivirusoplossing uitschakelen, omdat die ten onrechte aangeeft dat het om kwaadaardige software gaat’.

En als nagel aan onze doodskist staan wij aan de vooravond van het tijdperk van 'the internet of things', dat de aanzet zal geven tot een hele nieuwe reeks van beveiligingsrisico’s. Bij de meeste van deze ‘dingen’ is het slecht gesteld met de beveiligingsupdates. Meestal vormen ze een sluitpost (snelle time-to-market en korte productlevenscyclus). En op een gegeven moment zijn er simpelweg teveel verbonden apparaten in het leven van mensen, zodat ze nooit de tijd vinden om ze allemaal bij te werken met de laatste updates.

De hier genoemde aantallen zijn gebaseerd op ruwe schattingen, en de kans is groot dat ze over een paar jaar als uiterst optimistisch worden gezien. Maar de essentie blijft hetzelfde: een overvloed aan ICT is een belangrijke oorzaak van de huidige puinhoop.

Tussen haakjes: het feit dat u netjes al uw software hebt bijgewerkt, wil nog niet zeggen dat u ook daadwerkelijk veilig bent. U leest dit artikel waarschijnlijk vanaf een apparaat dat minimaal 25 kritische kwetsbaarheden bevat waarvoor nog altijd geen patch beschikbaar is …

Adrianus Warmenhoven is security evangelist bij RedSocks