Archiv des Autors: Marco Bakera

Laptop selbstgebaut

Eigentlich ist es gar nicht so einfach, einen Laptop selbst zusammen zu stellen, da die Einzelkomponenten hochgradig integriert sind. Auf dem 34C3 ist mir jedoch ein Koffer begegnet, der genau diesen Versuch mit einem Rasperry Pi unternommen hat. Neben dem Pi, sind unter dem Plexiglas zwei Powerbanks verbaut, die das Display und den Pi mit Strom versorgen – und das über 16 Stunden lang. Daneben ist noch Platz für ein Steckbrett und kleinere Bauteile. Als mobile Hacking-Stations ist das Gerät also durchaus interessant.

Inspiriert wurde das Projekt von SpyPi, welches den Kofferansatz weitertreibt, mit zusätzlichen Auf- und Anbauten ausstattet ist und Teil einer 2017 fertig gestellten Abschlussarbeit ist. Die Hardware wird unter spypi.ch beschrieben.

34C3: Gute Unterhaltung

CC BY-SA Jackytar

Neben rein technischen Vorträgen gab es beim letzten 34C3 auch solche mit größeren Unterhaltungswert. Nougatbytes ist ein Ratespiel mit Bildern. Sehr liebevoll und aufwändig gestaltet mit dem notwendigen Gefühl für die Fähigkeit um die Ecke denken zu können.

Das im letzten Jahr pausierende und in diesem Jahr wieder veranstaltete Hacker Jeopardy zeigt in verschiedenen Kategorien, wie wenig man bisweilen weiß. Besonders gut hat mir die Kategorie „\LaTeX“ gefallen, in der man LatTeX-Formeln ausrechnen musste.

Schließlich berichtete das Zentrum für politische Schönheit im Vortrag Tiger, Drucker und Mahnmale über die Aktivitäten im letzten Jahr. Hier bleibt so manches Lachen im Halse stecken und ich wünsche mir mehr von diesen Aktionen. Neben rein unterhaltsamen Elementen, habe ich dort etwa verfahren, dass selbst anspruchsberechtigte Flüchtlinge nicht mit dem Flugzeug einreisen dürfen, da dies gesetzlich mit Geldstrafen gegenüber Fluglinien sanktioniert wird.

Trotzdem: Gute Unterhaltung!

Die empirische Wissenschaft ist kaputt

Hanno Böck hat sich als Grundlage für seine Behauptung Science is broken eine Theorie erdacht (Steine auf dem Monitor helfen gegen Malware) und diese „emprisch“ nachgewiesen. Der statistische Wert  p-Value, der die Signifikanz einer statistischen Größe beschreibt, ist manchen Fällen nämlich einfach zufällig gut genug für eine Veröffentlichung.

A p-value is the probability that you get a false positive result in idealized conditions if there is no real effect.

In many fields of science p<0.05 is considered significant.

Leider werden wissenschaftliche Studien häufig nur dann publiziert, wenn sie ein positives Ergebnis hervorbringen, nicht jedoch bei negativen Resultaten. Und deshalb ist nicht erkennbar, wann ein Resultat nicht nur aus reiner Zufälligkeit relevant geworden ist. Mit dieser Meinung steht er nicht alleine da: Wissenschaftler, die Meta-Studien erstellen, pflichten selbstverständlich bei. Mich dagegen hat dieser Umstand erschreckt.

Hanno postuliert schließlich zwei Arten von Wissenschaft: „TED-talk science“ (positive und überraschende Resultate, große Effekte, viele Zitierungen, meist nicht korrekt) und „boring science“ (viele negative Ergebnisse, geringe Effekte, näher an der Wahrheit). Vielleicht sollten wir uns mehr den langweiligen Ergebnissen zuwenden?!

 

USB-Sticks und SD-Karten validieren

Nicht immer funktionieren USB-Sticks und SD-Karten so wie sie sollen. Bei meiner letzten Bestellung aus China hatte ich den Verdacht, dass einige SD-Karten defekt waren – sie funktionierten für einen kurzen Zeitraum und gaben dann den Geist auf. Aus der c’t kannte ich das Programm H2testw, mit dem Flashspeicher geprüft werden kann. Dazu wird das Speichermedium mit Testdaten vollständig beschrieben und die Daten anschließend wieder gelesen. Wenn alles korrekt läuft, stimmen die gelesenen Daten mit den ursprünglich geschriebenen Daten überein. Das kann je nach Größe des Speichermediums durchaus eine Weile dauern.

