Security, wat is nu veilig?

jason-blackeye-198848-unsplash.jpg
25 jun. 2018

Goede software ontwikkelen is lastig. Het ziet er vaak goed uit en doet wat het zou moeten doen. Maar is de software ook veilig? En werkt deze na 5 jaar nog steeds of blijf je dan zitten met een onbetrouwbare applicatie? Een ding is zeker: foutloze software bestaat niet. Het creatieve aspect is én blijft grotendeels mensenwerk. Helemaal als het gaat om maatwerk. Daar wordt over het algemeen toch redelijk licht over gedacht. Jammer, want alles wat je maakt of laat ontwikkelen kan namelijk gehackt worden. En daarmee is het dus niet de vraag óf je gehackt wordt, maar wanneer...

Een goed verhaal biedt geen garanties
Gelukkig kan een softwareleverancier heel veilige software voor je ontwikkelen, vanuit security-by-design principes. Of een heleboel maatregelen voor je nemen om kwetsbaarheden uit bestaande software te halen en herhaling hiervan te voorkomen. Een leverancier met een goed verhaal biedt echter geen garantie. Een ‘periodieke back-up op off-site locatie’ kan bijvoorbeeld gewoon een jaarlijkse kopie naar een USB-stick zijn die men elke avond mee naar huis neemt.



Serge: "Neem bijvoorbeeld een online inschrijfsysteem voor een eenvoudige hardloopwedstrijd. Je hebt eigenlijk al heel snel met persoonsgegevens te maken die je veilig wilt en moet stellen. Dan kan je niet zonder goede security-maatregelen."

Handvat om vragen te stellen

Voor veel klanten is niet duidelijk welke maatregelen een leverancier kan treffen om op een veilige manier software te ontwikkelen. Bij Ultraware vinden we het belangrijk om transparant te zijn. Om je een handvat te geven over dit onderwerp, hebben we een aantal best practices voor het veilig ontwikkelen en beheren van maatwerksoftware voor je op een rij gezet. Aan de hand van deze lijst met onderwerpen kun je ons, of iedere willekeurige andere leverancier bevragen over de inrichting en het borgen van deze best practices.



Ontwerp

  • Een high level design wordt in een architectuurdocument vastgelegd
  • Gebruik van persoonsgegevens op basis van privacy-by-design en need-to-know
  • Fundamentele ontwerpkeuzes zijn beargumenteerd
  • Het loggen van activiteiten wordt in het ontwerp meegenomen

Bouw
  • Er wordt gewerkt met coding guidelines voor ontwikkelaars
  • Een collega voert een review op de code uit
  • Er is versiebeheer ingericht
  • Er wordt gebruik gemaakt van een issue tracking tool
  • Wijzigingen zijn gelinkt aan issues
  • Er is een proces om wijzigingen in de code samen te voegen

Testen
  • Binnen het project is een teststrategie gedefinieerd
  • Code wordt – waar mogelijk – automatisch getest
  • Testresultaten worden verzameld en geëvalueerd
  • De testomgeving is vergelijkbaar met de productieomgeving
  • Gevoelige data wordt ook in de testomgeving goed beveiligd

Uitrol
  • Het uitrolproces is gestandaardiseerd en beschreven
  • Er is een patchproces voor de productieomgeving opgesteld
  • De samenwerking tussen ontwikkelaars en beheerders is gedocumenteerd

Beheer
  • Er is een back-up-strategie beschreven
  • Back-ups zijn gebaseerd op Recovery Point en Recovery Time Objectives
  • Er is een disaster recovery plan opgesteld
  • Er is een proces voor het uitvoeren van onderhoud (updates, upgrades)
  • De productieomgeving wordt gemonitord op de belangrijkste KPI’s
  • Er is bescherming tegen aanvallen (hackers, DDoS en malware) ingericht

Show me! Don’t just tell...
Bij Ultraware zeggen we altijd ‘Show me, don’t just tell’. Natuurlijk kunnen vrijwel alle leveranciers een mooi verhaal bedenken bij deze lijst. Vraag daarom of ze ook kunnen aantonen dat ze daadwerkelijk op die wijze ontwerpen, ontwikkelen, testen en uitrollen. Neem geen genoegen met enkel mooie woorden.

Hoe wij zelf aantonen dat we veilig werken? Bijvoorbeeld door een externe partij een pentest te laten doen op producten die wij hebben ontwikkeld. Daarnaast hebben we onlangs de stap gemaakt richting ISO-certificering. Ook nodigen we klanten graag uit bij ons in het groenste pand van Assen. Daar laten we de processen zien de we inmiddels hebben uitgewerkt voor de ISO-certificering. Of gaan developers van de klant met onze developers in gesprek over hoe we te werk gaan en laten we zien hoe we code opbouwen. En zelfs tijdens sollicitatierondes besteden we aandacht aan security en kiezen we ook in dat kader voor de juiste mensen.

Security zit (inmiddels) in ons DNA
Security zit echt in ons DNA. Bij elke stap die we nemen voor zowel klanten als onszelf denken we na over hoe en wat met security (en de AVG). Waar dit vandaan komt? Ook wij hebben in het verleden meegemaakt dat een van onze systemen gekraakt is. Dat heeft ons enorm wakker geschud én ervoor gezorgd dat we het roer volledig hebben omgegooid. Een behoorlijke sense of urgency die langs kwam wandelen dus. Sindsdien zien wij veilige software niet langer als keuze, maar als pure noodzaak.

Een mooi voorbeeld dat aantoont dat we inmiddels op de goede weg zijn is de uitslag van een pentest die we onlangs lieten uitvoeren op een groot webbased systeem dat wij ontwikkelden. De feedback die we kregen was zeer positief: ‘We hebben vier kleine puntjes gevonden. Normaal vinden we waslijsten, dus dit was een ware frustratie voor onze hackers.’

In gesprek?
Wil je meer weten over security en/of in gesprek over de veiligheid van jouw software? Laat het ons weten. We nodigen je van harte uit!

© 2018 Ultraware Consultancy and Development B.V. All rights reserved.