Een stap voorblijven op cyberaanvallen - veilige applicaties bouwen met de Secure Software Development LifeCycle (SSDLC)

Datum
11 oktober 2022

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?

iO Herentals

Het betekent dat we een brede waaier aan betrouwbare strategieën nodig hebben om hackers voor te blijven.

Hoe vinden we de balans tussen de preventie van aanvallen en acceptabele risico’s?

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.

Graph

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.

De juiste balans vinden

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.

Secure Software Development LifeCycle is de hoeksteen van alle veilige applicaties

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.

Iets meer uitleg over hoe we veilige software bouwen

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 iO SSDLC: een programma van constante vooruitgang en verbetering

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.

Aan de slag met secure development?

Onze experts vertellen je graag meer over hoe we bij iO veiligheid in het developmentproces waarborgen.

Header cookieless future | iO
Owin Gruters | iO
Over de auteur

Owin Gruters

Technology Director | iO

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.

Gerelateerde artikelen