Het ontwikkelen van veilige software is een complexe aangelegenheid. Dit geldt voor applicaties zoals DigiD, maar ook voor frameworks waar deze op gebaseerd zijn. In dit geval Ruby on Rails. Dit lek treft iedereen die de specifieke Ruby on Rails componenten gebruikt waar het lek in gevonden is.
In de afgelopen jaren zijn verschillende security holes gevonden in Ruby on Rails. Het huidige lek is de volgende in deze reeks. Het betreft hier het kunnen gebruiken van dynamische functies om de database te bevragen waarbij ook sql-commando’s kunnen worden meegegeven. Hiermee kunnen ongeautoriseerde gebruikers willekeurige gegevens uit de database opvragen. Het betreft een traditioneel geval van sql-injectie, iets wat geregeld voorkomt.
Vanuit het toenemende gebruik en de volwassenheid van de software mag enerzijds verwacht worden dat er steeds minder security holes gevonden worden in Ruby on Rails. Anderzijds leidt toegenomen gebruik ook tot een groter aantal functionele uitbreidingen en wijzigingsverzoeken. Het beheersen van alle (security) issues wordt daardoor verder bemoeilijkt. Je kan er als ontwikkelaar dus niet vanuit gaan dat frameworks foutenvrij zijn. Informatie over het ‘verwachte gebruik’ van frameworkfunctionaliteit moeten zeker argwaan wekken. Je moet je afvragen wat dan ‘onverwacht gebruik’ betekent. Ontwikkelaars en architecten die dergelijk frameworks gebruiken, dienen zorg te dragen voor het gedegen ontwerpen, coderen en reviewen van welke features in welk framework dan ook. Dit is een van de belangrijkste pijlers voor veilige software.
Wilbert van den Bliek
Managing director
SQS Nederland