agile development vs. security requirements · agile development vs. security requirements 5...

35
Seminar Sicherheit und Softwareengineering SS 2013 Agile Development vs. Security Requirements Agile Development vs. Security Requirements Mirco Stickan

Upload: others

Post on 18-Oct-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Agile Development vs. Security Requirements · Agile Development vs. Security Requirements 5 Seminar Sicherheit und Softwareengineering SS 2013 Motivation Trend der letzten Jahre:

SeminarSicherheit und

SoftwareengineeringSS 2013

Agile Development vs. Security Requirements

Agile Development vs. Security Requirements

Mirco Stickan

Page 2: Agile Development vs. Security Requirements · Agile Development vs. Security Requirements 5 Seminar Sicherheit und Softwareengineering SS 2013 Motivation Trend der letzten Jahre:

Agile Development vs. Security Requirements

2

SeminarSicherheit und

SoftwareengineeringSS 2013

Agenda

● Motivation

● Agile Softwareentwicklung● eXtreme Programming● Scrum

● Sicherheit in agiler Softwareentwicklung● Sicherheit in eXtreme Programming● Sicherheit in Scrum

● Zusammenfassung

Page 3: Agile Development vs. Security Requirements · Agile Development vs. Security Requirements 5 Seminar Sicherheit und Softwareengineering SS 2013 Motivation Trend der letzten Jahre:

Agile Development vs. Security Requirements

3

SeminarSicherheit und

SoftwareengineeringSS 2013

Agenda

● Motivation

● Agile Softwareentwicklung● eXtreme Programming● Scrum

● Sicherheit in agiler Softwareentwicklung● Sicherheit in eXtreme Programming● Sicherheit in Scrum

● Zusammenfassung

Page 4: Agile Development vs. Security Requirements · Agile Development vs. Security Requirements 5 Seminar Sicherheit und Softwareengineering SS 2013 Motivation Trend der letzten Jahre:

Agile Development vs. Security Requirements

4

SeminarSicherheit und

SoftwareengineeringSS 2013

Motivation

● Klassisches Vorgehensmodell im Softwareengineering: Wasserfallmodell

+ Umfangreiche Planung der einzelnen Entwicklungsphasen

+ Genaue Dokumentation der Entwicklungsschritte+ Anwendung von Sicherheitsstandards möglich

- Hoher Zeitaufwand - Änderung der Anforderungen führt oft zu hohem Arbeitsaufwand

Page 5: Agile Development vs. Security Requirements · Agile Development vs. Security Requirements 5 Seminar Sicherheit und Softwareengineering SS 2013 Motivation Trend der letzten Jahre:

Agile Development vs. Security Requirements

5

SeminarSicherheit und

SoftwareengineeringSS 2013

Motivation

● Trend der letzten Jahre: Agile Softwareentwicklung

+ Enge Zusammenarbeit mit dem Kunden+ Kurze Entwicklungszyklen+ Schnelle Reaktion auf Anforderungsänderungen durch eine iterative Arbeitsweise

- Geringe Dokumentation - Keine Risikoanalyse oder Security Engineering

Page 6: Agile Development vs. Security Requirements · Agile Development vs. Security Requirements 5 Seminar Sicherheit und Softwareengineering SS 2013 Motivation Trend der letzten Jahre:

Agile Development vs. Security Requirements

6

SeminarSicherheit und

SoftwareengineeringSS 2013

Motivation

Agile Entwicklung → Low-Budget Projekte, IT-Start-Ups

Wasserfallmodell → Sicherheitskritische, umfangreiche Projekte

Page 7: Agile Development vs. Security Requirements · Agile Development vs. Security Requirements 5 Seminar Sicherheit und Softwareengineering SS 2013 Motivation Trend der letzten Jahre:

Agile Development vs. Security Requirements

7

SeminarSicherheit und

SoftwareengineeringSS 2013

Motivation

● Agile Entwicklung bei komplexen Projekten immer beliebter

● Erweiterung der klassischen agilen Methoden verbessern das Security Engineering

→ Entwicklung sicherer Software auch agil möglich!

