In de nieuwe NIS2-richtlijn van de EU worden veilige systeemverwerving en -ontwikkeling gegroepeerd en genoemd als 1 van de 10 belangrijke beveiligingsmaatregelen waarvoor organisaties binnen het toepassingsgebied proportionele en gedocumenteerde beveiligingsmaatregelen moeten hebben.
Veilige ontwikkeling en veilige systeemverwerving zijn essentieel voor uw informatiebeveiliging, omdat ze toegangspoorten zijn tot uw gegevens. Ze vormen een van de verdedigingslinies tegen cyberbeveiligingsbedreigingen. Met goede maatregelen voor zowel ontwikkeling als aankoop kunt u ervoor zorgen dat de systemen die u gebruikt bestand zijn tegen huidige en opkomende bedreigingen.
- Veilige ontwikkeling: Het doel is om ervoor te zorgen dat beveiliging vanaf het begin in nieuwe systemen wordt opgenomen. Veilige ontwikkeling integreert beveiligingscontroles in elke stap van het ontwikkelingsproces om mogelijke inbreuken te voorkomen en kwetsbaarheden te minimaliseren.
- Veilige systeemverwerving: Het doel is om systemen op een gecontroleerde manier aan te schaffen zodat ze voldoen aan strenge beveiligingsstandaarden. Dit garandeert dat de aangeschafte systemen niet zwakker zijn dan uw andere verdedigingslinies - het beveiligingsprogramma is slechts zo solide als het meest kwetsbare punt.
In deze blogpost worden beproefde maatregelen uit de ISO 27001-norm gepresenteerd voor het verbeteren van uw praktijken op het gebied van veilige ontwikkeling en systeemacquisitie. Met deze maatregelen beschermen bedrijven niet alleen hun gevoelige gegevens, maar bouwen ze ook vertrouwen op bij belanghebbenden en klanten, zodat de reputatie van uw bedrijf intact blijft. Vergeet niet dat het veel kosteneffectiever is om beveiliging vanaf het begin in te bouwen dan om te maken te krijgen met de dure nasleep van een datalek.

