Digitale weerbaarheid

De top 3 API-beveiligingsrisico's en hoe je ze kunt beperken

7 minuten leestijd

Een 'application programming interface’, oftewel API. Is een set van regels en protocollen waarmee verschillende softwareapplicaties en diensten met elkaar kunnen communiceren en gegevens kunnen uitwisselen. Maar omdat ze een direct pad bieden naar back-end databases, zijn API's ook een aantrekkelijk doelwit voor dreigingsactoren. Het helpt niet mee dat het aantal API's de afgelopen jaren explosief is toegenomen, waardoor veel implementaties niet gedocumenteerd en onbeveiligd zijn.

Volgens een recent onderzoek heeft 94% van de wereldwijde organisaties het afgelopen jaar te maken gehad met API-beveiligingsproblemen in de productie, en bijna een vijfde (17%) met een API-gerelateerde inbreuk. Het is tijd om zichtbaarheid en controle te krijgen over deze digitale bouwstenen.

 

Wat staat er op het spel?

API's zijn de sleutel tot de composable enterprise: een concept van Gartner waarin organisaties worden aangemoedigd om hun applicaties op te splitsen in packaged business capabilities (PBC's). Dit is een concept waarbij bedrijfsprocessen en functionaliteiten worden gegroepeerd en aangeboden als kant-en-klare oplossingen, meestal in de vorm van softwarepakketten of diensten. Het idee is dat het samenstellen van deze kleinere componenten op verschillende manieren bedrijven in staat stelt om sneller te reageren en nieuwe functionaliteit en ervaringen te creëren als reactie op snel veranderende bedrijfsbehoeften. API's zijn een cruciaal onderdeel van PBC's, waarvan het gebruik de laatste tijd sterk is toegenomen door de toenemende toepassing van microservices-architecturen. In een microservice-architectuur is een toepassing opgesplitst in een reeks onafhankelijk implementeerbare services die communiceren via API's.

Bijna alle (97%) wereldwijde IT-leiders zijn het er dan ook over eens dat het succesvol uitvoeren van een API-strategie van vitaal belang is voor toekomstige inkomsten en groei. Maar in toenemende mate is de enorme hoeveelheid API's en hun verdeling over meerdere architecturen en teams een bron van zorg. In een grote onderneming kunnen er tienduizenden of zelfs honderdduizenden API's zijn voor klanten en partners. Zelfs middelgrote organisaties kunnen er duizenden hebben.

Wat is de impact op bedrijven?

De dreigingen zijn er serieus, dit jaar alleen al hebben we de volgende situaties gezien:

  • T-Mobile USA gaf toe dat 37 miljoen klanten via een API toegang hadden gekregen tot hun persoonlijke en accountgegevens van een kwaadwillende.

  • Verkeerd geconfigureerde Open Authorization implementaties op Booking.com hadden ernstige aanvallen op gebruikersaccounts op de site mogelijk kunnen maken.

Niet alleen de bedrijfsreputatie en het bedrijfsresultaat lopen gevaar door API-dreigingen, ze kunnen ook belangrijke bedrijfsprojecten vertragen. Meer dan de helft (59%) van de organisaties zegt dat ze de uitrol van nieuwe apps hebben moeten vertragen vanwege zorgen over API-beveiliging. Dat is één van de redenen waarom het nu een gespreksonderwerp is op C-level voor de helft van de directies.

 

De top 3 API risico's

Er zijn tientallen manieren waarop hackers misbruik kunnen maken van een API, maar OWASP is de bron, bij uitstek voor diegenen die de grootste dreigingen voor hun organisatie willen begrijpen. De OWASP API Security Top 10 2023 lijst geeft de drie belangrijkste beveiligingsrisico's weer:

 

1. Broken Object Level Authorization (BOLA) 

API slaagt er niet in om te controleren of een aanvrager toegang zou moeten hebben tot een object. Dit kan leiden tot diefstal, wijziging of verwijdering van gegevens. Aanvallers hoeven alleen maar te weten dat het probleem bestaat - er zijn geen hacks of gestolen wachtwoorden nodig om BOLA uit te buiten.

 

2. Gebroken verificatie

Ontbrekende en/of verkeerd geïmplementeerde authenticatiebescherming. API-authenticatie kan "complex en verwarrend" zijn voor veel ontwikkelaars, die verkeerde ideeën kunnen hebben over hoe te implementeren, waarschuwt OWASP. Het authenticatiemechanisme zelf is ook voor iedereen toegankelijk, waardoor het een aantrekkelijk doelwit wordt. API endpoints die verantwoordelijk zijn voor authenticatie moeten anders worden behandeld dan andere, met verbeterde bescherming. En elk authenticatiemechanisme dat wordt gebruikt, moet geschikt zijn voor de relevante aanvalsvector.

 