Page 8: Agile Development vs. Security Requirements · Agile Development vs. Security Requirements 5 Seminar Sicherheit und Softwareengineering SS 2013 Motivation Trend der letzten Jahre:

Agile Development vs. Security Requirements

8

SeminarSicherheit und

SoftwareengineeringSS 2013

Agenda

● Motivation

● Agile Softwareentwicklung● eXtreme Programming● Scrum

● Sicherheit in agiler Softwareentwicklung● Sicherheit in eXtreme Programming● Sicherheit in Scrum

● Zusammenfassung

Page 9: Agile Development vs. Security Requirements · Agile Development vs. Security Requirements 5 Seminar Sicherheit und Softwareengineering SS 2013 Motivation Trend der letzten Jahre:

Agile Development vs. Security Requirements

9

SeminarSicherheit und

SoftwareengineeringSS 2013

Extreme Programming (XP)

● Eine der bekanntesten agilen Entwicklungsmethoden

● 1995 in einem Projekt bei Chrysler entwickelt

● Ziel: Entwicklungsprozess vereinfachen und ständige Zusammenarbeit mit dem Kunden

Page 10: Agile Development vs. Security Requirements · Agile Development vs. Security Requirements 5 Seminar Sicherheit und Softwareengineering SS 2013 Motivation Trend der letzten Jahre:

Agile Development vs. Security Requirements

10

SeminarSicherheit und

SoftwareengineeringSS 2013

Extreme Programming (XP)

● Entwicklungsphase fokussiert sich immer auf eine bestimmte Version des Prototypen

● Es werden nur Anwendungsfälle entwickelt, die für die aktuelle Version benötigt werden

