Grundsätze der Informationssicherheit verstehen und auf Anwendungsbeispiele umsetzen können.
Verständnis der Schutzzielen der Informationssicherheit und deren Bedeutung. Kenntnis der typischen Bedrohungen und die technischen und organisatorischen Massnahmen zu deren Abwehr.
Inhalte Kursblock 1: Information Security Management
1.1 Grundbegriffe Risikomanagement
1.2 Sicherheitsziele
1.3 Massnahmen
Inhalte Kursblock 2: Kryptologie Grundlagen
2.1 Symmetrische Verschlüsselung
2.2 Hashfunktionen
2.3 Asymmetrische Verschlüsselung
2.4 Signaturen Inhalte Kursblock
3: Anwendungssicherheit
3.1 Schwachstellen (Injections, Sicherheitsrelevante Fehlkonfigurationen, Verlust der Vertraulichkeit sensibler Daten, etc.)
3.2 Best practices (Datenbanken, Webanwendungen, Software development) Inhalte Kursblock
4: Netzwerksicherheit
4.1 Zugangskontrolle
4.2 Firewalls
4.3 Weitere Themen
Schriftlich, ggf. am PC
Frontalunterricht, Übungen via Online Tool und Moodle teilweise in der Vorlesung integriert, teilweise im Selbststudium.
Der Kauf eines Buches ist nicht notwendig.
Boyle, R. J., Panko, R. (2014). Corporate Computer Security: International Edition. Prentice Hall, Pearson Education. Stallings, W. (2016). Network Security Essentials - Applications and Standards. Pearson. Kaufmann, Ch., Perlman, R., Speciner, M. (2002). Network Security – Private Communication in a Public World. Prentice Hall. Anderson, R. (2008). Security engineering: A guide to building dependable distributed systems (2.ed.). Indianapolis Ind. u.a.: Wiley. Schmeh, K. (2016). Kryptografie: Verfahren, Protokolle, Infrastrukturen (6., aktualisierte Auflage). iX-Edition.Heidelberg: dpunkt.verlag. Schwenk, J. (2014). Sicherheit und Kryptographie im Internet: Theorie und Praxis (4., überarb. u. erw. Aufl.). Wiesbaden: SpringerVieweg. Sowa, A. (2017). Management der Informationssicherheit. Wiesbaden: Springer-Vieweg.
Internetlinks: Werden jeweils in den Vorlesungsunterlagen bzw. über Moodle angegeben
Tools: OwaspZAP
Durchführung gemäss Stundenplan
Vertieften Einblick in die Konzepte, Architekturen rund um verteilte Systeme zu gewinnen.
Der Kurs Architecture for Distributed Systems (ADS, Architektur für Verteilte Systeme) gibt den Kursteilnehmern einen fundierten Einblick in die Konzepte, Architekturen von verteilten Systemen. Es werden in der Theorie die grundlegenden Architekturen von solchen Systemen behandelt und in Übungen Komponenten für die Realisierung von solchen Architekturen, unter Verwendung erworbener Kenntnissen des Kurses Communication in Distributed Systems (CDS) vertieft. Es werden Architekturen wie Client/Server, Object Management Architecture, Service Orientierted Architecture, Microservice Architecture behandelt und deren Gemeinsamkeiten und Evolution betrachtet. Architektur für Verteilte Systeme ist kein Spezialisierungskurs, sondern gibt den angehenden Software-Ingenieuren/innen einen fundierten Überblick in angemessener Tiefe, was als wertvolle Grundlage für die Praxis dient.
Grundlagen
Architekturen
Design, Implementation von Services
Plattformen in der Praxis
Schriftliche Prüfung am Ende des Kursblocks
Theorie mit integrierten Übungen. Übungen sind ein integrierter und wichtiger Teil des Kurses
Vorlesungsunterlagen, Vorträge und Artikel im Internet
Literaturhinweise:
Verteilte Systeme, Prinzipien und Paradigma, Andrew S. Tanenbaum, Maarten van Steen, Pearson, £ 978-3-8273-7203-2 Verteilte Systeme, Alexander Schill, Thomas, Springer 978-3-642-25795-7 UML Distilled (3rd Edition), Martin Fowler, Addison Wesley, ISBN 0-321-19368-7 Patterns of Enterprise Application Architecture, Martin Fowler et.al., Addison Wesley, ISBN 0-321-12742-0 Enterprise Integration Patterns, Gregor Hohpe , Bobby Woolf, Addison Wesley, ISBN 0-321-20068-3 Building Microservices, Sam Newman, O‘Reilly, ISBN 978-1-491-95935-7 SOA in der Praxis, Nicolai Josuttis,dpunkt.verlag, ISBN-978-3-98864-476-1 Enterprise Service Bus, David A. Chappell,O‘Reilly, ISBN 0-596-00675-6
Durchführung gemäss Stundenplan
Cloud Computing hat sich in den letzten Jahren vom stark gehypten Trendthema zur attraktiven Architekturalternative für Entwicklung und Betrieb von Web-Anwendungen und anderer Software entwickelt. Neben traditionellen IT-Anbietern wie Microsoft sind Internetfirmen wie Amazon und Google im Public Cloud Markt aktiv; Open Source Assets erlauben den Aufbau von Private Clouds. Die Cloud-Anbieter unterscheiden sich stark hinsichtlich ihrer Preismodelle und der zugesicherten Dienstgüte. Anwendungsarchitekten und Entwickler sind daher mit einer Vielzahl neuer Designoptionen konfrontiert, z. B. Message-Oriented Middleware mit At-Least-Once Delivery, nichtrelationale Speichertechniken (NoSQL) sowie Server-, Speicher- und Netzwerkvirtualisierung. Mit den Cloud-Ressourcen muss sparsam und fehlertolerant umgegangen werden; nicht alle existierenden Entwurfsmuster eignen sich für Cloud-Anwendungsbau und Cloud-Migrationen. Dieser Kursblock führt in ausgewählte Konzepte und Technologien des Cloud Computing ein und befähigt Sie, Cloud-Dienste aus der Sicht des Anwendungsarchitekten zu analysieren und cloud-native Anwendungen systematisch zu entwerfen.
Schriftliche Prüfung am Ende des Kursblocks
C. Fehling, F. Leymann et al., Cloud Computing Patterns – Fundamentals to Design, Build, and Manage Cloud Applications, Springer-Verlag 2014 (in der Bibliothek vorhanden)
http://cloudcomputingpatterns.org (weitere werden mit den Kursunterlagen zur Verfügung gestellt)
Tools: Cloud Services ausgewählter Anbieter mit Free Tiers (optional)
Durchführung gemäss Stundenplan