Als softwareontwikkelaar probeer je altijd software te schrijven die zo goed mogelijk werkt, maar hoe zorg je ervoor dat deze software ook veilig is en geen security problemen heeft? In deze blog leggen we uit hoe we dat bij Wolfpack aanpakken. Om dat uit te leggen is het belangrijk om eerst te kijken naar wat we eigenlijk verstaan onder software security. Als we het over security hebben, dan denk je misschien al snel aan hackers die ergens ver weg achter een computer zitten en jouw data gijzelen of een datalek veroorzaken.
Echter, vanuit software security bekijken we altijd drie aspecten: vertrouwelijkheid, integriteit en beschikbaarheid.
- Vertrouwelijkheid: Dit houdt in dat gegevens die vertrouwelijk moeten blijven dat ook blijven. Denk hierbij aan bijvoorbeeld persoonsgegevens of gevoelige financiële informatie.
- Integriteit: Zijn de gegevens die bewaard worden correct? Denk hierbij bijvoorbeeld aan het saldo op je bankrekening. Het is uiterst belangrijk dat deze altijd correct is en dat er niet mee gesjoemeld kan worden.
- Beschikbaarheid: Hoe zorgen we ervoor dat de gegevens bijvoorbeeld 99.999% van de tijd beschikbaar zijn voor de gebruikers van de software.
Security begint bij Wolfpack al voordat er ook maar een regel code geschreven is. In het begin van een project bekijken wij welke data de software gaat verwerken. Voor elke categorie stellen wij vast wat het vertrouwelijkheid-, integriteit- en beschikbaarheid-niveau moet zijn. Op basis daarvan kunnen we passende beveiligingsmaatregelen nemen.
Security by Design
Bij elke functionaliteit die we in de software bouwen staan we even stil bij de security ervan. We bekijken wat de security risico’s zijn en wat we moeten doen om deze te mitigeren. Zo nemen we security mee in het ontwerpproces van de software.
Defense in Depth
Losse beveiligingsmaatregelen zijn nooit helemaal waterdicht, daarom is het belangrijk om beveiliging in lagen op te bouwen. Een mooie vergelijking hiervoor is een middeleeuws kasteel. De eerste laag aan beveiliging is de slotgracht. Als de vijand daar doorheen weet te komen dan wacht hem een muur om overheen te komen. Tenslotte staan er nog soldaten boven op de muur om met pijl-en-boog de vijanden tegen te houden. Dit principe staat in de security-wereld bekend als Defense in Depth.
Supply chain security
Software bestaat tegenwoordig lang niet meer alleen uit de code die onze programmeurs schrijven. Moderne software bestaat uit veel externe softwarebibliotheken om ervoor te zorgen dat standaard functionaliteiten niet elke keer opnieuw geïmplementeerd hoeven te worden. Hierdoor kunnen we veel sneller en goedkoper software kunnen ontwikkelen, maar dit brengt ook risico’s met zich mee. Een gemiddeld software project heeft zo’n 100-200 externe softwarepakketten in gebruik. Als er in een van deze pakketten een security kwetsbaarheid zit kan dat gevolgen hebben voor de security van de software waar het in gebruikt wordt.
Bij Wolfpack dekken we dit risico af met ons zogeheten Vulnerability Management System. Dit systeem houdt automatisch bij welke externe softwarepakketten wij in gebruik hebben en detecteert automatisch kwetsbaarheden in externe softwarepakketten. Zodra iets gevonden is gaan onze security experts er meteen mee aan de slag.
Security check
Iedereen draagt zijn steentje bij om, volgens onze security standaarden en richtlijnen, veilige software te ontwikkelen. Echter is het makkelijk om een foutje te maken of om iets over het hoofd te zien. Dat is waar de security check om de hoek komt. Elk project gaat voor oplevering of gedurende het ontwikkeltraject langs onze security officer. Samen met de ontwikkelaars kijkt die of het project voldoet aan onze security standaarden. Daarmee zorgen we ervoor dat de software veilig is zodra die opgeleverd wordt.
Aanvragen
Ben je benieuwd hoe het gesteld is met de veiligheid van jouw software of wil je graag eens sparren met een van onze experts? Vraag dan nu een Security Scan aan en verzeker je ervan dat je software aan de hoogste security eisen voldoet, zodat jij en je klanten veilig met je product kunnen blijven werken.