29
© Fraunhofer IEM / Heinz Nixdorf Institut Folie 1 Themenvorstellung – 17. April 2019 Matthias Becker Softwaretechnik und IT-Sicherheit PROSEMINAR: SOFTWAREENTWICKLUNG FÜR SOFTWARE-INTENSIVE SYSTEME

PROSEMINAR: SOFTWAREENTWICKLUNG FÜR SOFTWARE …€¦ · Secure DevOps Continuous Security Testing Understand SecDevOps and how to integrate security into the modern and agile software

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PROSEMINAR: SOFTWAREENTWICKLUNG FÜR SOFTWARE …€¦ · Secure DevOps Continuous Security Testing Understand SecDevOps and how to integrate security into the modern and agile software

© Fraunhofer IEM / Heinz Nixdorf InstitutFolie 1

Themenvorstellung – 17. April 2019

Matthias BeckerSoftwaretechnik und IT-Sicherheit

PROSEMINAR: SOFTWAREENTWICKLUNG FÜRSOFTWARE-INTENSIVE SYSTEME

Page 2: PROSEMINAR: SOFTWAREENTWICKLUNG FÜR SOFTWARE …€¦ · Secure DevOps Continuous Security Testing Understand SecDevOps and how to integrate security into the modern and agile software

© Fraunhofer IEM / Heinz Nixdorf InstitutFolie 2

AGENDA

1. Grundlegende Anforderungen

2. Vorläufige Termine

3. Seminarrichtlinien

4. Vorstellung der Themen

Page 3: PROSEMINAR: SOFTWAREENTWICKLUNG FÜR SOFTWARE …€¦ · Secure DevOps Continuous Security Testing Understand SecDevOps and how to integrate security into the modern and agile software

© Fraunhofer IEM / Heinz Nixdorf InstitutFolie 3

Erstellen einer wissenschaftlichen Ausarbeitung

Selbständige Recherche und Ausarbeitung

Umfang von ca. 15-20 Seiten, geschrieben in LaTeX

Internes Peer-Review unter Seminar-Teilnehmern

Feedback und Beratung durch Wissenschaftliche Mitarbeiter

Erstellen und Präsentieren eines wissenschaftlichen Vortrags

Vortrag im Rahmen des Blockseminar (insges. 30 Minuten)

20 Minuten Zeit für den Inhalt

10 Minuten Zeit für Fragen/Diskussion

Grundlegende Anforderungen

Page 4: PROSEMINAR: SOFTWAREENTWICKLUNG FÜR SOFTWARE …€¦ · Secure DevOps Continuous Security Testing Understand SecDevOps and how to integrate security into the modern and agile software

© Fraunhofer IEM / Heinz Nixdorf InstitutFolie 4

17.04., 11 - 13 Uhr: Themenvorstellung

08.05., 11 - 13 Uhr: Themenzuordnung, Einführung in wissenschaftl. Arbeiten

Termine für Abgaben (jeweils 23:59 Uhr MESZ):

Mi., 22.05.: Gliederung und Literatur

Mi., 05.06.: Review-Version Seminararbeit

Do., 06.06.: Verteilung der Peer-Reviews

Mi., 19.06.: Fertigstellung der Peer-Reviews

Mi., 26.06.: Präsentation für Betreuer-Feedback

Mi., 02.07.: Feedback zur Präsentation durch Betreuer

Mi., 07.08.: "Camera-Ready"-Version der Seminararbeit

Mi., 14.08.: Feedback zur Seminararbeit durch Betreuer

Mi., 28.08.: Abgabe der finalen Seminararbeit

Präsentationen (als Blockseminar): t.b.d. (voraussichtlich Mitte Juli)

Vorläufige Termine

Page 5: PROSEMINAR: SOFTWAREENTWICKLUNG FÜR SOFTWARE …€¦ · Secure DevOps Continuous Security Testing Understand SecDevOps and how to integrate security into the modern and agile software

