Bedrijven die ervoor kiezen hun software elders te laten bouwen hebben meer kans gehackt te worden dan bedrijven die dat niet doen. Alle organisaties die hun software elders laten bouwen zeggen weleens gehackt te zijn.
Organisaties die het bouwen van applicaties uitbesteden hebben een grotere kans gehackt te worden. Uit een onderzoek van het Europese analistenbureau Quocirca blijkt dat alle organisaties die programmatuur elders hebben laten bouwen doelwit zijn geweest van kwaadwillenden. Volgens Quocirca hebben organisaties die 90 procent van de softwareontwikkeling hebben uitbesteed een kans van 40 procent doelwit te worden van hackers.
Quocirca is bang dat het aantal gehackte organisaties alleen maar zal groeien. Meer dan driekwart van de ondervraagde organisaties kiest ervoor om belangrijke applicaties elders te laten bouwen. 60 procent van de organisaties laat niet vastleggen dat er beveiliging in deze applicaties moet worden ingebouwd. 20 procent van de Engelse organisaties denkt er niet eens bij na.
Quorcirca deed het onderzoek onder 250 ict-directeuren in het Verenigd Koninkrijk, de Verenigde Staten en Duitsland. Meer dan de helft van deze organisaties zegt 40 procent meer dan nodig uit te besteden aan een ander.
Tips bij het outsourcen van software.
– Kijk goed bij de dienstverlener welke processen en regels het bedrijf hanteert om zeker te stellen dat de software goed beveiligd is.
– Zorg ervoor dat in het contract staat de dienstverlener verantwoordelijk is voor fouten in de software
– Zorg ervoor dat de dienstverlener de software test
Het onderzoek laat zien dat er een correlatie is tussen gehackt worden en het uitbesteden van het bouwen van applicaties. Een oorzakelijke relatie tussen beiden wordt wel gesuggereerd, maar niet onderbouwd of aannemelijk gemaakt. Een andere verklaring zou interessant zijn om te onderzoeken. Wie software ontwikkeling outsourced, moet zijn interne organisatie op orde hebben, scope en doelstellingen helder hebben, een externe leverancier kunnen aansturen, afspraken maken en deze volgen, kortom: zijn eigen ICT governance redelijk voor elkaar hebben. Zou het niet logisch zijn als een dergelijke organisatie niet ook een redelijke security awareness zou hebben? Dat betekent dat men begrijpt dat hacks tot de mogelijkheden behoren, dat hacks actief worden gedetecteerd en worden gerapporteerd. Dat betekent vaak ook dat er security beleid bestaat, een security officer is aangesteld, en dat men zich niet schaamt om te erkennen dat men gehackt is. Het outsourcen van applicatieontwikkeling en het kennen en durven erkennen van het gehackt zijn kunnen zo beide een uiting zijn van een volwassen eigen ICT organisatie.
Een moeilijk houdbare stelling lijkt me. Ja, het is zo dat veel software ontwikkelaars weinig kennis en aandacht hebben van/voor security. Dit is echter niet alleen het geval bij externe firmas maar geldt net zo goed voor interne afdelingen. Ook is het waar dat bij outsourcing een commercieel aspect meespeelt, maar de kwaliteit is net zo belangrijk om de relatie veilig te stellen. Tevens is het mijn ervaring dat de betere externe firmas ook meer kennis in huis hebben omdat het voor hen hun dagelijkse werk is, waarbij softwareontwikkeling voor veel andere bedrijven niet hun “core business” is. Daarbij vraagt een volwassen organisatie van outsourcing ook een volwassen overeenkomst en daar mogen afspraken t.a.v. IT beveiliging niet ontbreken.
Te vaak zien we dat security een onderschoven kindje is bij ICT-projecten; zowel interne als externe. Net zo goed als functionele en technische eisen dien je beveiligingseisen te formuleren afhankelijk van de risico’s die kleven aan het hebben en gebruiken van het nieuwe systeem. Dat bij uitbesteding het nodige misgaat is bekend. Weinig leveranciers bouwen op niveau. OWASP? Nooit van gehoord. Standaard clausules in de offerte? CMM? Development baseline? 3 x neen. De verklaring hiervoor is simpel. De focus ligt op functionaliteit die niet te veel mag kosten. Beveiliging drijft de prijs alleen maar op en dan verlies je het van de concurrent. Het ontwikkelen van fatsoenlijke software is al lastig genoeg, dus aandacht voor beveiliging? Nu even niet. Het wordt tijd dat klanten beseffen dat beveiliging z’n prijs heeft en leren veeleisend te zijn. Hiervoor is het nodig dat aan klantzijde iemand met verstand van zaken inkoop ondersteund.
Uitbesteden van softwareontwikkeling zou de kansen voor hackers verhogen. Dat hangt er maar vanaf lijkt me…
Eerste vraag is natuurlijk aan wie er uitbesteed wordt. Het is zonder meer duidelijk dat uitbesteden van belangrijke activiteiten altijd dient te gebeuren aan betrouwbare partijen met duidelijke afspraken omtrent kwaliteit. En beveiliging is gewoon onderdeel van die kwaliteit. Als er duidelijke afspraken worden gemaakt over de wijze waarop software wordt ontwikkeld en getest kunnen problemen met kwaliteit voorkomen of in ieder geval gesignaleerd worden. Voor het ontwikkel process biedt CMMI een goed raamwerk en voor de security eisen vormen de OWASP regels een goed uitgangspunt. Daarnaast kan de code met behulp van tools getest worden waarbij de rapportage direct aan de uitbestedende partij kan worden gegeven.
De tweede vraag is overigens mischien wel net zo belangrijk: wie besteedt er uit? En dan durf ik de stelling aan dat de meeste bedrijven minder kennis van security hebben dan een gespecialiseerde partij die de software kan laten ontwikkelen door daarvoor special opgeleide mensen die op de hoogte zijn van de laatste trends en bedreigingen.
De stelling dat ‘organisaties die 90 procent van de softwareontwikkeling hebben uitbesteed, een kans van 40 procent hebben doelwit te worden van hackers’ is erg kort door de bocht. Het riekt een beetje naar stemmingmakerij. Wie het onderzoek van Quocirca naleest, ziet dat deze conclusie anders geformuleerd is: ‘Alle bedrijven die toegeven dat zij regelmatig gehackd worden, outsourcen een deel van hun softwareontwikkeling. Bijna 90 procent outsourct ruim 40 procent (van de softwareontwikkeling).’ Daaruit blijkt niet dat het hacken een direct gevolg is van die ‘ruim 40 procent’ softwareonwikkeling buitenshuis. Men zou ook kunnen stellen: ‘van de directeuren van bedrijven die 40% van hun softwareontwikkeling outsourct is xx% wel eens verkouden’. Is outsourcing dan ook een gevaar voor de volksgezondheid?
Het gevaar van hackers en andere bedreigingen is reeel, dat zal ik niet ontkennen. Dit gevaar schuilt echter in een korte termijndenken dat zo vaak de verkeerde basis is voor outsourcing. Dit geldt voor zowel outsourcers als opdrachtgevers. Erik Westhovens beschrijft dit hierboven heel mooi: ‘Outsourcingbedrijven zien de opdracht als een methode om geld te verdienen, en het goed beveiligen van programma’s kost veel extra geld, en dat gaat weer af van de winst’. Opdrachtgevers zien outsourcing ook als een methode om snel geld te verdienen, lees kosten te besparen. Dan blijkt goedkoop vaak duurkoop te zijn.
Outsourcing is naar mijn mening een oplossing voor probleem van het structurele tekort aan hoogopgeleide ICT-ers. Kostenbesparingen moeten daarom niet leidend zijn in een outsourcingscontract. De outsourcer dient een verlengstuk te zijn van de opdrachtgever en zich betrokken op te stellen. Het is dan ook essentieel dat er bij het ontwerpen van een blauwdruk duidelijke afspraken gemaakt worden over security. Deze moet het bedrijfsbeleid van zowel outsourcer als opdrachtgever in acht nemen, evenals wet- en regelgeving, ISO-standaarden en compliance-eisen. De software-architecten van ISDC in Roemeni? werken nauw samen met onze opdrachtgevers om alle service level requirements vast te leggen. Deze hebben hun weerslag in het ontwerp, het testen en het coderen. Beveiliging is daar een essentieel onderdeel van.
Het bovenstaande artikel gaat voorbij aan de belangrijkste conclusie die Quocirca zelf boven haar rapport zet: Organisaties die de beschikbare middelen gebruiken om de beveiliging van de applicaties die zij ontwikkelen te verbeteren geven minder uit aan het totale budget voor IT-beveiliging en zijn hierdoor minder kwetsbaar.
In de praktijk blijkt dat het bouwen van een applicatie niet per definitie hetzelfde is als het bouwen van een veilige applicatie. Dit geldt voor zowel applicaties die door bedrijven zelf zijn gebouwd, als voor applicaties die door derden in opdracht worden ontwikkeld. Over het algemeen gaat dus de stelling op dat tijdens het bouwproces onvoldoende aandacht bestaat voor het incorporeren van adequate beveiligingsmaatregelen in applicaties. Dit staat los van het fenomeen ?outsourcing?. Wel is het zo dat van professionele dienstverleners op het gebied van softwareontwikkeling mag, nee sterker nog moet worden verwacht dat zij zorg dragen voor een adequate beveiliging van de in opdracht ontwikkelde applicatie. Ik zou bovenstaand tips willen aanvullen met de volgende:
1 Neem vereisten ten aanzien van beveiliging op in functionele ? en technische specificaties.
2 Laat beveiligingsaspecten onderdeel uitmaken van de acceptatietesten.
3 Laat een onafhankelijke partij vaststellen of de beveiliging van de ontwikkelde applicatie aan de vereisten voldoet, alvorens deze in productie te nemen.