PROSEMINAR: SOFTWAREENTWICKLUNG FÜR SOFTWARE …€¦ · Secure DevOps Continuous Security Testing...

Preview:

Citation preview

© Fraunhofer IEM / Heinz Nixdorf InstitutFolie 1

Themenvorstellung – 17. April 2019

Matthias BeckerSoftwaretechnik und IT-Sicherheit

PROSEMINAR: SOFTWAREENTWICKLUNG FÜRSOFTWARE-INTENSIVE SYSTEME

© Fraunhofer IEM / Heinz Nixdorf InstitutFolie 2

AGENDA

1. Grundlegende Anforderungen

2. Vorläufige Termine

3. Seminarrichtlinien

4. Vorstellung der Themen

© 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

© 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

© 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

© Fraunhofer IEM / Heinz Nixdorf InstitutFolie 6

AGENDA

1. Grundlegende Anforderungen

2. Vorläufige Termine

3. Seminarrichtlinien

4. Vorstellung der Themen

© 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

© 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

© 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

© 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).

© 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

© 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

© 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

© Fraunhofer IEM / Heinz Nixdorf InstitutFolie 16

AGENDA

1. Grundlegende Anforderungen

2. Vorläufige Termine

3. Seminarrichtlinien

4. Vorstellung der Themen

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

Recommended