© Fraunhofer IEM / Heinz Nixdorf InstitutFolie 5

Mittwoch, 08.05., 11:00 Uhr (s.t.) in F 2 211

Festlegung der Themen

Vorstellung der Seminarrichtlinien

Teilnahme ist Pflicht

Vergabe der Themen

Umfrage zu Themeninteresse: https://terminplaner4.dfn.de/proseminar-softwareentwicklung-fuer-software-intensive-systeme

Minimierung von Konflikten, sonst First-Come, First-Served, zur Not Zufällige Zuordnung

Umfrage wird im Anschluss an den heutigen Termin verteilt

Umfrage wird Sonntag, den 05.05., um 24 Uhr geschlossen

Seminarrichtlinien

Page 6: PROSEMINAR: SOFTWAREENTWICKLUNG FÜR SOFTWARE …€¦ · Secure DevOps Continuous Security Testing Understand SecDevOps and how to integrate security into the modern and agile software

© Fraunhofer IEM / Heinz Nixdorf InstitutFolie 6

AGENDA

1. Grundlegende Anforderungen

2. Vorläufige Termine

3. Seminarrichtlinien

4. Vorstellung der Themen

Page 7: PROSEMINAR: SOFTWAREENTWICKLUNG FÜR SOFTWARE …€¦ · Secure DevOps Continuous Security Testing Understand SecDevOps and how to integrate security into the modern and agile software

© Fraunhofer IEM / Heinz Nixdorf InstitutFolie 7

Innovationsregion Ostwestfalen-Lippe

Leitprojekte

19,7..

2009 2013

27,9%Jahres-

umsatz

(Mrd. €)

Beschäfti-

gung

94.000..

2009 2013

15,2%

Eckdaten

Einwohner: 2 Mio.

Fläche: 6.500 km²

Vitale Industrie

Maschinenbau, Elektro/Elektronik, Automobilzulieferer

Starke Marken, Hidden Champions, unabhängige Familienunternehmen

Page 8: PROSEMINAR: SOFTWAREENTWICKLUNG FÜR SOFTWARE …€¦ · Secure DevOps Continuous Security Testing Understand SecDevOps and how to integrate security into the modern and agile software

© Fraunhofer IEM / Heinz Nixdorf InstitutFolie 8

Innovationsregion Ostwestfalen-Lippe

Leitprojekte

19,7..

2009 2013

27,9%Jahres-

umsatz

(Mrd. €)

Beschäfti-

gung

94.000..

2009 2013

15,2%

Eckdaten

Einwohner: 2 Mio.

Fläche: 6.500 km²

Vitale Industrie

Maschinenbau, Elektro/Elektronik, Automobilzulieferer

Starke Marken, Hidden Champions, unabhängige Familienunternehmen

Page 9: PROSEMINAR: SOFTWAREENTWICKLUNG FÜR SOFTWARE …€¦ · Secure DevOps Continuous Security Testing Understand SecDevOps and how to integrate security into the modern and agile software

© Fraunhofer IEM / Heinz Nixdorf InstitutFolie 9

Fraunhofer IEMExpertise für intelligente technische Systeme

Fraunhofer-Institut für Entwurfstechnik Mechatronik IEM

Start am 1. März 2011 als Projektgruppe für Entwurfstechnik Mechatronik des Fraunhofer IPT, Aachen

Seit 1. Januar 2017 eigenständiges Fraunhofer-Institut für Entwurfstechnik Mechatronik IEM

Derzeit 95 Mitarbeiterinnen und Mitarbeiter

Heinz Nixdorf Institut

Forschungszentrum der Universität Paderborn, gegründet 1987

Derzeit ca. 200 Mitarbeiterinnen und Mitarbeiter sowie 9 Professuren

