W2012-ITS: Difference between revisions

From
Jump to navigation Jump to search
No edit summary
Line 61: Line 61:
==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

Revision as of 11:36, 13 September 2012

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

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

M: mg

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:

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:

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.

RSA common factor analysis

https://factorable.net/

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

Vortäge