3. Broken Object Property Level Authorization (BOPLA)

Aanvallers kunnen de waarden van objecteigenschappen lezen of wijzigen, waartoe ze geen toegang mogen hebben. API endpoints zijn kwetsbaar als ze de eigenschappen van een object blootgeven die als gevoelig worden beschouwd ("excessieve gegevensblootstelling"); of als ze een gebruiker toestaan de waarde van een gevoelige objecteigenschap te wijzigen, toe te voegen en/of te verwijderen ("massatoewijzing"). Ongeautoriseerde toegang kan resulteren in het openbaar maken van gegevens aan onbevoegde partijen, gegevensverlies of gegevensmanipulatie.

 

Het is ook belangrijk om te onthouden dat deze kwetsbaarheden elkaar niet uitsluiten. Enkele van de ergste API-gebaseerde datalekken zijn veroorzaakt door een combinatie van exploits zoals BOLA en overmatige blootstelling van gegevens. Exploits zijn een slimme manier die kwaadwillende mensen kunnen gebruiken om toegang te krijgen tot een computer of systeem zonder toestemming, maar door het systeem te updaten kunnen deze zwakke plekken worden gerepareerd en wordt de beveiliging versterkt.

 

Hoe kun je API-dreigingen beperken

Gezien wat er op het spel staat, is het van vitaal belang dat je vanaf het begin beveiliging inbouwt in elke API-strategie. Dat betekent dat je moet begrijpen waar al je API's zich bevinden en dat je tools en technieken moet implementeren om endpoint authenticatie te beheren, netwerkcommunicatie te beveiligen, veelvoorkomende systeemfouten te beperken en de dreiging van slechte bots aan te pakken.

Hier zijn een paar punten die je aan kunt pakken:

  • Verbeter het API-bestuur door een API-app-ontwikkelingsmodel te volgen waarmee je zichtbaarheid en controle krijgt. Hierdoor verschuift de beveiliging, om controles vroeg in de levenscyclus van de softwareontwikkeling toe te passen en deze te automatiseren in de CI/CD-pijplijn. De CI/CD-pijplijn is een geautomatiseerd proces dat helpt bij het efficiënter ontwikkelen en leveren van software, waardoor het gemakkelijker wordt om fouten te verminderen en nieuwe functies sneller uit te rollen.
  • Implementeer een API-gateway die clientverzoeken accepteert en ze naar de juiste backend services leidt. Deze beheertool zal je helpen bij het authentiseren, controleren, monitoren en beveiligen van API-verkeer. Een voorbeeld van een API-gateway is ‘Amazon API Gateway’, een service die wordt aangeboden door Amazon Web Services (AWS). Amazon API Gateway fungeert als een volledig beheerde service op een schaalbare en betrouwbare manier.
  • Voeg een web application firewall (WAF) toe om de beveiliging van je gateway te verbeteren en kwaadaardig verkeer te blokkeren, waaronder DDoS en pogingen tot uitbuiting.
  • Alle gegevens versleutelen die door API's gaan, zodat ze niet kunnen worden onderschept in man-in-the-middle-aanvallen.
  • Gebruik OAuth voor het regelen van API-toegang tot bronnen zoals websites zonder de gebruikersgegevens vrij te geven.
  • Pas snelheidsbeperking toe om te beperken hoe vaak jouw API kan worden aangeroepen. Dit vermindert de dreiging van DDoS-aanvallen en andere ongewenste pieken.
  • Gebruik een monitoringtool om alle beveiligingsgebeurtenissen te registreren en verdachte activiteiten te signaleren.
  • Overweeg een zero trust-benadering, waarbij geen gebruikers, bedrijfsmiddelen of bronnen binnen de grenzen kunnen worden vertrouwd. In plaats daarvan moet je bewijs van authenticatie en autorisatie eisen voor elke bewerking.

 

Digitale transformatie is de brandstof voor duurzame groei voor de moderne onderneming. API's staan daarom centraal in elk nieuw ontwikkelingsproject. Ze moeten zorgvuldig worden gedocumenteerd, worden ontwikkeld met secure-by-design principes en in productie worden beschermd met een gelaagde aanpak.