Page 10: PROSEMINAR: SOFTWAREENTWICKLUNG FÜR SOFTWARE …€¦ · Secure DevOps Continuous Security Testing Understand SecDevOps and how to integrate security into the modern and agile software

© Fraunhofer IEM / Heinz Nixdorf InstitutFolie 10

Intelligente Technische Systeme

… interagieren mit dem Umfeld und passen

sich diesem autonom an (adaptiv),

… bewältigen auch unerwartete und vom

Entwickler nicht berücksichtigte Situationen

in einem dynamischen Umfeld (robust),

… antizipieren auf Basis von Erfahrungswissen

die künftigen Wirkungen von Einflüssen und

mögliche Zustände (vorausschauend),

… berücksichtigen das spezifische Benutzer-

verhalten (benutzungsfreundlich).

Page 11: PROSEMINAR: SOFTWAREENTWICKLUNG FÜR SOFTWARE …€¦ · Secure DevOps Continuous Security Testing Understand SecDevOps and how to integrate security into the modern and agile software

© Fraunhofer IEM / Heinz Nixdorf InstitutFolie 11

Neudefinition der industriellen Grenzen durch

intelligente technische Systeme

Internet der Dinge und Dienste

Land-

wirtschafts-

verwaltungs-

system

Wetter-

daten-

system

Saatgut-

optimie-

rungs-

system

Internet der Dinge

Ackerfräse

Mähdrescher

Land-

maschinen

System

z.B. Security

z.B. Data Analytics

Smartes, vernetztes Produkt

Smartes Produkt

Produkt

z.B. Software

z.B. KommuniKation

Nach PORTER UND HEPPELMANN, 2014

Page 12: PROSEMINAR: SOFTWAREENTWICKLUNG FÜR SOFTWARE …€¦ · Secure DevOps Continuous Security Testing Understand SecDevOps and how to integrate security into the modern and agile software

© Fraunhofer IEM / Heinz Nixdorf InstitutFolie 12

Herausforderung in der Produkt- und Softwareentwicklung

Internet der Dinge und Dienste

Land-

wirtschafts-

verwaltungs-

system

Wetter-

daten-

system

Saatgut-

optimie-

rungs-

system

Internet der Dinge

Ackerfräse

Mähdrescher

Land-

maschinen

SystemSmartes, vernetztes Produkt

Smartes Produkt

Produkt

Leistungsfähigkeit disziplinspezifischer Entwicklungsmethoden

Produktkomplexität

Zeit

Page 13: PROSEMINAR: SOFTWAREENTWICKLUNG FÜR SOFTWARE …€¦ · Secure DevOps Continuous Security Testing Understand SecDevOps and how to integrate security into the modern and agile software

© Fraunhofer IEM / Heinz Nixdorf InstitutFolie 13

Software-LebenszyklusEffiziente Entwicklung von sicheren Software-intensiven Systemen

Weiterentwicklung & Wartung

Außerbetriebnahme

Initialisierung Analyse Entwurf Realisierung Einführung Nutzung

Bedrohungs-analyse

Code-Review &

Analyse

Architektur-entwurf

TestenAnforderungs-

analyse

Page 14: PROSEMINAR: SOFTWAREENTWICKLUNG FÜR SOFTWARE …€¦ · Secure DevOps Continuous Security Testing Understand SecDevOps and how to integrate security into the modern and agile software

© Fraunhofer IEM / Heinz Nixdorf InstitutFolie 16

AGENDA

1. Grundlegende Anforderungen

2. Vorläufige Termine

3. Seminarrichtlinien

4. Vorstellung der Themen

Page 15: PROSEMINAR: SOFTWAREENTWICKLUNG FÜR SOFTWARE …€¦ · Secure DevOps Continuous Security Testing Understand SecDevOps and how to integrate security into the modern and agile software

© Fraunhofer IEM / Heinz Nixdorf InstitutFolie 17

Software-LebenszyklusEffiziente Entwicklung von sicheren Software-intensiven Systemen

