Nieuwe REST API fuzzer maakt digitale communicatie veiliger

De Nederlandse kennisinstelling TNO heeft een fuzzer ontwikkelt die de veiligheid van Application programming interfaces (API's) gemakkelijk en snel kan testen. De tool is open source en gratis verkrijgbaar.

Trefwoorden: #API, #applicatie, #communicatie, #testen, #TNO

Lees verder

research

( Foto: screen Github - WuppieFuzz )

ENGINEERINGNET.BE - Van een reis boeken tot het regelen van belastingzaken: het gaat vaak via applicaties.

Deze applicaties communiceren met elkaar via Application programming interfaces (API's).

Tegenwoordig zijn API's onmisbaar bij vrijwel elke digitale dienst. Vooral REST API's zijn populair, omdat ze een specifieke architectuur hebben die vooral goed werkt met webservices.

Een beveiligingslek door een fout van een REST API kan echter grote gevolgen hebben. REST API's communiceren met diverse applicaties én met gebruikers. Ook hebben ze vaak toegang tot bedrijfslogica en -data. Het is daarom extra belangrijk dat REST API's veilig en robuust zijn.

REST API's testen op veiligheid kan met Software Security Testing. Het uitvoeren van zo'n test is ingewikkeld en tijdrovend. Cyberveiligheid komt daarom vaak op de tweede plaats. Bedrijven testen dan wel de verwachte functionaliteit van hun REST API's, maar niet de veiligheid.

‘Dat is een probleem’, zegt Thomas Rooijakkers, cybersecurity onderzoeker bij TNO. 'Want een kleine fout kan soms grote gevolgen hebben. Laatst was er een incident waardoor allerlei vluchten geannuleerd moesten worden. Een kleine fout, die met software security testing was op te sporen, had nu miljarden euro's aan schade tot gevolg.'

Om de veiligheid van een REST API goed te testen, kun je veel semi-willekeurige data op de API afsturen. Deze data moeten lijken op data die de API normaal binnenkrijgt, maar nét een beetje afwijken

 Zo ontdek je fouten of beveiligingslekken die je met een functionaliteitstest niet boven water krijgt. Fuzz-testen, of fuzzing, genereert deze willekeurige invoergegevens automatisch voor het programma dat wordt getest.

Zelf fuzzing inzetten wordt vaak als uitdagend ervaren en beschikbare fuzzers zijn lastig in gebruik te nemen. Of het is onduidelijk wat de organisatie achter de fuzzer met jouw data doet.

De REST API fuzzer van TNO maakt het eenvoudiger om een fuzzer toe te passen en zo potentiële fouten in een REST API op te sporen. Rooijakkers: 'We vinden eigenlijk altijd wel iets als we de fuzzer voor het eerst toepassen.'

De fuzzer werkt voor elke REST API ​en ondersteunt codedekking voor Java, Javascript en Python. Ook biedt de fuzzer de mogelijkheid om eenvoudig nieuwe talen toe te voegen en zit deze privacy-technisch goed in elkaar: je data komt niet bij TNO of andere partijen terecht.

De gratis REST API-fuzzer is open source en beschikbaar op GitHub. Je kunt de fuzzer direct zelf proberen en gebruiken om de veiligheid, betrouwbaarheid en robuustheid van je REST API's te verbeteren.

Bijvoorbeeld bij een softwareontwikkelingscyclus, kwaliteitscontrole van de toeleveringsketen of penetratietesten. Het is ook mogelijk om samen met TNO aan de slag te gaan met de fuzzer. 

Rooijakkers: 'Bijdragen zijn erg welkom. Daarom doen we het ook open source. We willen de fuzzer beschikbaar stellen zonder gekke restricties én willen graag feedback en sturing ontvangen.'