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 Analyse Waterval Productie mijlpaal Ontwerp Bouw Waterval mijlpaal Plan gedreven Test Requirements stabiel mijlpaal Nadruk op documentatie Cultuur Ordnung muss sein mijlpaal Groot aantal ontwikkelaars mogelijk Typisch voor bedrijfskritische systemen Na elke fase afgeronde, auditbare producten Productie Sprint Plan Sprint Plan Sprint Plan Sprint Plan Sprint Productie Productie Productie Productie 4
Agile versus Waterval 5
Agile versus Waterval Hoe werkt SCRUM? Scrum master managed het Scrum proces Product owner bepaalt functionaliteit 6
Agile: perspectiefvan de opdrachtgever bestuurder auditor Betrouwbaarheid Veiligheid Projecten directeur Going concern Klanttevredenheid Efficiency 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 practiceb: 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 practicec: 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 zijnvaak non-functional dusgeenfeature voorde ontwikkelaar Ontwikkelaars(en gebruikers) zijn niet altijd even aware Weetde ontwikkelaarhoe het platform in elkaarzit, hoe de tools precies werkenen waarde data staaten 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: beveiligingsnon-functionalsop backlog meenemen Functionals Beveligings 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 4 En testen Vooraf mechanisme bepalen waarmee IB niet automatisch steeds eruit valt 13
Beeld van mogelijkheden auditen agile afhankelijk van doel assurance Opzet implementatie ontwerpmethodiek Doelmatigheid implementatie scrum implementatie projmgt implementatie beheermethodiek(itil) Betrouwbaarheid ONTWERP ONTWIKKEL PROJECT BEHEER Bestaan & werking Aanwezigheid UC Accordering UC Compliance& architectuur Sprint meeting & planning Backlog Burndown chart Retrospective Aanwezigheid product owner Ervaring ontwikkelaars Project brief Rapportages Aanwezigheid stuurgroep Gebruikers testlog Besluitvorming (prioritering) OTAP vlaggen Focus IB Usecases IAM? Usecases Awareness ontwikkelaars Backlog IB (non-fcls) IB in scrum team IB als klant Blackbox testing Veiligheid Pentest 14
Slot 15