W2012-ITS: Difference between revisions

From
Jump to navigation Jump to search
 
(52 intermediate revisions by 8 users not shown)
Line 1: Line 1:
=Vorträge=

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

{| class="wikitable" style="text-align: left; background: #eee;"
|- style="background: #efe;"
| 10:00-10:45 || '''Androidkernel mit GadgetFS Unterstützung''' || Taras, Malte || [http://sar.informatik.hu-berlin.de/teaching/2012-w/2012-w%20IT%20Security%20Workshop/talks/gadgetFS_.pdf pdf]
|-
| 10:45-11:30 || '''Untersuchung NFC Interface auf Android Telefonen''' || Frank, Johannes ||
[http://sar.informatik.hu-berlin.de/teaching/2012-w/2012-w%20IT%20Security%20Workshop/talks/NFC%20unter%20Android_.pdf pdf]
[http://sar.informatik.hu-berlin.de/teaching/2012-w/2012-w%20IT%20Security%20Workshop/talks/NFC%20unter%20Android_.ppt ppt]
|- style="background: #efe;"
| 11:30-12:15 || '''ChipTAN reloaded''' || David, Michel, Kai ||
[http://sar.informatik.hu-berlin.de/teaching/2012-w/2012-w%20IT%20Security%20Workshop/talks/chiptan_.pdf pdf]
|- style="background: #fee;"
| 12:15-13:00 || '''Mittagspause''' || ||
|- style="background: #efe;"
| 13:00-13:45 || '''GIT für die Informatik''' || Annette ||

[http://sar.informatik.hu-berlin.de/teaching/2012-w/2012-w%20IT%20Security%20Workshop/talks/vortrag_git_ldap.pdf pdf]
|-
| 13:45-14:30 || '''Firmware aus Reiner SCT Komfortleser extrahieren''' || Sebastian
|-
|}

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

=Themen=
=Themen=


==Androidkernel für Samsung Galaxy S3/GadgetFS@Android==
==Androidkernel mit GadgetFS Unterstützung==


Es soll untersucht werden ob/wie es möglich ist auf einem Android Telefon andere USB Profile wie z.B. HID oder CCID zu implementieren, so dass das Telefon
Es soll untersucht werden ob/wie es möglich ist auf einem Android Telefon andere USB Profile wie z.B. HID oder CCID zu implementieren, so dass das Telefon
Line 15: Line 42:
s.a. linux/include/linux/usb/composite.h
s.a. linux/include/linux/usb/composite.h


Links:
==Untersuchung NFC Interface Samsung Galaxy S3==
*[http://source.android.com/source/building-kernels.html Android Kernel bauen]
*[http://www.linux-usb.org/gadget/ GadgetFS]
*[http://vsmartcard.sourceforge.net/ccid/README.html CCID emulator]

Ergebnis:
*[https://sarwiki.informatik.hu-berlin.de/W2012-ITS/Androidkernel_mit_GadgetFS GadgetFS]

Taras, Malte


Mentor: Dominik

==Untersuchung NFC Interface auf Android Telefonen==


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
entwickelt werden. Weitergehende Aufgaben wären beispielsweise das Brechen von
entwickelt werden. Weitergehende Aufgaben wären beispielsweise das Brechen von
Mifare Schlüsseln auf dem Telefon (also ein Portierung von mfoc (https://code.google.com/p/nfc-tools/wiki/mfoc)).
Mifare Schlüsseln auf dem Telefon (also ein Portierung von [https://code.google.com/p/nfc-tools/wiki/mfoc mfoc]).
Besonders spannend wäre es zu untersuchen, ob/wie mit dem Telefon die Kartenemulation machbar ist.
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 [http://korben.info/wp-content/uploads/defcon/SpeakerPresentations/Lee/DEFCON-20-Lee-NFC-Hacking.pdf Vortrag], bei dem das Tool [http://sourceforge.net/p/nfcproxy/wiki/Home/ nfcproxy] vorgestellt wurde.

Links:
* [http://libnfc.org libnfc]
* [https://code.google.com/p/nfc-tools/ nfc-tools]
* [http://sourceforge.net/p/nfcproxy/wiki/Home/ nfcproxy]
* [http://wiki.cyanogenmod.com/wiki/Galaxy_Nexus_%28GSM%29:_Compile_CyanogenMod_9_%28Linux%29 Bauanleitung Cyanogen Mod]
* [https://github.com/CyanogenMod/android_packages_apps_Nfc/commit/8efb854312c0a8526e70cf72d06cff598c7c2104 Card Emulation patches für Jelly Bean]
* [https://developer.android.com/reference/android/nfc/tech/MifareClassic.html Mifare Classic Android API]


Ergebnisartikel:
* [https://sarwiki.informatik.hu-berlin.de/NFC_unter_Android NFC unter Android]



Frank, Johannes

Mentor: Dominik


==RSA-PSK Unterstützung für mod_ssl==
==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.
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: Dr. Wolf Müller


==ChipTAN reloaded==
==ChipTAN reloaded==
Line 32: Line 93:
wurde festgestellt, dass dies mit dem Werkzeug simtrace (http://bb.osmocom.org/trac/wiki/SIMtrace) nicht möglich ist. Nun soll ein anderes (proprietäres/undokumentiertes) board getestet werden.
wurde festgestellt, dass dies mit dem Werkzeug simtrace (http://bb.osmocom.org/trac/wiki/SIMtrace) nicht möglich ist. Nun soll ein anderes (proprietäres/undokumentiertes) board getestet werden.


Ursprungszustand:
<gallery>
<gallery>
Image:smartcard_adapter_01.jpg|
Image:smartcard_adapter_01.jpg|
Line 37: Line 99:
</gallery>
</gallery>


Nach dem Anlöten der Kartenhalterung:
<gallery>
Image:Mitm_03.jpg|
Image:Mitm_04.jpg|
</gallery>
David S., Michel, Kai


Link:
----
* [http://www.saleae.com/downloads Downloads zum verwendeten Logic Analyzer]


M: mg
====GIT für die Informatik====

Link zum Projekt:
[[ChipTAN]]

==GIT für die Informatik==


Ziel des Projektes ist es zu untersuchen, wie git Hosting für das Institut für
Ziel des Projektes ist es zu untersuchen, wie git Hosting für das Institut für
Informatik realisiert werden kann (Analog zur bestehenden svn Lösung: https://svn.informatik.hu-berlin.de/). Wichtig ist dabei vor allem, dass die
Informatik realisiert werden kann (Analog zur bestehenden svn Lösung: https://svn.informatik.hu-berlin.de/). Wichtig ist dabei vor allem, dass die
Authentisierung der Nutzer gegen das bestehende LDAP funktioniert.
Authentisierung der Nutzer gegen das bestehende LDAP funktioniert.

[[Git]]

Mentor: Dr. Wolf Müller


==Integration statischer Code Analyse in Jenkins==
==Integration statischer Code Analyse in Jenkins==


Jenkins ist ein Continous Integration Tool, mit welchem sich das Übersetzen und Testen von Software automatisieren lässt. Eine Vielzahl von Plugins steht zur Verfügung um externe Werkzeuge in Jenkins einzubauen. In diesem Projekt soll untersucht werden wie sich statische Codeanalyse in Jenkins integrieren lässt. Hierfür soll zunächst eine Jenkins Installation für ein Open Source Projekt aufgesetzt werden (z.B. OpenPACE). Anschließend sollen die verschiedenen Plugins für statische Codeanalyse ausprobiert werden. Eine weitere Möglichkeit wäre es ein eigenes Plugin für ein Tool das bisher nicht unterstützt wird (z.B. llbmc) zu entwickeln.
Jenkins ist ein Continous Integration Tool, mit welchem sich das Übersetzen und Testen von Software automatisieren lässt. Eine Vielzahl von Plugins steht zur Verfügung um externe Werkzeuge in Jenkins einzubauen. In diesem Projekt soll untersucht werden wie sich statische Codeanalyse in Jenkins integrieren lässt. Hierfür soll zunächst eine Jenkins Installation für ein Open Source Projekt aufgesetzt werden (z.B. [https://openpace.sourceforge.net OpenPACE]). Anschließend sollen die verschiedenen Plugins für statische Codeanalyse ausprobiert werden. Eine weitere Möglichkeit wäre es ein eigenes Plugin für ein Tool das bisher nicht unterstützt wird (z.B. [http://llbmc.org/ llbmc]) zu entwickeln.

Links:
* [https://jenkins-ci.org Jenkins]
* [https://wiki.jenkins-ci.org/display/JENKINS/Plugins Jenkins Plugins]
* Liste von statischen Analysewerkzeugen für C und C++: https://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis#C.2FC.2B.2B

Mentor: Dominik


==UEFI Secure Boot==
==UEFI Secure Boot==
Line 61: Line 146:
* https://program.sigint.ccc.de/fahrplan/system/attachments/24/original/efi_rootkits.pdf
* https://program.sigint.ccc.de/fahrplan/system/attachments/24/original/efi_rootkits.pdf
* http://ho.ax/De_Mysteriis_Dom_Jobsivs_-_Syscan.pdf
* http://ho.ax/De_Mysteriis_Dom_Jobsivs_-_Syscan.pdf

Mentor: Fabian


==Firmware aus Reiner SCT Komfortleser extrahieren==
==Firmware aus Reiner SCT Komfortleser extrahieren==
Line 66: Line 153:
Der Reiner SCT Komfort ist ein RFID Lesegerät, welches als Signaturterminal für die Erstellung von qualifizierten elektronischen Signaturen (QES) mit dem neuen Personalweis verwendet werden kann. Da dies offensichtlich ein Einsatzzeck mit hohem Schutzniveau ist, wäre es interessant die Firmware des Lesers zum Reverse Engineering zur Verfügung zu haben. Ziel dieses Projekts ist es mehrere Möglichkeiten zum extrahieren der Firmware zu evaluieren. Zwei mögliche Angriffspunkte sind evtl. vorhandene und nicht deaktivierte Debugports auf der Platine (z.B. JTAG) oder aber das Ablauschen eines Firmwareupdates.
Der Reiner SCT Komfort ist ein RFID Lesegerät, welches als Signaturterminal für die Erstellung von qualifizierten elektronischen Signaturen (QES) mit dem neuen Personalweis verwendet werden kann. Da dies offensichtlich ein Einsatzzeck mit hohem Schutzniveau ist, wäre es interessant die Firmware des Lesers zum Reverse Engineering zur Verfügung zu haben. Ziel dieses Projekts ist es mehrere Möglichkeiten zum extrahieren der Firmware zu evaluieren. Zwei mögliche Angriffspunkte sind evtl. vorhandene und nicht deaktivierte Debugports auf der Platine (z.B. JTAG) oder aber das Ablauschen eines Firmwareupdates.


Sebastian
==RSA common factor analysis==


Mentor: Fabian
https://factorable.net/


==seccomp2==
==seccomp==


seit linux 3.5 gibt es einen erweiterten seccomp modus, der es erlaubt syscalls via einem bpf programm zu "filtern".
seit linux 3.5 gibt es einen erweiterten seccomp modus, der es erlaubt syscalls via einem bpf programm zu "filtern".
Line 78: Line 165:
*http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob;f=Documentation/prctl/seccomp_filter.txt
*http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob;f=Documentation/prctl/seccomp_filter.txt


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

M: mg

Latest revision as of 12:52, 1 October 2013

Vorträge

Rudower Chaussee 25, Haus 3, Raum 3'101

10:00-10:45 Androidkernel mit GadgetFS Unterstützung Taras, Malte pdf
10:45-11:30 Untersuchung NFC Interface auf Android Telefonen Frank, Johannes

pdf ppt

11:30-12:15 ChipTAN reloaded David, Michel, Kai

pdf

12:15-13:00 Mittagspause
13:00-13:45 GIT für die Informatik Annette

pdf

13:45-14:30 Firmware aus Reiner SCT Komfortleser extrahieren Sebastian

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

Themen

Androidkernel mit GadgetFS Unterstützung

Es soll untersucht werden ob/wie es möglich ist auf einem Android Telefon andere USB Profile wie z.B. HID oder CCID zu implementieren, so dass das Telefon an einem Computer als ein anderes Gerät genutzt werden kann. Die Implementierung sollte über GadgetFS erfolgen (http://www.linux-usb.org/gadget/).

Die modi sind direkt im kernel implementiert. Kernelmässig müsste man wohl in etwa hier anfangen:

https://android.googlesource.com/kernel/samsung/+/3b0c5d2887fca99cab7dd506817b1049d38198a1/drivers/usb/gadget/android.c

und einen zusatzlichen "ccid" modus einbauen.

s.a. linux/include/linux/usb/composite.h

Links:

Ergebnis:

Taras, Malte


Mentor: Dominik

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:


Ergebnisartikel:


Frank, Johannes

Mentor: Dominik

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: Dr. Wolf Müller

ChipTAN reloaded

Ziel des Projektes ist es das Protokoll, welches ein ChipTAN Lesegerät mit der Karte spricht zu reverse engineeren. In der Vorlesung "IT Sicherheit - Grundlagen" wurde festgestellt, dass dies mit dem Werkzeug simtrace (http://bb.osmocom.org/trac/wiki/SIMtrace) nicht möglich ist. Nun soll ein anderes (proprietäres/undokumentiertes) board getestet werden.

Ursprungszustand:

Nach dem Anlöten der Kartenhalterung:

David S., Michel, Kai

Link:

M: mg

Link zum Projekt: ChipTAN

GIT für die Informatik

Ziel des Projektes ist es zu untersuchen, wie git Hosting für das Institut für Informatik realisiert werden kann (Analog zur bestehenden svn Lösung: https://svn.informatik.hu-berlin.de/). Wichtig ist dabei vor allem, dass die Authentisierung der Nutzer gegen das bestehende LDAP funktioniert.

Git

Mentor: Dr. Wolf Müller

Integration statischer Code Analyse in Jenkins

Jenkins ist ein Continous Integration Tool, mit welchem sich das Übersetzen und Testen von Software automatisieren lässt. Eine Vielzahl von Plugins steht zur Verfügung um externe Werkzeuge in Jenkins einzubauen. In diesem Projekt soll untersucht werden wie sich statische Codeanalyse in Jenkins integrieren lässt. Hierfür soll zunächst eine Jenkins Installation für ein Open Source Projekt aufgesetzt werden (z.B. OpenPACE). Anschließend sollen die verschiedenen Plugins für statische Codeanalyse ausprobiert werden. Eine weitere Möglichkeit wäre es ein eigenes Plugin für ein Tool das bisher nicht unterstützt wird (z.B. llbmc) zu entwickeln.

Links:

Mentor: Dominik

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

Firmware aus Reiner SCT Komfortleser extrahieren

Der Reiner SCT Komfort ist ein RFID Lesegerät, welches als Signaturterminal für die Erstellung von qualifizierten elektronischen Signaturen (QES) mit dem neuen Personalweis verwendet werden kann. Da dies offensichtlich ein Einsatzzeck mit hohem Schutzniveau ist, wäre es interessant die Firmware des Lesers zum Reverse Engineering zur Verfügung zu haben. Ziel dieses Projekts ist es mehrere Möglichkeiten zum extrahieren der Firmware zu evaluieren. Zwei mögliche Angriffspunkte sind evtl. vorhandene und nicht deaktivierte Debugports auf der Platine (z.B. JTAG) oder aber das Ablauschen eines Firmwareupdates.

Sebastian

Mentor: Fabian

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

M: mg