

Case
Een stap voorblijven op cyberaanvallen - veilige applicaties bouwen met de Secure Software Development LifeCycle (SSDLC)
Hackers zijn drukke innovators die hun arsenaal aan methoden voor cyberaanvallen steeds verfijnen en uitbreiden. Ze zijn constant op zoek naar zwakke plekken in bedrijfskritische toepassingen met als doel: data stelen, ransomware-aanvallen uitvoeren, IT-infrastructuur misbruiken voor hun eigen doeleinden of de continuïteit van diensten bij hun doelwitten verstoren via (D)Dos-aanvallen. Wat betekent dit voor ons bij iO als applicatiebouwer?
Het betekent dat we een brede waaier aan betrouwbare strategieën nodig hebben om hackers voor te blijven.
Bij iO maken we applicaties voor honderden klanten, die elk hun eigen beveiligingsrisico’s hebben. Het overzien en inperken van deze beveiligingsrisico's vraagt veel inzet van onze webarchitecten, developers en testers. Zij hebben voldoende tijd nodig om (potentiële) risico’s in kaart te brengen en hiervoor de juiste oplossingen te ontwikkelen en te testen.
De initiële kosten die hiermee gepaard gaan maken vaak een significant deel uit van het development-budget. Toch loont het om deze kosten te maken. Als het op secure development aankomt, zijn investeringen in een vroeg stadium namelijk altijd minder duur dan investeringen die je moet doen als er in de latere fases van het development-proces bugs optreden.
Hoe vroeger in het development-proces je dus focust op secure development, hoe efficiënter je veilige applicaties en toepassingen kan bouwen. Wij geloven dat secure development integraal deel moet uitmaken van iedere stap in ieder project en ieder proces. Daarom hebben we onze iO Secure Software Development LifeCycle (SSDLC) ontworpen om net zo end-to-end te zijn als onze marktpropositie is.
Bij iO vormt ervaring de basis voor de praktijk. Wij zorgen steeds voor de juiste balans tussen investeringen in preventieve maatregelen tegen aanvallen en investeringen in acceptabele risico’s.
Risico is kans x effect. Samen met onze klanten bepalen we welke data in het systeem van hun applicaties verwerkt en opgeslagen wordt. Deze data gebruiken we vervolgens om de negatieve gevolgen van data exposure, zoals boetes en reputatieschade, te anticiperen voor zowel gebruikers van de applicaties als onze klanten zelf.
Het risico wordt geëvalueerd en geclassificeerd aan de hand van de BIV evaluatie (Beschikbaarheid, Integriteit, Vertrouwelijkheid) en de PIA (Privacy Impact Assessment). Deze evaluaties, die we eveneens altijd uitvoeren samen met onze klanten, gebruiken we om de risico classificatie (Low, Medium of High) van projecten te bepalen. De classificatie bepaalt vervolgens welke controls we selecteren uit de Secure Software Development LifeCycle en op welk niveau we de controls implementeren.
Om onze teams de juiste tools te geven om security issues te kunnen voorkomen, opsporen, inperken en verhelpen, creëerde iO de Secure Software Development LifeCycle.
Wat is de iO SSDLC?
Een SSDLC is een verzameling van policies, best practices, tools en processen die developers helpt om alle mogelijke uitdagingen in de development lifecycle het hoofd te bieden. Een SSDLC geeft developers een structuur om na te denken over en te werken aan beveiligingsmaatregelen in iedere fase van het development-proces.
Onze eigen iO SSDLC focust op 9 verschillende development fasen: (Pre)sales, Governance, Training, Requirements, Design, Implementation, Verification, Release en Operations. Voor iedere fase zijn controls voorzien die vasthangen aan een belangrijk veiligheidselement. Dit element kan een aandachtspunt, een onderzoek, een (al dan niet verplichte) actie, of een klant advies zijn.
De risico classificatie (Low, Medium, High) waar we het eerder over hadden bepaalt welke controls op welk niveau gebruikt moeten worden. Is er maar een laag risico (Low), dan worden enkel basic controls gebruikt. Is er een gemiddeld risico (Medium), dan worden de basic controls aangescherpt en gaan andere controls gelden. Is het risico hoog (High), dan worden alle mogelijke controls op het hoogste niveau ingezet.
Hieronder vind je een paar voorbeelden van controls uit onze iO SSDLC:
Trainingen
Onze iO-developers krijgen periodieke trainingen over secure development. Tijdens deze trainingen leren zij over de nieuwste en meest voorkomende soorten cyberaanvallen en hoe ze deze aanvallen kunnen weren. Verder leren onze developers ook over basic office security (laptops vergrendelen, deuren sluiten, etc.), authenticatie- en autorisatietechnieken (zoals OAuth/OIDC, beveiligen van JWT tokens), hoe security headers moeten gebruiken, taalspecifieke Cross-site-scripting mitigatie, het beveiligen van API’s, validatie en encoding, enz.
Secure development richtlijnen
Onze iO-developers volgen secure development richtlijnen en best practices. Daarnaast zijn we ook druk bezig met het testen van auto-testing.
Security requirements
In samenwerking met onze klanten bepalen we de beveiligingsvereisten van hun systemen.
Threat modelling
Waar nodig, gebruiken we threat modelling om potentiële bedreigingen, aanvallen, zwakke punten en tegenmaatregelen te identificeren die een negatieve impact kunnen hebben op de business van onze klanten.
Risicoclassificatie
Ieder applicatie of systeem krijgt een risicoclassificatie. Deze classificatie helpt ons om de juiste controls te kiezen en implementeren.
Kwaliteit van code
We controleren ons werk door met peer reviews, statische (SAST) en dynamische (DAST) code en applicatietests.
Dependency Tracking
Alle gebruikte third party libraries worden periodiek gemonitord and geüpdatet met best-of-breed tools om zoveel mogelijk te automatiseren. Ook na go-live blijven we de dependencies controleren.
Penetratietesten
Naast onze eigen interne veiligheidstesten laten we ook PEN-testen (penetratietesten) uitvoeren door een onafhankelijke partij. Is een PEN-test afgerond, dan pakken we de kwetsbaarheden die deze heeft blootgelegd aan of overleggen we met de klant om de kwetsbaarheid te accepteren.
Debugging and Proactive monitoring
Proactieve monitoring van het systeem en goede logging, monitoring en signalering tijdens zowel productie als development helpen bij het tijdig vinden van issues en debuggen van problemen.
De bovenvermelde controls zijn maar een kleine subset van alle controls in de iO Secure Software Development LifeCycle. Op het moment van schrijven bevat onze SSDLC 34 controls, verdeeld over de 9 development-fases. Deze controls maken deel uit van elk project dat we doen en worden daardoor voortdurend gebruikt en waar nodig bijgewerkt.
Daarnaast houden we ook steeds onze ogen open voor nieuwe ontwikkelingen op het vlak van secure development en devops. Het wordt alleen maar beter.
Uiteindelijk is het ons doel om webapplicaties en mobiele apps te leveren waar de continuïteit van de beveiliging een garantie is en waarmee onze klanten steeds een stap voorblijven op cybercriminelen.
Onze experts vertellen je graag meer over hoe we bij iO veiligheid in het developmentproces waarborgen.
Als Technology Director, Solution Architect én Azure Expert ondersteunt Owin de realisatie van de technologische ambities van iO en haar klanten. Met kennis van solution architecture, development, Azure cloud, DevOps, business en security verbindt hij stakeholders binnen (inter)nationale projecten en iO's ontwikkelprocessen.
Case
Pers
Pers
Case
Blog
Case
Case
Case
Case
Blog
Blog
Blog
White paper
Blog
Blog
Case
White paper
White paper
Case
Blog
Blog
Case
Case
Case
Blog
Case
Case
Blog
Case
Blog
Blog
Blog
Case
Blog
Case
Case
Blog
Blog
Case
Case
Blog
Case
Webinar
Webinar
Blog
White paper
Case
White paper
White paper
White paper
White paper
Stack
Dossier
Blog
Wat we doen
Wat we doen
Wat we doen
Wat we doen
Blog
Video
Wat we doen
White paper
Blog
Case
White paper
Wat we doen
Pers
Pers
Pers
White paper
Video
Video
Video
Pers
Case
Pers
White paper
Case
Case
Pers
Case
Pers
White paper
Dossier
Blog
Pers
Dossier
Blog
Pers
Blog
Pers
Blog
Pers
Case
Blog
Webinar
Case
Case
Case
Dossier
Dossier
Case
Blog
Case
White paper
Case
Wat we doen
Blog
Blog
Blog
White paper
White paper
Webinar
Blog
Blog
Pers
Pers
Case
Pers
Pers
White paper
Case
White paper
Blog
Webinar
Blog
Wat we doen
Blog
Pers
Pers
Dossier
Blog
Webinar
Case
Blog
Stack
Webinar
Blog
Blog
Webinar
Blog
White paper
Webinar
Blog
Dossier
Dossier
Case
Blog
Webinar
Case
Blog
Stack
Webinar
Blog
Blog
Event