Auditen van Agile projecten
Platform voor Informatiebeveiliging10 december 2013
Merijn van der Zalm & Marcel Trijssenaar
Agenda
• Belang van assurance op agile ontwikkelen• Agile versus Waterval• Perspectief van de opdrachtgever• Agile Manifesto: aangrijpingspunten voor synthese• Good practices
– Documentatie– Beschouwingsniveau– Projectbesturing
• Agile en informatiebeveiliging
2
Belang van assurance op agile ontwikkelen
“IT is increasingly used as a competitive differentiator” -
www.gartner.com/technology/metrics
1. Bedrijfsvoering wordt steeds afhankelijker van software
2. Uitgaven IT blijven groeien 3. Software ontwikkeling steeds vaker agile
Meer behoefte aan
assurance3
WatervalAnalyse
Ontwerp
Bouw
Test
Productie
mijlpaal
mijlpaal
mijlpaal
mijlpaal
• Waterval• Plan gedreven• Requirements stabiel• Nadruk op documentatie• Cultuur “Ordnung muss sein”• Groot aantal ontwikkelaars mogelijk• Typisch voor bedrijfskritische systemen• Na elke fase afgeronde, auditbare producten
Agile
Plan
Plan
Plan
Plan
Plan
Productie Productie Productie
Productie
Productie
Sprint Sprint Sprint
Sprint
Sprint
Agile versus Waterval
4
Agile versus Waterval
5
Hoe werkt SCRUM?
Product owner bepaalt functionaliteit
Scrum mastermanaged hetScrum proces
Agile versus Waterval
6
•Betrouwbaarheid•Veiligheid•…
Agile: perspectief van de opdrachtgever
directeur
auditor
Projecten
bestuurder
•Klanttevredenheid•Efficiency•Doorlooptijd•(Betrouwbaarheid)•…
Going concern
7
We have come to value
That is, while there is value in the items on the right, we value the items on the left more
Agile manifesto: aangrijpingspunten
Good practices
A, B, C
8
Good practice A: andere documentatie auditen
• Uitgangspunten en randvoorwaarden
• Aannames• Informatie procesmodel• Datamodel• Bedrijfsregels• Statusovergangen• Presentatielaag • Autorisatiemodel• Functies en interfaces• (architectuur)• (informatiebeveiliging)
Functioneel Ontwerp
• Aanwezigheid use case?• Eisen format (UML)?• UC geaccordeerd door gebruiker?
Maar…• Geen vastgestelde
fasedocumenten, steeds nieuwe versies
• Soms meerdere versies van hetzelfde ontwerpdocument onderzoeken
• Geen samenhangende set van documentatie (versie en releases)
• Geen “non-functionals”
9
Good practice B: kies beschouwingsniveauSPRINT• Sprint planningen en backlogs• Burndownchart• Retrospective
RELEASE• OTAP tollgates zoals PAT
AGILE ORGANISATIE• Aanwezigheid product owner• Kennis, skills, ervaring van
ontwikkelaars10
Good practice C: focus projectbesturing
Project leider / product owner
IT PL / scrum master
• Project brief (VGZ)• Rapportage backlog• Aanwezigheid stuurgroep • Besluitvorming obv prioritering 11
Agile en Informatiebeveiliging, geen vanzelfsprekende combi
• Informatiebeveiligingseisen zijn vaak “non-functional” dus geen feature voor de ontwikkelaar
• Ontwikkelaars (en gebruikers) zijn niet altijd even “aware”– Weet de ontwikkelaar hoe
het platform in elkaar zit, hoe de tools precies werken en waar de data staat en de kwetsbaarheden daarin?
Toch zien wij wel mogelijkheden…
• Kennisniveau ontwikkelaars verhogen• Code review• IB als scrum teamlid• IB als klant: IB use cases (stories) in de backlog• Penetration test (black box)?• Gebruik secure services (niet echt agile)
12
Voorbeeld: beveiligings non-functionals op backlog meenemen
Backlog item Schatting impact
Klant ziet aanbod in de app 7
Klant kan m.b.v. de app een bestelling plaatsen 3
Klant kan m.b.v. de app bestelling annuleren 2
Verkoop krijgt dagelijks een lijst van bestellingen 6
Bij inloggen van klant in app de inlognaam filteren 2
Bij zoeken van klant door assortiment wordt zoekstring gecheckt en zonodig geschoond 3
…
Techitem: refactor code sorteren van aanbod 4
Fun
ctio
nals
En testen
Bev
elig
ings
Non
-fun
ct.
Vooraf mechanisme bepalen waarmee IB
niet automatisch steeds “eruit valt”
13
Doel-matigheid
Beeld van mogelijkheden auditen agileafhankelijk van doel assurance
• implementatie ontwerpmethodiek
• Aanwezigheid UC• Accordering UC
• Risicoanalyse vooraf
• Use cases IAM• Use cases
autorisatiemgt
Opzet
Bestaan & werking
Focus IB
• implementatie scrum
• Sprint meeting & planning
• Backlog• Burndown chart• Retrospective• Aanwezigheid product
owner• Ervaring ontwikkelaars
• Awareness ontwikkelaars
• Backlog IB (non-fcls)• IB in scrum team• IB als klant
• implementatie projmgt
• Project brief• Rapportages• Aanwezigheid
stuurgroep• Gebruikers testlog• Besluitvorming
(prioritering)
• Blackbox testing (pentest)?
• implementatie beheer-methodiek (ITIL)
• OTAP “vlaggen”
• Pentest
Betrouw-baarheid
Veiligheid
Compliance & architectuur
ONTWERP ONTWIKKEL PROJECT BEHEER
14
Slot
15