Upload
others
View
5
Download
0
Embed Size (px)
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