API’s zijn de zwakste schakel, maak nu werk van betere beveiliging

Peter Rietveld

Peter Rietveld is Security Architect bij Traxion

Bovenaan de prioriteitenlijst staan ze bij veel IT-securityprofessionals nog niet. Toch vormen API’s de zwakke plek van veel organisaties, iets dat mede door de groei van het internet of things (IoT) en DevOps met containers op cloudplatformen snel erger wordt. Sterker nog, in 2022 zijn API’s volgens Gartner de meest voorkomende oorzaak van datalekken. Bedrijven die hun IT-security serieus nemen, doen er dus verstandig aan werk te maken van hun API-beveiliging. Ook al is dat niet altijd even eenvoudig.

Koelkasten, auto’s, bewegingssensoren… als we smartphones, tablets en laptops buiten beschouwing laten is het aantal met het internet verbonden apparaten in de afgelopen vier jaar meer dan verdubbeld. Wereldwijd zijn er volgens IOT Analytics momenteel zo’n 8 miljard verbonden apparaten, en dat cijfer neemt in de komende jaren alleen nog maar toe. Aangezien de meeste IoT-apparaten via een API communiceren, betekent dat ook dat het aantal API’s in de komende jaren flink groeit. En dan hebben we het nog niet eens over verschillende applicaties die data uitwisselen via API’s of het gebruik van microservices of robotic process information.

Vals gevoel van veiligheid

Erg geruststellend is die gedachte niet, als we kijken naar hoe organisaties momenteel met hun API’s omgaan. Veel bedrijven maken zich om de veiligheid niet zo’n zorgen, en redeneren dat het wel veilig zal zijn omdat er geen mensen aan te pas komen. Een vals gevoel van veiligheid, want hoewel de menselijke factor vaak inderdaad een belangrijk rol speelt bij veiligheidsincidenten, kan het gebrek daarvan ook juist een zwakke plek vormen. Met name voor wat betreft authenticatie.

Bij een account dat wordt gebruikt door een menselijke gebruiker kan je multi-factorauthenticatie toepassen, maar bij API-accounts al een stuk moeilijker: biometrie en andere sterke authenticatie is iets gemaakt om mensen te herkennen. Computers zijn ook zelden in staat zelf een nieuw wachtwoord in te stellen. Het authentiseren van een computer is  dan ook nauwelijks mogelijk: het enige dat we daarvoor hebben is certificaten. En zonder hardwarebeveiliging is een certificaat net zo sterk als een cookie – een kleddertje bytes.

Voor authenticatie zijn we in de praktijk altijd afhankelijk van een gebruikersnaam en wachtwoord. OAuth – wat vaak als antwoord wordt gepresenteerd – is hierbij ook niet het antwoord op alle problemen, omdat de daarbij afgegeven token of cookie pas kan worden geplaatst ná authenticatie. En ja, daar heb je dan weer een wachtwoord voor nodig.

Per account een limiet op het aantal foutieve inlogpogingen instellen om brute-force-aanvallen te voorkomen is bovendien nogal stom. Zo’n limiet blokkeert de account na een aantal pogingen, en dan doet de applicatie het dus niet meer. Een pracht van een denial of service, omdat veel bedrijfskritische applicaties afhankelijk zijn van API’s. Het stilleggen bedrijfsprocessen wordt voor een hacker dan zo makkelijk als achter elkaar de verkeerde inloggegevens invullen.

Juiste versleuteling uiterst zeldzaam

Een ander risico is dat API-security grotendeels afhankelijk is van versleuteling en van protocollen zoals SSL en SSH. Als die goed worden geïmplementeerd vormen ze een prima basis voor de beveiliging, maar het probleem is dat niet veel mensen dat kunnen. Sterker nog, de gevallen waarin beveiligde verbindingen helemaal foutloos worden geïmplementeerd zijn uiterst zeldzaam. Tel daarbij op dat API-accounts in veel gevallen over verregaande autorisatie beschikken en het is duidelijk dat deze accounts een gewild doelwit zijn voor aanvallers.

Wat organisaties kunnen doen om te voorkomen dat API’s de zwakke plek van hun beveiliging vormen? Dat begint met het in kaart brengen van de API’s die ze gebruiken en de functies die ze hebben. Door de autorisaties die de bijbehorende accounts hebben terug te dringen tot het puur noodzakelijke is het al mogelijk om een deel van de risico’s te beperken. Een overzicht van de in de organisatie aanwezige API’s maakt het bovendien eenvoudiger om ervoor te zorgen dat overal de juiste patches en updates zijn geïnstalleerd.

Studeren, studeren en studeren

Maar het belangrijkste is misschien wel om te accepteren dat API-security een ingewikkelde zaak is, waarvoor er geen eenvoudige oplossing bestaat. Er is geen one-size-fits-all-tool die alle problemen oplost. Encryptie is nu eenmaal niet makkelijk en elke soort API vraagt weer om zijn eigen maatregelen. Voor securityprofessionals komt het erop neer dat ze moeten studeren, studeren en nog eens studeren. Wie wil voorkomen dat zijn organisatie in 2022 de klos is, begint daar vandaag al mee.