Auditen van Agile projecten Platform voor Informatiebeveiliging 10 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 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
Agile versus Waterval
Waterval
Analyse
Productie
Ontwerp mijlpaal
Sprint
Bouw • • • • • • • •
Waterval mijlpaal Plan gedreven Test mijlpaal Requirements stabiel Productie Nadruk op documentatie Cultuur “Ordnung muss sein” mijlpaal Groot aantal ontwikkelaars mogelijk Typisch voor bedrijfskritische systemen Na elke fase afgeronde, auditbare producten
Plan
Sprint
Productie
Plan
Sprint
Plan
Productie
Sprint
Plan
Productie
Sprint
Productie 4
Agile versus Waterval
5
Agile versus Waterval
Hoe werkt SCRUM?
Scrum master managed het Scrum proces
Product owner bepaalt functionaliteit
6
Agile: perspectief van de opdrachtgever bestuurder auditor directeur •Betrouwbaarheid •Veiligheid •… Projecten
•Klanttevredenheid Going •Efficiency concern •Doorlooptijd •(Betrouwbaarheid) •… 7
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
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
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
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 Black box testing Gebruik secure services (niet echt agile)
12
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
Beeld van mogelijkheden auditen agile afhankelijk van doel assurance Doelmatigheid ONTWERP Opzet
Bestaan & werking
• implementatie ontwerpmethodiek
• Aanwezigheid UC • Accordering UC
Compliance & architectuur • Use cases IAM? • Use cases … Focus IB
ONTWIKKEL
Betrouwbaarheid PROJECT
BEHEER • implementatie beheermethodiek (ITIL)
• implementatie scrum
• implementatie projmgt
• Sprint meeting & planning • Backlog • Burndown chart • Retrospective • Aanwezigheid product owner • Ervaring ontwikkelaars
• Project brief • Rapportages • Aanwezigheid stuurgroep • Gebruikers testlog • Besluitvorming (prioritering)
• OTAP “vlaggen”
• Awareness ontwikkelaars • Backlog IB (non-fcls) • IB in scrum team • IB als klant
• Blackbox testing
• Pentest
Veiligheid 14
Slot
15