Für Linux gibt es hierfür das Paket f3, das mit den Programmen f3write und f3read das gleiche tut. Für einen korrekten USB-Stick läuft das Programm wie folgt ab:

$ f3write /media/STICK/
Free space: 196.84 MB
Creating file 1.h2w ... OK! 
Free space: 0.00 Byte
Average writing speed: 6.76 MB/s

Anschließend werden die geschriebenen Daten wieder gelesen.

$ f3read /media/STICK/
                  SECTORS     ok/corrupted/changed/overwritten
Validating file 1.h2w ... 403128/        0/      0/      0

  Data OK: 196.84 MB (403128 sectors)
Data LOST: 0.00 Byte (0 sectors)
          Corrupted: 0.00 Byte (0 sectors)
   Slightly changed: 0.00 Byte (0 sectors)
        Overwritten: 0.00 Byte (0 sectors)
Average reading speed: 7.75 MB/s

 

Patterns und Antipatterns

In dem Vortrag Antipatterns und Missverständnisse in der Softwareentwicklung – Eine Geschichte voller Missverständnisse spricht fefe über Patterns und insbesondere auch Anti-Patterns aus der Sicht von Softwareentwicklern und devOps. Unterhaltsam, kurzweilig, mit einem breiten Themenspektrum und vielen Anekdoten und konkreten Beispielen aus der Praxis gespickt. Sehenswert.

Eindrücke vom 34c3

Der 34C3 ist nun vorbei und die ersten Eindrücke der Veranstaltung sind gemischt aber überwiegend positiv. Nach dem Umzug von Hamburg im letzten nach Leipzig in diesem Jahr war zu erwarten, dass der neue Ort Risiken und Chancen bieten würde. Die Hallen waren sehr groß und ließen für meinen Geschmack zu wenig Raum für kleinere intime Treffen und Gespräche. Häufig war man auf der Suche nach einem Platz, an dem man ungestört hacken arbeiten konnte. Die riesige Halle 2 mit all ihren Hackingspaces, dem Künstlerbereich und der Hardware-Hacking-Area haben dennoch nie einen Hauch von Langeweile aufkommen lassen.

 

In diesem Jahr habe ich mich erstmals als Engel eingebracht. Das empfehle ich jedem Besucher, der dies bisher noch nicht gemacht hat oder sich bisher nicht traute. Es lohnt sich. Man bekommt eine tieferen Einblick in die Veranstaltung und lernt vor allem viele nette Leute kennen.

Nach meiner Wahrnehmung waren in diesem Jahr mehr Künstler, politische Gruppen, Frauen und Kinder auf dem Kongress. Insbesondere die Künstler- und politischen Gruppen verschieben etwas den Fokus – was ich nicht schlecht finde, sich aber in Zukunft als problematisch erweisen kann, sobald Interessen zu stark divergieren. Ich warte das aber zunächst ab, bevor ich mich sorge.

Jetzt beginnt die Nachbereitung, in der viele Ideen und Projekte umgesetzt und die Aufzeichnungen der Vorträge anschaut werden wollen.

Mailboxen, Fidonetz und Netzwerke der 90er Jahre

Auf dem 34C3 gab es den interessanten Vortrag BBSs and early Internet access in the 1990ies – Modems, FIDO, Z-Netz, Usenet, UUCP, SLIP and ISDN. Harald Welte erzählt aus persönlichen Erfahrungen über die frühe Zeit der Modems und Akkustikkoppler der Pre-Internet-Ära. Er erklärt die frühen „Mail“-Programme wie CrossPoint und sinniert über Features, die es nicht in die neue Zeit geschafft haben. Ich kann diese Gedanken sehr gut nachvollziehen. In einer Live-Demo zeigt er aktuelle Mailboxen, über die man heute noch per Telnet oder sogar Telefonleitung zugreifen kann und wundert sich, dass diese noch aktiv genutzt werden. Die Seite Telnet BBS Guide stellt eine ausführliche Sammlung von Mailboxen zusammen.

Besonders spannend fand ich den Gedanken, dass mit dem Einzug des Internet auch der Grad der Selbständigkeit in der Verwaltung der Netzinfrastuktur sank. Mailboxenetze wurden damals vonPrivatleuten organisiert, die ihre Telefonanschlüsse zur Verfügung gestellt und darüber Nachrichten mit anderen Mailboxen geteilt hatten. Mit dem Aufkommen von ISPs ging eine Entmündigung einher, die heutzutage, zumindest teilweise, durch das Freifunkprojekt adressiert wird – jedoch nicht mit der gleichen Wirkmacht, die ein Fidonetz in den 90er Jahren entfalten konnte.

