Maak het beveiligen van digitale applicaties top prioriteit
Tekst: Arjan Waardenburg, lead solutions architect bij OutSystems
Doordat traditionele softwareontwikkeling zoveel tijd kost en er continu druk is vanuit de business om sneller software op te leveren, schiet aandacht voor security er vaak bij in. Door te kiezen voor low-code softwareontwikkeling blijft er niet alleen meer tijd over om na te denken over beveiliging, de meeste maatregelen zijn ook nog eens ‘ingebakken’ in het ontwikkelplatform.
Wat is een low-code development platform?
Om dit te verduidelijken eerst even kort iets over low-code. Een low-code development platform (LCDP) stelt je in staat om op een modelgedreven en grafische manier applicaties te ontwikkelen, gebruikmakende van drag & drop functionaliteiten. Het platform neemt daarbij alle zogenaamde non-functionals voor zijn rekening.
Dat zijn zaken naast security ook zaken als schaalbaarheid, performance, de user interface en audit trails. Developers kunnen op deze terreinen terugvallen op de ingebouwde best practices, zodat ze hun tijd kunnen besteden aan het leuke deel van hun werk: het ontwikkelen van functionaliteiten waar de business écht iets aan heeft.
Rijke patroon evaluatie herkent onveilige situaties
Eén van de taken die een SOC 2 compliance cloud gebaseerde LCDP kan overnemen, is het analyseren van security breaches: hoe is een aanval uitgevoerd? Welke stappen heeft de aanvaller gezet? Dit komt neer op het analyseren van ontzettend veel data. Het behoeft geen betoog dat software hier beter in is dan mensen.
Met behulp van artificial intelligence en machine learning voert OutSystems daarnaast continu patroon evaluatie uit. Bij opvallend gedrag binnen een applicatie dat afwijkt van het normale patroon, worden de security-specialisten gewaarschuwd. OutSystems heeft hiervoor een Security Operations Center (SOC) in het leven geroepen dat alle applicaties die op basis van dit LCDP zijn ontwikkeld 24/7 monitort.
Een andere manier waarop AI en ML worden ingezet, is het identificeren als er dingen gebeuren aan de ontwikkelkant die een kwetsbaarheid in de software zouden kunnen veroorzaken. Het LCDP herkent bijvoorbeeld dat je een invoerveld maakt en biedt op dat moment best practices aan hoe je dat inputveld moet beveiligen. Gebruik je één van de standaard widgets om een invoerveld te creëren, dan zal deze al standaard beveiligd zijn.
Beveilig de volledige dataflow en niet alleen de applicatie
Veel LCDP’s bieden voorgedefinieerde templates aan die je kunt gebruiken bij je applicatieontwikkeling. OutSystems heeft die templates zo ontwikkeld dat de volledige dataflow wordt beveiligd en niet alleen maar de data in de desbetreffende applicatie.
Bij traditionele softwareontwikkeling kunnen ontwikkelaars alleen maar de coderegels beveiligen die zij programmeren. Een architect houdt zicht op de dataflow en daarmee op het onderwerp ‘security by design’. OutSystems stelt echter de volledige context en de daarbij horende dataflow centraal. Daarmee neemt het platform dus een deel van de architectenrol over.
Life cycle management
Een sterk punt van veel LCDP’s is life cycle management (LCM). DevOps-teams krijgen proactief een seintje als het tijd is om een in gebruik zijnde applicatie nog eens te reviewen. Zeker nu de business zich steeds sneller moet aanpassen aan veranderende klanteisen, verandert het IT-landschap voortdurend.
Daarom is LCM nog belangrijker geworden. Voor je het weet zijn er immers nog ergens tien jaar oude regels code in gebruik die al lang niet meer veilig zijn. Dat voorkom je door software te ontwikkelen in een modelgedreven LCDP. Door simpelweg het model opnieuw in te zetten, wordt er een code gegenereerd die gebruik maakt van de nieuwste patronen.
LCDP richt zich op het beveiligen onderliggende technologie
Een andere zorg die veel LCDP’s uit handen nemen, is die voor de onderliggende technologie die nodig is om je applicaties up-and-running te houden. Daarbij gaat het om security controls op het gebied van infrastructuur, identity management en rolgebaseerde toegang voor gebruikers van de applicatie, rolgebaseerde toegang voor softwareontwikkelaars, en policies waarbij ontwikkelaars elkaars werk controleren.
Neem security mee in je selectiecriteria
Kortom, door software in low-code te ontwikkelen, profiteer je niet alleen van alle voordelen die low-code biedt op ontwikkelvlak, maar kun je ook invulling geven aan ‘security by design’. Maar let op: lang niet alle LCDP’s bieden dezelfde functionaliteit. Is security voor jouw organisatie een speerpunt? Vergeet dan niet om specifiek voor dit thema selectiecriteria op te stellen.