02-05-2022 Door: Cindy Blake

In vijf stappen naar betere applicatiebeveiliging

Deel dit bericht

Open source-technologieën en softwarecode repository's verlagen ongetwijfeld de drempel om te innoveren en versnellen de time-to-market van organisaties - Statista voorspelde in 2021 dat de wereldwijde inkomsten uit mobiele applicaties 935 miljard dollar zullen zijn in 2023. Maar hoe zit het met de beveiligingsrisico's die inherent zijn aan deze groei?

Organisaties die innoveren en gebruikmaken van open source tools om een concurrentievoordeel te behalen staan in de belangstelling, maar er is minder aandacht geweest voor de beveiliging van applicaties. Terwijl elke laag die een developer aan een applicatie toevoegt meer risico’s met zich meebrengt; het verhoogt de kans op datalekken en vergroot het aanvalsoppervlak. Daarnaast bevat de applicatiecode zelf vaak ook kwetsbaarheden.

Een uitdaging die hier nauw mee samenhangt, is developers en security professionals nauwer te laten samenwerken en security tools en -processen binnen het DevOps-proces te verankeren. Ons eigen onderzoek onder 4.300 professionals laat zien dat organisaties nog steeds worstelen met het bepalen wie er verantwoordelijk is voor security, waarbij 31% van de security professionals aangeeft er zelf volledig verantwoordelijk voor te zijn, maar bijna evenveel ondervraagden - 28% - zegt dat iedereen er verantwoordelijk voor is. Ook uit andere onderzoeken blijkt dat er een kloof is tussen het uitbrengen van applicaties en het vermogen van organisaties om deze te testen, hetzij door verwarring over de verantwoordelijkheden voor het testen, hetzij doordat developers niet beschikken over de juiste tools om te testen. Sommige onderzoekers beweren zelfs dat 80% van de ontwikkelaars toegeeft, dat ze wel eens bewust code met problemen vrijgegeven heeft.

Toonaangevende DevOps-bedrijven geloven dat het verbeteren van de beveiliging van applicaties afhangt van het combineren van de functionaliteit van een modern DevOps-platform met holistische security programma's om IT-teams in staat te stellen effectieve controle en zichtbaarheid van hun groeiende softwareleveringsketens te krijgen. Onderstaande stappen helpen hierbij. Ze zorgen voor een optimale combinatie van mensen, samenwerking tussen teams, processen en tools.

Stap 1: Evalueer de security hygiene en let daarbij op nieuwe aanvalsoppervlakken
Bij veel aanvallen wordt er misbruik van gemaakt dat organisaties nalaten om basismaatregelen op het gebied van cyber hygiene toe te passen, zoals de installatie van patches en het gebruik van sterke en unieke wachtwoorden. Cyber criminelen maken ook vaak gebruik van kwetsbaarheden die al langer bestaan. Deze eerste stap is op zichzelf niet nieuw, maar de omvang ervan wel.
Organisaties moeten hun security policy's onder de loep nemen en potentiële attack surfaces onderzoeken in hun software development, containers, orchestrators en infrastructure as code. Wordt er gebruikgemaakt van multi-factorauthenticatie? Zijn er secrets blootgelegd? Bedrijven moeten daarnaast hun beheerinstellingen aanpassen om overzicht en toegangsbeheer te optimaliseren.

Stap 2: Automatiseer scans, beleidsregels en compliance
Veel organisaties zijn verrast als ze horen hoeveel zwaar werk DevOps-tools uit handen kunnen nemen voor wat betreft testen en compliance.
Worden binnen jouw organisatie security-scans geautomatiseerd in gestandaardiseerde CI-pipelines? De meeste professionals maken gebruik van static application security testing (SAST) en/of dependency scans. Elk type scan brengt weer andere soorten kwetsbaarheden aan het licht. Het probleem is alleen dat het loslaten van meerdere losstaande scanoplossingen op de complete applicatieportefeuille, behoorlijk duur kan zijn.

Bedrijven die met grote teams van developers en complexe tools werken, hebben mogelijk niet de laatste innovaties op DevSecOps-gebied en het groeiende aanbod van security- en scanoplossingen bijgehouden. Deze producten kunnen met net zoveel succes worden ingezet door startups als middelgrote tot grote organisaties, voor het automatiseren van taken zoals het scannen van code en het waarborgen van een hechtere samenwerking tussen senior IT-managers, developers en security professionals. Dat komt doordat ze makkelijker in het gebruik zijn dan een verzameling van losstaande oplossingen.