Weiterentwicklung & Wartung

Außerbetriebnahme

Initialisierung Analyse Entwurf Realisierung Einführung Nutzung

Anforderungs-analyse

Page 16: PROSEMINAR: SOFTWAREENTWICKLUNG FÜR SOFTWARE …€¦ · Secure DevOps Continuous Security Testing Understand SecDevOps and how to integrate security into the modern and agile software

© Fraunhofer IEM / Heinz Nixdorf InstitutFolie 18

Literature

Conference version: Henze et al.: User-driven Privacy Enforcement for Cloud-based Services in the Internet of Things; https://arxiv.org/abs/1412.3325

Long Version: A comprehensive approach to privacy in the cloud-based Internet of Things; http://tinyurl.com/y3mgupqn

User-driven Privacy EnforcementEnable Users to specify their privacy settings for the Cloud

Understand User-driven Privacy

Enforcement (see conference paper)

Discuss advantages and

disadvantages of the approach

State hazards and risks that can hinder

this approach to become successful

Your Task

1

Stefan Dziwok

Page 17: PROSEMINAR: SOFTWAREENTWICKLUNG FÜR SOFTWARE …€¦ · Secure DevOps Continuous Security Testing Understand SecDevOps and how to integrate security into the modern and agile software

© Fraunhofer IEM / Heinz Nixdorf InstitutFolie 19

Literature

Phu X. Mai, Arda Goknil, Lwin Khin Shar, Fabrizio Pastore, Lionel C. Briand, Shaban Shaame, Modeling Security and Privacy Requirements: a Use Case-Driven Approach, Information and Software Technology, Volume 100, 2018, https://doi.org/10.1016/j.infsof.2018.04.007

Modeling Security and Privacy RequirementsA Use Case-Driven Approach

Understand the approach and

summarize it with your own words

Discuss advantages and

disadvantages of the approach

Your Task

2

Thorsten Koch

Page 18: PROSEMINAR: SOFTWAREENTWICKLUNG FÜR SOFTWARE …€¦ · Secure DevOps Continuous Security Testing Understand SecDevOps and how to integrate security into the modern and agile software

© Fraunhofer IEM / Heinz Nixdorf InstitutFolie 20

Literature

Cao, Qiushi, Cecilia Zanni-Merk, and Christoph Reich. ”Towards a Core Ontology for Condition Monitoring.” (2019).

Jin, Guiyang, Zhanqin Xiang, and Fuzhai Lv. ”Semantic integrated condition monitoring and maintenance of complex system.” Industrial Engineering and Engineering Management, 2009. IE&EM’09. 16th International Conference on. IEEE, 2009

Papadopoulos, Panagiotis, and Liana Cipcigan. ”Wind turbines’ condition monitoring: an ontology model.” Sustainable power generation and supply, 2009

Ontology for Condition MonitoringTowards standard condition monitoring systems

Understand the concepts from the

references and summarize it with your

own words

Discuss the differences between the

concepts

Your Task

3

Faruk Pasic

Page 19: PROSEMINAR: SOFTWAREENTWICKLUNG FÜR SOFTWARE …€¦ · Secure DevOps Continuous Security Testing Understand SecDevOps and how to integrate security into the modern and agile software

© Fraunhofer IEM / Heinz Nixdorf InstitutFolie 21

Software-LebenszyklusEffiziente Entwicklung von sicheren Software-intensiven Systemen

Weiterentwicklung & Wartung

Außerbetriebnahme

Initialisierung Analyse Entwurf Realisierung Einführung Nutzung

Bedrohungs-analyse

Page 20: PROSEMINAR: SOFTWAREENTWICKLUNG FÜR SOFTWARE …€¦ · Secure DevOps Continuous Security Testing Understand SecDevOps and how to integrate security into the modern and agile software

© Fraunhofer IEM / Heinz Nixdorf InstitutFolie 22

