Gartner spreekt de verwachting uit dat de wereldwijde low-code-markt in 2021 met bijna een kwart toeneemt. De stijgende vraag naar low-code is te danken aan de coronacrisis, de populariteit van saas en hyperautomatisering. Aan de andere kant zien we het aantal ransomware-aanvallen toenemen. In dit licht gaan applicaties gebouwd met low-code-technologie een belangrijke rol spelen in het verbeteren van het veiligheidsprofiel van een organisatie.
In de praktijk evenwel blijkt dat een groot deel van de organisaties beveiliging als de grootste uitdaging ziet als het gaat om low-code-platformen. Wat zijn de voors en tegens als het gaat om security bij low-code?
Beveiliging van applicaties
Ontwikkelteams zijn verantwoordelijk voor de beveiliging van de applicaties die ze leveren. Het is een belangrijk onderdeel van de applicatie, want een security-probleem heeft grote gevolgen. Denk aan dataverlies, het overtreden van de AVG, boetes en reputatieschade. Er gaat dan ook veel werk in zitten om een applicatie waterdicht te maken. Low-code-platformen besparen ontwikkelaars tijd en moeite door het automatisch gebruik van veilige code-patronen, standaardtoepassing van encryptie voor data in transit en eventueel data at rest en het inregelen van veiligheidsregels.
Daarnaast zijn devops-processen en tooling vaak onderdeel van het low-code-platform, om een veilige cyclus van softwareontwikkeling te garanderen. Door het gebruik van een beveiligingsmodel worden de verantwoordelijkheden in de devops-processen duidelijk toegewezen, waardoor er direct een sterk fundament komt te liggen voor veilige softwareontwikkeling.
Beveiliging van de infrastructuur
Doordat low-code-platformen in de regel gehost worden in een cloud-infrastructuur, zijn er meerdere lagen van operationele en fysieke beveiliging ingericht om de applicaties en klantgegevens te beschermen tegen onbevoegde toegang en malware. De cloud-infrastructuurbeveiliging wordt gewaarborgd door zowel de beveiligingscontroles van de hostingpartij als door de standaarden van het low-code-platform zelf. Vaak zijn deze van toepassing op alle infrastructuurcomponenten, zoals het netwerk, het besturingssysteem, de database en applicatieservers. Ook voor het voorkomen van ddos-aanvallen, man-in-the-middle-aanvallen, ip spoofing en port scanning zijn voorzieningen getroffen.
Bovendien zijn de fysieke locaties van de datacenters goed beveiligd; de toegang tot de systemen is beveiligd met multi-factorauthenticatie en stepping stone mechanismen. Tenslotte worden applicaties, logging en backups uitgevoerd en bewaard op verschillende locaties dan wel beschikbare zones.
Continue security monitoring
Low-code-platformen en hun hostingpartners hanteren een proactieve benadering van beveiligen. Zo wordt continu gekeken of er indicatoren zijn van bedreigingen, zoals hoog cpu-gebruik, weinig schijfruimte en beschikbaar geheugen en andere indicatoren.
Alarmerende signalen? Dan komen de zelfherstellende mechanismen of de securityteams van het low-code-platform in actie. Verder zorgen beheerconsoles voor gedetailleerde audit trails met informatie over activiteiten van onder andere de ontwikkelaars, de eindgebruikers, het gebruik van api’s en de performance van database queries. Organisaties kunnen deze audit logs gebruiken als primaire tool voor continue security monitoring. Of ze integreren deze logs in aanwezige security information and event management (siem)-systemen om een holistische view te hebben over alle systemen en applicaties heen.
Security-uitdagingen van low-code
Maar het is niet allemaal goud dat blinkt. Een van de grootste uitdagingen van low-code is dat het voor organisaties moeilijk kan zijn om grip te krijgen op wat hun medewerkers aan het bouwen zijn, met name in het geval van citizen development. Met een beetje pech ontwikkelen zij een applicatie die allerhande data ontsluit zonder authenticatie en autorisatie in te richten. Vandaar dat je een low-code-platform ook vanuit de it-organisatie moet adopteren en ondersteunen, zodat er mogelijkheden zijn om authenticatie eenduidig in te richten, om role based access op te zetten en om integratie op een juiste en veilige manier te ontsluiten.
Daarbovenop kan it dan governance toepassen, om inzichtelijk te hebben of er geen zwakke punten in de ontwikkelde oplossingen zitten, de best practices gevolgd zijn en de architectuur goed in elkaar zit.
Hoe monitor je security die niet zichtbaar is?
Een andere uitdaging bij veel low-code-platformen is dat het moeilijk dan wel onmogelijk is om ‘static code analysis’ te doen, aangezien de ontwikkelde applicaties geïnterpreteerd worden. Het component dat daarvoor gebruikt wordt, de runtime interpreter, is als het ware een zwarte doos. De code- en beveiligingscontroles zijn niet zichtbaar voor de organisatie en niet goed te testen. En dan zal je moeten vertrouwen op audits van derden, ISO en soc-certificeringen, service level agreements en zelfs cyberbeveiliging-verzekeringen.
Wanneer een platform aan codegeneratie doet, is deze statische analyse wel mogelijk en kan er met standaard tooling inzicht verkregen worden in de veiligheid van de applicaties. Toch is het aan te raden om in een vroeg stadium, nog voor het gebruik van low-code, veilige softwareontwikkelingsprocessen aan te houden, waarbij het modelleren van dreigingen een belangrijke rol vervult.
Het is duidelijk: bij low-code wordt een breed scala aan maatregelen al standaard in de applicaties en infrastructuur meegenomen. Door deze standaardisering zijn er niet alleen voordelen op het gebied van security, maar ook op het gebied van risk en compliance.
En wie gaat de race winnen? Zowel het aantal low-code-applicaties als het aantal ransomware-aanvallen groeit. Laten we hopen dat low-code harder groeit, zodat we met elkaar de groei in ransomware-aanvallen afremmen.
(Auteur José Casinha is chief information security officer bij OutSystems.)
Het advies om al in een vroeg stadium, dus nog voor het gebruik van low-code, veilige (software)ontwikkelingsprocessen aan te houden waarbij het modelleren van dreigingen een belangrijke rol vervult is goed maar stelt indirect ook dat er misschien wel een causaal verband zit tussen ransomware en low-code door de ‘blackbox’ van een runtime interpreter. Ik ben als script-kiddie dan ook al sinds (V)Basic verliefd op interpreters, cryptische taalvirtuositeit verwijst naar de eerste vorm van ransomware via het aanvalsvlak gebruikers. Op het gebied van risico’s en compliance is er namelijk nog zoiets als de citizen developer die niet direct aan veilige ontwikkelingsprocessen denkt maar aan het gemak van automatiseren. Een Role Based Access Control is dan misschien niet meer toereikend.