Alle artikelen met tag " SDL"

Het Security Development Lifecycle process, fase nul.

nov 13, 2011   //   door Olav   //   ALM  //  Geen reacties

In het vorige artikel ben ik ingegaan op het Security Development Lifecycle proces en waarom je dit proces wilt gebruiken in het ontwikkelen van nieuwe software. In dit artikel ga ik in op de eerste van dertien fases die gezamenlijk het SDL proces vormen.

Het SDL proces bestaat uit dertien fases die we tellen vanaf fase nul. Hierdoor heet de laatste fase niet fase 13, maar fase 12 waarmee we het ongeluksgetal 13 vermeiden. Dat is wel zo lekker voor het succes van een SDL implementatie.
Daarnaast is fase nul ook een fase die niet zozeer van toepassing is op een project, maar een fase waar alle lagen van de organisatie aan zal moeten geloven, of ze nu in projecten zitten of niet.

Fase 0. Education and Awareness

Kennis en bewustwording over veilige software vormen de basis van veilige software zoals dat ook geldt voor zoveel andere zaken. Helaas is er bij de ‘software ontwikkelaars’ van vandaag de dag weinig kennis aanwezig over veilige software en zijn er ook weinig ‘security professionals’ die de nodige kennis en ervaring bezitten. Iets wat op korte termijn ook niet opgelost gaat worden.

Veel software ontwikkelaars gebruiken ontwikkelstandaarden zoals RUP en Agile die geen directe focus hebben op veiligheid van de software. Om dit te veranderen zou de software industrie een verplicht semester moeten hebben voor alle professionals gericht op veiligheid van software en privacy. Of minimaal alle professionals betrokken bij the ontwerpen, ontwikkelen, testen en documenteren bewust maken van de onderwerpen veiligheid van software en privacy.
Dit kan door bijvoorbeeld de DVD’s en CD’s die vaak bij boeken over veiligheid van software wordt geleverd te verspreiden onder de professionals.

Maar het moet in ieder geval een vast onderdeel worden van de organisatie, gedragen door alle lagen van de organisatie, waarbij iedereen jaarlijks zijn kennis opvijzelt over veiligheid en privacy!

Daar heeft iedereen voor nu wel voldoende werk aan dus later meer over de andere SDL fases.

Security Development Lifecycle – SDL

dec 31, 2010   //   door Olav   //   ALM  //  2 Reacties

Het Security Development Lifecycle (SDL) is geboren bij Microsoft in 2002 onder de noemer ‘Trustworthy Computing’ als reactie op een groeiende vraag uit de markt om veiligere software. Deze marktvraag roept meteen een andere vraag op:

“Waarom zou ik mij druk maken om veiligere software?”

Het antwoord op die vraag ik simpel: De wereld van vandaag is meer met elkaar verbonden dan ooit tevoren en zal zonder twijfel meer verbonden raken in de toekomst. Met deze grote mate van verbondenheid is er een grote dreiging bijgekomen voor software gebruikers. Niet langer hebben we te maken met het voor de ‘fun’ en ‘fame’ kraken van websites en applicaties, maar hebben we te maken met ‘cybercrime’.

Daarnaast is aangetoond dat software die niet afkomstig is van de vier grootste software leveranciers (Microsoft, Apple, Oracle en IBM) het meest gevoelig is voor beveiliging risico’s.

Applicatie beveiliging risico's

Applicatie beveiliging risico's

“Waarom dan SDL?”

Het Microsoft Security Development Lifcycle biedt software ontwikkelaars een ‘veiligheid garantie proces’ wat bestaat uit activiteiten die gecombineerd met het Agile ontwikkel proces geschikt is om te integreren in Microsoft Visual Studio Team System 2010. Want hoewel Agile beveiliging van software meeneemt in de proces beschrijving, ligt de focus binnen het Agile proces op het kostenefficiënt opleveren van software. SDL is dus een mooie aanvulling op het Agile proces.

SDL zorgt ervoor dat er door het hele ontwikkel proces heen nagedacht moet worden over de veiligheid van de software. Door deze focus is het aannemelijk dat beveiligingsrisico’s al in een vroeg stadium geïdentificeerd kunnen worden. Hoe eerder deze riscio’s geïdentificeerd worden hoe goedkoper het is om deze op te lossen. Het National Institute of Standards and Technology heeft zelfs berekend dat fouten oplossen na een oplevering 43% duurder is dan het oplossen van dezelfde fout in de ontwerpfase, aan het begin van een ontwikkelproces.

Voor Microsoft heeft het SDL proces in ieder geval geholpen bij het ontwikkelen en onderhouden van Windows Vista. Uit eigen onderzoek van Microsoft blijkt dat na de implementatie van het SDL proces de beveiligingsrisico’s zijn afgenomen met 45%.

Voordelen SDL Microsoft

De voordelen van SDL voor Microsoft.

Daarnaast is het SDL proces flexibel genoeg om te integreren met elk ander ontwikkel proces. Door het combineren van SDL met een bestaand ontwikkel proces verbeter je de veiligheid van de software zonder dat er een heel nieuw ontwikkelproces geadopteerd moet worden. Het is dus geen proces dat alleen maar te combineren valt met het ALM platform van Microsoft, en het verbeterd de kwaliteit van je software.

Uiteindelijk gaat het om kwaliteit!

Wanneer we het nu hebben over privacy, beveiliging of betrouwbaarheid, uiteindelijk hebben we het over kwaliteit van de software die we ontwikkelen.

Kwaliteit

Kwaliteit

Voor grote software ontwikkel bedrijven is kwaliteit dan ook een onderwerp die niet zomaar genegeerd wordt vanwege de grote hoeveelheid gebruikers die de software van deze bedrijven gebruiken. Alleen al de kosten voor het uitbrengen van kwaliteitsverbeteringen in de vorm van updates is reden genoeg om beveiligingsrisico’s zo vroeg mogelijk te constateren en het SDL proces in overweging te nemen.
Voor In-House software ontwikkelaars ligt het anders, hier biedt het SDL proces ‘alleen’ voordelen op het gebied van beveiliging. Hoewel beveiliging lastig te kwantificeren valt als het om In-House software gaat is biedt SDL een mooie beveiliging bonus boven op betrouwbaarheid en privacy.
Tenslotte hebben we dan nog de kleine software ontwikkel bedrijven. Hier gaat software ontwikkelen vaak via de ‘hacking the code’ methode wat een efficiënte werkwijze is om snel code te produceren maar ook snel defecten. Hier kan het SDL proces als meetinstrument worden toegepast om de kwaliteit van de software te meten.

Kortom, SDL zorgt ervoor dat de kwaliteit van onze software verbeterd. Iets wat iedereen zou moeten aanspreken!