Inzichten over JWT- en OAuth 2.0-beveiliging
Eerder deze maand woonden Lene en Joris de OWASP Top 10-meetup in Diegem bij, waar enkele verhelderende discussies over webbeveiliging plaatsvonden. Één opvallende sessie ging over JSON Web Tokens (JWT), een veelgebruikte technologie om informatie veilig tussen twee partijen over te dragen, doorgaans als een token. JWT's zijn krachtige hulpmiddelen die naadloze authenticatie over diensten en applicaties heen mogelijk maken. Maar, zo leerde ik, zelfs zulke robuuste systemen brengen potentiële risico's met zich mee.
De talk, gegeven door Louis Nyffenegger, oprichter van PentesterLab, ging dieper in op praktijkvoorbeelden van aanvallers die met succes kwetsbaarheden in JWT's uitbuiten. Zijn inzichten benadrukten het belang van proactief blijven in het identificeren en aanpakken van deze risico's, iets wat we bij nFuse ter harte nemen door onze focus op continue verbetering en proactiviteit.
Encryptie
Nyffenegger begon met een uitleg over de twee soorten encryptiemethoden die in JWT's worden gebruikt: symmetrisch en asymmetrisch.
- Symmetrische encryptie berust op één gedeelde sleutel om de JWT te maken en te verifiëren.
- Asymmetrische encryptie maakt gebruik van twee sleutels: een privésleutel om de JWT te ondertekenen en een publieke sleutel om die te verifiëren. Alleen de houder van de privésleutel kan de JWT aanmaken, maar iedereen met de publieke sleutel kan die valideren.
Hoewel JWT's ontworpen zijn om veilig te zijn, hebben aanvallers methoden ontwikkeld om de handtekeningverificatie te omzeilen en tokens te manipuleren. Een opvallend voorbeeld is het uitbuiten van het handtekeningalgoritme, dat de integriteit van het token waarborgt. Nyffenegger toonde aan hoe sommige systemen het "none"-algoritme nog steeds toelaten. Dat neemt in wezen de noodzaak van een handtekening weg en opent het de deur voor kwaadwillige uitbuiting.
Naast JWT sprak dr. Philippe De Ryck, oprichter van Pragmatic Web Security, over OAuth 2.0, een veelgebruikt loginframework. Hoewel het vaak als betrouwbaar wordt beschouwd, belichtte de talk hoe veelvoorkomende misconfiguraties en praktijken rond OAuth 2.0 apps kwetsbaar kunnen maken voor aanvallen. Bij nFuse leggen we de nadruk op transparantie met onze klanten en zorgen we ervoor dat beveiligingsmaatregelen en potentiële risico's duidelijk worden gecommuniceerd, zodat ze weloverwogen beslissingen kunnen nemen.
Één oplossing die eruit sprong, was het Backend-for-Frontend-patroon (BFF), dat het risico minimaliseert door gevoelige data, zoals tokens, op een beveiligde backendserver te houden in plaats van in de browser. Door deze tokens in de backend te isoleren, hebben aanvallers minder kans om ze te onderscheppen, zelfs als ze de frontend compromitteren. Deze aanpak sluit aan bij de toewijding van nFuse om onze klanten te ontzorgen door betrouwbare oplossingen te bieden die problemen voorkomen voordat ze zich voordoen.
"Ik vond deze talks boeiend, met inhoud die mijn interesse wekte. De presentatiestijl was aangenaam en hield mijn aandacht de hele avond vast." Lene, Technical Consultant
Afronding
Het bijwonen van deze sessies was een waardevolle herinnering dat webbeveiliging een evoluerend vakgebied is. Er is altijd meer dat we kunnen doen om onze systemen en data te beschermen. Onze aanpak bij nFuse weerspiegelt deze principes via duidelijke SLA's en een partnerschapsmodel dat de operaties van onze klanten beschermt. Tegelijk blijven we onze processen achter de schermen verbeteren.