Een integraal DevOps platform kan uitgebreide scans van applicaties bieden met SAST, dynamic application security testing (DAST), dependency, container scanning, fuzz testing en detectie van secrets. Developers kunnen op die manier drie belangrijke dingen doen:
• Alle code van de organisatie scannen
• Elke codewijziging scannen: toonaangevende DevOp-tools maken het mogelijk om applicaties te scannen op elke codewijziging, waarbij gebruik gemaakt wordt van verschillende scanmethoden. De beste CI-tools bieden zelfs de mogelijkheid om DAST-scans uit te voeren binnen de CI-pipeline middels review-applicaties.
• Fuzz testing gebruiken om riskante fouten te vinden die niet in het CVE-systeem voorkomen. De security scans van toonaangevende DevOps-platforms bevatten coverage-guided fuzztests en behavorial tests voor web-API’s en internettools.

Stap 3: Bescherm applicatie-infrastructuren
Moderne applicaties scharnieren op veel meer dan alleen code. Je moet ook rekening houden met de cloud-native infrastructuur, zoals Docker en Kubernetes. Scan containers en pas SAST toe op Helm-grafieken. Overweeg het gebruik van container host security en container network security monitoring. Het is ook mogelijk om open source tools zoals Falco of AppArmor binnen de CI-omgeving in te zetten. Deze genereren waarschuwingen om te voorkomen dat servers onverwachte dingen doen, zoals het wijzigen van geplande taken of de OS-configuratie.

Developer- en security-teams moeten ook minder voor de hand liggende aspecten zoals het containerregister checken. Welke werknemers hebben schrijfrechten? Als cybercriminelen het systeem van één medewerker hacken, kunnen zij daarmee toegang krijgen tot het containerregister. Via de pipelines zouden zij vervolgens kwetsbaarheden in verschillende softwareprojecten kunnen introduceren.

Stap 4: Beveilig de software factory
Moderne DevOps-platforms zijn ontwikkeld om de beveiliging van de software factory te vereenvoudigen. Daartoe bieden ze een centrale locatie voor het beheer van de toegang en beleidsregels voor de software factory in combinatie met herhaalbare, meetbare processen Best practices zijn onder meer:
• Het toepassen van zero trust: maatregelen zoals het beperken van de toegangsrechten tot het strikt noodzakelijke, plus authenticatie voor alle entiteiten in de software supply chain;
• Het versterken van de beveiliging van DevOps-instances en het regelmatig controleren daarvan;
• Attestatie en ondertekening van code;
• Het gebruik van de nieuwste tools voor de detectie van kwaadaardige code in dependencies;
• Het gebruik van CI/CD-variabelen om het gedrag van pipelines te definiëren. Het toepassingsgebied van CI/CD-variabelen kan worden beperkt door vast te stellen waar ze mogen worden ingezet (bijvoorbeeld in de productieomgeving).
• Compliant pipelines waarbij beheertemplates aangeven welke security scans voor development-projecten worden ingezet.

Stap 5: Itereer met voortdurende evaluaties en verbeteringen
Om de moderne software supply chain te beveiligen zullen teams stap 1 t/m 4 voortdurend moeten herhalen, waardoor het nog uitdagender wordt om te gaan met complexe tool chains en security integraties. Moderne processen voor de ontwikkeling van applicaties vragen om een nieuwe aanpak. Daarnaast is het zaak om de software factory zelf te voorzien van tools voor security en toegangsbeheer in plaats van code pas te inspecteren nadat deze is ontwikkeld.

Als het om cybersecurity gaat, zijn er simpelweg geen garanties te geven. De combinatie van een ‘defense in depth’-strategie en het gebruiksgemak van een integraal DevSecOps-platform vereenvoudigt je inspanningen op het gebied van security én verbetert het overzicht en de controlemechanismen binnen je organisatie.

Cindy Blake

Cindy Blake, Director & Solutions Marketing Director bij GitLab is gespecialiseerd in security. Ze is een strateeg die gespecialiseerd is in oplossingen betreffende cyberbeveiliging. Haar ervaring als IT-manager helpt haar om complexe technologieën beter te vertalen naar voordelen voor bedrijven. Ze vertelt met passie over hoe applicatiebeveiliging kan worden opgeschaald om de markt te veranderen: hoe app-security tools worden gebruikt, door wie, en welk resultaat wordt verwacht. Ze spreekt graag over pragmatische stappen die helpen security echt te integreren in het DevOps-proces met behulp van workflows die effectiever, efficiënter en transparanter zijn.

Alle blogs van deze auteur

Partners