CTF – Kreuzworträtsel für Nerds

CTF ist eine Abkürzung für „Capture the Flag“. Auf dem Chaos Communication Congress wird eine solche Veranstaltung traditionell immer am Ende des Jahres durchgeführt. In diesem Jahr habe ich mich erstmals auch bei der Junior-Version beteiligt und in einem kleinen Team versucht, verschiedene Aufgaben aus den folgenden Bereichen zu lösen: Reverse Engineering, Kryptographie, Passwörter-Knacken, Web und Verschiedenes. Trotz der Klassifikation als Einsteigerveranstaltung, waren die Aufgaben alles andere als leicht. Über mehrere Schritte musste man gehen, um am Ende ein flag zu erhalten – dies war ein String, der mit „34C3_“ beginnt und den man in eine Weboberfläche eingeben kann, um damit die Aufgabe lösen.

Unser Team laborratten hat am Ende den 147. Platz belegt – bei 435 teilnehmenden Teams ist das schon ein gutes Ergebnis, auf das sich aufbauen lässt. Neben dem Konkurrenzaspekt, war das Lösen der Aufgaben jedoch Ansporn genug, sodass es nicht unser letzter CTF gewesen sein wird.

So etwas möchte ich auch einmal selbst veranstalten – vielleicht sogar im Rahmen einer Schulveranstaltung oder bei einem GameJam. Die einsteiger-freundlichen CTFs picoCTF, EasyCTFOverTheWire: WargamesSchool CTF und Juniors CTF könnten als Vorbild und Aufgaben-Pool dienen.

Update
Das Buch Kali Linux CTF Blueprints zeigt, wie man selbst eine solche Challenge erstellen kann. Die Liste Awesome CTF bei github stellt Frameworks, Tutorials und Software rund um CTF zusammen. Der openflagserver von Jason Gillam ist z.B. ein einfacher in Python geschrieberen und leicht anpassbarer Server, um Flags, User und Punkte zu verwalten.
Auch die Formel zur Berechnung der Punktzahl in Abhängigkeit der Anzahl der Lösungen ist noch einen separaten Blick wert:
int(round(30 + 470 / (1 + (max(0, solves – 1) / 11.92201) ** 1.206069)))

Blinken-Rocket

Auf dem 34C3 habe ich mir einen Bausatz (12 €) einer blinken rocket gekauft: eine Platine in Raketenform mit einer 8×8-LED-Matrix und zwei Buttons. Eine Anleitung erklärt, wie ich die Bauteile korrekt anlöten kann und ein Editor hilft bei den ersten Schritten, eine Schrift oder einfache Animationen über das Display laufen zu lassen. Das Programm wird über ein Audioschnittstelle übertragen und so kann man mit seinem Handy direkt ein kleines Programm erstellen und loslegen. Betrieben wird die Schaltung mit einer CR2023 Knopfzelle. Die Quellen für das Hardware-Design und auch die Firmware für den auf der Platine verbauten ATiny88 sind bei github verfügbar.

Nach meinen ersten Lötversuchen mit SMD-Bauteilen, konnte ich die Rakete innerhalb kurzer Zeit in Betrieb nehmen. Leider lassen sich die Buttons nicht über das Interface programmieren – sie dienen lediglich zum Durchschalten verschiedener Programme und als Ausschalter. Da die Firmware aber offen ist, kann sie vielleicht einfach erweitert werden, so dass auch komplexe Programme ablaufen können. Mangels internen Zustands ist z.B. auch kein Game of Life möglich.

Update
Ich habe gesehen, dass die Rakete bei einem Shop aus dem Dunstkreis des Metalab in Wien vertrieben wird – dort allerdings für gut investierte 25€.

34C3 Packliste

Das wichtigste für den Congress in Leipzig – neben unwesentlichen Dingen wie einer Unterhose oder Zahnbürste.

  • Aufkleber
  • RasPi
  • Powerbank
  • DECT-Telefon
  • GSM-Handy
  • Batterien AAA
  • LED-Blink-Kram
  • Geräuschsensor
  • microbit
  • Lockpickingset
  • Lupe
  • ESP8266
  • Steckbrücken
  • USB-Kabel
  • USB-Steckladedingens
  • Servomotor
  • Laptop
  • Pegelwandler