Literatur

Wuyts: Privacy Threats in Software Architectures, PhD Thesis, 2015. https://lirias.kuleuven.be/bitstream/123456789/472921/1/wuyts2014_thesis_online.pdf

https://linddun.org/

Datenschutz-Bedrohungsanalyse mit LINDDUNPrivacy Threat Modeling

Die Bedrohungsanalyse nach der

Methode LINDDUN verstehen und

an einem Beispiel erklären

Analysieren der Unterschiede

zur Methode STRIDE

Deine Aufgabe

4

Markus Fockel

Page 21: PROSEMINAR: SOFTWAREENTWICKLUNG FÜR SOFTWARE …€¦ · Secure DevOps Continuous Security Testing Understand SecDevOps and how to integrate security into the modern and agile software

© Fraunhofer IEM / Heinz Nixdorf InstitutFolie 23

Literature

https://dl.acm.org/citation.cfm?id=2808717

https://csce.ucmss.com/cr/books/2018/LFS/CSREA2018/SAM4036.pdf

https://www.researchgate.net/profile/Nabie_Conteh/publication/294421084_Cybersecurityrisks_vulnerabilities_and_countermeasures_to_prevent_social_engineering_attacks/links/56e2733408aebc9edb19eebc.pdf

Social Engineering in Industrial Control SystemsSocial attack vectors, impact, and countermeasures in ICS

Understand social engineering attack

methodologies in the context of

industrial control systems [ICS]

Research the impact of such attacks

and outline potential

countermeasures appropriate for the

context

Your Task

5

Hendrik Eikerling

Page 22: PROSEMINAR: SOFTWAREENTWICKLUNG FÜR SOFTWARE …€¦ · Secure DevOps Continuous Security Testing Understand SecDevOps and how to integrate security into the modern and agile software

© Fraunhofer IEM / Heinz Nixdorf InstitutFolie 24

Software-LebenszyklusEffiziente Entwicklung von sicheren Software-intensiven Systemen

Weiterentwicklung & Wartung

Außerbetriebnahme

Initialisierung Analyse Entwurf Realisierung Einführung Nutzung

Architektur-entwurf

Page 23: PROSEMINAR: SOFTWAREENTWICKLUNG FÜR SOFTWARE …€¦ · Secure DevOps Continuous Security Testing Understand SecDevOps and how to integrate security into the modern and agile software

© Fraunhofer IEM / Heinz Nixdorf InstitutFolie 25

[1] Maro, S., Steghöfer, J. P., Anjorin, A., Tichy, M., & Gelin, L. (2015, October). On integrating graphical and textual editors for a UML profile based domain specific language: an industrial experience. Procs of SLE (pp. 1-12). ACM

[2] Mbeddr: http://mbeddr.com

Combining graphical and textual syntax fordomain-specific languagesModel-Driven Software Engineering

Evaluate two concepts for combining

textual and graphical syntax in one

language

Traditional, Eclipse-based Editors [1]

Projectional Editors [2]

Compare both concepts with each

other

Your Task

Mbeddr (IDE for C-Development) [2]

6

Ingo Budde, Jörg Holtmann

Page 24: PROSEMINAR: SOFTWAREENTWICKLUNG FÜR SOFTWARE …€¦ · Secure DevOps Continuous Security Testing Understand SecDevOps and how to integrate security into the modern and agile software

© Fraunhofer IEM / Heinz Nixdorf InstitutFolie 26

Literature

Kafka: a Distributed Messaging System for Log Processinghttps://www.microsoft.com/en-us/research/wp-content/uploads/2017/09/Kafka.pdf

Kafka, Samza and the Unix Philosophy of Distributed Datahttp://sites.computer.org/debull/A15dec/p4.pdf

Distributed Software ArchitecturesScalable Systems via asynchronous, Event-driven Stream Processing

Understand how modern distributed

software architectures are designed for

