W2017-ITS: Difference between revisions
Line 28: | Line 28: | ||
* [http://www.linux-usb.org/gadget/ GadgedFS] |
* [http://www.linux-usb.org/gadget/ GadgedFS] |
||
* [https://github.com/ueno/libusb-gadget Example Gadget] |
* [https://github.com/ueno/libusb-gadget Example Gadget] |
||
* [https://heise.de/-3846038 Heise:Illusion Gap] |
|||
Mentor: [https://sar.informatik.hu-berlin.de/people/wolf_mueller.htm Wolf Müller] |
Mentor: [https://sar.informatik.hu-berlin.de/people/wolf_mueller.htm Wolf Müller] |
Revision as of 10:58, 29 September 2017
Themen für IT-Security Workshop 2. bis 13. Oktober 2017
$(Eigenes Thema)$
Das ist natürlich das beste aller Themen, eine eigene Idee, eine interessante Technik, die Sie schon immer mal bezüglich ihrer Machbarkeit oder Praxistauglichkeit untersuchen wollten.
Nur Mut! Tun Sie sich mit Gleichgesinnten zusammen und versuchen Sie es.
Viel Erfolg!
USB Rubber Ducky
Was kann ein gefundener USB-Stick alles sein? Nutzen Sie ein programmierbares Gerät mit USB-Stick Formfaktor, um über Angriffsszenarien nachzudenken. Kann man ein "intelligentes" Angriffsscript ersinnen, das in Abhängigkeit von dem Gerät, an welches es angesteckt wird, sich angepasst verhält?
Links:
Mentor: Wolf Müller
USB-Stick: Dr. Jekyll und Mr. Hyde
[Daniel, Janina, Robert]
Aus sicht des Betriebssystems ist ein USB-Stick ein relativ einfaches Block-orientiertes Gerät, auf das man Datenblöcke lesen und schreiben kann. Im Allgemeinen geht das OS auch davon aus, dass wenn es selbst Daten auf den Stick schreibt und später wieder davon liest und der Stick in der Zwischenzeit nicht getrennt wurde, wieder identische Daten geliefert werden.
Wenn aber ein Stick nur emuliert wird, können sich Dateien und Metainformationen aber quasi spontan ändern. Es wäre interessant, solch ein System zu entwerfen und zu schauen, ob man damit das Betriebssystem oder auch einen Virenscanner aus dem Tritt bringen kann. Zur Emulation eines USB-mass-storage-Gerätes könnte Linux in Verbindung mit GadgetFS ein Startpunkt sein. Auch ein Rasberry-Pi ist denkbar.
Links:
Mentor: Wolf Müller
DNSSEC@Informatik
Eigentlich wird schon lange über die sichere Variante von DNS gesprochen. Dennoch ist die HU und auch unser Institut noch nicht über DNS-SEC von außen validierbar. Für die Domain hu-berlin.de hat das CMS schon Grundlagen geschaffen, aber die Einbindung nach oben ist noch nicht erfolgt.
Erarbeiten Sie ein Konzept und versuchen Sie, exemplarisch einige Schritte umzusetzen. Welche Software wird benötigt, um eine Zone zu signieren. Wie können Schlüssel sicher aufbewahrt werden. Was ist mit dynamischen Einträgen?
Welche Vorteile bietet DNSSEC bei erfolgreicher Validierung? Mit DANE können auch weitere Felder über DNSSEC ausgeliefert werden. Denkbar wäre zum Beispiel auch SMTP mithilfe von DANE stärker zu machen oder auch SSH-Fingeprints von Informatikrechnern automatisch ausliefern zu lassen und so Trust-on-First-Use oder das manuelle Vergleichen mit unserer Liste zu überwinden.
Links:
Mentoren: Robert Sombrutzki, Wolf Müller
Sicheres HTTPS für Legacy-Server
Während bei aktueller Software die Chancen recht gut sind, dass noch starke Ciphersuites zur Verfügung stehen, ist es mit Altanwendungen ungleich schwerer, diese zu ertüchtigen. Versuchen Si,e beispielsweise für einen Microsoft IIS 6.0 nach außen eine starke Verschlüsselung nachzurüsten.
Weiterhin könnten in den Reverse-Proxy-Varianten mit Apache / Nginx auch weitere aktuelle Sicherheitsfeatures scharfgeschaltet werden, wie zum Beispiel Einstellungen zur Content Security Policy (CSP). Während in Altbeständen die Chancen gut stehen, dass Bilder als separate Ressourcen (Dateien) eingebunden sind, sind häufig Style-Elemente und JavaScript-Zeilen inline in der Seite eingebettet, was dann Probleme macht. Entwerfen Sie Software, die hier eine möglichst komfortable Auslagerung in externe Ressourcen vornimmt. Ein Startpunkt könnte beispielsweise Tidy sein.
Links:
Mentor: Wolf Müller
Sicherer und schneller SSL/TLS-Handshake
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. Eine gute Orientierung bietet die Technische Richtlinie "BSI TR-02102-2" Behalten Sie dabei auch die Performance für den Handshake im Auge:
- Könnte die Nutzung von ECC hier weiter helfen?
- DH oder ECDH?
- Was muss ein sorgsamer Client alles prüfen, wie kann ihn der Server dabei unterstützen?
- Kann man die gesamte Zertifikatskette auch ECC-signiert bekommen?
- Was ist OCSP-stampling
- Was bringen die einzelnen Maßnahmen?
Links:
Mentor: Wolf Müller
Die Zukunft "TLS auf Speed"
Wo geht die Reise in der Standardisierung hin? Weniger Optionen, schnellerer Handshake, schneller Transport. Gibt es bereits erste Implementierungen des neuen Standards? Was gibt OpenSSL 1.1.* her. Welche Optimierungen können bei der eigentlichen vertraulichen und authentischen Übertragung helfen?
- Ciphersuites auch aus TLS 1.3 ChaCah
- Hardwareunterstützung von AES
- Einsparung von Kontextwechseln SSL/TLS-Kernel-Support
- Integration mit OSI-Layer 7 HTTP/2
Links:
Mentor: Wolf Müller
Post Quantum Crypto
[George]
Was passiert, wenn Quantencomputer verfügbar werden, die aktuelle Schlüssellängen brechen können. Seit einigen Jahren denken Wissenschaftler über "Post Quantum Crypo" nach. Welche Ideen oder auch Implementierungen gibt es? Google, Chrome?
Links
Mentor: Wolf Müller
Privacy@Home
Das IoT steht vor der Tür. Zunehmend begehren technische Geräte (Fernseher, DVD-Player, Heizung, ...) Zugang zu unserem Heimnetzwerk. Auf der einen Seite lassen sich natürlich neue gewollte Komfortfunktionen realisieren auf der anderen Seite stellen diese Geräte aber eine potenzielle Bedrohung für unser Heimnetz und unsere Privatsphäre da. Wie kann man diese Geräte in dem was sie tun können begrenzen. Versuchen Sie, den Zugriff auf das Heimnetz von diesen Geräten aus und den Zugriff auf und aus dem Internet unter Beteiligung dieser zu limitieren. Exemplarisch soll dazu eine Fritz!Box 7390 Verwendung finden. Stichworte: Gastnetz, Filter, .... Wie authentifizieren Sich Geräte gegenüber ihrem Netzwerk und wie verlässlich ist diese Information? Welche URLs nutzen Ihre Heimgeräte legitim, welche waren unerwartet?
Links:
Mentor: Wolf Müller
WebAuthn (FIDO UAF|U2F reloaded)
In den letzten Jahren 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, GIT, ...) 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. Wie funktioniert UAF? Gibt es schon frei verfügbare Demo(apps)?
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 essenziell, dass sich bei dem mountenden Clienten wirklich um den beabsichtigten legitimen Rechner handelt. Der Normalfall ist eine simple Überprüfung der IP-Adresse, 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. Wünschenswert wäre zumindest eine starke und persistente Authentisierung (z.B. basierend auf privaten Schlüsseln). Denkbar wäre eine Absicherung über SSL/TLS vielleicht mit einem performanten Modus mindestens zur Integritätssicherung (TLS_RSA_WITH_NULL_SHA, TLS_RSA_WITH_NULL_SHA256, ..., TLS_RSA_WITH_AES_128_GCM_SHA256), womit zumindest aktive Angriffe unterbunden werden könnten. Alternativ könnte auch die Verwendung von NFS mit Kerberos helfen. Betrachten Sie das Verhältnis von Sicherheit und Performance.
Links:
Mentoren: Wolf Müller, Robert Sombrutzki
Informatik-Sync-Server für Firefox
Die Authentisierung mittels (Name,Passwort) wird nach wie vor von vielen Diensten im Internet verwendet. Der Nutzer ist bei der Vielzahl der Dienste schlichtweg überfordert, sich all diese zu merken. Als Konsequenz wurden Lösungen wie Single Sign On oder Open ID vorgeschlagen. In der post-Snowden-Ära gibt es jedoch Bedenken, die Authentisierung an eine dritte Partei auszulagern, da diese auch im Namen des legitimen Nutzers ohne diesen eine erfolgreiche Authentisierung bewerkstelligen könnte.
Einen anderen Ansatz bieten Passwortmanager. Hier wird dem Benutzer angeboten, mit Hilfe (eines hoffentlich starken Masterpassworts) den Zugang zu den Authentisierungsdaten für die einzelnen Dienste abzusichern. Die Referenzdaten dazu können beispielsweise lokal verschlüsselt gespeichert werden. Allerdings ist es ggf. wünschenswert, den Passwortmanager auch auf verschiedenen Geräten nutzen zu können. Eine Lösung die auch die Synchronisierung zwischen verschiedenen Geräten vorsieht, ist Firefox Sync" was auch direkt im Firefox ohne zusätzliche Plugins oder Erweiterungen nutzbar ist.
Jedoch werden die (zwar verschlüsselten) Referenzdaten auf einem zentralen Server gespeichert. Hier wäre es wünschenswert, eine Lösung umzusetzen, die eine Speicherung auf unserem eigenen Informatik-Server zulässt.
Links:
- Run your own Sync-1.5 Server
- Run your own Firefox Accounts Server
- Ansible
- Eigener Sync-Server für Firefox
Mentoren: Wolf Müller, Robert Sombrutzki
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:
- TR-03108
- C't 11/14 Geleitschutz: DANE verbessert sicheren Transport zwischen Mailservern
- RFC 6698 DANE
- RFC 4033 DNSsec
Mentor: 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
Sicheres OpenVPN
OpenVPN ist eine gute Möglichkeit, seine Kommunikation durch öffentliche Netze abzusichern oder sich logisch in die HU oder in das Institut für Informatik zu begeben. Untersuchen Sie, wie diese Verbindungen (hu-berlin.ovpn und am Institut) konfiguriert sind, und welche Verbindungen zwischen Server und Client ausgehandelt werden. Hierbei gibt es zu beachten, dass es OpenVPN eine Kontrollverbindung zur Authentisierung und Schlüsselvereinbarung und eine Datenverbindung zum sicheren Transport der eigentlichen Daten nutzt. Für einen aktuellen OpenVPN-Clienten kann man die die Möglichkeiten für eine TLS-Absicherung der Kontrollverbindung mit openvpn --show-tls
und die Absicherungsmöglichkeiten der Datenverbindung mit openvpn --show-cipher
einsehen. Versuchen Sie eine effiziente, starke und auch möglichst interoperable Konfiguration zu erstellen, die mit aktueller Software den Zugriff unter Linux, Mac, Windows, iOS und Android gestattet. Verschaffen Sie sich einen Überblick. Welche Vor- / Nachteile haben die Modi CBC, CFB, CFB1, CFB8, OFB und was bewirken diese überhaupt?
Links:
Mentoren: Wolf Müller, Robert Sombrutzki