W2012-ITS: Difference between revisions
m (→Themen) |
m (→Vorträge) |
||
(37 intermediate revisions by 7 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= |
||
Line 14: | Line 41: | ||
s.a. linux/include/linux/usb/composite.h |
s.a. linux/include/linux/usb/composite.h |
||
Links: |
|||
*[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== |
==Untersuchung NFC Interface auf Android Telefonen== |
||
Line 29: | Line 69: | ||
* [http://wiki.cyanogenmod.com/wiki/Galaxy_Nexus_%28GSM%29:_Compile_CyanogenMod_9_%28Linux%29 Bauanleitung Cyanogen Mod] |
* [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://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 |
Mentor: Dominik |
||
Line 44: | 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| |
||
Image:smartcard_adapter_02.jpg| |
Image:smartcard_adapter_02.jpg| |
||
</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 |
M: mg |
||
Link zum Projekt: |
|||
[[ChipTAN]] |
|||
==GIT für die Informatik== |
==GIT für die Informatik== |
||
Line 56: | Line 119: | ||
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 |
Mentor: Dr. Wolf Müller |
||
Line 61: | Line 126: | ||
==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 |
Mentor: Dominik |
||
Line 76: | 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 81: | 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/ |
|||
==seccomp== |
==seccomp== |
||
Line 96: | Line 168: | ||
M: mg |
M: mg |
||
=Vortäge= |
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 | |
10:45-11:30 | Untersuchung NFC Interface auf Android Telefonen | Frank, Johannes | |
11:30-12:15 | ChipTAN reloaded | David, Michel, Kai | |
12:15-13:00 | Mittagspause | ||
13:00-13:45 | GIT für die Informatik | Annette | |
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:
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:
- libnfc
- nfc-tools
- nfcproxy
- Bauanleitung Cyanogen Mod
- Card Emulation patches für Jelly Bean
- Mifare Classic Android API
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.
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:
- Jenkins
- 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
Setzen sie eine virtuelle Maschine auf, welche UEFI Secure Boot verwendet.
- OpenSUSE mit UEFI Secure boot in KVM: http://en.opensuse.org/openSUSE:UEFI_Secure_boot_using_qemu-kvm
- Secure Boot in Fedora: http://mjg59.dreamwidth.org/12368.html (allgemein gibt es in dem Blog viele Informationen zu Secure Boot)
Alternativ/zusätzlich sind auch (U)EFI rootkits dieses Jahr ein heißes Thema:
- https://program.sigint.ccc.de/fahrplan/system/attachments/24/original/efi_rootkits.pdf
- http://ho.ax/De_Mysteriis_Dom_Jobsivs_-_Syscan.pdf
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