1. Auditen van Agile projecten
Platform voor Informatiebeveiliging
10 december 2013
Merijn van der Zalm & Marcel Trijssenaar
2. 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
3. Belang van assurance op agile ontwikkelen
1. Bedrijfsvoering wordt
steeds afhankelijker
van software
2. Uitgaven IT blijven groeien
3. Software ontwikkeling
steeds vaker agile
“IT is increasingly used
as a competitive
differentiator” www.gartner.com/technology/
metrics
Meer
behoefte aan
assurance
3
8. Agile manifesto: aangrijpingspunten
We have come to value
Good
practices
A, B, C
That is, while there is value in the items on the
right, we value the items on the left more
8
9. Good practice A: andere documentatie auditen
Functioneel Ontwerp
• Uitgangspunten en
randvoorwaarden
• Aannames
• Informatie procesmodel
• Datamodel
• Bedrijfsregels
• Statusovergangen
• Presentatielaag
• Autorisatiemodel
• Functies en interfaces
• (architectuur)
• (informatiebeveiliging)
• 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
10. Good practice B: kies beschouwingsniveau
SPRINT
• Sprint planningen en backlogs
• Burndownchart
• Retrospective
RELEASE
• OTAP tollgates zoals PAT
AGILE ORGANISATIE
• Aanwezigheid product owner
• Kennis, skills, ervaring van
ontwikkelaars
10
12. 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
13. Voorbeeld: beveiligings non-functionals op
backlog meenemen
Beveligings
Functionals
Non-funct.
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
En testen
4
Vooraf mechanisme
bepalen waarmee IB
niet automatisch
steeds “eruit valt”
13