scalability and robustness

Research how modern message

brokers like Apache Kafka handle

challenges like horizontal scaling, high

performance and data consistency

Your Task

Source: https://www.confluent.io/wp-content/uploads/event-based-1.png

7

David Schmelter

Page 25: PROSEMINAR: SOFTWAREENTWICKLUNG FÜR SOFTWARE …€¦ · Secure DevOps Continuous Security Testing Understand SecDevOps and how to integrate security into the modern and agile software

© Fraunhofer IEM / Heinz Nixdorf InstitutFolie 27

Software-LebenszyklusEffiziente Entwicklung von sicheren Software-intensiven Systemen

Weiterentwicklung & Wartung

Außerbetriebnahme

Initialisierung Analyse Entwurf Realisierung Einführung Nutzung

Code-Review &

Analyse

Page 26: PROSEMINAR: SOFTWAREENTWICKLUNG FÜR SOFTWARE …€¦ · Secure DevOps Continuous Security Testing Understand SecDevOps and how to integrate security into the modern and agile software

© Fraunhofer IEM / Heinz Nixdorf InstitutFolie 28

Literature

A Survey of Machine Learning for Big Code and Naturalness, https://arxiv.org/pdf/1709.06182.pdf

Machine Learning for Code AnalysisRepresentational Models of Source Code

Summarize the different types of models for

representing source code

Discuss the different applications where

these models are used

Your Task

The scale of available source code data is massive

Open-source repositories (e.g. github) contain

millions of lines of code

We can learn a lot from this data, e.g., with Machine

Learning

To analyze the data one needs appropriate

representation

N-gram, AST, NN, PDG, etc

8

Goran Piskachev

Page 27: PROSEMINAR: SOFTWAREENTWICKLUNG FÜR SOFTWARE …€¦ · Secure DevOps Continuous Security Testing Understand SecDevOps and how to integrate security into the modern and agile software

© Fraunhofer IEM / Heinz Nixdorf InstitutFolie 29

Literature

Ariadne: Analysis for Machine Learning Programs, Julian Dolby et al.

https://github.com/python-security/pyt

https://cs.au.dk/~amoeller/spa/spa.pdf

https://www.bodden.de/pubs/far+14flowdroid.pdf

Taint and Typestate-Analysis for PythonLiterature Review of State-of-the-Art SAST Tools for Python

Collect different static data-flow analysis

tools with focus on Python

Asses quality, analysis techniques and

methods of current tools

Compare strength and weaknesses

Your Task

secret = getPassword()

t = secret t = null

print(t)

9

Johannes Späth

Page 28: PROSEMINAR: SOFTWAREENTWICKLUNG FÜR SOFTWARE …€¦ · Secure DevOps Continuous Security Testing Understand SecDevOps and how to integrate security into the modern and agile software

© Fraunhofer IEM / Heinz Nixdorf InstitutFolie 30

Software-LebenszyklusEffiziente Entwicklung von sicheren Software-intensiven Systemen

Weiterentwicklung & Wartung

Außerbetriebnahme

Initialisierung Analyse Entwurf Realisierung Einführung Nutzung

Testen

Page 29: PROSEMINAR: SOFTWAREENTWICKLUNG FÜR SOFTWARE …€¦ · Secure DevOps Continuous Security Testing Understand SecDevOps and how to integrate security into the modern and agile software

© Fraunhofer IEM / Heinz Nixdorf InstitutFolie 31

Literature

https://about.gitlab.com/resources/whitepaper-seismic-shift-application-security

https://www.oreilly.com/library/view/devopssec/9781491971413/ch01.html

https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7784617

Secure DevOpsContinuous Security Testing

Understand SecDevOps and how to

integrate security into the modern and

agile software development lifecycle

Research the differences and

advantages between traditional

security testing and SecDevOps

Your Task

10

Jan-Niclas Strüwer, Matthias Becker