W2016-ITS: Difference between revisions

From
Jump to navigation Jump to search
mNo edit summary
Line 1: Line 1:
='''(Entwurf)''' Themenvorschläge für [https://sar.informatik.hu-berlin.de/teaching/2016-w/2016w_ITSecurityWorkshop/ IT-Security Workshop] 4. bis 14. Oktober [https://sar.informatik.hu-berlin.de/teaching/2016-w/2016w_ITSecurityWorkshop/ 2016]=
='''(Entwurf)''' Themenvorschläge für [https://sar.informatik.hu-berlin.de/teaching/2016-w/2016w_ITSecurityWorkshop/ IT-Security Workshop] 4. bis 14. Oktober [https://sar.informatik.hu-berlin.de/teaching/2016-w/2016w_ITSecurityWorkshop/ 2016]=


==Sichere SSL/TLS-Konfiguration im Allgemeinen==
Nach den Enthüllungen von Edward Snowden haben wir verstanden, warum authentische und vertrauliche Kommunikation wichtig ist. Naiv betrachtet, könnte man denken, es ist ausreichend "s"-Protokolle wie https, imaps, pops ... zu verwenden und alles ist gut. Es ist in Praxis jedoch wesentlich komplexer eine unter dem gegenwärtigen Angreifermodell hinreichend starke SSL/TLS-Verbindung zu erzwingen.

In der Vergangenheit wurden zahlreiche teils sehr originelle Angriffe auf SSL/TLS entwickelt, die Seitenkanäle oder auch Probleme im Protokollentwurf oder der Implementierung adressieren. Weiterhin ist es wünschenswert, "forward secureness" zu nutzen, da auch nicht für jeden Server der private Schlüssel immer privat bleiben muss.

Versuchen Sie für einen aktuellen SSL/TLS-Server (z.B. Apache oder NGINX) eine möglichst sichere Konfiguration zu erstellen und behalten Sie dabei auch die Performance im Auge. Könnte die Nutzung von ECC hier weiter helfen?
Wenn noch Zeit ist stellen Sie ggf. "handshake"-Zeiten gegenüber.

Links:
* [https://en.wikipedia.org/wiki/Transport_Layer_Security#Attacks_against_TLS.2FSSL Angriffe auf SSL/TLS]
* [https://www.ssllabs.com/ssltest/ (Web-)Server Test]
* [https://www.owasp.org/index.php/Testing_for_Weak_SSL/TLS_Ciphers,_Insufficient_Transport_Layer_Protection_(OTG-CRYPST-001)#Testing_for_Weak_SSL.2FTLS_Ciphers.2FProtocols.2FKeys_vulnerabilities Generic SSL/TLS Server Testing]

Mentor: [https://sar.informatik.hu-berlin.de/people/jan-peter_bell.htm Jan-Peter Bell], [https://sar.informatik.hu-berlin.de/people/wolf_mueller.htm Wolf Müller]


Mozilla-Tool
Stunnel





Revision as of 13:08, 15 September 2016

(Entwurf) Themenvorschläge für IT-Security Workshop 4. bis 14. Oktober 2016

Sichere SSL/TLS-Konfiguration im Allgemeinen

Nach den Enthüllungen von Edward Snowden haben wir verstanden, warum authentische und vertrauliche Kommunikation wichtig ist. Naiv betrachtet, könnte man denken, es ist ausreichend "s"-Protokolle wie https, imaps, pops ... zu verwenden und alles ist gut. Es ist in Praxis jedoch wesentlich komplexer eine unter dem gegenwärtigen Angreifermodell hinreichend starke SSL/TLS-Verbindung zu erzwingen.

In der Vergangenheit wurden zahlreiche teils sehr originelle Angriffe auf SSL/TLS entwickelt, die Seitenkanäle oder auch Probleme im Protokollentwurf oder der Implementierung adressieren. Weiterhin ist es wünschenswert, "forward secureness" zu nutzen, da auch nicht für jeden Server der private Schlüssel immer privat bleiben muss.

Versuchen Sie für einen aktuellen SSL/TLS-Server (z.B. Apache oder NGINX) eine möglichst sichere Konfiguration zu erstellen und behalten Sie dabei auch die Performance im Auge. Könnte die Nutzung von ECC hier weiter helfen? Wenn noch Zeit ist stellen Sie ggf. "handshake"-Zeiten gegenüber.

Links:

Mentor: Jan-Peter Bell, Wolf Müller


Mozilla-Tool Stunnel


Sichere Webserver(konfiguration)

Mozilla-Tool Stunnel


Installer für virtuellen Smartcardleser für Windows

Die Android-App [ https://frankmorgner.github.io/vsmartcard/remote-reader/README.html "Remote Smart Card Reader"] erlaubt die Nutzung eines geeigneten NFC-Smartphones als kontaktlosen Kartenleser an einem PC. Die Aufgabe des Projektteams ist die Erstellung eines Windows-Installers für den dazugehörigen virtuellen Smartcard-Leser.

Mentor: Frank Morgner


Smartcardemulation@Watch

Im Android-Betriebssystem ist seit einigen Versionen die Möglichkeit der "host card emulation" HCE, also mit geeigneten Smartphones mit NFC-Schnittstelle eine kontaktlose Smartcard gegenüber einem Lesegerät zu emulieren, vorhanden. Noch bequemer wäre es, wenn bei der Nutzung das Telefon in der Tasche bleiben könnte und statt dessen eine HCE-fähige Smartwatch zur Präsentation gegenüber dem Leser verwendet wird. Konkret soll die eigentliche Emulation auf einem Android-Smartphone erfolgen, die Präsentation an einer über Bluetooth gekoppelten Samsungs "Gear S2" Uhr.

Die Aufgabe des Projektteams ist es, das emulierte Smartcard-Betriebssystem im Smart Card Emulator durch die NFC-Schnittstelle der Gear S2 zugreifbar zu machen, so dass die Smartwatch als "Antenne" für die Android-App fungiert. Wesentliche Vorarbeit wurde bereits in einem Branch geleistet.

Links:

Mentor: Frank Morgner

Portierung von vorhandenen Smartcard-Anwendungen auf Android

Mit SEEK for Android gibt es ein sehr umfangreiches Framework, um herkömmliche Smartcard-Anwendungen auf Android zu verwenden. Jedoch ist das Framework zu komplex und ressourcenhungrig für einfache Anwendungen. Aufgabe für die Projektgruppe ist das folgende Nutzungsszenario zu realisieren.

.-Smartphone-----------------------------------------------------------------.
|                                                                            |
| Smartcard-Anwendung <--(PC/SC)--> libpcsclite <--(TCP)--> Android-App <--(NFC)-->Smartcard
|          |                             |                        |          |
`--------- | --------------------------- | ---------------------- | ---------'
           |                             |                        |
           |-----------------------------'                        |
.----------|----------.                                  .--------|-------------.
|   Geschrieben in C  |                                  |  Geschrieben in Java |
`---------------------'                                  `----------------------'

Die Smartcard-Anwendung könnte z.B. OpenSC sein. libpcsclite ist aus diesem Projekt zu verwenden. Die Android App wäre zu erstellen und müsste eine kontaktlose Chipkarte ansprechen sowie die Schnittstelle zu o.g. libpcsclite implementieren

Links:

Mentor: Frank Morgner


BSI TR-03108 Sicherer E-Mail-Transport

Die Technische Richtlinie "Sicherer E-Mail-Transport" (BSI TR-03108) definiert konkrete Anforderungen an einen E-Mail-Diensteanbieter (EMDA). Ziel der Technischen Richtlinie ist die Erhöhung der Vergleichbarkeit und Verbreitung sicherer E-Mail-Kommunikation. Ziel bei diesem Thema ist es zu schauen, welche Schutzmaßnahmen für unseren Informatik-Mail-Server umgesetzt werden können. Hierbei geht es vor allem um technische Maßnahmen zur Absicherung eines authentischen und vertraulichen E-Mail-Transports.

Die im RFC 6698 beschriebene "DNS-Based Authentication of Named Entities (DANE)" scheint ein gutes Mittel zu sein, um jenseits von bestehenden PKI-Mechanismen eine starke Authentisierung eines Servers und spätere Absicherung der Verbindung über SSL/TLS ausgehend von dessen DNS-Namen zu erreichen. Versuchen Sie dieses Konzept für unseren Institutsmailserver umzusetzen. Bezüglich DANE gibt es bereits Vorarbeiten aus dem letzten Jahr DANE für unseren Mail-Server.

Hinsichtlich der umsetzbaren organisatorischen und physischen Sicherheitsmaßnahmen wird es sicherlich Unterschiede zu gewerblichen E-Mail-Dienste-Anbietern geben, jedoch ist es sicherlich interessant, was sich an technischen Schutzmechanismen am Institut umsetzen lässt oder schon so in Betrieb ist.

Links:

Mentor: Jan-Peter Bell, Wolf Müller


Email-Push-Notifikation

Zunehmend wird Email auch von unterwegs auf mobilen Geräten gelesen. Dabei ist es sicherlich interessant, wie ein Smartphone mitbekommt, dass es für seinen Besitzer eine oder mehrere neue Emails gibt. Die naive Lösung ist das über einen "pull"-Zugriff zu lösen. Das Smartphone würde also in regelmäßigen Abständen sich über SSL/TLS bei unserem Institutsserver mit dem Nutzeraccount einloggen und schauen, ob es für den Nutzer neue Email gibt. Möchte ein Nutzer schnell erfahren, dass neue Email da sind, wir das Verfahren recht schnell aufwendig und nimmt die Batterie recht in Anspruch. Etwas moderner ist sicherlich die Verwendung von imap-idle. Jedoch muss auch hier die Mail-App auf dem Telefon laufen und die TCP-Verbindung offen halten. Allerdings können mehrfache SSL/TLS-Handshakes vermieden werden. Schöner wäre es, wenn der Mailserver die Benachrichtigung via push-Nachricht über ein Gateway (Apple|Google) dem Betriebssystem des Smartphones mitteilt, dass neue Email da ist, also den für das jeweilige Mobile-OS gedachten Standardweg nutzt.

Wäre imap-notify eine Alternative?

Untersuchen sie die Möglichkeiten für die Umsetzung mit IMAP (dovecot) für iOS oder ggf. auch Android.

Links:

Anleitung:

Mentor: Jan-Peter Bell, Wolf Müller


U2F (reloaded)

Im letzen Jahr haben wir uns bereits mit der 2-Faktorauthentisierung gemäß U2F FIDO beschäftigt. Diese ist aus unserer Sicht eine sehr interessante Authentisierungstechnik, die ein hohes Maß an Anonymität, Sicherheit und Komfort miteinander verbinden kann. Der ursprüngliche Fokus von U2F lag in der Authentisierung gegenüber Webdiensten. Aber natürlich ist es auch denkbar U2F-Token zur Authentisierung in anderen Kontexten (PAM, SSH, ...) zu nutzen. Versuchen Sie einen Überblick zu gewinnen, für welche Protokolle oder Szenarien U2F genutzt werden können sollte und versuchen sie dies auch als "proof of concept" auch auszuprobieren.

Links:

Mentor: Wolf Müller


Absicherung NFS

Bei NFS-Freigaben sind hohe Anforderungen an die Integrität des NFS-Clienten gestellt, da allein dieser über die Einhaltung der im exportierten Dateisystem gesetzten Rechte entscheidet. Daher ist es es essenziell, dass sich bei dem mountenden Clienten wirklich um den beabsichtigten legitimen Rechner handelt. Der Normalfall ist eine simple Überprüfung der IP-Addresse, die in der /etc/exports angegeben ist.

Untersuchen Sie, welche Verbesserungen hier möglich sind und welchen Aufwand, welche Komplexität die von Ihnen erarbeitenden Lösungen haben. Die verlässlichere Prüfung könnte auf verschiedenen Schichten angesetzt werden.

Links:

Mentor: Jan-Peter Bell


Smartcards@SUNray

Wie Sie ja vielleicht schon bemerkt haben, kann man gewisse Smartcards zur Identifizierung einer bestehenden Session auf einem SUNray nutzen und diese dann später wieder an einem anderen Terminal (oder auch dem gleichen) auf den Schirm holen (keine Sorge, Nutzername/Passwort werden noch zum Login benötigt). Dies funktioniert mit gewissen Kartentypen (Siehe condor:/etc/opt/SUNWut/smartcard). Versuchen Sie zusätzliche Konfigurationsfiles zu schreiben, die in Deutschland verbreitete kontaktbehaftete Smartcards (eGK, EC-Card) zu diesem Zweck nutzen.

Wolf Müller


Sichere Wiki-Konfiguration / Migration

Ein Wiki ist seiner Natur nach ein offenes System, in welchem der "Mitmachgedanke" weit vorne steht. Leider gibt es dann doch häufig automatisierte Angriffe, die diese Eigenschaft ausnutzen. So fand sich auch in unserm Wiki viel SPAM.

Versuchen Sie eine Kopie unseres Wikis auf eine aktuelle Codebasis zu heben. Dokumentieren Sie Ihre einzelnen Schritte. Treffen Sie eine begründete Auswahl an Zusatzpaketen zur Integration von Formeln, Bildern, ... und versuchen Sie eine möglichst sichere Konfiguration zu erreichen. Ansatzpunkte könnten die Verwendung von Captchas, sowie Beschränkungen zum anlegen von Nutzeraccounts sein.

Mentor: Wolf Müller, Wolfgang Gandre


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.



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