W2013-ITS: Difference between revisions

From
Jump to navigation Jump to search
 
(35 intermediate revisions by 7 users not shown)
Line 1: Line 1:
=Themenvorschläge für IT-Security Workshop 16.-28. September [https://sar.informatik.hu-berlin.de/teaching/2013-w/2013-w%20IT%20Security%20Workshop/ 2013]=
=Themenvorschläge für IT-Security Workshop 16.-28. September [https://sar.informatik.hu-berlin.de/teaching/2013-w/2013-w%20IT%20Security%20Workshop/ 2013]=


=Vorträge=
==Untersuchung NFC Interface auf Android Telefonen==

Rudower Chaussee 25, Haus 3, '''Raum 3'328'''

{| class="wikitable" style="text-align: left; background: #eee;"
|- style="background: #efe;"
| 10:00-11:00 || '''NFC Interface auf Android Telefonen''' || Paul, Robert, Manuel, Daniel||
[https://sar.informatik.hu-berlin.de/teaching/2013-w/2013-w%20IT%20Security%20Workshop/talks/nfc_.pdf pdf]
|-
| 11:10-11:55 || '''Reite die (NFC-)Welle''' || Philipp, Max ||
[https://sar.informatik.hu-berlin.de/teaching/2013-w/2013-w%20IT%20Security%20Workshop/talks/WaveRide_.pdf pdf]
[https://sar.informatik.hu-berlin.de/teaching/2013-w/2013-w%20IT%20Security%20Workshop/talks/WaveRideProject.zip zip(AES)]
|- style="background: #fee;"
| 12:00-13:00 || '''Mittagspause''' || ||
|- style="background: #efe;"
| 13:00-13:45 || '''Modernes SSL/TLS-Setup mit Apache''' || Moritz, Elias, Tim ||
[https://sar.informatik.hu-berlin.de/teaching/2013-w/2013-w%20IT%20Security%20Workshop/talks/wasuptls_presentation_.pdf pdf]
|-
| 13:45-14:30 || '''SIM TestTool''' || Sergej, Taras ||
[http://www2.informatik.hu-berlin.de/~geger/simtool.pdf pdf]
|-
|}

Pro Gruppe ist angedacht, die 45 min auf 30 min Vortrag und 15 min Diskussion und ggf. Demo aufzuteilen.

==[[Untersuchung NFC Interface auf Android Telefonen]]==

Robert, Manuel, Daniel, Sebastian, Paul


Als erste kleine Übung kann eine App zum Anzeigen des Guthabens auf der Mensakarte
Als erste kleine Übung kann eine App zum Anzeigen des Guthabens auf der Mensakarte
Line 19: Line 46:


Mentor:
Mentor:

Der zugehörige Eintrag ist jetzt online.


==Selbstauskunft "in-the-middle"==
==Selbstauskunft "in-the-middle"==
Line 31: Line 60:
Mentor:
Mentor:


==Reite die (NFC-)Welle==
==[[Reite die (NFC-)Welle]]==

Mit dem Cyberjack Weave ist ein Chipkartenleser der Sicherheitsklasse 3 mit Bluetooth 4.0 Interface verfügbar. Auch wenn er noch nicht Zertifiziert ist, ist er tendenziell als Standardleser für den neuen Personalausweis mit sicherer Anzeige und PIN-Eingabe und lokaler PACE-Funktionalität konzipiert.
Philipp, Max

Mit dem Cyberjack Wave ist ein Chipkartenleser der Sicherheitsklasse 3 mit Bluetooth 4.0 Interface verfügbar. Auch wenn er noch nicht Zertifiziert ist, ist er tendenziell als Standardleser für den neuen Personalausweis mit sicherer Anzeige und PIN-Eingabe und lokaler PACE-Funktionalität konzipiert.
Reiten Sie die Welle und nehmen Sie Kontakt zu einem Smartphone aus einer App auf.
Reiten Sie die Welle und nehmen Sie Kontakt zu einem Smartphone aus einer App auf.
(Die Aufgabe würde die vorhergehende schön ergänzen.)
(Die Aufgabe würde die vorhergehende schön ergänzen.)


Links:
Links:
* [http://www.reiner-sct.com/produkte/chipkartenleser/cyberjack_wave.html Cyberjack Weave]
* [http://www.reiner-sct.com/produkte/chipkartenleser/cyberjack_wave.html Cyberjack Wave]


Mentor:
Mentor:
Line 44: Line 76:
Für die Ein- oder Anbindung von Smartcards an IT-Systeme bestehen weitreichende Standards. Aus Sicht eines Betriebsystems oder Klienten, der darauf zugreift ist eine Smartcard nicht als solche erkennbar, insbesondere ist es nicht erforderlich, dass es sich um eine physische Karte handelt, oder dass diese sich wirklich räumlich in der Nähe zu dem verwendeten IT-System befindet. Hierraus ergeben sich diverse spannende Möglichkeiten zur Emulation oder Weiterleitung von Smartcards oder deren virtuellen Entsprechungen.
Für die Ein- oder Anbindung von Smartcards an IT-Systeme bestehen weitreichende Standards. Aus Sicht eines Betriebsystems oder Klienten, der darauf zugreift ist eine Smartcard nicht als solche erkennbar, insbesondere ist es nicht erforderlich, dass es sich um eine physische Karte handelt, oder dass diese sich wirklich räumlich in der Nähe zu dem verwendeten IT-System befindet. Hierraus ergeben sich diverse spannende Möglichkeiten zur Emulation oder Weiterleitung von Smartcards oder deren virtuellen Entsprechungen.


====vpcd für Windows(eventuell Kopplung an entfernten Reader)====
====vpcd für Windows (eventuell Kopplung an entfernten Reader)====
Einen Dämon der virtuelle oder auch echte Smartcards an ein System anbindet vpcd ist für Linux in den Grundzügen auf unter Windows und schon vorhanden. Ihre Aufgabe wäre es,diesen konsequent nach Windows zu portieren, und damit im Idealfall eine Einbindung eines entfernten Lesers an ein Windowssystem zu ermöglichen.
Einen Dämon der virtuelle oder auch echte Smartcards an ein System anbindet vpcd ist für Linux in den Grundzügen auf unter Windows und schon vorhanden. Ihre Aufgabe wäre es,diesen konsequent nach Windows zu portieren, und damit im Idealfall eine Einbindung eines entfernten Lesers an ein Windowssystem zu ermöglichen.


====PKCS#15-Implementierung für vicc
====PKCS#15-Implementierung für vicc====
Für das Framework zum erstellen von virtuellen Smartcards vicc wäre es sehr nützlich auch die Funktionalität von PKCS#15 bereitzustellen.
Für das Framework zum erstellen von virtuellen Smartcards vicc wäre es sehr nützlich auch die Funktionalität von PKCS#15 bereitzustellen.


Line 54: Line 86:
* [http://www.emc.com/emc-plus/rsa-labs/standards-initiatives/pkcs-15-cryptographic-token-information-format.htm PKCS#1]
* [http://www.emc.com/emc-plus/rsa-labs/standards-initiatives/pkcs-15-cryptographic-token-information-format.htm PKCS#1]


Mentor:
Mentor:

==Rund um den eIDClientCore==
Der eIDClientCore ist eine in Entwicklung befindliche Bibliothek, die die Kernfunktionalitäten für den Zugriff auf die eID-Funktion des neuen Personalausweises (nPA) und des elektronischen Aufenthaltstitels (eAT) bereitstellt.
====GUI mit PIN-Management====
Schreiben Sie ein portables GUI für den eIDCC, womit als erstes schon mal das PIN-Management (PIN-Neusetzen, ggf. PUK, ) realisiert werden kann.
====Initialisierung, Signaturerstellung mit dem eIDClientCore====
'''(Entwicklung nur in der BDr, Erfahrung mit Android notwendig!)''' Der neue Personalausweis ist als sichere Signaturerstellungseinheit vorbereitet. Um diese Funktion zu nutzen, kann ein QES-Signaturzertifikat passend zum auf der Karte generierten Schlüssel nachgeladen werden. In wieweit kann zumindest funktional, der eIDCC hierzu verwendet werden?

Links:
* [http://sar.informatik.hu-berlin.de/BeID-lab/eIDClientCore/ eIDCC]

Mentor:

==Portierung einer PC/SC-Anwendung nach Android==
Viele aktuelle Smartphones besitzen eine NFC-Schnittstelle oder es kann über Bluetooth ein externer Leser angebunden werden. Portieren Sie das eine ursprünglich auf PCSC-basierende Anwendung (wie das Auslesen eines Reisepasses) auf Android.

Mentor:

==[[Modernes SSL/TLS-Setup mit Apache]]==

Moritz, Elias, Tim


==Modernes SSL/TLS setup mit Apache (skalierbares Thema für mehrere .. viele)==
Die (möglichst) sichere Konfiguration eines Webservers beinhaltet viele Aspekte. Versuchen Sie einen Apache so zu konfigurieren, dass er möglichst kryptografisch starke Verfahren auswählt, die interoperabel mit den meisten aktuellen Browsern ist, gegen bekannte Angriffe weitgehend immun ist und der Ressourcenverbrauch erträglich ist.
Die (möglichst) sichere Konfiguration eines Webservers beinhaltet viele Aspekte. Versuchen Sie einen Apache so zu konfigurieren, dass er möglichst kryptografisch starke Verfahren auswählt, die interoperabel mit den meisten aktuellen Browsern ist, gegen bekannte Angriffe weitgehend immun ist und der Ressourcenverbrauch erträglich ist.


Line 79: Line 131:
* [http://tack.io/index.html TACK]
* [http://tack.io/index.html TACK]
* [http://tools.ietf.org/html/draft-ietf-websec-key-pinning-08 HPKP]
* [http://tools.ietf.org/html/draft-ietf-websec-key-pinning-08 HPKP]
* [http://cr.yp.to/talks/2013.05.31/slides-dan+tanja-20130531-4x3.pdf Security dangers of the NIST curves]


====Benchmarking====
====Benchmarking====
Für die Präsentation wäre es sehr interessant, für verschiedene Chiphersuites die Zeit für den Handshake und den Ressourcenverbrauch zu bestimmen. Wie verhält es sich mit dem Tradeoff zwischen Komfort, Kompatibilität, Ressourcenverbrauch und Sicherheit?
Für die Präsentation wäre es sehr interessant, für verschiedene Chiphersuites die Zeit für den Handshake und den Ressourcenverbrauch zu bestimmen. Wie verhält es sich mit dem Tradeoff zwischen Komfort, Kompatibilität, Ressourcenverbrauch und Sicherheit?

Mentor:

==Probleme mit Kompression bei Verwendung von TLS/SSL==
In den letzten zwei Jahrenwurden drei Seitenkanalangriffe bei Verwendung von HTTPS und Kompression
vorgestellt: CRIME, TIME und BREACH. Die bearbeitende Gruppe stellt die Angriffe vor und illustriert sie wo möglich mit Beispielen. Als (stark
vereinfachter) Startpunkt kann folgende CTF Aufgabe aus dem PlaidCTF 2013 verwendet werden: Wenn möglich sollte
die Gruppe einen Proof-Of-Concept für BREACH basteln.

Links:
* [https://ctftime.org/task/362 PlaidCTF 2013]


Mentor:
Mentor:
Line 91: Line 155:
Mentor:
Mentor:


== Pseudonyme Signaturen mit dem nPA===
== SIM TestTool ==
In dem Paper "Domain-Specific Pseudonymous Signatures for the German Identity Card" wird ein Vorschlag gemacht, wie pseudonyme Signaturen dem (zukünftigen nPA) gemacht werden können. Das ermöglicht Signaturen mit dem nPA die nicht als QES angesehen werden, sondern eher zur Bestätigung oder Auslösung von Transaktionen genutzt werden können. Lesen und verstehen Sie die Ideen. Implementieren Sie dieses Protokoll, indealer Weise in OpenPACE.

Links:
* [http://link.springer.com/chapter/10.1007%2F978-3-642-33383-5_7 Domain-Specific Pseudonymous Signatures for the German Identity Card]

Mentor:

== [[SIMTestTool]] ==


Anette, Sergeij, Taras


Zu Karsten Nohls, bzw. SR Labs, aktueller
Zu Karsten Nohls, bzw. SR Labs, aktueller
Line 122: Line 197:
Mentor:
Mentor:


==seccomp==


seit linux 3.5 gibt es einen erweiterten seccomp modus, der es erlaubt syscalls via einem bpf programm zu "filtern".


; Weitere kreative Vorschläge sind willkommen!
Aufgabe könnte sein einen kleinen "compiler" zu bauen der text configs in entsprechende bpf programme übersetzt.
: Viel Erfolg!
: Kontakt: [http://sar.informatik.hu-berlin.de/people/wolf_mueller.htm Wolf Müller]


==AeroFS überwachen==
*http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob;f=Documentation/prctl/seccomp_filter.txt
Der "nicht-Cloud-Speicher" AeroFS speichert im Gegensatz zu Diensten wie Dropbox oder Wuala die Daten ausschließlich auf den eigenen Rechnern und synchronisiert zwischen diesen via LAN oder Internet verschlüsselt. Jedenfalls wird das behauptet. Man könnte sich anschauen, inwiefern es möglich ist, dieses Versprechen zu überprüfen.


* https://www.aerofs.com/
Blogeintrag zur nächsten Chrome sandbox auf Basis von seccomp: http://blog.cr0.org/2012/09/introducing-chromes-next-generation.html


Idee: Ben
Mentor:



; Weitere kreative Vorschläge sind willkommen!
: Viel Erfolg!
: Kontakt: [http://sar.informatik.hu-berlin.de/people/wolf_mueller.htm Wolf Müller]

Latest revision as of 18:46, 27 May 2014

Themenvorschläge für IT-Security Workshop 16.-28. September 2013

Vorträge

Rudower Chaussee 25, Haus 3, Raum 3'328

10:00-11:00 NFC Interface auf Android Telefonen Paul, Robert, Manuel, Daniel

pdf

11:10-11:55 Reite die (NFC-)Welle Philipp, Max

pdf zip(AES)

12:00-13:00 Mittagspause
13:00-13:45 Modernes SSL/TLS-Setup mit Apache Moritz, Elias, Tim

pdf

13:45-14:30 SIM TestTool Sergej, Taras

pdf

Pro Gruppe ist angedacht, die 45 min auf 30 min Vortrag und 15 min Diskussion und ggf. Demo aufzuteilen.

Untersuchung NFC Interface auf Android Telefonen

Robert, Manuel, Daniel, Sebastian, Paul

Als erste kleine Übung kann eine App zum Anzeigen des Guthabens auf der Mensakarte entwickelt werden. Weitergehende Aufgaben wären beispielsweise das Brechen von Mifare Schlüsseln auf dem Telefon (also ein Portierung von mfoc). Besonders spannend wäre es zu untersuchen, ob/wie mit dem Telefon die Kartenemulation machbar ist. Dazu gab es dieses Jahr auf der Defon einen Vortrag, bei dem das Tool nfcproxy vorgestellt wurde.

Links:

Mentor:

Der zugehörige Eintrag ist jetzt online.

Selbstauskunft "in-the-middle"

Nach der reinen Lehre über die Nutzung des neuen Personalausweises muss jeder (Dienstanbieter) der Datengruppen bzw. Funktionen aus dem nPA mit Hilfe der eID-Funktion nutzen will, ein gültiges Berechtigungszertifikat von der Vergabestelle vorweisen und einen eID-Server betreiben (oder den entsprechenden eID-Service anmieten). Das ist sicher etwas aufwändig. Geht es nicht etwas einfacher? Wenn man sich an der Lösung Sofortüberweisung orientiert, so könnte man auf die Idee kommen, einem Nutzer mittels "man-in-the-middle" quasi dabei über die Schulter zu schauen, wie er eine Onlineauthentisierung gegenüber einem Dienstanbieter mit Berechtigungszertifikat durchführt. Schreiben Sie eine App, die eine Piggyback-Authentisierung via den vom Bürgerportal der Stadt Würzburg angebotenen Dienst zur Selbstauskunft nutzt. Das Lesegerät für den nPA soll über Bluetooth mit dem nPA verbunden werden und der Leser soll eine eigenen PIN-Eingabe und Anzeige der Transaktion ermöglichen.

Links:

Mentor:

Reite die (NFC-)Welle

Philipp, Max

Mit dem Cyberjack Wave ist ein Chipkartenleser der Sicherheitsklasse 3 mit Bluetooth 4.0 Interface verfügbar. Auch wenn er noch nicht Zertifiziert ist, ist er tendenziell als Standardleser für den neuen Personalausweis mit sicherer Anzeige und PIN-Eingabe und lokaler PACE-Funktionalität konzipiert. Reiten Sie die Welle und nehmen Sie Kontakt zu einem Smartphone aus einer App auf. (Die Aufgabe würde die vorhergehende schön ergänzen.)

Links:

Mentor:

Smartcards und Dämone virtuell

Für die Ein- oder Anbindung von Smartcards an IT-Systeme bestehen weitreichende Standards. Aus Sicht eines Betriebsystems oder Klienten, der darauf zugreift ist eine Smartcard nicht als solche erkennbar, insbesondere ist es nicht erforderlich, dass es sich um eine physische Karte handelt, oder dass diese sich wirklich räumlich in der Nähe zu dem verwendeten IT-System befindet. Hierraus ergeben sich diverse spannende Möglichkeiten zur Emulation oder Weiterleitung von Smartcards oder deren virtuellen Entsprechungen.

vpcd für Windows (eventuell Kopplung an entfernten Reader)

Einen Dämon der virtuelle oder auch echte Smartcards an ein System anbindet vpcd ist für Linux in den Grundzügen auf unter Windows und schon vorhanden. Ihre Aufgabe wäre es,diesen konsequent nach Windows zu portieren, und damit im Idealfall eine Einbindung eines entfernten Lesers an ein Windowssystem zu ermöglichen.

PKCS#15-Implementierung für vicc

Für das Framework zum erstellen von virtuellen Smartcards vicc wäre es sehr nützlich auch die Funktionalität von PKCS#15 bereitzustellen.

Links:

Mentor:

Rund um den eIDClientCore

Der eIDClientCore ist eine in Entwicklung befindliche Bibliothek, die die Kernfunktionalitäten für den Zugriff auf die eID-Funktion des neuen Personalausweises (nPA) und des elektronischen Aufenthaltstitels (eAT) bereitstellt.

GUI mit PIN-Management

Schreiben Sie ein portables GUI für den eIDCC, womit als erstes schon mal das PIN-Management (PIN-Neusetzen, ggf. PUK, ) realisiert werden kann.

Initialisierung, Signaturerstellung mit dem eIDClientCore

(Entwicklung nur in der BDr, Erfahrung mit Android notwendig!) Der neue Personalausweis ist als sichere Signaturerstellungseinheit vorbereitet. Um diese Funktion zu nutzen, kann ein QES-Signaturzertifikat passend zum auf der Karte generierten Schlüssel nachgeladen werden. In wieweit kann zumindest funktional, der eIDCC hierzu verwendet werden?

Links:

Mentor:

Portierung einer PC/SC-Anwendung nach Android

Viele aktuelle Smartphones besitzen eine NFC-Schnittstelle oder es kann über Bluetooth ein externer Leser angebunden werden. Portieren Sie das eine ursprünglich auf PCSC-basierende Anwendung (wie das Auslesen eines Reisepasses) auf Android.

Mentor:

Modernes SSL/TLS-Setup mit Apache

Moritz, Elias, Tim

Die (möglichst) sichere Konfiguration eines Webservers beinhaltet viele Aspekte. Versuchen Sie einen Apache so zu konfigurieren, dass er möglichst kryptografisch starke Verfahren auswählt, die interoperabel mit den meisten aktuellen Browsern ist, gegen bekannte Angriffe weitgehend immun ist und der Ressourcenverbrauch erträglich ist.

Starke Cipher Suites

Vermeiden Sie schwache angreifbare Chiphersuites (keine oder zu geringe Schlüssellänge, BEAST, CRIME, ...).

Forward Secrecy

Wenn man die Annahme, dass private Schlüssel immer privat bleiben fallen muss, stellt sich die Frage, ob bereits aufgezeicheter SSL/TLS-Traffic der zu einem früheren Zeitpunkt mit diesem Schlüssel initiiert wurde, im Nachhinein entschlüsselt werden kann. Versuchen Sie Lösungen zu finden, damit in der TLS-Aushandlung möglichst geeignete Chiphersuites zwischen dem verwendeten Browser und dem Webserver (ephemerales Schlüsselmaterial, möglichst schneller Handshake, robuste Verschlüsselung und MAC) ausgehandelt werden.

ECC Zertifikate im Apache

Um ausreichende Sicherheitsreserven zu haben werden aktuell für RSA Shlüssellängen von 2048 oder 4096 Bit verwendet. Abhilfe könnte die Kryptografie mit elliptischen Kurven schaffen. Hier wird mit kürzeren Schlüsseln vergleichbare Sicherheit erreicht. Bisher ist die Verwendong noch eher exotisch. Wo bekommt man so ein Zertifikat her? Welche Klienten kommen damit klar, wo gibt es Probleme? Können beide (RSA und ECC) auf der gleichen Domain in der Art verwendet werden, dass wenn der Klient kein ECC beherrscht, dass ein Fallback auf RSA erfolgt?

Unterstützung für Key-Pinning

Links:

Benchmarking

Für die Präsentation wäre es sehr interessant, für verschiedene Chiphersuites die Zeit für den Handshake und den Ressourcenverbrauch zu bestimmen. Wie verhält es sich mit dem Tradeoff zwischen Komfort, Kompatibilität, Ressourcenverbrauch und Sicherheit?

Mentor:

Probleme mit Kompression bei Verwendung von TLS/SSL

In den letzten zwei Jahrenwurden drei Seitenkanalangriffe bei Verwendung von HTTPS und Kompression vorgestellt: CRIME, TIME und BREACH. Die bearbeitende Gruppe stellt die Angriffe vor und illustriert sie wo möglich mit Beispielen. Als (stark vereinfachter) Startpunkt kann folgende CTF Aufgabe aus dem PlaidCTF 2013 verwendet werden: Wenn möglich sollte die Gruppe einen Proof-Of-Concept für BREACH basteln.

Links:

Mentor:

RSA-PSK Unterstützung für mod_ssl

Das Verschränken von kryptografisch mit SSL/TLS gesicherten Kanälen ist in vielen Webanwendungen wünschenswert. Bislang ist ein Handshake der einen "pre shared key" in Kombination mit RSA gemäß RFC 4279 bereitstellt, für openSSL nur als Patch (http://www.internet-sicherheit.de/service/tools/patches/) (auch für eine nicht ganz aktuelle Version) verfügbar. In dem Apachemodul mod_ssl ist diese Methode jedoch noch gar nicht vorgesehen. Hier wäre es sinnvoll, Ideen zu entwickeln, wie RSA-PSK hier Unterstützung finden kann.

Mentor:

Pseudonyme Signaturen mit dem nPA=

In dem Paper "Domain-Specific Pseudonymous Signatures for the German Identity Card" wird ein Vorschlag gemacht, wie pseudonyme Signaturen dem (zukünftigen nPA) gemacht werden können. Das ermöglicht Signaturen mit dem nPA die nicht als QES angesehen werden, sondern eher zur Bestätigung oder Auslösung von Transaktionen genutzt werden können. Lesen und verstehen Sie die Ideen. Implementieren Sie dieses Protokoll, indealer Weise in OpenPACE.

Links:

Mentor:

SIMTestTool

Anette, Sergeij, Taras

Zu Karsten Nohls, bzw. SR Labs, aktueller Veröffentlichung, kann man ein Tool schreiben, welches testet ob die eigene SIM Karte prinzipiell anfällig ist oder nicht (also nur, ob sie auf fehlerhafte Anfragen mit einer "signierten" Antwort reagiert, nicht ob eine verwundbare Java Runtime auf den Karten läuft). Ein solches Werkzeug ist unseres Wissen nach derzeit nicht öffentlich verfügbar.

Links:

Mentor:

UEFI Secure Boot

Setzen sie eine virtuelle Maschine auf, welche UEFI Secure Boot verwendet.

Alternativ/zusätzlich sind auch (U)EFI rootkits dieses Jahr ein heißes Thema:

Mentor:


Weitere kreative Vorschläge sind willkommen!
Viel Erfolg!
Kontakt: Wolf Müller

AeroFS überwachen

Der "nicht-Cloud-Speicher" AeroFS speichert im Gegensatz zu Diensten wie Dropbox oder Wuala die Daten ausschließlich auf den eigenen Rechnern und synchronisiert zwischen diesen via LAN oder Internet verschlüsselt. Jedenfalls wird das behauptet. Man könnte sich anschauen, inwiefern es möglich ist, dieses Versprechen zu überprüfen.

Idee: Ben