Nachweis von Sicherheitseigenschaften
für JavaCard durch approximative Programmauswertung
An sicherheitskritische Anwendungen, z.B. im Bereich Transportwesen,
Medizintechnik, Versicherung und Banken, werden hohe Anforderungen
hinsichtlich Zuverlässigkeit und Zugriffsschutz gestellt, die durch
traditionelle Techniken nur unzureichend abgesichert werden können.
Aus Praktikabilitäts- und Kostengründen ist man hier an
Verifikationsmethoden interessiert, die vollständig automatisch
ablaufen, dabei jedoch die Einhaltung spezieller
Sicherheitseigenschaften garantieren können (und sie, etwa im
Gegensatz zu Tests, nicht nur nahelegen). Auf diese Weise läßt sich
z.B. verhindern, daß bestimmte Ausnahmesituationen wie
Speicher-Zugriffsverletzungen beim Programmablauf auftreten oder
unerlaubterweise Informationen an Dritte weitergeleitet werden können.
Ein grundsätzlicher Ansatz besteht darin, den Nachweis von
Eigenschaften von Programmen nicht durch Berechnung mit
konkreten Werten zu führen, sondern durch symbolische Auswertung
mit geeigneten Abstraktionen, z.B. Mengen von Werten oder Typen.
Das Seminar hat zum Ziel, einige Ausprägungen dieser Technik
vorzustellen und deren Nutzen anhand von Fallstudien, besonders
aus dem Chipkartenbereich, zu analysieren.
Inhaltlich: Das Seminar empfiehlt sich besonders für
Studierende, die sich für die Anwendung mathematisch-formaler
Verfahren auf reale Probleme, z.B. bei Systementwurf und
-verifikation, interessieren.
Vertrautheit mit Logik und Semantik von Programmiersprachen ist
von Vorteil, aber keine unabdingbare Voraussetzung.
Formal: Abgeschlossenes Vordiplom
- Vorbesprechung:
- ... hat bereits stattgefunden. Es sind noch einige Themen
zu vergeben (s.u.) - bitte Martin
Strecker fragen.
- Zeit / Ort / Beginn:
- Erster Termin am Donnerstag, 6.12., ab 14:00 h in Raum 1546
- Zweiter Termin am Donnerstag, 24.1., ab 14:00 h in Raum 1546
- Scheinerwerb:
- Von den Teilnehmern wird erwartet:
- Ein Vortrag von 45-60 Min. inclusive Diskussion
- Eine schriftliche Ausarbeitung von ca. 15 Seiten
- Aktive Teilnahme an den Seminarvorträgen
Weitere Hinweise finden sich auf folgenden Folien
Allgemein
- Einige Themen sind noch zu vergeben, und manche Themen können von
zwei Vortragenden gemeinsam bearbeitet
werden - bitte nachfragen.
- In einigen Vorträgen soll eine von der Firma Gemplus zur Verfügung gestellte und
mit unterschiedlichen Systemen bearbeitete Fallstudie behandelt werden.
Themen
- JavaCard: Hardware-nahe Aspekte / Betriebsystem etc.
(bearbeitet von Tao Zhuang:
Ausarbeitung /
Vortrag)
Lit.:
- JavaCard: Software (Applet firewall etc.) (bearbeitet von Jin Zhou:
Ausarbeitung /
Vortrag)
Lit.: Chen: JavaCard Technology for SmartCards. Addison-Wesley
2000. Kap. 9
- Temporallogik Noch zu vergeben
Lit.:
- Einführung: Huth/Ryan: Logic in Computer Science. Modelling and reasoning
about systems. Cambridge University Press, 2000
- SMV-System
- Artikel Verification of control flow based security properties (Proc. IEEE Symposium on Security and Privacy, 1999) von Jensen et al., Zusatzinformation von Diss von Thorn
- Sichere Interaktion von Smartcard-Applets (bearbeitet von Clovis Yemou:
Ausarbeitung /
Vortrag)
Lit.:
- SDL (bearbeitet von Patrice Kwemo)
Lit.:
- mu-Kalkül (bearbeitet von Michael Wahler:
Ausarbeitung /
Vortrag)
Lit.:
- Abstrakte Interpretation (bearbeitet von Bernhard Liebl:
Ausarbeitung /
Vortrag)
Lit.:
- Bytecode-Verifikation (bearbeitet von Christian Pacher
Ausarbeitung /
Vortrag)
Lit.:
- Verifikation mit Unterstützung von Theorembeweisern (bearbeitet von Jens Wilke
Ausarbeitung /
Vortrag)
Lit.:
- Verwendung von LaTeX für die schriftl. Ausarbeitung:
- Verwendung von LaTeX für Vorträge:
- Beispieldateien
zur Erzeugung von Folien
mit latex oder pdflatex.
- Wer glaubt, auf die (weitgehend verzichtbaren) Powerpoint-Effekte
nicht verzichten zu können, sollte sich
PPower installieren.
- Es empfiehlt sich, LaTeX-Dateien mit Emacs oder XEmacs zu
schreiben (Syntax-Highlighting, Compilierung direkt aus dem Editor
heraus ...). Zu weiterer Unterstützung die Datei tex-site.el z.B. in das Verzeichnis
~/emacs/ schieben und die Zeile (load-file "~/emacs/tex-site.el") in der Datei .emacs einfügen.
- Weiteres zu TeX findet sich bei Dante
| Weiterführende Veranstaltungen |
Unsere Arbeitsgruppe beschäftigt sich mit der Sprachformalisierung von
JavaCard (siehe
die Projekte Bali und Verificard). In
diesem Bereich werden einige Praktika und Diplomarbeiten
angeboten.