Inhalt

[ 921NESESECK13 ] KV Secure Code

Versionsauswahl
Workload Ausbildungslevel Studienfachbereich VerantwortlicheR Semesterstunden Anbietende Uni
1,5 ECTS M2 - Master 2. Jahr Informatik Florian König 1 SSt Johannes Kepler Universität Linz
Detailinformationen
Anmeldevoraussetzungen Good knowledge of programming will be required. Participants should be familiar with both Java and C, and have at least working knowledge of HTML / HTTP and SQL.

In terms of courses: required courses include Softwareentwicklung 1, Softwareentwicklung 2, Informationssysteme 1 and Systemnahe Programmierung; recommended courses include Praktikum aus Softwareentwicklung 2.

Quellcurriculum Masterstudium Computer Science 2013W
Ziele Die Teilnehmer werden ein Verständnis zu den häufigsten Sicherheitslücken in Code und deren Ursache erlangen. Sie werden den Umfang des Problems erkennen, wissen wie man Bedrohungen erkennt und die Charakteristika häufiger Angriffswege kennen. Als praktische Fähigkeiten werden sie lernen, unsicheren Code zu finden und auszubessern, speziell um die häufigen Sicherheitslücken zu beseitigen. Zudem lernen sie, künftige Probleme zu vermeiden und Stolpersteine beim Programmieren zu umgehen. Sie erlangen außerdem Kenntnis über Prozesse sicherer Softwareentwicklung und wie man Code auf Sicherheit testen kann.
Lehrinhalte
  • Prinzipien und Techniken sicherer Softwareentwicklung
  • Sicherheitsrisiko-Rankings und -taxonomien
  • Code-Einschleusung (SQL Injektion, Cross-Site Skripting XSS)
  • (Puffer-) Überläufe, Format-String-Angriffe
  • Ein-/Ausgabebehandlung (Kanonisierung, Validierung, Säuberung)
  • Informationslecks, Geheimnisse schützen (Schlüssel, Passwörter)
  • defensives und umsichtiges Programmieren
  • Widerstandsfähigkeit und Sabotageschutz (Denial of Service, Obfuskieren)
  • sichere Parallelisierung (Verklemmung, Wettlaufsituation)
  • Authentifizierung, Autorisierung, Privilegien-Management
  • Prozesse sicherer Softwareentwicklung
  • Fähigkeiten spezifischer Sprachen und Umgebungen
Beurteilungskriterien
  • 3-4 Einzelübungen
  • schriftliche Klausur am Ende
  • Endnote besteht aus Übungsnote und Klausurnote
Lehrmethoden Vortrag, praktische Hausübungen mit individuellem Feedback, Besprechung von Beispielen in Präsenzveranstaltungen, Online-Begleitung mit Möglichkeit zu Diskussionen und Fragen im Forum
Abhaltungssprache Englisch
Literatur keine Pflichtlektüre; ergänzend zum Kurs:

  • Writing Secure Code. Howard and LeBlanc. Microsoft Press, 2003.
  • The CERT® Oracle® Secure Coding Standard for Java. Long et al. Addison-Wesley Professional, 2011.
  • Secure Programming Cookbook for C and C++. Viega and Messier. O'Reilly, 2003.
  • Foundations of Security: What Every Programmer Needs to Know. Kern, Kesavan and Daswani. Apress, 2007.
Lehrinhalte wechselnd? Nein
Äquivalenzen in collaboration with 921NESECRYK13: KV Cryptography (3 ECTS) equivalent to
INMNPKVKRYP: KV Kryptographie (4,5 ECTS)

INMAWKVSECC: KV Secure Code (1,5 ECTS)
Präsenzlehrveranstaltung
Teilungsziffer -
Zuteilungsverfahren Direktzuteilung