CInsects/Protokolle/CInsects:Treffen-2011-04-18

Aus Fachschaft_Informatik
Version vom 8. Juni 2012, 16:14 Uhr von 1steenfa (Diskussion | Beiträge) (Bot: Kosmetische Änderungen)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Diese Seite ist eine Unterseite von CInsects.

Ablauf

  • Vorstellung des Protokolls vom letzten Treffen.
  • Vortrag von bjoernb über "Wir schreiben unser erstes Kernelmodul"
  • Darstellung von Muellis Arbeit zu einem USB Treiber für den Linux Kernel.

Brainstorming: Themen fuer das naechste Treffen

Was wollen wir weiter machen in den nächsten Treffen?

  • Kernelmodul fuer USB-Fuzzing (muelli)
  • Kernelmodul: Char-Device-Driver (lesen und schreiben)
  • Kernelmodul: Remote-Shell durch Sendung von IP-Paketen (KSPLICE)

Vortrag: Wir schreiben unser erstes Kernelmodul

bjoernb hat Kernelmodule vorgestellt. Im Vortrag wurde Basiswissen (Kernel- vs.Userspace, Aufgaben des Kernels, Kernel backen, Module) vermittelt. Es wurde ein erstes Hello-World-Kernelmodul geschrieben und auf die Dokumentation im Kernel verwiesen. Anschliessend wurde das Kernelmodul um Parameteruebergabe erweitert. Die Folien, das Material und das Kernelmodul werden in Kuerze hier verfuegbar sein.

Remote-Shell durch Kernelmodul und IP-Pakete

Im Ksplice-Blog steht wie man ein Kernel-Modul schreibt, dass auf IP-Pakete reagiert und eine Remote-Shell oeffnet. Jedes IP-Paket hat im Header ein Feld in dem das Protokoll angegeben ist (TCP/UDP/ICMP). Es gibt viele Werte, die nicht vergeben sind. Man kann einen dieser Werte waehlen und in einem Kernelmodul auf diesen Wert reagieren. In dem Fall des Blogposts, werden mit sendip() Pakete versendet und mit dem Kernelmodul eine Shell geoeffnet.

Wir haben eine virtuelle Maschine gestartet und dort das Kernel-Modul aus dem Blogeintrag gebaut. Naechstes Mal moechten wir es laufen lassen. Das Modul liess sich noch nicht in den Kernel laden. Grund ist wahrscheinlich, dass es fuer einen anderen Kernel kompiliert wurde, als der Kernel der virtuellen Maschine. Henning stellt das Kernelmodul beim naechsten Mal weiter vor.

TODO

  • Wer noch nie einen Kernel gebacken hat sollte das jetzt tun.
  • Wer noch nie ein Kernelmodul geschrieben hat, sollte das jetzt tun.

Meta

Anwesenheit: 13 Personen Keksfaktor: l33t Kekse für nächste Woche von: FIXME