● Prinzip: YAGNI („You Ain't Going to Need It“)

● Iterative Arbeit und Entwicklung in einzelnen Releases

Page 11: Agile Development vs. Security Requirements · Agile Development vs. Security Requirements 5 Seminar Sicherheit und Softwareengineering SS 2013 Motivation Trend der letzten Jahre:

Agile Development vs. Security Requirements

11

SeminarSicherheit und

SoftwareengineeringSS 2013

Extreme Programming (XP)

Um Software erfolgreich zu entwickeln sind nach dem XP Prinzip folgende Werte wichtig:

Page 12: Agile Development vs. Security Requirements · Agile Development vs. Security Requirements 5 Seminar Sicherheit und Softwareengineering SS 2013 Motivation Trend der letzten Jahre:

Agile Development vs. Security Requirements

12

SeminarSicherheit und

SoftwareengineeringSS 2013

Extreme Programming (XP)

● Prinzipien des eXtreme Programming

● Schnelles Feedback

● Annahme von Einfachheit

● Schrittweise Änderung

● Qualitativ hochwertige Arbeit

...

Page 13: Agile Development vs. Security Requirements · Agile Development vs. Security Requirements 5 Seminar Sicherheit und Softwareengineering SS 2013 Motivation Trend der letzten Jahre:

Agile Development vs. Security Requirements

13

SeminarSicherheit und

SoftwareengineeringSS 2013

Extreme Programming (XP)

● Praktiken des eXtreme Programming

● XP Planspiel● Kollektives Eigentum● Pair Programming● Testgetriebene Entwicklung● Keine Überstunden● Refactoring● User Stories...

Page 14: Agile Development vs. Security Requirements · Agile Development vs. Security Requirements 5 Seminar Sicherheit und Softwareengineering SS 2013 Motivation Trend der letzten Jahre:

Agile Development vs. Security Requirements

14

SeminarSicherheit und

SoftwareengineeringSS 2013

Scrum

● Weiteres iteratives Vorgehensmodell der Softwareentwicklung

● Enge Zusammenarbeit mit dem Kunden

● Feste Rollenverteilung innerhalb des Teams

● Regelmäßige / tägliche Treffen (Scrum Meetings)

Page 15: Agile Development vs. Security Requirements · Agile Development vs. Security Requirements 5 Seminar Sicherheit und Softwareengineering SS 2013 Motivation Trend der letzten Jahre:

Agile Development vs. Security Requirements

15

SeminarSicherheit und

SoftwareengineeringSS 2013

Scrum

● Tägliche Treffen heißen Daily Scrums

● Anforderungen werden im Backlog festgehalten

● Einzelne Iterationen heißen Sprints

● Prinzipien: Transparenz, Überprüfung, Anpassung

Page 16: Agile Development vs. Security Requirements · Agile Development vs. Security Requirements 5 Seminar Sicherheit und Softwareengineering SS 2013 Motivation Trend der letzten Jahre:

Agile Development vs. Security Requirements

16

SeminarSicherheit und

SoftwareengineeringSS 2013

Scrum

Rollen in Scrum:

● Scrum Master

● Product Owner

● Entwicklungsteam

● Customer

Page 17: Agile Development vs. Security Requirements · Agile Development vs. Security Requirements 5 Seminar Sicherheit und Softwareengineering SS 2013 Motivation Trend der letzten Jahre:

Agile Development vs. Security Requirements

17

SeminarSicherheit und

SoftwareengineeringSS 2013

Scrum

Page 18: Agile Development vs. Security Requirements · Agile Development vs. Security Requirements 5 Seminar Sicherheit und Softwareengineering SS 2013 Motivation Trend der letzten Jahre:

Agile Development vs. Security Requirements

18

SeminarSicherheit und

SoftwareengineeringSS 2013

XP vs. Scrum

● Beide Verfahren geeignet für Teams mit bis zu 10 Personen

● Beide Verfahren arbeiten eng mit dem Kunden zusammen

● Scrum noch teamorientierter und strukturierter als XP

● Beide Verfahren sehen kein Security Engineering vor

Page 19: Agile Development vs. Security Requirements · Agile Development vs. Security Requirements 5 Seminar Sicherheit und Softwareengineering SS 2013 Motivation Trend der letzten Jahre:

Agile Development vs. Security Requirements

19

SeminarSicherheit und

SoftwareengineeringSS 2013

Agenda

● Motivation

● Agile Softwareentwicklung● eXtreme Programming● Scrum

● Sicherheit in agiler Softwareentwicklung● Sicherheit in eXtreme Programming● Sicherheit in Scrum

● Zusammenfassung

Page 20: Agile Development vs. Security Requirements · Agile Development vs. Security Requirements 5 Seminar Sicherheit und Softwareengineering SS 2013 Motivation Trend der letzten Jahre:

Agile Development vs. Security Requirements

20

SeminarSicherheit und

SoftwareengineeringSS 2013

Sicherheit in eXtreme Programming

● Sicherheit eine der wichtigsten nicht-funktionalen Eigenschaften eines Softwaresystems

● Sicherheitslevel hängt häufig von der Fähigkeit der Entwickler ab

● Angriffsmöglichkeiten sind vielseitig

● Möglichkeiten zur Verbesserung des Security Engineerings in XP:

● Abuse Case Modelle● Abuser Stories

Page 21: Agile Development vs. Security Requirements · Agile Development vs. Security Requirements 5 Seminar Sicherheit und Softwareengineering SS 2013 Motivation Trend der letzten Jahre:

Agile Development vs. Security Requirements

21

SeminarSicherheit und

SoftwareengineeringSS 2013

Abuse Case Modelle

● Abuse Case Modell

● Beschreibt Angriffe auf das System

● Wird nach dem klassischen Anwendungsfalldiagramm erstellt

● Aufgabe des Security Engineers mit speziellem Domänenwissen

● Kann in Zusammenarbeit mit dem Kunden entwickelt werden

Page 22: Agile Development vs. Security Requirements · Agile Development vs. Security Requirements 5 Seminar Sicherheit und Softwareengineering SS 2013 Motivation Trend der letzten Jahre:

Agile Development vs. Security Requirements

22

SeminarSicherheit und

SoftwareengineeringSS 2013

Abuse Case Modelle

Use Case Modell

Page 23: Agile Development vs. Security Requirements · Agile Development vs. Security Requirements 5 Seminar Sicherheit und Softwareengineering SS 2013 Motivation Trend der letzten Jahre:

Agile Development vs. Security Requirements

23

SeminarSicherheit und

SoftwareengineeringSS 2013

Abuse Case Modelle

Abuse Case Modell

Page 24: Agile Development vs. Security Requirements · Agile Development vs. Security Requirements 5 Seminar Sicherheit und Softwareengineering SS 2013 Motivation Trend der letzten Jahre:

Agile Development vs. Security Requirements

24

SeminarSicherheit und

SoftwareengineeringSS 2013

Abuser Stories

● User Stories, die sich auf Angriffe des Systems beziehen

● Können im Gegensatz zu normalen User Stories nicht vom Kunden geschrieben werden

● Nach Dokumentation werden Prioritäten vergeben

Page 25: Agile Development vs. Security Requirements · Agile Development vs. Security Requirements 5 Seminar Sicherheit und Softwareengineering SS 2013 Motivation Trend der letzten Jahre:

Agile Development vs. Security Requirements

25

SeminarSicherheit und

SoftwareengineeringSS 2013

Abuser Stories

Page 26: Agile Development vs. Security Requirements · Agile Development vs. Security Requirements 5 Seminar Sicherheit und Softwareengineering SS 2013 Motivation Trend der letzten Jahre:

Agile Development vs. Security Requirements

26

SeminarSicherheit und

SoftwareengineeringSS 2013

Sicherheit in Scrum

● Sicherheit muss zu Beginn der Entwicklung betrachtet werden

● Innerhalb der Sprintiterationen kein Security Engineering sinnvoll

● Bekannte Ansätze in Scrum:● S-Scrum (Secure Scrum)● Security Backlog

Page 27: Agile Development vs. Security Requirements · Agile Development vs. Security Requirements 5 Seminar Sicherheit und Softwareengineering SS 2013 Motivation Trend der letzten Jahre:

Agile Development vs. Security Requirements

27

SeminarSicherheit und

SoftwareengineeringSS 2013

S-Scrum

● Anfang 2013 auf Malaysia vorgestellte Methode von Sani, Almasi et. Al

● Erweiterung des klassischen Scrum Prozesses zur Betrachtung von Sicherheitsanforderungen

● In dieser Risikoanalyse-Phase werden z.B. Abuser Stories geschrieben und das Product Backlog angepasst

Page 28: Agile Development vs. Security Requirements · Agile Development vs. Security Requirements 5 Seminar Sicherheit und Softwareengineering SS 2013 Motivation Trend der letzten Jahre:

Agile Development vs. Security Requirements

28

SeminarSicherheit und

SoftwareengineeringSS 2013

S-Scrum

Page 29: Agile Development vs. Security Requirements · Agile Development vs. Security Requirements 5 Seminar Sicherheit und Softwareengineering SS 2013 Motivation Trend der letzten Jahre:

Agile Development vs. Security Requirements

29

SeminarSicherheit und

SoftwareengineeringSS 2013

Security Backlog

● Sicherheitsansatz von Azham et.al (2011)

● Erweiterung von Scrum um zusätzliches Backlog

● Neue Rolle: Security Master

● Security Master definiert sicherheitskritsche Funktionen im Product Backlog

Page 30: Agile Development vs. Security Requirements · Agile Development vs. Security Requirements 5 Seminar Sicherheit und Softwareengineering SS 2013 Motivation Trend der letzten Jahre:

Agile Development vs. Security Requirements

30

SeminarSicherheit und

SoftwareengineeringSS 2013

Security Backlog

Page 31: Agile Development vs. Security Requirements · Agile Development vs. Security Requirements 5 Seminar Sicherheit und Softwareengineering SS 2013 Motivation Trend der letzten Jahre:

Agile Development vs. Security Requirements

31

SeminarSicherheit und

SoftwareengineeringSS 2013

Agenda

● Motivation

● Agile Softwareentwicklung● eXtreme Programming● Scrum

● Sicherheit in agiler Softwareentwicklung● Sicherheit in eXtreme Programming● Sicherheit in Scrum

● Zusammenfassung

Page 32: Agile Development vs. Security Requirements · Agile Development vs. Security Requirements 5 Seminar Sicherheit und Softwareengineering SS 2013 Motivation Trend der letzten Jahre:

Agile Development vs. Security Requirements

32

SeminarSicherheit und

SoftwareengineeringSS 2013

Zusammenfassung

● Extreme Programming● Beliebte agiles Vorgehensmodell● Kurze Entwicklungszyklen und enge Zusammenarbeit mit

Kunden● Security Engineering kann durch Abuse Case Modelle

und Abuser Stories verbessert werden

● Scrum● Feste Rollenverteilung, tägliche Treffen● Kurze Entwicklungszyklen und intensive Teamarbeit● Security Engineering durch S-Scrum oder Security

Backlog

Page 33: Agile Development vs. Security Requirements · Agile Development vs. Security Requirements 5 Seminar Sicherheit und Softwareengineering SS 2013 Motivation Trend der letzten Jahre:

Agile Development vs. Security Requirements

33

SeminarSicherheit und

SoftwareengineeringSS 2013

Zusammenfassung

● Vorgestellte Methoden zeigen: Agile Softwareentwicklung steht mit der Entwicklung sicherer Software nicht im Konflikt

● Vorteile von Scrum und XP können so auch in sicherheitskritschen Systemen genutzt werden

● Weitere Sicherheitserweiterungen vorhanden

● Vollständige Sicherheit kann nie garantiert werden

● Interpretation von Sicherheit ist abhängig vom Entwickler → Investition in Weiterbildung notwendig

Page 34: Agile Development vs. Security Requirements · Agile Development vs. Security Requirements 5 Seminar Sicherheit und Softwareengineering SS 2013 Motivation Trend der letzten Jahre:

Agile Development vs. Security Requirements

34

SeminarSicherheit und

SoftwareengineeringSS 2013

Agile Development vs. Security Requirements

Vielen Dank für die Aufmerksamkeit.

Page 35: Agile Development vs. Security Requirements · Agile Development vs. Security Requirements 5 Seminar Sicherheit und Softwareengineering SS 2013 Motivation Trend der letzten Jahre:

Agile Development vs. Security Requirements

35

SeminarSicherheit und

SoftwareengineeringSS 2013

Quellen

Bildquellen Vortrag:

Wasserfallmodell: http://upload.wikimedia.org/wikipedia/commons/thumb/e/e5/Wasserfallmodell.svg/350px-Wasserfallmodell.svg.png

Fragezeichen: http://static.freepik.com/fotos-kostenlos/fragezeichen_21147438.jpg

Wrong: http://images.sodahead.com/polls/002502229/3159695671_600px_Red_xsvg_answer_101_xlarge.png

Handshake: http://techfi lipino.com/wp-content/uploads/2012/02/how-to-be-good-at-an-interview-handshake.gif

XP Werte: http://upload.wikimedia.org/wikipedia/commons/c/c9/XP-Werte.png

Notebook: http://www.clipartpal.com/_thumbs/pd/education/note.png

Pair programming: http://labs.micromata.de/download/attachments/1310769/Agility.jpg?version=1&modifi cationDate=1264256163984

Scrum: http://www.intellias.de/images/stories/scrum_circle_de_big.jpg

Mitarbeiter: http://www.ky-logistik.de/mediapool/96/961032/resources/24817088.jpg

Security: http://www.nextgenerationpayments.com/images/security.jpg

Abuse Case Modell: M. A. Sasse I. Flechais, C. Mascolo. Integrating security and usability into the requirements and design process

Abuser Stories: M. Bod ́en K. Beznosov P.Kruchten G. Bostro ̈m, J. Wa ̈yrynen. Extending xp practices to support security requirements engineering

S-Scrum: M. M. Almasi D. Mougouei, N.F.M. Sani. S-scrum: a secure methodology for agile development of web services

Product Backlog: N. Ithnin Z. Azham, I. Ghani. Security backlog in scrum security practices. Software Engineering