HAL 2001 Anfahrt. Die Anfahrt begann stressig. Mir ist nachts beim Einschlafen eingefallen, daß meine Bahncard abgelaufen ist. Außerdem ist meine Luftmatratze echt verdammt schwer, also habe ich noch kurzfristig Ersatz beschafft. Nur, mit Zelt zusammen ist das immer noch deutlich zu schwer, also habe ich mich bei kju untergemietet, der mit einem Großzelt anreiste. Von ihm erhielt ich auch eine SMS, als ich am Bahnsteig stand, daß ich Regenklamotten einpacken sollte. Es stand also alles unter keinem so guten Stern. Anyway, die Bahnfahrt nutzte ich dafür, einen Webserver zu hacken, weil auf www.fefe.de ein Apache läuft, und der muß da weg. Die Einfahrt in die Niederlande merkten wir daran, daß allen Leuten in der Tasche das Handy piepste, weil der entsprechende Roaming-Partner eine Willkommens-SMS schickte ;) Das Wetter war dann eigentlich ganz in Ordnung, schön blauer Himmel und so, etwas kühl vielleicht, aber es war ja auch schon spät. Am Bahnhof sammelte sich dann an der Bushaltestelle eine stattliche Geek-Menge (wir mußten zu Bus 3, ein paar Verwirrte suchten erst bei Busspur 3) versammelt hatte, fuhr dann endlich ein Büschen vor (<10 Sitzplätze). Der Fahrer winkte nur ab und machte die Tür gar nicht auf, zählte kurz durch und fuhr wieder weg. Kurz darauf kamen zwei große Sonderbusse, und dann war alles klar. Wir orientierten uns anhand des GPS-Receivers eines US-Geeks und fanden dann zielsicher die Kasse, wo es eine kurze, schnelle Schlange für Barzahler gab und eine lange, langsame Schlange für Prepaid. Drinnen ist dann das Gras feucht, na gut, naß. Es trieft geradezu. Aber kjus Zelt hat eine Bodenplane und es wird schon alles gut werden. Internet gibt es noch nicht, die zuständige Netzbeauftragte scheint das auch gerade nicht so richtig im Griff zu haben. Wavelan gibt es zwar, aber der wird nicht geroutet. Egal, erstmal rumlaufen, Leute gucken. Rüdi ist da, Andreas ist auch da, im Radiozelt, wo Ingo vom CCC Köln gerade ein Interview mit einem Holländer macht, der auf unserer Frequenz offenbar normalerweise einen Piratensender betreibt, aber weniger Power hat als unser Sender hier und daher mal vorbeigekommen ist ;) Die senden sonst Trucker-Musik, dem Vernehmen nach. Tim und Frank treffe ich dann auch, es scheinen echt schon fast alle da zu sein. Sehr erfreulich. Peter Honeyman soll auch da sein, vielleicht kriege ich ja meinen gelben CCC-Sweater wieder, den ich letztes Jahr bei der Usenix Security Konferenz liegen lassen habe... Die Jungs von teso hab ich auch schon getroffen, und sie haben mich direkt verpflichtet, morgen viele Zwischenfragen zu stellen bei ihrem Vortrag. Ich hab überhaupt keinen Überblick, was hier überhaupt für Vorträge stattfinden werden, und meine Suche nach funktionierendem Internet läuft auch nicht wirklich gut. Überall sagt man mir, gerade hätte man noch Internet gehabt, und jetzt sei es gerade wieder weg. Beim Aufblasen meiner Luftmatratze habe ich mir fast den Tod geholt (der Blasebalg hatte keinen Platz mehr und es ist eine echt großzügige Monster-Matratze), und es regnet zwar nicht mehr, aber die Luft ist sehr feucht und die Kleidung klebt am Körper. Immerhin gibt es hier im Zelt Sat-Fernsehen mit D-Boxen, die unter Linux laufen. Im Übrigen zeigt sich ein gravierender Nachteil von Funk-Internet: wenn in jedem zweiten Zelt eine Base-Station steht, dann funktioniert das halt nicht wirklich plug&play. 1. Tag. Boah, war das _kalt_ in der Nacht! Gut, daß ich noch nen Pulli eingepackt hatte, hier werden sich einige Leute Frostbeulen geholt haben. Es war nah genug bei Null daß man beim Ausatmen Dampf sah! Es ist jetzt zehn, um acht bin ich aufgewacht (kaum gepennt), und seit dem regnet es. Kühlschränke waren wegen des Stromverbrauchs verboten, an Heizungen hat offenbar niemand gedacht. Tja, wenn die jetzt hier statt T-Shirts warme Sweatshirts verkaufen würden, könnten sie echt reich werden. Die Camp-Verpflegung besteht aus einem Stand, wo man T-Shirts und so eine Art Rubbelkarten kaufen kann, mit denen man dann einkaufen gehen kann. Für jeden Gulden wird ein Kästchen ausgekreuzt. Es gibt eine Pommesbude, eine Burgerbude und einmal Getränke. Dinner ist abends noch mal extra und war gestern dem Vernehmen nach nicht so der Renner. Naja, zu spät, hab schon eine Karte dafür geholt. Peter Honeyman hab ich noch nicht getroffen, aber Niels Provos, und der meinte, Peter würde schon kommen. Ein kurzer Blick auf die Vortragsliste zeigt, daß sich da noch enorm was getan hat. Dug Song ist z.B. auch hier (dsniff), und Peter Zimmerman (endlich seh ich den mal live) und natürlich John Gilmore und Freunde und auch sonst noch alle möglichen wichtigen Leute. Und Kurt Seifried, den ich ja besonders gefressen habe. Er macht ausgerechnet einen Workshop über do-it-yourself-Linux! Entbehrt nicht einer gewissen Ironie. Bin mal gespannt, was der da selber gemacht hat. Da es jetzt um 10 immer noch regnet, breitet sich Langeweile aus. Neben mir basteln ein paar Geeks an ihren D-Boxen und spielen komische Firmwares auf, und ich guck mal, ob ich nicht ein paar FTP-Serverchen finde, wo ich meine DivXen uploaden kann. Ich hab nen schönen Server gefunden, aber der läßt mich nur downloaden. Immerhin hat er eine ganz anständige Selektion. Und teso hat nen FTP-Server offen mit lauter interessanten Dateien (gleich mal nen Mirror gemacht). Hach, das wird ein schöner Tag, fuck the weather! So, die Keynote Speach von Emanuel Goldstein läuft gerade und er rantet übelst über Ford und seine ganzen Lawsuits, Microsoft, Code Red und SirCam, Dmitry. Er mußte seine Rede nur für einen Schwarm kreischender (Wild?-)Gänse vor dem Zelt kurz unterbrechen, was für allgemeine Erheiterung sorgte. Die Vorträge finden in lustigen Vorlesungsräumen der Uni statt. Die Räume sind je prinzipiell so etwas wie eine Aula, nur deutlich kleiner. Pro Raum passen nur etwa 200 Leute rein, aber trotzdem ist bisher gut Platz. Anfangs muß ich Rüdi zu Hilfe eilen, dessen Notebook Probleme mit dem TV-Out hat. Bei meinem Notebook hab ich das noch nicht getestet, daher bin ich da auch nur beschränkt eine Hilfe. Das machen wir während des "Linux für Anfänger" Talks, das eine junge Sysadmine aus Holland hält. Der Talk ist ziemlich schlecht, aber überzeugt vom Stil her dadurch, daß sie ihre 6jährige Tochter dabei hat, die auch schon fröhlich in Linux herumtippt. Rüdis Talk beginnt dann -- er erzählt das übliche ;) Krypto in leichten Häppchen, Meckern und bösartiges Austeilen gegen die US-Regierung und Konzerne und so weiter. Der nächste Talk war von einem Niederländer zum Thema Lawful Interception. In Holland ist der Standard, wie Lawful IP Interception funktionieren soll, public. Sie haben schon dafür gesorgt, daß er schwer zu bekommen ist, indem man für viel Geld irgendwo Mitglied werden muß, aber wenn man das gemacht hat, kann man den Standard weitergeben. Ein Richter soll ein XML-Zertifikat erstellen, für das es keine Spezifikation (und keinen DTD) gibt, lediglich ein inkonsistentes Beispiel im Appendix des Standards (40 Seiten, btw). Am Anfang zeigte er ein Bild des Amsterdam Internet Exchange, wo er nicht Mitglied oder Angestellter ist, und dort hat die Schnüffelbehörde einen Anschluß (mindestens 100 MBit meinte er). Der Standard sagt, daß der Schnüffelrechner "hidden" sein soll, aber er soll auch NTP benutzen. Man soll (muß aber nicht) das als zwei Rechner implementieren. Die geschnüffelten Daten sollen per IPsec/IKE getunnelt werden, und zusätzlich noch mit einem Hash auf Integrität geprüft werden (?!). Man soll Pseudo Pakete schicken, um Trafficanalyse zu erschweren, aber bei einem Problem soll der Tunnel sofort zugemacht werden. Covert Channels sind nicht verboten. Easy-DoS ist: ISOs bei MTU 10 hin- und herkopieren. Bisher gibt es offenbar noch keinen Zertifizierungsprozeß. Laut Gesetz müssen nur ISPs tapbar sein, die öffentlich arbeiten, d.h. jeden als Kunden nehmen. Es gibt Überlegungen, das Equipment über eine Leasing-Instanz zu verteilen. Mittagspause. Danach teso. Diverse Gründe für Buffer Overflows, u.a. auch Zuweisungen falscher Größe (int = char) und Format Strings Vulnerabilities wurden erzählt, und dann führten sie Plugins für IDA vor, die Zugriffe auf eine Struktur überwachen und daraus die Größe der Elemente herausarbeiten und nach Format String Vulnerabilies in Binaries suchen (und u.a. eine in Firewall-1 live gefunden hat). Sehr netter Vortrag! Jetzt eine Veranstaltung über Cybercrime mit einem Ami und Andy. Der Ami holt ein wenig aus, wie schlimm das mit der Cybercrime Convention tatsächlich ist und es stellt sich das üble Gefühl ein, daß da nicht nur nichts mehr zu machen ist, sondern da war auch noch nie was zu reißen... Der Mann reist von Hearing und Hearing und versucht, mahnende Worte einzubringen, und hat anekdotisch erzählt, wie er da abgeledert wurde. Es fing damit an, daß die Unterlagen überhaupt erst nach vier Jahren öffentlich wurden, und danach ist drei Mal in Folge eine neue Version der Papiere einen Tag nach dem Einbringen seiner Beschwerde rausgekommen, und man sagte ihm: "Ja, nett, daß du uns geschrieben hast, aber da ist gerade ne neue Version fertig, und da ist das bestimmt schon alles gefixt worden. [Brief -> Tonne]" Sein nächster Einwurf verschwand unkommentiert in der Versenkung, und als er sich dann mal mit einem DOJ-Typen unterhalten hat, hat der ihn ernsthaft gefragt, wieso er denn damit erst jetzt kommt und nicht schon in den letzten Jahren, wo sich niemand beschwert hätte. Jetzt sei da nicht mehr viel zu machen. Es stellt sich raus, daß über den normalen Beschwerdeweg Tonne von Kinderpornographie von Fake-Bürgerrechtsorganisationen eintreffen, die den Behörden damit den Mittelfinger zeigen wollen, und daher Einwände weitgehend ignoriert werden. Oder vielleicht ist das auch nur eine Ausrede. Es stellt sich raus, daß die Cybercrime Convention vorsieht, daß man von seinem eigenen Land ausgeliefert werden kann, weil man eine nach den Gesetzen eines anderen Landes verbotene Sache gemacht haben soll. Staaten dürfen die Ausweisung oder Abhören nur verweigern, wenn die Souveränität gefährdet wäre oder es politisch Probleme machen würde, d.h. wenn es um einen wichtigen Politiker geht. Witzigerweise meinte der Ami, daß das dieses Mal anders herum lief: die Europäer hätten den Vorschlag gehört, spontan für gut befunden, aber wegen der Menschenrechte Bedenken gehabt: man müsse unbedingt auch noch gegen Hate Speech international vorgehen können. Darunter würde für Deutschland wahrscheinlich Nazi-Propaganda fallen. Das hieße also, daß die Deutschen die Auslieferung eines US-Schmutz-ISPs verlangen könnten, und daher sieht es so aus, als würden ausgereichnet die USA das Machwerk nicht unterzeichnen am Ende. Es herrscht ziemliche Ratlosigkeit, was wir überhaupt noch tun können. Ich versuche gerade, eine europaweite internationale Hackerbewegung zu gründen, aber das passiert auch nicht über Nacht. Und selbst dann scheint die Sache schon soweit durch zu sein. Am 15. September ist wohl Stichtag, wo dann alle Staaten bindend unterschreiben, daß sie das implementieren, und selbst wenn Deutschland das eine oder andere nicht implementieren sollte, werden die Bedarfsträger (Dienste) halt mal eben eine DDoS-Attacke durchziehen und sagen, das kann nicht geklärt werden, weil Deutschland nicht mitzieht, und dann haben wir das in Null Komma Nichts voll umgesetzt. :-( Cool! Hier wird schon die ganze Zeit ein globaler IPv6 Prefix announced, aber jetzt funktioniert der zum ersten Mal und ich kann per IPv6 diese Datei auf www.fefe.de updaten! HAL rockt! ;) So, jetzt hab ich noch Harald Welte getroffen und mich länger mit ihm unterhalten. Er hat mich auf Conectiva Linux neugierig gemacht und meinte sogar, daß die intern auch mit der diet libc herumspielen. Wir haben uns noch ein bißchen über IPv6<->IPv4 NAT unterhalten und daß es inzwischen eine Netfilter-Bridging-Anbindung gibt, die sogar schon Source-NAT kann! IPv6-IPv4-NAT geht nicht, weil NAT auf Connection Tracking aufsetzt, und das gibt es für IPv6 noch nicht. Bei Kernel 2.5 soll Connection Tracking dann Layer-3-Protokoll-unabhängig werden und dann wird es wohl auch NAT geben, obwohl ich da wohl eher dreckig mit IPv4-mapped-Adresses gecheated hätte, wenn ich das mal schnell machen sollte ;) Wie immer ein sehr interessantes Gespräch bei schöner Dämmerungsstimmung, das wir dann abbrachen, als ein Wolkenbruch uns unter Wasser setzte. Ach ja, bei dem Spatziergang habe ich auch Phil Zimmerman gesehen, der ein kleiner älterer Mann mit grauem Bart ist. Ich hatte ihn mir größer vorgestellt. Er sieht kaum wie ein Hacker aus, eher wie jemand, den man abends beim Spatziergang im Park treffen würde. Tja, so können die Cliches daneben liegen ;) Nachtrag: Wir haben die Dusche gefunden und benutzt. Den Eingang mußten wir reverse engineeren, weil er umgelegt war und der Zweiteingang auch noch nicht beleuchtet und es kurz vor Mitternacht war. Übrigens ist vor unserem Zelt auch noch eine abenteuerliche Antenne aus IKEA-Gardinenrohren aufgebaut, mit der kju sein Ham-Radio betreibt. Das Teil hat er von einer Mülltonne aus montiert. Gegenüber steht übrigens ein Polizei-Van und man muß ja neidlos sagen, daß die holländische Polizei deutlich entspannter ist als die Deutsche. Die Holländer haben sich erstmal abenteuerlich Ethernet durchs Fenster ins Auto gelegt, damit sie auch ein bißchen Internet klicken können ;) Party! Jetzt klappt auch mein PC-Card-Slot! Es war die völlig triviale und offensichtliche (undokumentierte) Änderung von "include port 0x100-0x4ff, port 0x800-0x8ff, port 0xc00-0xcff" auf "include port 0x100-0x4ff, port 0xc00-0xcff". Da hätte ich auch selber drauf kommen können. Nicht, daß ich es nicht versucht hätte, aber google hat mir die Seite vorher nicht gezeigt, dessen Autor gerade neben mir sitzt und mir das mal eben gezeigt hat. Mal schauen, ob wir noch IP-over-Firewire und über USB und IrDA zu Laufen kriegen. Spaß am Gerät! Meine tolle Digitalkamera hat als Akkuanzeige leider nur "voll", keine Anzeige und dann "blink, blink, ich geh gleich aus". Natürlich schaltete sie nach dem ersten Bild hier auf letzteres. Ich hab meine Akkus beim CCC Berlin jemandem in die Hand gedrückt und kriege sie morgen hoffentlich zumindest halb aufgeladen zurück. Die ersten netten Bilder sind schon im Kasten, ich uploade die zu ftp://foobar.math.fu-berlin.de/pub/fefe/hal2001/, wenn Internet wieder geht. 2. Tag. Boah, war das _kalt_ heute nacht! Ich muß unbedingt noch eine Decke organisiert kriegen, oder eine Jacke oder so. Sonst lieg ich erst mal ne Woche mit Grippe im Bett, wenn ich zurück komme. Andreas schnieft auch schon ganz erbärmlich herum und Frank schläft in zwei Schlafsäcken. Nächstes Mal reise ich auch mit Wohnmobil oder zumindest Auto an und habe da das nuklearer-winter-survival-pack mit. Was ich vergessen hatte: ich habe hier die kommunikativste Lampe dabei, die man sich überhaupt denken kann: eine aufziehbare Taschenlampe mit Akku. Der Clou: das Teil kann Energie auch mechanisch speichern, d.h. den Aufziehvorgang kann man nach dem Kurbeln stoppen, und dann später fortsetzen, wenn der Akku kaputt sein sollte. Und zusätzlich ist das Gehäuse auch noch durchsichtig, d.h. man sieht den Mechanismus. Die zweithäufigste Frage ist, ob das von Apple ist ;) Gut, gerade dieses Gerät ging vorgestern nacht kaputt. Gestern habe ich das mit den d-box Hackern reverse engineered und repariert und heute nacht strahlte sie wieder hell und sorgte für begeisterte Geeks, die auch mal aufziehen wollten. Nachdem gestern pcmcia unter Linux zu laufen begann, muß ich heute feststellen, daß es da noch Probleme mit Kernel 2.4 gibt. Die haben da pcmcia in den Kernel bewegt und dabei erstmal das API radikal geändert. Erfolg: die Treiber sind nur zur Hälfte portiert, und der Lucent-Treiber aus ddem Kernel mag meine Karte nicht. Ich habe also pcmcia wieder aus dem Kernel rausoperiert und die pcmcia-Utils neu installiert, und aus irgendeinem Grund wollte das immer noch nicht. Beim Testen habe ich dann mal die alte Aironet-Karte (siehe Usenix-Bericht) reingetan, die ich seit Usenix nie wieder zu Laufen gekriegt hatte (wahrscheinlich wegen WEP), und siehe da, sie tat einfach! Jetzt hab ich also zwei Wavelan-Karten. Keine Decke für die Nacht, aber zwei Wavelan-Karten. Oh Mann. Und die Aironet-Karte macht jetzt auch plötzlich promiscuous mode mit! Ich bin gegen halb vier schlafen gegangen, weil die Nacht sehr angenehm war von der Stimmung her, und heute morgen wegen der klirrenden Kälte (5 Grad) um halb sieben schon wieder aufgewacht. Der Supermarkt macht erst um neun auf und scheint keine Tschibo-ähnliche Rheumadeckenabteilung zu haben :-( Mal schauen, ob der Sportshop daneben mir eine Jacke verkauft, sonst werde ich Interhemd noch ein paar Sweatshirts abkaufen. Überhaupt verkauft Interhemd dieses Mal wahrscheinlich mehr Sweatshirts als je zuvor. Die Stimmung ist morgens um acht echt friedlich. Keine Sau läuft herum, viele bunte Zelte, ein Bild der Stille und des Friedens. Ich hab gleich mal ein zwei Fotos davon gemacht. So, mal schauen, ob ich irgendwo ein Frühstück abgegriffen kriege... Der Tag verspricht sehr schön zu werden. Niels Provos beginnt gleich mit einem Knaller: detecting steganographic content on the internet. Danach Sven Dietrich über DDoS (das ist _nicht_ Dave Dittrich, der die Zombies analysiert hat, obwohl der wohl auch hier ist, sondern so ein öliger Schuhverkäufer-Typ mit Schnurrbart vom CERT). Danach John Gilmore über IPsec und parallel Spaß mit FreeBSD- und Solaris-Kernelmodulen. Yummie! So, los geht's mit Steganographie. Das Thema hat gerade eine gewisse Brisanz, da die Amis gerade mal Budget generieren wollen, indem sie verbreiten, daß Herr bin-Laden über Steganographie und Pr0n-Websites mit seinen Evil Minions kommuniziert. Die Beobachtung ist, daß Steganographie die statistischen Eigenschaften der redundanten Bits ändert. In einem JPEG kann man z.B. die least-significant-bits der quantisierten DCT-Koeffizienten ändern. Sein Test guckt sich die Entropie dieser Bits an, die sich nach dem Verstecken von verschlüsselten Daten (die sehr hohe Entropie haben) stark vergrößert hat. Außerdem ändert sich das Histogramm der Farbverteilung, weil Farben mit dem Hamming-Abstand 1 näher zusammenrücken. Es stellt sich heraus, daß die Frequenzverteilung nach Steganographie immer relativ ähnlich aussieht, also macht er einen Chi-Square Test. Niels hat auch eine JPEG-Steganographie-Tool namens Outguess gebastelt, das aus seinem Test nicht direkt offensichtlich herausfällt, aber doch erkannt werden kann, und das hat er bei der Gelegenheit gleich mal geupdated, damit es mit diesem Test nicht gefunden wird. Er hat alle JPEG-Steganographie- Tools, die er im Netz gefunden hat, ausprobiert, und sogar Fingerprints gefunden, anhand derer er das Tool identifizieren kann. Witz am Rande: er hat keinen Web-Crawler gefunden, der nur Images speichern kann, hat ein paar angefaßt und das am Ende selber geschrieben ;) In seinem Test hat er 2 Millionen Bilderchen genommen und fand heraus, daß sein Detektor bei Zeichnungen öfters falsche Positive fand und monotone Hintergründe werden gerne für outguess gehalten (seine alte Software). Also hat er auch noch stegbreak geschrieben, welches eine Dictionary Attack auf die steganographischen Daten macht! Es stellt sich heraus, daß JPHide/Unix 40 Bits known plaintext am Anfang hat, so daß man prima sehen kann, ob die Passphrase richtig ist. Bei JPHide/Windows ist der Key Schedule leider abhängig vom Bild, was sein Precomputing kaputt macht. JSteg hat 32 Bits known plaintext, und sein Outguess hat gar keinen known plaintext und ist daher nicht anfällig gegen dictionary attacks. Bei JPHide hat er 15000 Wörter pro Sekunde, bei JSteg 112000. Er hat das dann noch auf 48 Maschinen verteilt und das Tool dafür disconcert genannt und insgesamt 7 Tage herumgerechnet für alle Kandidaten-Bilder. Seine Bilder hat er von eBay geholt und rannte gegen ein Limit von 32768 Dateien pro Verzeichnis ;) Er hat noch keine einzige genuine versteckte Nachricht gefunden, aber seine eigenen versteckten Nachrichten hat das Teil alle entdeckt. http://www.outguess.org/ Er hat auch ein Kommerz- Steganographie-Tool gefunden, das die Daten einfach ins JPEG-Kommentarfeld tut und er macht sich jetzt Sorgen, daß er in den USA wegen dem DMCA verhaftet wird. DDoS fängt relativ lahm an, der Typ versprüht echt wenig Esprit. Er kommt spektakulär uninteressant rüber, erinnert irgendwie an einen Psychologen, der langsam, leise und in monotonem Tonfall vor sich hin spricht, um einen nicht aus der Trance zu reißen. Es geht auch lahm weiter. Das übliche Gefasel, das SYN-Floods und Smurf in einen Topf wirft und von echt vielen verteilen Sensoren ausgeht. Daß man damit Spoofing tracen kann war ja wohl eh jedem klar. Schade. Immerhin hat er bunte Traffic-Graphen. ;) Ich habe mich entschieden, statt zu John Gilmore zu den FreeBSD-Kernel- modulen zu gehen. Eine Frau mit pink-roten Haaren hält ihn, Stefanie Wehner. Ich bin sehr gespannt. Sie macht das ausgesprochen souverän. Bei BSD sieht das im Grunde wie bei Linux aus. Man hat Tabellen für Syscalls, die Socket-Syscalls sind über einen gemeinsamen Entry __sysctl implementiert, und man chaint da einfach seinen Code rein. Die andere Datenstruktur ist eine verkettete Liste, die über Makros in sys/sys/queue.h implementiert wird. Als lustiges Beispiel hat sie noch drin, den Kernel direkt zu patchen anstatt sich als Modul tatsächlich voll zu laden. Dazu schlägt sie suser_xxx vor, wo am Anfang Platz ist und was von suser benutzt wird, um zu gucken, ob man EUID 0 hat. Nette Ideen: die Symboltabelle im Kernel editieren, auch als Gegenmaßnahme. Oder man läd ein trap-Modul, das z.B. die syscall-Table sichert und periodisch guckt, ob sie geändert wurde. http://www.r4k.net/mod/fbsdfun.html Der BSD-Module-Load benötigt offenbar keinen ELF-Parser im User-Space, man übergibt dem Kernel Space einen Dateinamen. Geile Vortrag! Sie hat die verschiedenen Modultypen live gezeigt! Pluto meinte gerade, daß die Frau bei Rop in der Firma arbeitet ;) Scut erzählt mir gerade, daß gestern eine Phrack-Printausgabe released wurde, die gleich zwei extrem wichtige Artikel hat: ein alphanumerischer x86-Shellcode und ein platform spanning shellcode, der auf sparc, x86 und mips funktioniert! Und ein Itanic-Shellcode, aber den braucht im Moment wohl (noch) keiner ;) Der plattformübergreifende Shellcode basiert wohl auf einer Challenge auf Defcon8, wo die Elite der Shellcode-Hacker zwei Tage vergeblich vor einer großen Tafel gepuzzelt hat und keiner hat es hingekriegt. Jetzt hat Eugene das mal eben gelöst und umfassend dokumentiert, mit gdb-Dumps. Extreme Coolness Award!! Der Solaris-Vortrag ist deutlich weniger beeindruckend. Der erste Mann fängt erstmal mit einer Erklärung der Grundbegriffe der Informatik an... Jetzt geht es um "black hat stuff" und er gibt das Mikro an den zweiten weiter. Na prima. Der Blackhat ist auch ein Mitarbeiter von Rop ;) Seine Beispiel-Backdoor fängt accept ab, lauscht auf eine Sequenz von Source-Ports und erzeugt dann einen Prozeß (nicht untricky, weil normalerweise ja alles von init() und Nachkommen geforkt wird. Kühler Hack! Solaris ist ein voll preemptiver voll reentranter Mikrokernel, der viel mit Message Passing arbeitet. D.h. wenn man den Syscall getmsg() abfängt, kann man damit alles umbiegen, aber es kann sehr haarig werden. ndd-Ausgabe z.B. (ähnlich netstat) ist tatsächlich ein Buffer mit ASCII-Kram, der von dem syscall zurückgegeben wird. Er hat auch die nette Idee, einkommende TCP-Verbindungen konditionell zu einem Daemon an localhost zu redirecten, den man dann natürlich komplett verstecken muß. http://www.itsx.com/kmod.html, http://www.itsx.com/hal2001 Mittagspause, danach der RISC Shellcode Vortrag von Noir, der leider nie auftauchte. Die verlängerte Pause habe ich für nette Gespräche und Erholung genutzt und dabei das CCC-Fußballtournier verpennt, wo ich die Berliner hätte vertreten sollen (und es waren Wetten geschlossen, ob ich Cheerleader spielen würde). Oops! Was soll ich sagen, war keine Absicht. Die noch längere Pause habe ich für Verschwörungstheorien und Zukunftsplanung bezüglich Cybercrime Convention genutzt, und je mehr ich darüber nachdenke, desto klarer wird, daß ich nicht mehr sinnvoll wegziehen kann, wenn das Gesetz gültig wird. Im Vergleich zu anderen europäischen Staaten ist Deutschland geradezu eine Oase der Menschenrechte und Rechtsstaatlichkeit (in Holland wird mehr abgehört als in den USA, und zwar nicht nur prozentual sondern auch in absoluten Zahlen, obwohl die USA zehn mal so viele Einwohner haben!). Das heißt schlicht, daß ich Deutschland etwas tun muß. Ich bin mir noch nicht sicher, welche Optionen ich überhaupt habe. Spät abends ist der Hacker Quiz mit Fragen von THC, die traditionell echt schwierig zu beantworten sind, so daß ich mich nicht wirklich traue, da mitzumachen. Jetzt aktuell hat gerade der Talk von Dug Song (dsniff) und Solar Designer (openwall) begonnen, und die große Aula ist so voll, daß ich mich auf den Bühnenrand gesetzt habe. Dug Song spricht typisches Amerikanisch, während Solar Designer wie ein Finne oder vielleicht auch Russe klingt. Bisher ist es noch nicht so grandios, sie sniffen halt und erheben pro Paket alle vorliegenden Daten ;) Jetzt raten sie die Länge des Usernamens anhand der Paketgröße. Als nächstes erkennen sie an der Länge des Paketes die Meldung bezüglich RSA Authentication, ob es akzeptiert wurde oder nicht, und die Anzahl der Optionen. Anhand von Pausen bei den Paketen raten sie, ob man ein Paßwort eingibt (kein Echo), Pausen zwischen kurzen Paketen und raten daraus die Länge der Kommandozeile. Bisher nett, aber noch nicht wirklich unerwartet. Natürlich funktioniert das auch, wenn man aus der ssh heraus ein telnet oder noch eine ssh macht, weil die Passwort-Erkennung ja vom Timing und dem Echo-Status des ttys abhängt. Erfolgreiche RSA-Authentication wird auch erkannt, er zeigt sein Tool hier live am Beamer. Solar erzählt, daß sie Tastatur- und Mausevents in geforwardeten X-Connections erkennen kann und auch dort die Paßwortlänge erkennen kann, aber das releasen sie noch nicht. David Wagner publiziert auf der Usenix ein Paper, das noch etwas weiter gehen wird. Die haben mit einer Markov-Kette das Timing modelliert und festgestellt, daß man die Tasten anhand der Timings raten kann, wobei das natürlich nicht perfekt leakt, sondern nur ein-zwei Bit pro Paßwort. Wenn man aber lange genug snifft, geht das schon. Solar sagt gerade, daß er an einer Heuristik arbeitet, die Backspace erkennen und kompensieren können soll beim Raten der Paßwortrate. David Wagner hat wohl herausgefunden, daß man sogar hohe Latenzen wegen WANs kompensieren kann, aber ich denke mal, daß der NAGLE-Algorithmus die Timing-Angriffe weitgehend vernichtet. http://www.openwall.com/advisories/ Mhh, ich bin gerade raus gelaufen und mir ist aufgefallen, daß das mit NAGLE Unsinn ist. NAGLE sorgt dafür, daß mehrere SSH-Pakete nacheinander kommen, d.h. dann halt 2*sizeof(ssh-header), daraus kann man natürlich immer noch die Anzahl der Tasten folgern. Der Fix wäre, bei ssh line mode zu aktivieren. Leider hat ssh im Gegensatz zu telnet keinen line mode. Der Vorschlag von Dug Song ist, bei ssh2 Padding zu benutzen. Da muß ich noch ein bißchen drüber meditieren. Jetzt ist Hacker Quiz von THC. Die Stimmung stimmt schon mal ;) Bisher ist Einstiegsrunde mit ziemlich simplen Fragen, aber die Fragen werden schon noch schwerer werden. Erste Runde ist vorbei, alles hätte ich nicht gewußt, aber besonders schwer war es noch nicht. Die zweite Runde war eine Team-Runde und in der dritten Runde bin ich verpflichtet worden und habe mit Ray und Sec aus München abgeräumt. Abends habe ich mich noch wunderbar mit Peter Honeyman unterhalten. Er hatte mir erzählt, daß sein Sohn damit mal in Europa durch die Gegend gelaufen sei und alle hätten ihn angestarrt und das sei totale Hacker Cred für ihn ;) Da hab ich ein schlechtes Gewissen gekriegt und ihm den Pulli gelassen, aber im Austausch will ich einen signierten OpenBSD-Sweater, weil Theo de Radt hier auch gerade abhängt ;) Danach hat sich mein Laptop als überraschend cool herausgestellt: unter Windows hab ich jetzt doch mal auf die Auflösung geachtet und festgestellt, daß die gar nicht 1400x1050 ist, sondern 1600x1200! Und Windows hatte ich gebootet, um mal eben eine Runde Quake zu zocken und die Geforce hat sich ausgesprochen bewährt. Selbst wenn man nur in 640x480 spielt, sieht das gefilterte Hochskalieren echt hinreichend gut aus, um damit schön zu spielen. Kurz: kein Nachteil mehr zum Röhrenmonitor, eher sogar im Vorteil! Hach, das war doch mal eine positive Hardware-Bilanz. Das Mobiltelefon funktioniert auch einfach vor sich hin und geht nicht aus, klingelt zuverlässig und hat zur Abwechslung mal Netz im Ausland. 3. Tag. Nachts gegen vier habe ich von Papillon noch eine Decke geborgt, damit ich nachts nicht so frieren muß, und die hat so gut funktioniert, daß ich morgens durch den Lärm von dem hektischen Downloaden aufgewacht bin, nicht durch die Kälte, und mich auch zum ersten Mal hier richtig müde fühlte. Gestern war ich zwar auch müde, hab aber nichts gemerkt, weil ich so durchgefroren war. Mein einziger Pulli stinkt wegen der Quake Session gestern tierisch nach kaltem Rauch, aber das Interhemd-Zelt ist noch zu. Da werde ich mal Ersatz beschaffen müssen. Die Duschen haben sie wegen des Ansturms mal eben hochskaliert und einen zweiten Raum aufgemacht und so war auch das echt auffallend unstressig. Insgesamt klappt die Organisation hier echt auffallend gut (bis auf das Kassenzelt am Anfang, aber diese Problemstellung habe ich auch erst einmal akzeptabel gelöst gesehen, und zwar bei der Defcon). Jetzt regnen wir hier gerade voll im Zelt ein und so werde ich mal wieder einen Bandbreitentest zu den diversen FTP-Servern durchführen müssen, um die Zeit zu überbrücken. Jetzt wäre eigentlich von Mixter ein Vortrag gewesen, aber leider sind die Workshopräume nicht beschriftet und es hängt auch nicht das Programm öffentlich aus, so daß das Verfahren darin besteht, in die Räume reinzulaufen und zu gucken, ob der Typ da vorne etwas sagt, was in den Kontext paßt. Im Hauptraum war irgendwas mit Banking, im zweiten war was mit Handies und in der dritten wurde gerade Hacker Jeopardy vorbereitet, wo meine Hilfe gebraucht wurde. Ich stelle gerade mit Blick auf das Programm im Internet fest, daß Mixter im Restaurant gesprochen hätte. Vielleicht sollte ich ein paar Worte über die Dimensionen des Geländes verlieren: es ist echt groß. Da kjus Zelt am Eingang steht, ist es maximal von allen Attraktionen entfernt, am weitesten von Duschen und Supermarkt, wo man knapp 10 Minuten hinläuft. Das Restaurant ist in der Mitte, d.h. da lauf ich jetzt nicht nochmal 5 Minuten hin, außerdem müssen hier noch die Buzzer zusammengeschraubt und die Kabel abisoliert werden. Ich habe mich außerdem als ehrenamtlicher Jolt-Cola-Zureicher angeboten und hab den Job jetzt. Mitmachen darf ich nicht, aber beim Congress werde ich meinen Titel verteidigen. Der Spaß-Faktor ist auf jeden Fall gegeben, das Publikum tobt. Spaß am Gerät! Wer das verpaßt hat, sollte sich schämen! Als nächstes gab es einen Talk von Niels Ferguson aus dem Twofish Team über Rijndael, wo er sehr anschaulich Rijndael erklärt hat und gezeigt hat, daß man es auf eine relativ überschaubare arithmetische Gleichung reduzieren kann, wenn man Konstanten und Permutationen zusammenfaßt, und während daraus noch nicht direkt ein Angriff folgt, heißt das doch im Grunde, daß die Sicherheit von Rijndael auf der Annahme beruht, daß niemand diese Gleichung nach den Schlüsselbytes lösen kann, und über das arithmetische Konstrukt ist halt nichts bekannt, so daß es für die Annahme, daß das keiner kann, im Grunde keine Anhaltspunkte gibt. Er meinte, daß man trotzdem weiterhin Rijndael benutzen soll, weil man seine Familie ernähren muß und das halt der Standard ist, aber er findet Serpent sicherer und Twofish sei ein guter Kompromiß. Als ich zurück zum Schlafzelt laufen wollte, schlug mir ein dichter Vorhang aus Regen entgegen, fast schon eine Sintflut! So eine Scheiße, weil heute abend Rückfahrt ist und der Weg zum Bahnhof längere Laufabschnitte beinhaltet, auch außerhalb des HAL-Geländes. Ich muß ja noch die Wolldecke zurückbringen, hoffentlich hört das mal für ein paar Minuten zu gießen auf, damit ich hier geordneten Rückzug betreiben kann. So, kurz nach sechs, die Abfahrt steht kurz bevor. Ein paar Sachen sollte ich aber noch erwähnen. Die Pommesbude hat seit heute mittag keine Pommes mehr gehabt und stattdessen Frikadellen in Wurstform fritiert. Der Umsatz der Burgerbude ist massiv eingebrochen, weil die keine Überdachung über den Wartenden haben, und bei der Sintflut war dann da halt nicht so viel los ;) Außerdem fiel auf, daß hier echt viele kleine Kinder dabei waren, einen Säuglich und mindestens 10 kleine Kinder, die hier rumturnten und wild an Kabeln zogen.