Veilige ontwikkeling 101
Veilige systeemontwikkeling is een rigoureuze aanpak voor het ontwerpen, bouwen en implementeren van software- en hardwareoplossingen met de grootst mogelijke aandacht voor beveiliging. Het houdt in dat informatiebeveiliging en privacy al in de eerste fasen van de ontwikkeling worden meegenomen, waarbij rekening wordt gehouden met essentiële principes zoals vertrouwelijkheid, integriteit en beschikbaarheid van gegevens. Fundamenteel voor veilige systeemontwikkeling is de erkenning dat beveiliging geen bijzaak mag zijn - het is een integraal onderdeel van softwareconstructie dat moet worden voorzien, ontworpen en uitgevoerd vanaf het begin tot aan de implementatie.
Veilige ontwikkelingsvoordelen
- Bescherming tegen kwetsbaarheden: Een veilig ontwikkelingsproces beschermt uw systemen tegen zwakke plekken in de beveiliging en vermindert het risico op mogelijke cyberaanvallen. De beveiligingen die tijdens de plannings- en implementatiefase worden ingebouwd, zorgen ervoor dat uw systeem robuust is tegen kwaadwillige activiteiten. Daardoor is de kans kleiner dat onbevoegden toegang krijgen tot uw waardevolle gegevens.
- Vertrouwen opbouwen bij klanten: Het implementeren van een veilig ontwikkelingsproces is een vereiste voor informatiebeveiligingscertificeringen (zoals ISO 27001) en zorgt voor vertrouwen bij uw klanten en belanghebbenden. Ze zijn gerustgesteld dat hun gegevens veilig zijn in uw handen. Dit vertrouwen kan de reputatie van uw merk een enorme boost geven en de deuren openen naar nieuwe zakelijke kansen.
- Voldoen aan wettelijke vereisten: Door u te houden aan bijvoorbeeld de ISO 27001-norm, hebt u een gemeenschappelijke taal voor communicatie met klanten. Het zal u niet alleen helpen boetes en juridische problemen te voorkomen, maar het trekt ook de aandacht van potentiële investeerders en klanten die naleving zien als een indicatie van uw inzet om het hoogste niveau van gegevensbeveiliging te garanderen.
- Creëer verantwoordelijkheid voor de ontwikkelaars: Ontwikkelaars spelen een grote rol in een sterke informatiebeveiliging. Door duidelijke richtlijnen te hebben voor hun codeerwerk, die worden gecontroleerd en voortdurend verbeterd, communiceert u dat hun inbreng een sleutelrol speelt in uw informatiebeveiligingsprogramma.
Veilig systeem verwerven 101
Beveiligde systeemaanschaf verwijst naar het proces van het aanschaffen van een nieuw software- of hardwaresysteem en tegelijkertijd te zorgen dat de beveiliging voldoet aan de gestelde normen. Dit proces omvat het bepalen van de beveiligingsvereisten voor nieuwe systemen (die natuurlijk aanzienlijk kunnen verschillen voor kritieke systemen of systemen met lage prioriteit), het selecteren van een geschikte leverancier, ervoor zorgen dat de beveiligingsfuncties van het systeem voldoen aan de behoeften van je organisatie en tot slot het veilig toevoegen van het systeem aan de bestaande infrastructuur.
Voordelen van een veilige systeemaankoop
- Risicobeperking: Veilige systeemaankoop helpt de risico's van beveiligingslekken, datalekken en cyberaanvallen te beperken door ervoor te zorgen dat de aangekochte systemen voldoen aan de vastgestelde beveiligingsnormen en -vereisten.
- Bedrijfscontinuïteit: Door de kwetsbaarheden in de beveiliging van aangeschafte systemen te minimaliseren, kunnen organisaties hun veerkracht tegen cyberbedreigingen vergroten, waardoor de kans op verstoringen van de bedrijfsvoering afneemt en de continuïteit wordt gewaarborgd.
- Kostenbesparingen: Door beveiligingsproblemen proactief aan te pakken tijdens de aankoopfase kunnen dure inbreuken op de beveiliging, incidenten en herstelinspanningen worden voorkomen die het gevolg kunnen zijn van ontoereikende beveiligingsmaatregelen na de implementatie.
- Gestroomlijnde activiteiten: Het implementeren van beveiligingscontroles tijdens de aankoopfase zorgt ervoor dat beveiligingsvereisten vanaf het begin in de systeemarchitectuur worden geïntegreerd, waardoor er later minder dure aanpassingen of herconfiguratie nodig zijn.
ISO 27001: Voorbeelden van best practices voor veilige ontwikkeling en systeemacquisitie om te implementeren
ISO 27001 richt zich op veilige ontwikkeling en systeemverwerving door middel van meerdere controles en benadrukt aspecten zoals het stellen van duidelijke beveiligingseisen aan gebouwde of aangeschafte applicaties, veilige coderingsregels, het creëren van een robuuste ontwikkel- en testomgeving en het gecontroleerd doorvoeren van wijzigingen.
Vaak besluiten organisaties ook om te verwijzen naar meer gedetailleerde algemeen geaccepteerde materialen met betrekking tot kwetsbaarheden en het voorkomen ervan met veilige codering (bijv. OWASP Top Tien).
8.25: Algemene regels voor veilige ontwikkeling definiëren
Deze controle benadrukt dat veilige ontwikkelregels gedocumenteerd moeten worden, dat ze de hele ontwikkellevenscyclus moeten omvatten en dat ze strikt gehandhaafd moeten worden. Je kunt ook checkpoints in je ontwikkelprojecten opnemen, waarbij een beoordeling vanuit het oogpunt van informatiebeveiliging wordt uitgevoerd.
Belangrijke aspecten in veilige ontwikkelingsregels - bijv. gescheiden omgevingen, het definiëren van beveiligingseisen voor producten, testprocessen en veilig beheer van broncode worden in meer detail behandeld in de volgende controles.
8.26: Veilige toepassingen verwerven en creëren
Deze controle maakt geen onderscheid tussen aangekochte of zelfgemaakte applicaties - het zegt dat je voor beide beveiligingseisen moet definiëren om ervoor te zorgen dat alle aangekochte of zelfgemaakte applicaties veilig genoeg zijn.
Beveiligingseisen voor applicaties hebben baat bij classificatie op basis van prioriteit. Voor systemen met een 'lage' prioriteit kunnen enkele basiscontroles op de winstgevendheid en communicatie van de softwareleverancier voldoende zijn, maar voor systemen met een 'hoge' prioriteit wil je misschien gedetailleerde vereisten voor multifactorauthenticatie, encryptie, integratie- en logboekmogelijkheden, gegevenslocatie en -herstel of zelfs vereiste certificeringen (bijv. ISO 27001) voor de serviceprovider.
Er zijn vereisten voor de beveiliging van applicaties om ervoor te zorgen dat alle noodzakelijke beveiligingsbehoeften worden herkend en in aanmerking worden genomen tijdens het ontwikkelings- of aankoopproces.
8.28: Stel veilige coderingsregels op voor uw ontwikkelaars
Uiteindelijk is software een hoop code waar kwetsbaarheden in kunnen sluipen. Het is ook anderszins belangrijk om duidelijke code te maken met gedeelde principes - het verbetert bijvoorbeeld de kwaliteit en maakt het makkelijker om nieuwe mensen in de projecten te introduceren.
Regels voor veilig coderen proberen ervoor te zorgen dat software op een veilige manier wordt geschreven, waardoor de kans op potentiële kwetsbaarheden die de informatiebeveiliging in gevaar kunnen brengen, wordt verkleind. Deze procedures moeten worden uitgebreid naar softwarecomponenten van derden en open-source software. Het is cruciaal dat het team eigenaar is van de veilige codeerpraktijken, omdat ze op de hoogte moeten blijven van het snel veranderende bedreigingslandschap.
De regels voor veilig coderen kunnen bijvoorbeeld de volgende aspecten omvatten:
- algemene instructies voor veilig coderen (juist gebruik van geselecteerde frameworks / tools, screening van nieuwe externe bibliotheken, voorkomen van algemene kwetsbaarheden (OWASP), aanvaardbare software om te gebruiken voor codeerwerk)
- regels voor het beoordelen en publiceren van code (agenda voor codebeoordeling, gecontroleerd proces voor het publiceren van updates)
- definitie van gedaan (onnodige code verwijderen, documentatie bijwerken, zorgen dat geautomatiseerde controles in orde zijn)
- testrichtlijnen (hoe test je functionaliteit, hoe gebruik je testgegevens, hoe beperk je het gebruik van klantgegevens)
8.29: Processen instellen voor het testen van de beveiliging van je applicaties
Deze controle gaat over het plannen van processen voor het testen van de beveiliging van applicaties, niet over algemene functionaliteit of gebruikerservaring. Tijdens het ontwikkelingsproces is het essentieel om procedures voor het testen van de beveiliging op te stellen en te volgen. Deze processen zorgen ervoor dat wanneer applicaties of code worden ingezet in de productieomgeving, ze grondig worden getest om te bevestigen dat ze voldoen aan de vereisten voor informatiebeveiliging. De tests moeten in lijn zijn met de gespecificeerde vereisten en zowel functionele als niet-functionele aspecten omvatten.
Het hebben van testrichtlijnen voor je eigen personeel is belangrijk, maar organisaties versterken dit aspect vaak doorgeautomatiseerde tools te gebruikenom de nieuw geschreven code te doorlopen (bijv. kwetsbaarheden scannen, geheimen opsporen, afhankelijkheden scannen), de meer dynamische beveiligingstests te automatiseren (bijv. DAST) of samen te werken met specifieke professionals op het gebied van penetratietests om te proberen in te breken in hun omgevingen en gegevens te compromitteren.
8.31: Scheiding van ontwikkel-, test- en productieomgevingen
Ontwikkel-, test- en productieomgevingen moeten gescheiden en beveiligd worden om de productieomgeving en -gegevens te beschermen tegen mogelijke compromittering tijdens ontwikkel- en testactiviteiten. Het noodzakelijke niveau van scheiding tussen deze omgevingen moet worden geïdentificeerd en afgedwongen om te voorkomen dat problemen invloed hebben op productiesystemen.
8.32: Wijzigingen gecontroleerd doorvoeren
Deze controle benadrukt dat wijzigingen in applicaties de regels voor wijzigingsbeheer moeten volgen. Kleinere alledaagse codecommits kunnen normaal zijn en een lichter proces volgen, grotere veranderingen aan belangrijke applicatiecomponenten (bijv. authenticatie, logging, gebruikersbeheer) kunnen uitgebreidere controles en risicoanalyses ondergaan voordat ze worden gepubliceerd.
Ongeacht of de wijzigingsbeheerprocedures licht of zwaar zijn, ze moeten worden gedocumenteerd en afgedwongen om de vertrouwelijkheid, integriteit en beschikbaarheid van informatie in alle systemen te waarborgen.
8.8: Een proces hebben voor het beheren van technische kwetsbaarheden
Controle 8.8 is een brede controle over het beheer van kwetsbaarheden. Wanneer een technische kwetsbaarheid wordt geïdentificeerd via welke bron dan ook (bijv. tools voor beveiligingstesten, handmatige codecontrole of via externe nieuwsbronnen), moet de organisatie weten wat ze moet doen.
Het proces kan bestaan uit het categoriseren van de kwetsbaarheid, het analyseren van de kwetsbaarheid en het nemen van beslissingen voor het afwijzen of behandelen van acties met gedocumenteerde redenen. Sommige kwetsbaarheden kunnen zeer dringend zijn en onmiddellijke behandelingsacties vereisen, terwijl voor andere de acties kunnen worden gegroepeerd en voor later gepland.
Conclusie
Het belang van veilige ontwikkeling en systeemverwerving kan niet genoeg worden benadrukt. Allerlei bedrijven zijn volledig afhankelijk van hun gegevens en de applicaties die worden gebruikt om die gegevens op te slaan en te verwerken. Dit wordt keer op keer aangetoond, bijvoorbeeld doordat activiteiten in fysieke fabrieken lamgelegd worden door een ransomware-aanval. Bescherm je applicaties om je bedrijf te beschermen!
U kunt beproefde best practices uit ISO 27001 vinden om te helpen bij het formuleren van uw veilige ontwikkelings- en systeemverwervingsprocedures en om te voldoen aan de vereisten van NIS2. Van het definiëren van algemene regels en het creëren van veilige toepassingen tot het beheren van technische kwetsbaarheden, het stelt uw organisatie in staat om een veilig systeem te creëren dat is gebaseerd op robuuste en geteste praktijken.
Zoals bij alle aspecten van informatiebeveiliging moeten veilige ontwikkelings- en overnamepraktijken voortdurend worden verbeterd. Begin ergens mee en zet u en de mensen in uw ontwikkelteams in voor verbetering - dan bent u op de goede weg.