 please welcome Guillaume and Pikachu. Ohne Ihr zweitere Worte herzlich willkommen an Guillaume und Pikachu hier auf der Bühne. Ja und damit auch nochmal herzlich willkommen aus der Übersetzer-Kabine. Ihr hört gleich, wie man mit jedem Auto driften kann in der Übersetzung von Tribut und... ...debja. Hallo, wir werden euch jetzt vorstellen, was wir in der letzten Zeit mit Autos gemacht haben. Aber wer sind wir? Mein Name ist Stanislas Lejay, Pikachu. Ich studiere an der EPITA in Frankreich. Und ich bin Praktikant bei Quark Slab. Und wenn es Sachen gibt, die zu groß für mich sind, dann mache ich mich da sofort ran. Ich arbeite auch bei Quark Slab als Sicherheitsingenieur. Ich habe für drei Jahre in der Automobilbranche gearbeitet und bin dann in die Sicherheitsbranche gewechselt. Und ich habe mich damit eben auseinandergesetzt, was für ein Sicherheitsverfahren es in einem Auto gibt. Worüber reden wir? Dieser Talk hat zwei Teile. Der erste Teil ist, wie man mit jedem Auto driften kann. Über Automotive-Systeme und was man mit ihnen machen kann. Und was wir tatsächlich damit gemacht haben. Der zweite Teil ist, wie man richtig einen Amazon-Review schreibt. Es geht zuerst darum, wie man mit jedem Auto driften kann. Und ich bin ein Student, ich arbeite bei Quark Slab. Es gibt in der Schule in der Garage alle möglichen Autos. Und ich wollte herausfinden, was kann man machen, was kann ich damit machen mit einem modernen Autosystem. Und die Einschränkung, die ich hatte, ich bin ja da nur ein Student, ich habe ja kein Geld. Und ich habe auch nicht allzu viele Autos. Deswegen habe ich die Autos genommen, die meiner Familie gehören oder Familienmitgliedern und habe die analysiert. Das heißt, ich konnte die nicht kaputt machen oder durfte sie nicht kaputt machen und durfte da auch nichts ausbauen. Und die Autos, um die es geht, das sind fünf oder sechs. Der erste, das ist meiner, das ist ein 2006 VW Polo. Und was großartig ist, man kann den ganzen Tag hier Geräte auf dem Bus suchen. Und wenn das Auto zu alt ist, dann kann man den Ostsee benutzen und kann sie trotzdem nicht finden. Also, man muss sich erst Gedanken machen, ist das wirklich eingebaut, was ich da suche? Und das ist der zweite Auto, es ist ein 2013 VW Polo und der letzte ist ein 4500 Cabrio von meiner Mutter. Es ist aus dem Jahr 2010 und die Daten, also die Jahre sind wichtig. Denn ich werde auch gleich nachher darüber sprechen, dass es eine sehr neue Sache ist mit der Sicherheit, die auf dem Cannbus existiert. Da hat sich viel geändert in den letzten Jahren. Also, wenn man sich die Unterschiede anschaut zwischen dem 2010er und dem 2013er, das war relativ groß. Also, mit dem Auto sprechen, das ist die Einleitung. Wenn Leute also schon wissen, worüber ich reden werde, dann tut mir das leid. Aber ich will, dass alle auf demselben Stand sind. ECU steht für Electronic Control Unit. Das ist also ein elektronisches Steuergerät, die in dem Auto eingebaut sind. Das können viele sein, teilweise bis zu 70 in modernen Autos. Und sie kontrollieren verschiedene Teile des Autos, den Motor, die Kupplung und so weiter, das ABS. Und sie sprechen über einen sogenannten Cannbus miteinander. Das ist ein nachrichtenbasiertes Broadcast-Protokoll. Nachrichten bestehen im Wesentlichen aus drei Dingen. Einer Abitration ID, also einfach nur eine Nummer, die 11 oder 29 Bit lang sein kann und Daten. Daten sind auf einem ganz normalen Cannbus 8-Bit lang. Aber man kann Nachrichten zusammenbauen, um mehr Daten zu übertragen. Und was interessant ist, ist, dass dieses Protokoll ein Broadcast-Protokoll ist. Das heißt, man braucht ein Kollisionsdetektionssystem, das auf der ID basiert. Und wenn man die ID kleiner macht, dann hat man eine höhere Priorität. Das heißt, man kann die ändern, um die Priorität zu beeinflussen. Eine weniger wichtige Nachricht hat also eine größere ID haben. Wie kann man da mitreden? Sie kommen dann an den Cannbus ran, ohne da irgendwelche Leitungen zu unterbrechen. Die Fahrzeuge haben eine Selbstdiagnose- und Reports-Fähigkeit. Und das funktioniert über einen Port. Und da kann man sich an eine Schnittstelle anschließen. Man muss noch aufpassen, denn wenn man da was falsch macht, kann es sein, dass es hinterher nichts mehr funktioniert. Und die Geräte kann man abfragen über PIDs. Das sind also Parameternummern. Und man kann auch Diagnose-Fehlermeldungen setzen oder löschen. Das ist alles Teil des Autos. Mit einem Raspberry Pi und einem Cannschild und einem DB9-Kabel kann ich die Nachrichten verstehen und mit dem Cannbus sprechen. So kann ich also mit dem Auto kommunizieren, ohne irgendwas zu zerbrechen. In Python importiere ich einfach das Paket Cann. Dann erstelle ich ein Interface. Genauso wie jedes andere Interface. Dann erstellt man eine Nachricht. Das erste Byte sagt aus, wie viele Bytes wichtig sind für die Nachricht. Wenn ich hier sage, das sind nur zwei Bytes wichtig, dann können alle anderen Bytes eben entsprechend ignoriert werden. Und hier kann ich dann sagen, ich möchte die aktuellen Werte eines bestimmten Datums haben. Und 0C ist eben RPM, also die aktuelle Umdrehungsanzahl. Und was mich jetzt hier speziell interessiert hat, ist eben diese aktuelle Umdrehungszahl. Du erstellst da die Nachricht. 7 DF, das ist die klassische ID für Anfragen-Nachrichten, für Diagnose-Nachrichten. Und das hängt dann aber auch vom Autohersteller ab. Also wenn man hier eine andere Nachricht kriegt, dann krieg ich in dem Fall hier diese ID. Und dann liest man diese Nachricht und das war es eigentlich schon. Und die Frage ist jetzt, wie red ich tatsächlich, wie mit meinem Auto? Also es geht jetzt um den Polo meiner Großmutter. Das ist ein relativ neues Auto. Das heißt, es gab ein Gatekeeper, also so eine Art Firewall, die da dazwischen geschaltet war. Das heißt, wenn ich meinen Auto anschließe an den Kanbos, dann kriege ich gar nichts, außer ich habe eine OBD-Anfrage vorher geschickt, sonst kriege ich gar nichts zurück. Hier sind ein paar Beispiele, also das ist von gerade eben. Wie kriege ich diese Umdrehungszahl zurück? Das ist der Wert. Hier kann ich die Temperatur des Kühlmittels des Motors abfragen. 83 in dem Fall. In dem Fall. Sobald man hier mit Anzeigenbeiz, wenn man also eine negative Temperatur haben will, dann muss man von der Temperatur 40 abziehen, sodass das dann sozusagen der Wert möglich ist von minus 40 bis 215. Das sollte auch so zu funktionieren, nett. Alles anzeigen. Jetzt sage ich euch, was ich in zwei Wochen mit dem Auto gemacht habe. Ich zeige die Motordrehzahl an, die Geschwindigkeit und auch die Position der Pedale. So ein bisschen leicht grafisch. Meine Oma sieht nämlich nicht mehr so gut. Ich kann jetzt normale OBD-PIDs abfragen. Ungefähr 140 Stück, das sind aber meistens auch Sachen, die auf der Amatorenrad selbst auch angezeigt werden. Es gibt aber noch einige mehr, die sind auch abhängig vom Hersteller. Also, das ist unterabhängig und da muss man im Seifelsfall auch Sachen ausprobieren, um die herauszufinden. Also, wir können erstmal einfach nur Sachen abfragen. Können wir irgendwas ändern mit ODB, weil ich ja auch jetzt nicht möchte, dass ich irgendwas aus Versehen verändere? Die erste Frage ist, welches der verschiedenen Protokolle spricht man eigentlich? Verschiedene und wir werden es einfach ausprobieren mit brutaler Gewalt. Wir probieren also einfach Anfragen aus in verschiedenen Protokollen und schauen, wo eine Antwort zurückkommt. Der 2013er Polo versteht UDS. Das erlaubt wir verschiedene Operationen. Also, ich kann bestimmte PIDs abrufen. Ich kann die EQs resetten. Ich kann Informationen über das Auto abfragen und noch einige andere Sachen. Aber viele der interessanteren Sachen sind nur möglich, wenn ich eine so OBD-Sicherheitssession habe. Das heißt, was ich machen will, ist, ich initialisiere zuerst diese Diagnose-Session und frage dann den Startwert für die Sicherheitssession ab und was dann passiert ist, das schlägt fehl. Also, in dem Fall, vielleicht haben Sie den echten Algorithmus gar nicht implementiert. Aber Ihr habt das ganz gut gemacht, Volkswerden. Sie haben das ganz gut gemacht. Die haben vier Bytes Seed-Wert, die bei jedem Versuch unterschiedlich sind. Und bei Volksbagen sind, man hat mehr als drei Sekunden zwischen jedem Try und wenn man das schnell macht, dann wird er einfach einfrieren für zehn Minuten, außer man will die Batterie ausmachen. Also, wie macht man das mit Brutforzen? Das dauert natürlich viel zu lang. Timing-Antag, das wäre zu uninstabil, weil man wird dann durch andere Art und Weisen möglicherweise verzögert und dann kriegt man nicht die richtige Timing. Und das Auto auseinander bauen, das geht nicht. Und die Frage ist jetzt, kann man es vielleicht von einem Werkstatt sich teileholen, aber das funktioniert nicht, weil ich habe mir auch kein Geld. Also, mein Auto, viel zu alt, das Auto meiner Großmutter etwas zu neu und das Auto meiner Familie, das ist aus 2014, also noch neuer. Also, welches bleibt übrig? Mama. Meine Mutter hat einen 2010 Cabrio, also sie liebt das und sie mag das nicht, wenn ich damit spiele. Also, wenn ich es nehme, erst nicht und wenn ich damit spiele, erst recht nicht. Und deswegen habe ich mir eines nachts den Schlüssel gestohlen. Tut mir leid. Und ich habe mir selbst, also ich habe mich da selbst anzustecken und es spricht sehr viel. Also, in vier Sekunden habe ich also diesen Nachrichten gekriegt, also 500 Nachrichten pro Sekunde, sehr viele Broadcast-Messages und die kommen von verschiedenen Abitration IDs. Also, es gibt ein paar ECUs, die auf diesem Bus miteinander sprechen und in dem Auto habe ich versucht, verschiedene Buttons, also Knöpfe zu drücken und zu verstehen, was jede Nachricht, die da unterwegs ist, bedeutet. Und das kann relativ schwierig sein mit ganz normalen Vinox-Utilities, denn es gibt sehr, sehr viele Nachrichten, aber der Kann-Monitor kann das nach Abitration IDs sortieren und hier sieht man während ich fahre die Nachrichten und man kann sehen, dass die verschiedenen Abitration IDs und die Daten, die sich ändern. Also, hier unten, die zwei, es sind die Standard-OBDs. Also, die haben eine viel, viel niedrigere Priorität als die anderen. Und jetzt versuchen wir das mal zu entschlüsseln. Was ich gefunden habe, war die Geschwindigkeit viermal. Die Werte waren recht unterschiedlich, aber recht nah beieinander. Sodass es, also, vielleicht vier verschiedenen Zeiten oder vier verschiedenen Rädern. Und es war tatsächlich bei den vier verschiedenen Rädern, denn zwei von den vier haben sich heftig geändert, wenn ich einfach eine Kurve gefahren habe. Dann die Kupplung und die Bremse und die Türen, also ob sie geschlossen sind, welche geschlossen sind und ob die Handbremse angezogen ist. Und die hier unten sind interessant, denn die ändern sich jede Minute einmal. Und der Zeitindex, also es war neun Uhr abends am 24. Mai 2017, das heißt, die einzige Aufgabe, die diese Nachricht übernommen hat, war, aktuelle Uhrzeit und Datum über den Cannbus in Hex zu schicken. Ich fahre es lustig, aber ich bin auch ein komischer Mensch. Und dieses Mal um meiner Mutter zu erklären, was ich mit ihrem Auto gemacht habe, das war die Aufnahme, die ich also von der Schule nach Hause aufgenommen habe. Da habe ich also den Cannedump aufgenommen und das angezeigt, was ich anzeigen konnte. Handbremse, die der Motor läuft, die Türen sind geschlossen, hoffentlich und so weiter. Das war eigentlich relativ viel Spaß. Was können wir damit machen? Können wir etwas finden, was für die Menschheit sinnvoll ist oder können wir etwas finden, was uns herausfordert? Oder kann ich mir wenigstens hinterher was in den Lebenslauf schreiben, worauf ich stolz sein kann? Wir können auch versuchen, etwas Total Bescheuertes zu machen. Deswegen habe ich Kanthed erstellt. Der Sinn von Kanthed ist, dass man mit einem Steuerer, mit einem Pedal und mit einem Geschwindigkeitspedal jedes Auto in einem Videospiel steuern kann. Das heißt, deswegen habe ich das so gemacht. Ich nehme die Daten vom ODB2 vor Ort, lade sie in ein Controller und lade sie als Controllerdaten in ein Videospiel. Das erlaubt dann auf Linux ein Videospiel damit zu spielen. Das ist der Start und Stop Button und hier fahre ich mit dem Auto meiner Mutter ein Auto in einem Videospiel. Ich habe hier das Steuerrad, die Handbremse. Es ist ein bisschen schwer, das jetzt hier zu fahren und mein offizielles Ziel ist es zu driften. Zuerst muss ich herausfinden, wie man normal fährt. Es war sehr nett, als ich das herausgefunden habe, dass ich überhaupt damit fahren kann. Man sieht da oben die Zeit. Das ist das Beste, was ich in diesem Spiel jemals hinbekommen habe. Deswegen war ich ein bisschen enttäuscht. Was sind die Features und die Beschränkungen davon? Das Problem ist, dass der Motor laufen muss. Ansonsten läuft auch der Lenkverstärker nicht. Das Steuerrad wird normalerweise versuchen, die Richtung, in die sich das Auto bewegt, in die Richtung zu gehen. Das war hier natürlich nicht der Fall. Das hat auch nicht funktioniert damit zu driften, weil niemand das Auto als wirkliches Gamepad erkannt hat. Aber ich habe noch einen zweiten Versuch, Kanpad V2. Anstatt einen Controller zu simulieren, nehme ich den Eingabe eines echten Gamepads für die Xbox. Ich nehme den Controller, lege ihn auf den Tisch und nehme die Daten mit. Damit habe ich einen echten Controller. Dann kann ich selber die Daten schicken. Das Gaspedal kann ich damit bearbeiten. Ich muss also nicht das Gaspedal bis ganz unten durchtreten, um im Spiel voll zu beschleunigen. Die Drehung des Steuerhards kann auch eingestellt werden. Ich weiß nicht, dass das Steuerrad nur um 180 Grad drehen muss, um mich im Spiel komplett zu drehen. Ich habe das Kommando gefunden, um direkt die Handbremse abzufragen. Das heißt, ihr werdet gleich in dem Video sehen. Wenn ich die Handbremse ziehe und das Lenkrad rumreiße, dann passiert das sofort, das ist also nicht mehr verzögert. Damit wird das auch viel einfacher. Hier ist noch mal die nächste Demonstration. Also jetzt geht es los. Ich wollte das nur machen. Es ist jetzt viel einfacher zu steuern, weil die Steuerung des Lenkrads angepasst ist. Es reagiert viel besser. Mein Bruder hatte da viel Spaß dran. Meine Mutter hatte nur Angst, um ihre Reifen. Ja, also tut mir leid. Ich sage euch nachher, wie das Lied heißt. Ich kann jetzt also mit meinem Auto driften. In jedem beliebigen Videospiel. Das ist schon ziemlich super. Und wie kann man das noch weiter upgraden? Ich könnte die Schaltung mit abfragen und das Auto auf manuelle Schaltung umschalten. Und ich könnte ein besseres Gamepad benutzen, was ich benutzen könnte, um dann unter Mac oder Windows zu spielen. Denn aktuell läuft es nur von uns oder Linux. Allerdings verbraucht das Ganze jetzt Benzin ohne irgendeinen Grund. Deswegen habe ich zusammen mit Guillaume versucht, eine Möglichkeit zu finden. Diese ganzen schönen Dinge auch herzustellen, ohne dass wir dafür extra das Auto laufen lassen müssen. So, Stan had a little problem about the gas consumption. Er hat das Problem mit dem Benzinverbrauch. Jemand hat uns erzählt von diesen kleinen Geräten. Manche davon sind relativ gut sogar. Und wir haben dann ein ODB2-Dongle. Was ist das überhaupt? Das ist ein kleines Gerät, das man in den ODB2-Port steckt, wo man den Anschluss findet. Das kann man herausfinden, indem man googelt. Das Interessante dabei ist, dass man meistens nur irgendeine Konsole wegziehen muss, um an den Anschluss ran zu kommen. Man muss also nichts auseinander bauen. Man nimmt also einfach nur eine Konsole ab, und steckt das Gerät da rein. Und dieses Gerät hier soll den Controller des Motors so verändern, dass weniger Benzin verbraucht wird. Das nennt man Chip-Tuning, diese Technik. Man findet da viel drüber, dass es gut funktioniert, dass davon die Garantie verloren geht. Aber auch, dass es eben gerade nicht die Garantie ankratzt, weil wenn man es abzieht, ist alles wieder so wie vorher. Und es gibt da verschiedene, und die funktionieren unterschiedlich gut. Warum wollen wir denn das versuchen, herauszufinden, wie dieses Dongle funktioniert? Das Interessante ist, dass es in jedem Auto funktioniert, und es verändert auch jedes Auto. Es kann jedes Auto umprogrammieren. Also muss es einen sehr smarten Algorithmus enthalten. Das muss die verschiedenen Autos reagieren ja auch unterschiedlich. Und dieses Dongle muss dann also alle diese Antworten enthalten und muss dann von jedem Auto, von jedem Hersteller umprogrammieren. Und das ist einfach total großartig, wenn man sich das vorstellt. Also wollte ich mir das mal näher anschauen. Und das ist in der Lage, die Art und Weise, wie man fährt, sich anzupassen. Das heißt, ich hab gedacht, Mensch, da muss wirklich ein extrem kluger Algorithmus eingebaut sein. Und ich wollte mir einfach nur diese Software mal angucken. Und das modifiziert auch den Arbeitsspeicher, also den Ramm des Motors. Und mir war nicht bewusst, dass das überhaupt ginge. Denn von den Dingen, die ich weiß über Chiptuning, ändert das quasi nur den Flash-Speicher der ECU. Aber dieses hier eben nicht. Damit wird ja auch die Garantie nicht gebrochen. Also wollte ich mir das Binary Mail angucken. Und das erste, was wir da gemacht haben, ist, um diese Art von Hardware zu reversen, war, den Cannbus zu überwachen. Um zu sehen, ob es spricht und was es genau macht, ob es Sicherheitssessions aufmacht, oder vielleicht auch nicht. Und alle diese Sachen. Und hier sieht man in meinem Auto, da gibt es diesen OBD2-Port, da hinten. Und ich hab dieselbe Konfiguration benutzt, um den Cannmessage aufzuzeichnen, mit dem Raspberry-Pile, was ihr gerade schon gesehen habt, und dem Cannshield 2. Und die Sache ist die. Ihr habt nur einen OBD2-Port in jedem Auto. Und ihr könnt nicht gleichzeitig den Dastongel einstecken, wie ihr hier seht, und die Kabel für den Raspberry-Pile. Und das heißt, wir haben das Dastongel auseinander gebaut und haben die Platine analysiert und haben die Cann und die Erdung gefunden und haben da einfach nur Kabel ran gelötet. Und auf die Art und Weise kann man jetzt die Nachrichten, die über den Bus geschickt werden, analysieren. Und die interessante Sache ist, wenn man direkt an das Dastongel angeschlossen ist, wird man genau analysieren können, was das Dastongel tut und was es sieht. Und nur für Referenz. Es gibt nur drei Kabel in einem Auto, um einen Cannbus zu übernehmen oder damit auch zu kommunizieren. Also Cann-Hi, Cann-Lo und die Erdung. Das ist alles, was man braucht, um an einem Cannbus sich anzuhängen. Nur mal für... Es gibt viele, viele Cannbus in den verschiedenen Teilen eines Autos. Also OBD2-Port ist nur der Einzige, der auf dem man zugreifen kann. Aber es ist im Prinzip nur irgendeinen Cannbus, wie alle anderen auch. Wir haben da zwei Messungen vorgenommen, einmal ohne dieses OBD2-Dongel eingesteckt und einmal mit dem Dongel. Und wir wissen ja aus dem ersten Teil des Vortages, dass jeder Nachricht diesen ECU-Quot hat. Und je kleiner die Zahl ist, desto höher ist die Priorität. Das heißt, wir haben hier oben die Nachrichten mit der höchsten Priorität und da unten die mit der niedrigsten Priorität. Aber wenn man sich die Liste der Nachrichten-Ridis anschaut, dann sieht man, das ist die gleiche Liste. Es gab keine weitere ECU, die auf dem Bus gesprochen hat. Was bedeutet, dass das Dongel überhaupt nicht spricht auf dem Cannbus? Wir haben uns natürlich gefragt, oh, wie kann es dann passieren, dass es überhaupt funktioniert, wenn es überhaupt nicht spricht? War es das jetzt? Funktioniert es einfach nicht? Nein! Nicht wirklich. Denn bei dem Dongel heißt es in der Werbung, dass es erst anfängt, das Auto zurückprogrammieren, wenn man über 120 Kilometer fährt. Nach 120 Kilometern. Das heißt, es kann durchaus sein, dass es funktioniert, ohne irgendetwas während der ersten 120 Kilometer zu senden. Wir brauchten also einen weiteren Ansatz, nämlich den PCB zu analysieren, die Platine. Wir sehen hier zwei Platinen. Die eine steckt einfach nur im OBD-2-Port. Das ist ein Bild von dieser ersten, da sind keine Komponenten drauf. Wir haben einfach nur ein paar Verbindungen von den Cannpins zur zweiten Platine. Und diese zweite Platine ist interessanter. Auf der Vorderseite sieht man ein paar Komponenten, aber nicht so arg viele. Wir haben ja eine Spannungswandler. Wir haben einen Knopf zum Drücken. Das gehört auch zur Spannungsregulierung. Und dann haben wir hier drei Leuchteunen. Auf der Rückseite sind die Pins für einen sehr kleinen Mikrocontroller. Auf der Rückseite ist das überhaupt nicht auf dieser Platine. Der Hersteller hat sich scheinbar große Mühe gegeben, zu verstecken, was das alles ist. Aber auch interessant ist, es gibt keinen Cann-Transceiver. Was ist überhaupt ein Cann-Transceiver? Ein Cann-Transceiver ist ein Stück Hardware, die Signale von einem Prozessor in Cann-Signale umwandelt. Das ist also ein anderes Protokoll mit Cann-High und Cann-Low. Aber dieses Gerät macht nicht nur eine elektrische Umwandlung. Gleichzeitig überwacht es auch. Überprüft die Prüfsummen. Wenn es einen Übertragungsfehler gibt, kann der Cann-Transceiver selber den Fehler melden. In Echtzeit. Während der CPU das nicht in Echtzeit machen könnte. Das ist aber nicht möglich, um die elektrische Umwandlung und die Überprüfung der Prüfsummen. Kein wirklichen Controller, kein Cann-Transceiver. Ein paar Leute haben eben auch gesagt, kann man das nicht auch in Software? Ich habe hier einen Link zu einer Diskussion auf StackOverflow. Was allerdings wichtig ist, weil der Cann-Transceiver in Echtzeit agieren muss, muss diese Software wirklich sehr schnell reagieren können. Der Cann-Bus, der überträgt mit 10 Kbps. Das ist also nicht so schnell im Vergleich zu anderen Bussen, wo 500.000 Bits pro Sekunde übertragen werden. Wie man sie in einem echten Auto dann tatsächlich braucht. Manche Leute haben dann auch vorgeschlagen, es ist ja ein Cann-Transceiver in diesem Chip eingebaut. Dieser Chip ist so klein, aber nur um sicher zu gehen, habe ich diesen Chip aufgemacht. Ich habe hier einen Schüler hier gefragt, dass er das machen soll. Hier seht ihr ihn in meinem Garten. Ich habe das zum ersten Mal gemacht. Ich habe ihn machen lassen. Es ist wirklich einfach, das zu machen. Ihr müsst nur sehr, sehr vorsichtig sein, das ist sehr teuer, ihr könnt es im Internet kaufen, das ist sehr billig. Was braucht man jetzt? Man braucht hier diese Platten mit Hitzezufuhr, für Crème brûlée oder eben nur Keramikplatten. Ihr macht die Schwefelsäure rein, wartet bis sie heiß genug ist, werft dann den Chip rein und das war es eigentlich schon. Man muss nur noch 10 Minuten warten und dann ist es fertig. Also ihr könnt es schon machen, aber schützt euch, damit ihr euch da nicht wehtut. Hier ist das Ergebnis. Ich habe einen echten Cann-Transceiver hier mit hergelegt und auf der anderen Seite ist der Chip, der in diesem Nitro-OBD-Dongel eingebaut ist. Ein paar von euch werden vielleicht die grundsätzliche Struktur des kleinen Microcontrollers schon erkennen. Hier habt ihr die CPU-Logik, die Speicherbankbänke und ein paar, ein bisschen Logik auch hier drüben und das ist eigentlich schon alles, was man da hat. Das Interessante daran ist, dass dieser Transceiver hier links nicht hier rechts reinpasst. Also da ist definitiv kein Transceiver mit eingebaut. Und die zweite Sache, die ich zeigen wollte, ist, wenn man sich das hier anschaut, wir haben vorhin schon gesagt, dass der Nitro-OBD-2 eine Datenbank für alle diese Authentifikations-Algorithmen und so was von jedem Autohersteller usw. enthalten muss. Und das ist der gesamte Flash-Speicher, der da eingebaut ist. Ich hatte zumindest einen großen Flash-Chip erwartet, aber es ist wirklich gar nichts drin. Also es sieht wirklich nur wie ein sehr, sehr kleiner Microcontroller aus, also wie ein Arduino oder sowas. Und ich wollte hier wirklich wissen, was für ein Chip ist denn das eigentlich? Und wir haben hier ein Spiel bei uns im Büro, also wir suchen nach Waldo. Denn die Hersteller von Chips schreiben häufig die Referenzen mit auf den Chip. Und man sieht hier unten ein bisschen was. Wenn man da auf den Chip genau drauf schaut in einer so großen Vergrößerung, dann sieht man das hier. Und leider konnte ich im Internet diesen Chip überhaupt nicht finden im Internet. Ich habe auch Freunde auf Twitter gefragt, aber niemand hatte eine Idee. Also hm, okay, also das ist kein Chip, der sehr bekannt ist jedenfalls. Wenn jemand von euch weiß, was das für ein Chip ist, dann teilt mir das mal gleich nach eine mit. Und ihr dürft gerne während der Fragen das 1 Mikrofon gehen. Also um das nochmal zusammenfassen, das ist ein sehr nettes Dongle, aber es gibt keine Kommunikation mit dem Kann. Es hat kein Kantransiver eingebaut. Es hat nicht genug CPU-Power, um ein Kantransiver in Software zu emulieren. Und das Wichtigste ist, es ist nie im Leben genug Flash-Speicher, um die Datenbank für jedes Auto zu enthalten. Aber die LEDs blinken, also naja. Also wenn ihr wirklich euer Auto reprogrammieren wollt, dann benutzt ihr vielleicht lieber was anderes. Lieben Dank. Ich möchte euch alle, falls ihr Interesse habt an Carhacking, dann motiviere ich euch alle, einen OBD-Kabel an euer Auto anzuschließen. Es ist super leicht, da heranzukommen. Ihr braucht nur ein Raspberry Pi und ein Canshield und ein Kabel. Und das war es eigentlich auch schon. Denk nur dran. Ihr müsst da nichts auseinander bauen dafür. Es ist wirklich ganz einfach. Ihr könnt viele interessante Sachen machen, indem ihr einfach nur den OBD-2-Port benutzt, vom Auto Fussing und so weiter. Aber seid bitte vorsichtig. Ihr könnt euch selbst verletzen oder das den Motor kaputt machen. Wenn ihr irgendwas ausprobieren wollt, dann macht den Motor vorher aus. Also wie ihr am Anfang gesehen habt, kann Daten aufgenommen, während ich gefahren bin. Und das war also wirklich die allerdämlichste Sache, die ich hier bei der ganzen Analyse gemacht habe. Ich war in der Lage, ABS auszuschalten durch Fussing, denn es gibt ein System, dass wenn man zu viele unbekannte Nachrichten kriegt, dann schaltet sich das aus. Also ich konnte Funktionen wie das ausschalten. Und denkt dran, wenn ihr solche Sachen macht, dann fahrt nicht während ihr es macht. Das ist wirklich ein sehr dummer Fehler, den man da machen kann. Und ja, also ich habe auch die Airbags deaktiviert. Das ist wichtig. Man weiß ja nicht, was passiert. Ja, also lieben Dank nochmal, falls ihr mit uns reden wollt. Dann sehr gerne. Vielen Dank euch beiden. Ich bin froh, dass ich hier war. Normalerweise bin ich nicht so ein Fan von Carve-Auto-Vorträgen, aber diesmal war ich wirklich glücklich, weil ihr das so spannend gemacht habt. Wir haben hier Mikrofone, ein Star, zwei Data, ein Star. Gibt es da irgendwelche Fragen von den Zuschauern? Signal Angel. Signal Angel? Leute auf dem Internet wollten wissen, wo man die Internet findet und ob ihr die Informationen einer Datenbank beitragen könnt, wo solche Informationen gesammelt werden. Da habe ich jetzt noch nicht davon gehört, bislang. Also aktuell gibt es nicht viel, aber wir werden uns das mal anschauen. Und das wird dann im Anschluss passieren. Mikrofon 1. Ich habe mich gefragt, ich habe versucht, die Sicherheitsfunktion zu reverse-ingenieren. Also das Challenge-Response-Verfahren. Warum habt ihr nicht die Diagnose-Software der Hersteller reverse-ingeniert? Das liegt daran, dass man da große Menge an Hardware kaufen muss und das kostet auch viel Geld. Das ist etwa 5.000 Euro von einem Hardware-Hersteller. Wir sind zu einer Werkstatt gegangen und haben ihn gefragt, ob er uns das leihen kann und er hat uns einfach nur ausgelacht, weil er das nicht machen wollte. Es gibt gewisse Partnerschaften, die man da eingehen kann. Es gibt auch eine Gruppe von Herstellern, die da Informationen gehen, wenn man jeden Monat eine große Menge Geld bezahlt. Ich habe davon nichts gehört. Ich habe nur eine sehr große Zahl gesehen und habe gesagt, okay, das ist also nichts für mich. Mikrofon 3. Großartige Präsentation, vielen Dank. Ich habe mich nur gefragt, wie viel zusätzliche Arbeit bräuchte man eigentlich, bis man das Auto mit dem Xbox-Controller steuern kann? Also diese Frage wurde ich schon vorher mal gefragt und nicht wirklich viel. Wenn man die richtigen Leute, die das richtige Wissen haben findet, dann, nee, also mal ganz ernsthaft, man kriegt natürlich, also man muss eine Möglichkeit finden, das Auto aus dem Canbus zu kontrollieren, was gar nicht so einfach ist, denn soweit ich weiß, ist der Canbus, auf dem ich drauf war, nur benutzt, um Informationen zu übertragen, also nicht für Echtzeitdaten. Wir haben versucht, einen Weg zu finden, um zu wissen, wie die ECUs miteinander interagieren. Wir sind da auf einen Feld gegangen und er hat gesagt, okay, versuch mal das ABS zu finden. Ich versuch mal heftig zu bremsen. Es hat sehr schnell gefahren und es ist heftig gebremst und dann haben wir also geguckt, welche ECU schickt da jetzt was unterschiedliches, aber wir haben dann keinen großen Erfolg gehabt. Also ich denke, grundsätzlich ist das möglich. Nissan hat das vor zwei Monaten mal gemacht mit dem GTRC, der tatsächlich über einen Gamepad-Controller gesteuert wird. Also aber die haben da einen kompletten Roboter mit drinstehen, der die Bremse und so weiter steuert. Also es ist relativ einfach, dann zu machen, wenn man viel Geld hat. Das Mikrofon dahinten bitte. Hi, netter Vortrag vielen Dank. Erst mal bitte spielt auf keinen Fall mit dem Airbag rum. Damit kann man sich sehr, sehr leicht verletzen. Meine wirkliche Frage ist, ich habe dir ja schon mal versucht, Autos zu reverseingenuieren, die einen älteren Bus haben als OBD, weil mein Auto ist aus den 90ern. Nein, das haben wir nicht gemacht, denn wir hatten schon viel mit OBD zu tun. Um ganz ehrlich zu sein, hatte ich vor dieser Analyse überhaupt noch gar keinen Bus oder überhaupt ein Autosystem angeschaut. Das heißt, ich habe da wirklich ganz am Anfang angefangen und habe mich wirklich nur auf OBD und den Cannbass konzentriert. Aber ich weiß, es gibt eine ganze Menge von verschiedenen Sachen. Es gibt auch schon verschiedene Angriffe auf die Chips vom Prius zum Beispiel mit einem anderen Bus. Das würde ich mir gerne mal angucken, aber ich habe bislang noch nichts gemacht außerhalb OBD. Ich habe noch eine Frage vom Internet. Ansonsten Mikrofon an. Ein Satz wegen den Sachen mit Mitsubishi, die ihr erzählt habt. Wir sollten vielleicht gleich mal reden. Mikrofon 1. Es gibt noch ein paar zusätzliche Busse, so wie ESA-Cat oder Flex-Raid. Wie wäre es denn damit, die zu hacken? Vielleicht werden wir es in der Zukunft probieren. Ja, das ist ja auch so. Es ist ja auch so. Es ist ja auch so. Ich habe mich jetzt nur auf den Cannbus konzentriert und habe auch dann nur eine grobe Überblick, wie das funktioniert, die Protokolle usw. Bislang habe ich nichts gemacht. Ich plane da mit verschiedenen neuen Busen zu spielen, aber bislang habe ich die nicht angefasst. Deswegen kann ich da nicht mehr dazu sagen, außer ich weiß es nicht. Ich habe auch noch eine Frage, außer ich weiß es nicht. Außerdem kommt es noch hinzu, dass man auf dem ODB2-Bus nur Zugang zum Cannbus hat. Die ganzen anderen Busse sind intern und sind natürlich auch High-Speed-Busse. Da ist es nicht ganz so einfach, sich da einfach draufzuschalten. Dafür muss man das Auto aufmachen und eben die Leitung erst mal finden überhaupt. Aber es wäre bestimmt sehr interessant, da einfach mal einen Blick draufzuwerfen. Eine weitere Frage von Mikrofon 3. Nur ein kleiner Hinweis. ODB2 ist nur die Hälfte des Sachen, der an interessanten Ports. Denn wenn man das Autoradio mal entfernt, da findet man dann auch noch einen Anschluss. Und von daraus ist es dann auch viel einfacher, die ganz interessanten Buttons zu kontrollieren. Also die ganzen Fensterheber. Und das ist dann auch unverschlüsselt meistens. Dafür muss man auch nichts durchschneiden, einfach das Autoradio rausziehen. Ja, danke für den Hinweis. Vielleicht wird es dann ein anderer Talk. Jetzt haben wir eine Frage vom Internet. Jemand aus dem Darknet würde gerne die Originaldiagnose-Software liegen und fragt, ob ihr daran Interesse hättet. Ich habe das Ende des Satzes jetzt nicht verstanden. Wer dir interessiert an einem Software, liegt der Originaldiagnose-Software. Ihr braucht jetzt auch nichts sagen, denn die Person steht draußen. Ihr wisst ja, wie ihr mich auf Twitter erreichen könnt. Erst mal vielen Dank für eure sehr inspirierende Ansprache. Wirklicherweise habe ich selber kein Auto. Aber was ich sagen wollte, wenn ihr sozusagen Zugriff zu einer von ein paar VWs habt. Wenn ihr euch selber aussuchen könntet, welches Auto ihr euch anschauen würdet, welches findet ihr damit interessantesten? Ganz ehrlich, was ich machen wollte, aber was ich nicht dazugekommen bin, ist der Launcher. Soweit ich mich erinnere, war einer der Angriffsvektoren, der in der Vergangenheit benutzt wurde, trifft hierzu. Da würde ich also eines nehmen, mit besonders viel Elektronik, nicht zu viel, aber zumindest etwas Elektronik, würde dann Dinge ausbauen und damit interessante Dinge machen wollen. Dankeschön. Und da ist noch eine. Hi, danke schön. Ich habe euren Vortrag genossen. Wo finde ich... Den Online, ich würde gerne was Ähnliches machen, wie ihr gemacht habt. Und dann gibt es da auch noch ein paar Hinweise. Zum letzten Teil der Transceiver selber macht gar keine Fehlerkorrektur. Und es gibt auch Chips, die haben eben einen Transceiver und einen Cortex M0 auf einem Die. Und diese Chips werden auch genutzt im Automotivbereich. Und wenn ihr, wie in dem Hinweis, gerade eben euch ein sehr interessantes Auto besorgen wollt für die weitere Forschung, sollte man sich vielleicht lieber an die Marken halten, die sehr, sehr übersichtlich sind, also zum Beispiel die italienischen. Ja, danke für den Hinweis. Ich habe jetzt deutlich mehr Informationen als ich hatte, als ich diesen Talk angefangen habe. Ich habe noch eine Frage gehabt, weil darüber nachgedacht, vielleicht einfach die Vorderräte frei laufen zu lassen, statt jedes Mal den Motor zu starten. Ja, tatsächlich habe ich mal versucht, einen Zementblock aufzubocken. Aber was einfacher war, was dann am Ende gemacht wurde, war Pappe unter die Reifen zu tun, sodass es leichter ist, die Reifen zu bewegen. Aber... sodass wir in der Lage sind, ohne den Motor anzuschalten, aber mit der Lenkverstärkung. Einfacher wäre es natürlich, das auf einen Hochstand zu stellen. Und das plane ich auch demnächst. Gibt es doch immerhin, der noch keine Gelegenheit hatte, eine Frage zu stellen? Dann vielen Dank, dass ihr hier wart und driftet schön weiter. Ja, und damit verabschieden sich aus der Übersetzerkabine auch...