Met de explosieve groei van procesautomatisering, data-uitwisseling en webapplicaties is de rol van application programming interfaces (API’s) belangrijker dan ooit. Deze vormen een cruciale verbinding tussen bijvoorbeeld front- en backoffice systemen, waardoor medewerkers soepel kunnen werken en transacties met klanten vlekkeloos verlopen. Tegelijkertijd vergroot dit het digitale aanvalsoppervlak aanzienlijk. API’s zijn een belangrijke aanvalsvector voor cyberaanvallers geworden. Daar moet je je als organisatie bewust van zijn, en je moet je er tegen wapenen.
Door Clifford Knook, presales engineer bij Tesorion
Tegenwoordig is ongeveer tachtig procent van het webverkeer API-gerelateerd. Het is dan misschien ook niet verwonderlijk dat veel organisaties geen volledig overzicht hebben van hun API’s en dat zij niet altijd beschikken over adequate documentatie. Dit gebrek aan inzicht bemoeilijkt het beheer en verhoogt het risico op beveiligingslekken, bijvoorbeeld door wijzigingen in de programmatuur. Bij ongeveer driekwart van de cyberaanvallen die via een webapplicatie plaatsvinden, ligt de oorzaak bij de API.
Web Application Firewall is niet voldoende
Toch onderschatten veel organisaties de risico’s van API’s. Het idee dat je veilig bent achter een firewall is een illusie Een aanvaller kan al binnen zijn en zoekt vervolgens naar waardevolle informatie. Bovendien controleert een firewall de autorisatie niet, waardoor misbruik van privileges altijd op de loer ligt.
Hoewel API’s doorgaans ingebouwde beveiligingsmaatregelen hebben, zoals authenticatie (wie ben jij?) en autorisatie (wat mag jij?), blijkt de praktijk vaak weerbarstiger. Cyberaanvallers weten namelijk dat API’s kwetsbaar kunnen zijn en maken hier gretig gebruik van. Een veelvoorkomende kwetsbaarheid is de BOLA (Broken Object Level Authorization). Dit is een kwetsbaarheid waarbij een aanvaller de autorisatiecontroles van een applicatie kan omzeilen door aanvragen te manipuleren. Dat kan door objecten of resources rechtstreeks te benaderen via bijvoorbeeld de URL of door direct een API call te doen naar een endpoint waar de aanvaller normaal geen toegang toe heeft. Een aanvaller kan hierdoor toegang krijgen tot gegevens of functionaliteiten waar deze normaal gesproken geen toegang toe zou moeten hebben, door bijvoorbeeld een ID-nummer van een object te wijzigen in een verzoek.
Dit type kwetsbaarheid is vergelijkbaar met IDOR (Insecure Direct Object Reference) maar kan breder worden toegepast op verschillende objecten of resources binnen een applicatie. Ter illustratie: Een aanvaller doet een legitieme aanvraag voor informatie, een zogenaamde API-call. Vervolgens wordt er door de applicatie de gewenste informatie teruggestuurd. In deze API-calls staat een uniek ID, dat gebruikt wordt om het gewenste antwoord te produceren. Dat unieke ID staat ook in de gegeven response. De aanvaller verandert vervolgens in de API-call dat unieke ID om hiermee te proberen toegang te krijgen tot informatie waartoe de aanvaller initieel niet bevoegd was.
Breng je API-landschap in kaart
Het is daarom essentieel om de beveiliging van API’s te versterken. Dit begint met het detecteren van kwetsbaarheden. OWASP (Open Worldwide Application Security Project) is een non-profitorganisatie die zich inzet voor het verbeteren van de beveiliging van software. Zij publiceren een overzicht met de top-10 kwetsbaarheden op API-gebied. Uit dit overzicht blijkt dat negen van de tien kwetsbaarheden te maken hebben met authenticatie- en/of autorisatieproblemen.
Stel jezelf de volgende vragen om een duidelijk beeld te krijgen van je API-landschap:
- Hoeveel API’s heb ik nu eigenlijk?
- Wat zijn de kenmerken van deze API’s qua omvang en bereik?
- Zijn er bestaande kwetsbaarheden?
- Wat voor soort verzoeken sturen we richting de API?
- Welke klanten hebben toegang en welke applicaties ontsluiten we hiermee?
Identificeer afwijkingen
Zodra je je API-landschap in kaart hebt gebracht, kun je een baseline vaststellen. Dit helpt bij het identificeren van afwijkingen in gedrag en verkeer, zodat je snel en effectief kunt reageren op bedreigingen. Het gebruik van een tool zoals Swagger, een open-source framework voor het ontwerpen, bouwen en documenteren van webservices, kan hierbij enorm helpen. Swagger maakt deel uit van de OpenAPI Initiative en biedt verschillende voordelen op het gebied van beveiliging:
- Duidelijke documentatie die je kunt delen met ketenpartners.
- Beveiligingsdefinities voor authenticatie en autorisatie.
- Consistente implementatie.
- Geautomatiseerd testen.
- Snellere detectie van kwetsbaarheden.
Geen concessies aan gebruiksgemak
Het is duidelijk dat API’s een essentieel onderdeel vormen van moderne webapplicaties, maar tegelijkertijd een aanzienlijk beveiligingsrisico inhouden. Om deze risico’s te mitigeren, is het noodzakelijk om een proactieve aanpak te hanteren. Breng je API’s in kaart, gebruik tools zoals Swagger voor betere documentatie en beveiliging, en zorg voor een continue monitoring en testing van je API’s. Zo bouw je aan een robuuste beveiliging en verklein je het digitale aanvalsoppervlak aanzienlijk – zonder dat hierbij concessies worden gedaan aan gebruiksgemak. Bescherm je organisatie tegen de onzichtbare aanvallen via API’s en zorg voor een veilige digitale omgeving voor zowel je medewerkers als je klanten.
Volg Security Management op LinkedIn