W2013-ITS: Difference between revisions

From
Jump to navigation Jump to search
Line 41: Line 41:
Mentor:
Mentor:


==Forward Secrecy für Apache==
==Modernes SSL/TLS setup mit Apache==
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.
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.


===Starke Cipher Suites===
Links:
Vermeiden Sie schwache angreifbare Chiphersuites (keine oder zu geringe Schlüssellänge, BEAST, CRIME, ...).
* [http://www.heise.de/security/artikel/Forward-Secrecy-testen-und-einrichten-1932806.html Heise]
* [https://www.ssllabs.com/ssltest/ SSL Test]
* [http://blog.ivanristic.com/2013/08/configuring-apache-nginx-and-openssl-for-forward-secrecy.html Blog Ivan Ristić]
* [http://www.techienote.com/2012/05/how-to-install-apache-2-4-2-on-solaris.html Apache 2.4 Solaris]


===Forward Secrecy===
Mentor:
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==
===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?
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:
Links:
* [https://www.ssllabs.com/ssltest/ SSL Test]
* [https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Publikationen/TechnischeRichtlinien/TR02102/BSI-TR-02102_pdf.pdf?__blob=publicationFile TR-02102]
* [http://blog.ivanristic.com/2013/08/configuring-apache-nginx-and-openssl-for-forward-secrecy.html Blog Ivan Ristić]
* [http://www.techienote.com/2012/05/how-to-install-apache-2-4-2-on-solaris.html Apache 2.4 Solaris]
* [https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Publikationen/TechnischeRichtlinien/TR02102/BSI-TR-02102_pdf.pdf TR-02102]
* [https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Publikationen/TechnischeRichtlinien/TR02102/BSI-TR-02102-2_pdf.pdf TR-02102-2]
* [https://nibbler.de/attic/datsubjaltname So Nicht, keine Wildcards im SubjectAltName!]
* [http://www.heise.de/security/artikel/Forward-Secrecy-testen-und-einrichten-1932806.html Heise]
* [https://httpd.apache.org/docs/current/mod/mod_ssl.html#sslcertificatefile mod_ssl]
* [https://httpd.apache.org/docs/current/mod/mod_ssl.html#sslcertificatefile mod_ssl]
* [http://tools.ietf.org/html/rfc6797 HSTS]
* [http://tack.io/index.html TACK]
* [http://tools.ietf.org/html/draft-ietf-websec-key-pinning-08 HPKP]


Mentor:
Mentor:

Revision as of 14:14, 2 September 2013

Themen für IT-Security Workshop 16.-28. September 2013

Untersuchung NFC Interface auf Android Telefonen

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:

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

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. 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:

Modernes SSL/TLS setup mit Apache

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:

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:

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:

seccomp

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

Aufgabe könnte sein einen kleinen "compiler" zu bauen der text configs in entsprechende bpf programme übersetzt.

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

Mentor:


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