EventoWeb
Zürcher Hochschule für Angewandte Wissenschaften
[
Deutsch (Schweiz)
Deutsch (Schweiz)
] [
Englisch
Englisch
]
Nicht angemeldet
[Home]
[Anmelden]
[Drucken]
Navigation
Kontakt zu Service Desk
Online-Dokumentation
Allgemeiner Zugriff
Module suchen
t.BA.WV.SWS1-EN.19HS (Software and System Security 1)
Modul: Software and System Security 1
Diese Information wurde generiert am: 07.10.2024
Nr.
t.BA.WV.SWS1-EN.19HS
Bezeichnung
Software and System Security 1
Veranstalter
T InIT
Credits
4
Beschreibung
Version: 5.0 gültig ab 01.08.2022
Kurzbeschrieb
In diesem Modul lernen Sie, wie man sichere Software und Systeme entwickelt. Dazu werden verschiedene Methoden und Tools wie z.B. Security Requirements Engineering, Threat Modeling, Security Design & Controls, Secure Coding und Penetration Testing eingesetzt, die im Modul alle umfassend behandelt werden.
Modulverantwortung
Rennhard, Marc (rema)
Lernziele (Kompetenzen)
Ziel
Kompetenzen
Taxonomiestufen
Sie verstehen den Secure Software Development Lifecycle und die Sicherheitsaktivitäten, die dabei während den verschiedenen Phasen eingesetzt werden müssen. Zudem können Sie diese Aktivitäten auf einen beliebigen Softwareentwicklungsprozess anwenden.
F, M
K2, K3
Sie kennen Methoden und Tools, um Sicherheitsschwachstellen in implementierten Systemen aufzudecken und Sie können diese Methoden und Tools einsetzen, um Schwachstellen selbst zu finden und auszunutzen. Dies wird Penetration Testing genannt.
F, M
K3, K4, K5
Sie kennen Methoden, um die Sicherheit eines Systemdesigns zu analysieren und Sie können diese Methoden anwenden, um konzeptionelle Sicherheitsfehler aufzudecken. Dies wird als Threat Modeling (Bedrohungsanalyse) bezeichnet.
F, M
K3, K4, K5
Sie können sichere Systeme konzipieren, indem Sie geeignete Sicherheitsanforderungen definieren und passende Security Controls in ein Systemdesign integrieren.
F, M
K3, K6
Sie können sichere Applikationen entwickeln. Dazu wird Java als Beispielssprache und -technologie eingesetzt, wobei das meiste, das Sie lernen, direkt auch auf andere Sprachen und Technologien übertragen werden kann.
F, M
K3, K6
Modulinhalte
Meldungen über grössere Datenlecks oder andere IT-Sicherheitsvorfälle erreichen uns fast täglich. Die Ursache sind meist Schwachstellen in Software und Systemen und der Hauptgrund, warum wir heute so viele Sicherheitsschwachstellen haben, liegt daran, dass viele Softwareingenieure weder wissen, wie man sichere IT Systeme entwickelt, noch haben sie nennenswerte Kenntnisse realer Bedrohungen und Attacken gegen solche Systeme. Viele Softwareingenieure sind zudem der Ansicht, dass es für das Entwickeln sicherer Software reicht, wenn
man die Programmiersprachen und Frameworks kennt,
wenn man gutes Softwaredesign versteht und wenn man agile Entwicklungsprozesse sinnvoll einsetzt. Diese Denkweise ist allerdings komplett falsch: Die Sicherheit von Software entsteht nicht einfach von selbst. Stattdessen muss man sich
aktiv und während des ganzen Software-Entwicklungsprozesses
darum kümmern. Dies bedingt zusätzliche Skills, die gelernt und beherrscht werden müssen.
In diesem Modul werden Sie lernen, wie man sichere Software und Systeme entwickelt, wobei sämtliche Phasen des Entwicklungsprozesses relevant sind.
Wenn Sie z.B. Anforderungen definieren, dann werden Sie lernen sich zu fragen «was kann denn möglicherweise schieflaufen und wie schlimm könnte dies sein?». Basierend auf den dabei definierten Sicherheitsanforderungen werden Sie dann lernen, wie man sichere Software konkret konzipiert und implementiert, so dass diese resistent gegen Cyberattacken ist. Ebenfalls werden Sie einige Hacking Skills lernen, denn wenn Sie ein sicherheitsbewusster Softwareingenieur sein möchten, müssen Sie wissen, wie Angreifer vorgehen. Dazu gehört auch, dass Sie lernen, einen Penetration Test der eigenen Software oder der Software von Dritten durchzuführen.
Dieses Modul ist sehr empfehlenswert für alle, die sich im Berufsleben im Bereich Software Engineering betätigen möchten oder die sich ganz generell für Informationssicherheit interessieren. Das Nachfolgemodul, Software and System Security 2, vertieft einige Themen aus diesem Modul und führt zudem neue Themen ein. Wir empfehlen, dass Sie beide Module absolvieren, es ist aber auch möglich, nur das erste Modul für sich alleine zu absolvieren.
Inhaltlich werden folgende Themen abgedeckt, in Theorie und Anwendung:
Sicherer Softwareentwicklungsprozess
Einführung in die Software-Sicherheit
Der Secure Development Lifecycle
Fundamental Security Principles
Security Requirements Engineering und Threat Modeling
Security Risk Analysis
Security Testing
Security Testing von Web Applikationen
Security Testing Tools: Static Code Analysis und Schwachstellenscanner
Sichere Softwareentwicklung
Typische, sicherheitsrelevante Programmierfehler und wie man diese ausnutzen kann (Buffer Overflows, Probleme mit Inputvalidierung, Race Conditions,...)
Java Security Libraries für kryptografische Operationen und sichere Kommunikation
Sichere Entwicklung von traditionellen (laufen primär server-seitig und liefern komplette HTML-Seiten) und modernen (Single Page Applikationen mit REST APIs im Backend) Webapplikationen (Authentisierung, Access Control, Sicherer Datenbankzugriff, Input-Validierung, Session-Handling, JSON Web Tokens, Verhindern von Schwachstellen wie XSS und CSRF,...)
Der Theorieteil (Vorlesungsteil) wird im Selbststudium mittels vorab produzierter Lernvideos (Screencasts) erarbeitet. Die Videos enthalten integrierte Lernkontrollfragen, so dass Sie unmittelbar Feedback erhalten. Das Praktikum findet vor Ort im Klassenzimmer statt. Im Praktikum werden praxisbezogene Problemstellungen zu den Hauptthemen der Vorlesung bearbeitet. Ebenfalls werden sie als Teil des Praktikums während des ganzen Semesters mehrere Hacking-Challenges aus Sicht eines Angreifers bearbeiten, um Ihre Penetration Testing Skills fortlaufend zu verbessern.
Lehrmittel/Materialien
Lernvideos (Screencasts) mit Lernkontrollfragen für den Theorieteil (Vorlesungsteil)
Folien, die in den Lernvideos verwendet werden, inkl. zusätzliche Kommentare
Praktika inkl. Anleitungen
Hacking-Challenges inkl. Anleitungen
Ergänzende Literatur
Es gibt kein Buch, das die im Modul behandelten Themen komplett abdeckt. Zur Vertiefung einzelner Themen eignen sich folgende Werke:
Gary McGraw. Software Security: Building Security In. Addison-Wesley Longman, ISBN 978-0321356703 (Fokus auf dem sicheren Softwareentwicklungsprozess allgemein)
Neil Daswani, Christoph Kern and Anita Kesavan. Foundations of Security: What every Programmer needs to know. Apress, ISBN 978-1590597842 (Fokus auf Security Design und sichere Implementierung)
Dafydd Stuttard and Marcus Pinto: The Web Application Hacker's Handbook: Finding and Exploiting Security Flaws. Wiley, ISBN 978-1118026472 (Fokus auf Penetration Festing von Web Applikationen)
Brook S.E. Schoenfield. Securing Systems. CRC Press, ISBN 978-1482233971 (Fokus auf Security Analysis und Threat Modeling)
Zulassungs-voraussetzungen
Das Modul IT-Sicherheit (Grundstudium) muss absolviert worden sein.
Unterrichtssprache
( ) Deutsch (X) Englisch
Teil des Internationalen Profils
(X) Ja ( ) Nein
Modulausprägung
Typ 3a
Details siehe unter:
T_RL_Richtlinie_Modulauspraegungen_Stundengutschriften
Leistungsnachweise
Bezeichnung
Art
Form
Umfang
Bewertung
Gewichtung
Leistungsnachweise unter dem Semnester
Bewertete
Praktika und Hacking-Challenges
Schriftlich und mündlich
Punkte, die zur Punktzahl der Schlussprüfung addiert werden
20%
Semesterendprüfung
Prüfung
Schriftlich
90 Minuten
Schlussnote
80%
Bemerkungen
Rechtsgrundlage
Die Modulbeschreibung ist neben Rahmenprüfungsordnung und Studienordnung Teil der Rechtsgrundlage. Sie ist verbindlich. Eine in der ersten Unterrichtswoche des Semesters schriftlich festgehaltene und kommunizierte Modulvereinbarung kann die Modulbeschreibung präzisieren. Die Modulvereinbarung ersetzt nicht die Modulbeschreibung.
Hinweis
Weitere verfügbare Versionen:
4.0 gültig ab 01.02.2021
,
2.0 gültig ab 01.08.2021
Kurs: Software and System Security 1 - Praktikum
Nr.
t.BA.WV.SWS1-EN.19HS.P
Bezeichnung
Software and System Security 1 - Praktikum
Hinweis
Für das Stichdatum 07.10.2024 ist kein Modulbeschreibungstext im System verfügbar.
Kurs: Software and System Security 1 - Vorlesung
Nr.
t.BA.WV.SWS1-EN.19HS.V
Bezeichnung
Software and System Security 1 - Vorlesung
Hinweis
Für das Stichdatum 07.10.2024 ist kein Modulbeschreibungstext im System verfügbar.